package cn.cslg.pas.common.config;

import cn.cslg.pas.common.core.base.Constants;
import cn.cslg.pas.common.utils.Response;
import cn.cslg.pas.common.utils.ResponseEnum;
import cn.cslg.pas.common.utils.StpAdminUtil;
import cn.dev33.satoken.filter.SaServletFilter;
import cn.dev33.satoken.router.SaRouter;
import cn.dev33.satoken.stp.StpUtil;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SaTokenConfigure {

//    @Bean
//    public SaServletFilter getSaServletFilter() {
//        return new SaServletFilter()
//                .addInclude(Constants.API_VERSION_V2 + "/**")
//                .addExclude("/favicon.ico")
//                .setAuth(obj -> {
//                    SaRouter.match(Constants.API_VERSION_V2 + "/**").notMatch(
//                            Constants.API_VERSION_V2 + "/ws/**",
//                            Constants.API_VERSION_V2 + "/test/**",
//                            Constants.API_VERSION_V2 + "/oauth2/**",
//                            Constants.API_VERSION_V2 + "/admin/**",
//                            Constants.API_VERSION_V2 + "/common/download",
//                            Constants.API_VERSION_V2 + "/common/export"
//                    ).check(StpUtil::checkLogin);
//                    SaRouter.match(Constants.API_VERSION_V2 + "/admin/**", Constants.API_VERSION_V2 + "/admin/login", StpAdminUtil::checkLogin);
//                })
//                .setError(e -> Response.error(ResponseEnum.UNAUTHORIZED));
//    }

}
