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 handlers(AdminUserHandler adminUserHandler, CreateAdminTemplateHandler createAdminTemplateHandler) { Map map = new HashMap<>(); map.put(100, adminUserHandler); map.put(200, createAdminTemplateHandler); return map; } @Bean public Map loginHandlers(LoginHandler loginHandler) { Map map = new HashMap<>(); map.put(101, loginHandler); return map; } }