Create configuration for badges

This commit is contained in:
Ehren Kret
2021-09-08 17:06:20 -05:00
parent 6ee23b0186
commit aa1c37fe26
4 changed files with 79 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
/*
* Copyright 2021 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.whispersystems.textsecuregcm.configuration;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import javax.validation.constraints.NotEmpty;
public class BadgeConfiguration {
private final String name;
private final String imageUrl;
@JsonCreator
public BadgeConfiguration(
@JsonProperty("name") final String name,
@JsonProperty("imageUrl") final String imageUrl) {
this.name = name;
this.imageUrl = imageUrl;
}
@NotEmpty
public String getName() {
return name;
}
@NotEmpty
public String getImageUrl() {
return imageUrl;
}
}

View File

@@ -0,0 +1,31 @@
/*
* Copyright 2021 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.whispersystems.textsecuregcm.configuration;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.annotation.Nulls;
import java.util.List;
import java.util.Objects;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
public class BadgesConfiguration {
private final List<BadgeConfiguration> badges;
@JsonCreator
public BadgesConfiguration(
@JsonProperty("badges") @JsonSetter(nulls = Nulls.AS_EMPTY) final List<BadgeConfiguration> badges) {
this.badges = Objects.requireNonNull(badges);
}
@Valid
@NotNull
public List<BadgeConfiguration> getBadges() {
return badges;
}
}