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

import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import lombok.Data;

/**
 * 链接列表查询请求DTO
 */
@Data
@Schema(description = "链接列表查询请求")
public class LinkListRequest {
    
    @Schema(description = "页码，从1开始", example = "1")
    @Min(value = 1, message = "页码必须大于0")
    private Integer page = 1;
    
    @Schema(description = "每页大小", example = "20")
    @Min(value = 1, message = "每页大小必须大于0")
    @Max(value = 100, message = "每页大小不能超过100")
    private Integer pageSize = 20;
    
    @Schema(description = "链接状态过滤", example = "NEW")
    private String status;
    
    @Schema(description = "批次ID过滤", example = "123")
    private Long batchId;
    
    @Schema(description = "是否过期过滤", example = "false")
    private Boolean isExpired;
    
    @Schema(description = "排序字段", example = "createdAt", allowableValues = {"createdAt", "updatedAt", "expireAt"})
    private String sortBy = "createdAt";
    
    @Schema(description = "排序方向", example = "DESC", allowableValues = {"ASC", "DESC"})
    private String sortDir = "DESC";
}
