package com.gameplatform.server.model.dto.link;

import io.swagger.v3.oas.annotations.media.Schema;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * 按狀態批量刪除鏈接請求DTO
 * 
 * @author GamePlatform
 */
@Schema(description = "按狀態批量刪除鏈接請求")
public class BatchDeleteByStatusRequest {
    
    @NotEmpty(message = "要刪除的狀態列表不能為空")
    @Size(max = 10, message = "單次最多只能指定10個狀態")
    @Schema(description = "要刪除的鏈接狀態列表，可選值：NEW、USING、LOGGED_IN、COMPLETED、REFUNDED、EXPIRED", 
            example = "[\"EXPIRED\", \"REFUNDED\"]", required = true)
    private List<String> statusList;
    
    @Schema(description = "是否確認刪除，必須設置為true才能執行刪除操作", example = "true", required = true)
    private Boolean confirmDelete = false;
    
    public BatchDeleteByStatusRequest() {}
    
    public BatchDeleteByStatusRequest(List<String> statusList, Boolean confirmDelete) {
        this.statusList = statusList;
        this.confirmDelete = confirmDelete;
    }
    
    public List<String> getStatusList() {
        return statusList;
    }
    
    public void setStatusList(List<String> statusList) {
        this.statusList = statusList;
    }
    
    public Boolean getConfirmDelete() {
        return confirmDelete;
    }
    
    public void setConfirmDelete(Boolean confirmDelete) {
        this.confirmDelete = confirmDelete;
    }
}
