package cn.sikey.mcdisk.controller.app.wristwatch.vo;

import cn.sikey.mcdisk.enums.CatalogTypeEnum;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @Author: nelson
 * @Date: 2025/5/30
 * @Description: 删除家庭云文件
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DeleteContentsReqVO {
    /**
     * 设备标识
     */
    @NotBlank(message = "设备标识是空")
    private String ticket;

    /**
     * 用户信息
     */
    @NotNull(message = "用户信息是空")
    private DeleteContentsReqVO.CommonAccountInfo commonAccountInfo;

    /**
     * 内容ID
     */
    @NotEmpty(message = "内容ID是空")
    private List<String> contentIDList;

    /**
     * 文件路径
     */
    @NotBlank(message = "文件路径是空")
    private String path;

    /**
     * 家庭云ID
     * catalogType不为4时必传
     */
    private String cloudID;

    /**
     * 云类型
     * 1：家庭云
     * catalogType不为4时必传
     * 历史原因导致的冗余字段，兼容现有客户端，需要固定传1
     */
    private Integer cloudType = CatalogTypeEnum.ORDINARY_PHOTO_ALBUM.getValue();

    /**
     * 目录类型：
     * 1：普通相册
     * 2：音乐目录
     * 3：文档目录
     * 4：头像目录
     * 5：影集目录
     * 6：杂志目录
     */
    private Integer catalogType = CatalogTypeEnum.ORDINARY_PHOTO_ALBUM.getValue();

    /**
     * 用户信息
     */
    @Data
    public static class CommonAccountInfo {

        /**
         * 用户类型
         */
        @NotNull(message = "用户类型是空")
        private Integer accountType;
    }
}
