Files
admin-panel/src/main/java/ru/soune/nocopy/adminpanel/config/AppConfig.java
T
2026-06-05 22:23:49 +07:00

56 lines
1.8 KiB
Java

package ru.soune.nocopy.adminpanel.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import ru.soune.nocopy.adminpanel.handler.AdminUserHandler;
import ru.soune.nocopy.adminpanel.handler.CreateAdminTemplateHandler;
import ru.soune.nocopy.adminpanel.handler.LoginHandler;
import ru.soune.nocopy.adminpanel.handler.RequestHandler;
import java.util.HashMap;
import java.util.Map;
@Configuration
public class AppConfig {
@Bean
PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOrigin("*");
config.addAllowedMethod("*");
config.addAllowedHeader("*");
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
@Bean
public Map<Integer, RequestHandler> handlers(AdminUserHandler adminUserHandler, CreateAdminTemplateHandler createAdminTemplateHandler) {
Map<Integer, RequestHandler> map = new HashMap<>();
map.put(100, adminUserHandler);
map.put(200, createAdminTemplateHandler);
return map;
}
@Bean
public Map<Integer, RequestHandler> loginHandlers(LoginHandler loginHandler) {
Map<Integer, RequestHandler> map = new HashMap<>();
map.put(101, loginHandler);
return map;
}
}