package com.qqchen.deploy.backend.deploy.dto;

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

/**
 * 用户团队环境通知配置DTO
 *
 * @author qqchen
 * @since 2025-11-11
 */
@Data
@Schema(description = "用户团队环境通知配置信息")
public class UserTeamEnvironmentNotificationConfigDTO {

    /**
     * 通知渠道ID
     */
    @Schema(description = "通知渠道ID")
    private Long notificationChannelId;

    /**
     * 是否启用审批前提醒
     */
    @Schema(description = "是否启用审批前提醒")
    private Boolean preApprovalNotificationEnabled;

    /**
     * 审批前提醒模板ID
     */
    @Schema(description = "审批前提醒模板ID")
    private Long preApprovalNotificationTemplateId;

    /**
     * 是否启用构建通知
     */
    @Schema(description = "是否启用构建通知")
    private Boolean buildNotificationEnabled;

    /**
     * 构建通知模板ID
     */
    @Schema(description = "构建通知模板ID")
    private Long buildNotificationTemplateId;

    /**
     * 构建失败时是否发送日志文件
     */
    @Schema(description = "构建失败时是否发送日志文件")
    private Boolean buildFailureFileEnabled;

    // ===== 扩展字段（非数据库字段） =====

    /**
     * 通知渠道名称（扩展字段，非数据库字段）
     */
    @Schema(description = "通知渠道名称（扩展字段，非数据库字段）")
    private String notificationChannelName;

    /**
     * 审批前提醒模板名称（扩展字段，非数据库字段）
     */
    @Schema(description = "审批前提醒模板名称（扩展字段，非数据库字段）")
    private String preApprovalNotificationTemplateName;

    /**
     * 构建通知模板名称（扩展字段，非数据库字段）
     */
    @Schema(description = "构建通知模板名称（扩展字段，非数据库字段）")
    private String buildNotificationTemplateName;
}
