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

import com.qqchen.deploy.backend.framework.annotation.QueryField;
import com.qqchen.deploy.backend.framework.enums.QueryType;
import com.qqchen.deploy.backend.framework.query.BaseQuery;
import com.qqchen.deploy.backend.notification.enums.NotificationChannelTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 通知模板查询条件
 *
 * @author qqchen
 * @since 2025-11-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "通知模板查询条件")
public class NotificationTemplateQuery extends BaseQuery {

    @QueryField(type = QueryType.LIKE)
    @Schema(description = "模板名称（模糊查询）", example = "Jenkins")
    private String name;

    @QueryField(type = QueryType.LIKE)
    @Schema(description = "模板编码（模糊查询）", example = "jenkins")
    private String code;

    @QueryField(type = QueryType.EQUAL)
    @Schema(description = "渠道类型", example = "WEWORK")
    private NotificationChannelTypeEnum channelType;

    @QueryField(type = QueryType.EQUAL)
    @Schema(description = "是否启用", example = "true")
    private Boolean enabled;
}
