package com.cpop.oam.business.bo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;



/**
 * @author DB
 * @since 2023/10/10 17:14
 */
@Data
@Schema(description = "OpenPlatformCommit上传代码对象")
public class WxOpenMaCodeCommitBo {

    /**
     * 授权方 appid
     */
    @NotBlank(message = "授权方appid不能为空")
    @Schema(description = "授权方 appid",requiredMode = Schema.RequiredMode.REQUIRED)
    private String authorizerAppid;

    /**
     * 代码库中的代码模板 ID
     */
    @NotNull(message = "代码库中的代码模板ID不能为空")
    @Schema(description = "代码库中的代码模板 ID",requiredMode = Schema.RequiredMode.REQUIRED)
    private Long templateId;

    /**
     * 为了方便第三方平台的开发者引入 extAppid 的开发调试工作
     */
    @NotBlank(message = "extJson不能为空")
    @Schema(description = "该参数则是用于控制ext.json配置文件的内容",requiredMode = Schema.RequiredMode.REQUIRED)
    private String extJson;

    /**
     * 代码版本号，开发者可自定义
     */
    @NotBlank(message = "代码版本号不能为空")
    @Schema(description = "代码版本号，开发者可自定义",requiredMode = Schema.RequiredMode.REQUIRED)
    private String userVersion;

    /**
     * 代码描述，开发者可自定义
     */
    @NotBlank(message = "代码描述不能为空")
    @Schema(description = "代码描述，开发者可自定义",requiredMode = Schema.RequiredMode.REQUIRED)
    private String userDesc;
}
