package com.muse.dto; import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; import com.muse.dto.AdminCreatePromptTemplateRequestVariablesInner; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.springframework.lang.Nullable; import java.io.Serializable; import java.time.OffsetDateTime; import jakarta.validation.Valid; import jakarta.validation.constraints.*; import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; import jakarta.annotation.Generated; /** * AdminCreatePromptTemplateRequest */ @JsonTypeName("adminCreatePromptTemplate_request") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2026-05-24T14:16:55.032756+08:00[Asia/Shanghai]", comments = "Generator version: 7.22.0") public class AdminCreatePromptTemplateRequest implements Serializable { private static final long serialVersionUID = 1L; private String name; private String template; @Valid private List<@Valid AdminCreatePromptTemplateRequestVariablesInner> variables = new ArrayList<>(); public AdminCreatePromptTemplateRequest() { super(); } /** * Constructor with only required parameters */ public AdminCreatePromptTemplateRequest(String name, String template) { this.name = name; this.template = template; } public AdminCreatePromptTemplateRequest name(String name) { this.name = name; return this; } /** * Get name * @return name */ @NotNull @Schema(name = "name", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("name") public String getName() { return name; } @JsonProperty("name") public void setName(String name) { this.name = name; } public AdminCreatePromptTemplateRequest template(String template) { this.template = template; return this; } /** * Get template * @return template */ @NotNull @Schema(name = "template", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("template") public String getTemplate() { return template; } @JsonProperty("template") public void setTemplate(String template) { this.template = template; } public AdminCreatePromptTemplateRequest variables(List<@Valid AdminCreatePromptTemplateRequestVariablesInner> variables) { this.variables = variables; return this; } public AdminCreatePromptTemplateRequest addVariablesItem(AdminCreatePromptTemplateRequestVariablesInner variablesItem) { if (this.variables == null) { this.variables = new ArrayList<>(); } this.variables.add(variablesItem); return this; } /** * Get variables * @return variables */ @Valid @Schema(name = "variables", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("variables") public List<@Valid AdminCreatePromptTemplateRequestVariablesInner> getVariables() { return variables; } @JsonProperty("variables") public void setVariables(List<@Valid AdminCreatePromptTemplateRequestVariablesInner> variables) { this.variables = variables; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } AdminCreatePromptTemplateRequest adminCreatePromptTemplateRequest = (AdminCreatePromptTemplateRequest) o; return Objects.equals(this.name, adminCreatePromptTemplateRequest.name) && Objects.equals(this.template, adminCreatePromptTemplateRequest.template) && Objects.equals(this.variables, adminCreatePromptTemplateRequest.variables); } @Override public int hashCode() { return Objects.hash(name, template, variables); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AdminCreatePromptTemplateRequest {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" template: ").append(toIndentedString(template)).append("\n"); sb.append(" variables: ").append(toIndentedString(variables)).append("\n"); sb.append("}"); return sb.toString(); } /** * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ private String toIndentedString(@Nullable Object o) { return o == null ? "null" : o.toString().replace("\n", "\n "); } }