package com.multictrl.modules.business.dto.remote.log;

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

import java.util.List;

/**
 * 远程日志参数
 *
 * @author Sdy
 * @since 1.0.0 2026/5/10
 */
@Data
@Schema(name = "远程日志参数")
public class SyncRemoteLog {

    @NotBlank(message = "设备类型不能为空")
    @Schema(description = "设备类型 0-飞行器 3-机场")
    private String module;

    @Valid
    @Schema(description = "文件列表")
    private List<FileInfo> fileInfoList;

    @Data
    public static class FileInfo {
        @NotNull(message = "文件索引不能为空")
        @Schema(description = "文件索引")
        private Integer bootIndex;
        @NotBlank(message = "日志开始时间不能为空")
        @Schema(description = "日志开始时间")
        private String startDateStr;
        @NotBlank(message = "日志结束时间不能为空")
        @Schema(description = "日志结束时间")
        private String endDateStr;
    }
}
