287 lines
8.3 KiB
Java

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.muse.dto.AssetActionPolicy;
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-24T16:47:40.290595+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 AssetActionPolicy actionPolicy;
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 actionPolicy(@Nullable AssetActionPolicy actionPolicy) {
this.actionPolicy = actionPolicy;
return this;
}
/**
* Get actionPolicy
* @return actionPolicy
*/
@Valid
@Schema(name = "actionPolicy", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
@JsonProperty("actionPolicy")
public @Nullable AssetActionPolicy getActionPolicy() {
return actionPolicy;
}
@JsonProperty("actionPolicy")
public void setActionPolicy(@Nullable AssetActionPolicy actionPolicy) {
this.actionPolicy = actionPolicy;
}
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.actionPolicy, assetUserActions.actionPolicy) &&
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, actionPolicy, 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(" actionPolicy: ").append(toIndentedString(actionPolicy)).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 ");
}
}