package com.njcn.rdms.module.project.controller.admin.project.execution.vo.execution;

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

@Schema(description = "管理后台 - 执行状态动作 Request VO")
@Data
public class ProjectExecutionStatusActionReqVO {

    @Schema(description = "动作编码，如 start、pause、resume、cancel", requiredMode = Schema.RequiredMode.REQUIRED, example = "pause")
    @NotBlank(message = "动作编码不能为空")
    @Size(max = 32, message = "动作编码长度不能超过32个字符")
    private String actionCode;

    @Schema(description = "动作原因；是否必填由状态流转配置决定", example = "依赖环境暂不可用")
    @Size(max = 500, message = "动作原因长度不能超过500个字符")
    private String reason;

}
