package cn.axzo.workflow.server.common.config.property;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;

/**
 * 本服务的一些配置,可通过 @RefreshScope 刷新
 * <p>
 * 可全局搜索 {@code workflow.} 查看有哪些, 这里仅简单的支持需要刷新的
 *
 * @author wangli
 * @since 2024/4/22 14:09
 */

@RefreshScope
@Configuration
@ConfigurationProperties("workflow")
@Data
public class WorkflowProperties {

    /**
     * 用于控制当前服务的控制器异常的日志输出级别从 ERROR 改成 WARN
     */
    private List<String> filterOperations = new ArrayList<>();

    /**
     * 将指定的 998 开头的响应码统一转成 200, 目前暂时没用了
     */
    private List<String> filterExceptionCode = new ArrayList<>();

    /**
     * 用于过滤哪些 Controller 方法的异常，不发送钉钉
     */
    private List<String> filterSendDingTalk = new ArrayList<>();

}
