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

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

import java.util.Map;

/**
 * 工作流实例启动请求
 *
 * @author qqchen
 * @since 2025-11-02
 */
@Data
@Schema(description = "工作流实例启动请求")
public class WorkflowInstanceStartRequest {

    @Schema(description = "流程定义标识（必填）", required = true, example = "standard-deploy")
    @NotBlank(message = "流程定义标识不能为空")
    private String processKey;

    @Schema(description = "业务标识（必填）", required = true, example = "DEPLOY-user-service-20251102143000")
    @NotBlank(message = "业务标识不能为空")
    private String businessKey;

    @Schema(description = "流程变量（可选）", example = "{\"applicationId\":1,\"environmentId\":2,\"deployJob\":\"user-service-prod\"}")
    private Map<String, Object> variables;
}
