package com.qqchen.deploy.backend.deploy.dto;

import com.qqchen.deploy.backend.workflow.enums.ApprovalResultEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 部署审批完成请求
 * 
 * <p>用于审批部署任务，支持异步处理
 *
 * @author qqchen
 * @since 2025-11-05
 */
@Data
@Schema(description = "部署审批完成请求")
public class DeployApprovalCompleteRequest {

    @NotBlank(message = "任务ID不能为空")
    @Schema(description = "Flowable任务ID", required = true, example = "c527e234-ba0a-11f0-a005-00ffaa86ab68")
    private String taskId;

    @NotNull(message = "审批结果不能为空")
    @Schema(description = "审批结果: APPROVED=通过, REJECTED=拒绝", required = true, example = "APPROVED")
    private ApprovalResultEnum result;

    @Schema(description = "审批意见", example = "同意部署到生产环境")
    private String comment;
}

