package com.reading.platform.dto.request;

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

/**
 * 管理员设置更新请求
 */
@Data
@Schema(description = "管理员设置更新请求")
public class AdminSettingsUpdateRequest {

    @Schema(description = "系统名称")
    private String systemName;

    @Schema(description = "系统描述")
    private String systemDesc;

    @Schema(description = "联系电话")
    private String contactPhone;

    @Schema(description = "联系邮箱")
    private String contactEmail;

    @Schema(description = "系统 Logo")
    private String systemLogo;

    @Schema(description = "密码强度")
    private String passwordStrength;

    @Schema(description = "最大登录尝试次数")
    private Integer maxLoginAttempts;

    @Schema(description = "Token 过期时间")
    private String tokenExpire;

    @Schema(description = "强制 HTTPS")
    private Boolean forceHttps;

    @Schema(description = "邮箱启用")
    private Boolean emailEnabled;

    @Schema(description = "SMTP 主机")
    private String smtpHost;

    @Schema(description = "SMTP 端口")
    private Integer smtpPort;

    @Schema(description = "SMTP 用户")
    private String smtpUser;

    @Schema(description = "SMTP 密码")
    private String smtpPassword;

    @Schema(description = "发件人邮箱")
    private String fromEmail;

    @Schema(description = "短信启用")
    private Boolean smsEnabled;

    @Schema(description = "存储类型")
    private String storageType;

    @Schema(description = "最大文件大小")
    private Integer maxFileSize;

    @Schema(description = "允许的文件类型")
    private String allowedTypes;

    @Schema(description = "默认教师配额")
    private Integer defaultTeacherQuota;

    @Schema(description = "默认学生配额")
    private Integer defaultStudentQuota;

    @Schema(description = "启用自动过期")
    private Boolean enableAutoExpire;

    @Schema(description = "提前通知天数")
    private Integer notifyBeforeDays;
}
