feat(admin): added admin panel

This commit is contained in:
2025-06-18 17:29:01 +03:00
parent a157fc1cc3
commit 2c682c5123
5 changed files with 119 additions and 16 deletions

View File

@@ -27,14 +27,15 @@ func main() {
modpackHandler := &api.ModpackHandler{ModpackRepo: modpackRepo}
launcherHandler := &api.LauncherHandler{ModpackRepo: modpackRepo}
adminUserHandler := &api.AdminUserHandler{UserRepo: userRepo}
// Запускаем поллер в фоновой горутине
go serverPoller.Start(context.Background())
// Сервисы
userService := &core.UserService{Repo: userRepo}
authService := &core.AuthService{UserRepo: userRepo} // Новый сервис
// Инициализируем сервис профилей, читая путь к ключу и домен из переменных окружения
authService := &core.AuthService{UserRepo: userRepo}
keyPath := os.Getenv("RSA_PRIVATE_KEY_PATH")
if keyPath == "" {
log.Fatal("RSA_PRIVATE_KEY_PATH environment variable is not set")
@@ -81,8 +82,15 @@ func main() {
r.Route("/api/user", func(r chi.Router) {
r.Post("/skin", profileHandler.UploadSkin)
})
r.Route("/api/admin/modpacks", func(r chi.Router) {
r.Post("/import", modpackHandler.ImportModpack)
r.Route("/api/admin", func(r chi.Router) {
r.Use(api.AdminMiddleware)
r.Route("/modpacks", func(r chi.Router) {
r.Post("/import", modpackHandler.ImportModpack)
})
r.Route("/users", func(r chi.Router) {
r.Get("/", adminUserHandler.GetAllUsers)
r.Patch("/{id}/role", adminUserHandler.UpdateUserRole)
})
})
})