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 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; /** * 当前用户对资产的可用动作 */ @Schema(name = "AssetUserActions", description = "当前用户对资产的可用动作") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2026-05-24T15:05:54.603829+08:00[Asia/Shanghai]", comments = "Generator version: 7.22.0") public class AssetUserActions implements Serializable { private static final long serialVersionUID = 1L; private @Nullable Boolean canAcquire; private @Nullable Boolean canInstall; private @Nullable Boolean canBind; private @Nullable Boolean canFavorite; private @Nullable Boolean isAcquired; private @Nullable Boolean isInstalled; private @Nullable Boolean isFavorite; private @Nullable String unavailableReason; public AssetUserActions canAcquire(@Nullable Boolean canAcquire) { this.canAcquire = canAcquire; return this; } /** * 是否可获取授权 * @return canAcquire */ @Schema(name = "canAcquire", description = "是否可获取授权", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("canAcquire") public @Nullable Boolean getCanAcquire() { return canAcquire; } @JsonProperty("canAcquire") public void setCanAcquire(@Nullable Boolean canAcquire) { this.canAcquire = canAcquire; } public AssetUserActions canInstall(@Nullable Boolean canInstall) { this.canInstall = canInstall; return this; } /** * 是否可安装(仅智能体/知识库) * @return canInstall */ @Schema(name = "canInstall", description = "是否可安装(仅智能体/知识库)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("canInstall") public @Nullable Boolean getCanInstall() { return canInstall; } @JsonProperty("canInstall") public void setCanInstall(@Nullable Boolean canInstall) { this.canInstall = canInstall; } public AssetUserActions canBind(@Nullable Boolean canBind) { this.canBind = canBind; return this; } /** * 是否可绑定到作品 * @return canBind */ @Schema(name = "canBind", description = "是否可绑定到作品", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("canBind") public @Nullable Boolean getCanBind() { return canBind; } @JsonProperty("canBind") public void setCanBind(@Nullable Boolean canBind) { this.canBind = canBind; } public AssetUserActions canFavorite(@Nullable Boolean canFavorite) { this.canFavorite = canFavorite; return this; } /** * 是否可收藏 * @return canFavorite */ @Schema(name = "canFavorite", description = "是否可收藏", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("canFavorite") public @Nullable Boolean getCanFavorite() { return canFavorite; } @JsonProperty("canFavorite") public void setCanFavorite(@Nullable Boolean canFavorite) { this.canFavorite = canFavorite; } public AssetUserActions isAcquired(@Nullable Boolean isAcquired) { this.isAcquired = isAcquired; return this; } /** * Get isAcquired * @return isAcquired */ @Schema(name = "isAcquired", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("isAcquired") public @Nullable Boolean getIsAcquired() { return isAcquired; } @JsonProperty("isAcquired") public void setIsAcquired(@Nullable Boolean isAcquired) { this.isAcquired = isAcquired; } public AssetUserActions isInstalled(@Nullable Boolean isInstalled) { this.isInstalled = isInstalled; return this; } /** * Get isInstalled * @return isInstalled */ @Schema(name = "isInstalled", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("isInstalled") public @Nullable Boolean getIsInstalled() { return isInstalled; } @JsonProperty("isInstalled") public void setIsInstalled(@Nullable Boolean isInstalled) { this.isInstalled = isInstalled; } public AssetUserActions isFavorite(@Nullable Boolean isFavorite) { this.isFavorite = isFavorite; return this; } /** * Get isFavorite * @return isFavorite */ @Schema(name = "isFavorite", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("isFavorite") public @Nullable Boolean getIsFavorite() { return isFavorite; } @JsonProperty("isFavorite") public void setIsFavorite(@Nullable Boolean isFavorite) { this.isFavorite = isFavorite; } public AssetUserActions unavailableReason(@Nullable String unavailableReason) { this.unavailableReason = unavailableReason; return this; } /** * 不可用原因(如需登录、已下架、授权失效) * @return unavailableReason */ @Schema(name = "unavailableReason", description = "不可用原因(如需登录、已下架、授权失效)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("unavailableReason") public @Nullable String getUnavailableReason() { return unavailableReason; } @JsonProperty("unavailableReason") public void setUnavailableReason(@Nullable String unavailableReason) { this.unavailableReason = unavailableReason; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } AssetUserActions assetUserActions = (AssetUserActions) o; return Objects.equals(this.canAcquire, assetUserActions.canAcquire) && Objects.equals(this.canInstall, assetUserActions.canInstall) && Objects.equals(this.canBind, assetUserActions.canBind) && Objects.equals(this.canFavorite, assetUserActions.canFavorite) && Objects.equals(this.isAcquired, assetUserActions.isAcquired) && Objects.equals(this.isInstalled, assetUserActions.isInstalled) && Objects.equals(this.isFavorite, assetUserActions.isFavorite) && Objects.equals(this.unavailableReason, assetUserActions.unavailableReason); } @Override public int hashCode() { return Objects.hash(canAcquire, canInstall, canBind, canFavorite, isAcquired, isInstalled, isFavorite, unavailableReason); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AssetUserActions {\n"); sb.append(" canAcquire: ").append(toIndentedString(canAcquire)).append("\n"); sb.append(" canInstall: ").append(toIndentedString(canInstall)).append("\n"); sb.append(" canBind: ").append(toIndentedString(canBind)).append("\n"); sb.append(" canFavorite: ").append(toIndentedString(canFavorite)).append("\n"); sb.append(" isAcquired: ").append(toIndentedString(isAcquired)).append("\n"); sb.append(" isInstalled: ").append(toIndentedString(isInstalled)).append("\n"); sb.append(" isFavorite: ").append(toIndentedString(isFavorite)).append("\n"); sb.append(" unavailableReason: ").append(toIndentedString(unavailableReason)).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 "); } }