package com.simuwang.base.config;

import cn.hutool.core.collection.ListUtil;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.LinkedHashMap;
import java.util.List;

@Setter
@Getter
@Configuration
@ConfigurationProperties(prefix = DaqProperties.DAQ_CONFIG_PREFIX)
public class DaqProperties {
    public static final String DAQ_CONFIG_PREFIX = "simuwang";

    /**
     * 是否启用quartz定时任务功能
     */
    private Boolean enableQuartz = Boolean.FALSE;
    /**
     * 是否启用操作日志记录功能
     */
    private Boolean enableLogging = Boolean.TRUE;
    /**
     * 默认的密码
     */
    private String defaultPwd;
    /**
     * token 过期时间，单位分钟
     */
    private Long tokenExpire = 60 * 24L;
    /**
     * token 的秘钥（长度为64）
     */
    private String tokenSecret;
    /**
     * 基于rsa的加解密方式
     */
    private SecurityRsa securityRsa;
    /**
     * shiro 过滤器配置
     */
    private List<FilterChain> shiroFilterChain = ListUtil.list(true);

    @Setter
    @Getter
    public static class SecurityRsa {
        private String publicKey;
        private String privateKey;
    }

    @Setter
    @Getter
    public static class FilterChain {
        private String path;
        private List<String> filters;
    }
}
