package com.lesingle.creation.dto.contest;

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

/**
 * 竞赛查询 DTO
 */
@Data
@Schema(description = "竞赛查询参数")
public class ContestQueryDTO {

    @Schema(description = "页码", example = "1")
    private Integer page = 1;

    @Schema(description = "每页大小", example = "10")
    private Integer pageSize = 10;

    @Schema(description = "竞赛名称关键字")
    private String contestName;

    @Schema(description = "竞赛状态：unpublished/published", example = "published")
    private String contestState;

    @Schema(description = "竞赛类型：individual/team", example = "individual")
    private String contestType;

    @Schema(description = "可见范围：public/designated/internal", example = "designated")
    private String visibility;

    @Schema(description = "进度状态：ongoing/finished", example = "ongoing")
    private String status;

    @Schema(description = "阶段：unpublished/registering/submitting/reviewing/finished", example = "registering")
    private String stage;

    @Schema(description = "创建者租户 ID")
    private Long creatorTenantId;
}
