TargetingPublishRequest.java
package io.featureprobe.api.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.featureprobe.api.base.model.TargetingContent;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
public class TargetingPublishRequest extends ToggleControlConfRequest {
public TargetingPublishRequest(TargetingContent content, String comment, Boolean disabled,
ToggleControlConfRequest toggleControlConfRequest) {
this.content = content;
this.comment = comment;
this.disabled = disabled;
if (toggleControlConfRequest != null) {
this.setTrackAccessEvents(toggleControlConfRequest.getTrackAccessEvents());
}
}
private TargetingContent content;
@Schema(description = "Release notes")
private String comment;
@Schema(description = "Disables the toggle.")
private Boolean disabled;
@Schema(description = "The current updated version.")
private Long baseVersion;
@JsonIgnore
public Boolean isUpdateTargetingRules() {
return disabled != null || content != null;
}
}