feat(modpacks): implement simple zip importer and API

This commit is contained in:
2025-06-18 12:41:27 +03:00
parent 5e609017f0
commit ca182d6d6f
9 changed files with 274 additions and 45 deletions

View File

@@ -16,13 +16,17 @@ import (
func main() {
// Инициализируем соединение с БД
db := database.Connect()
defer db.Close()
dbPool := database.Connect()
defer dbPool.Close()
userRepo := &database.UserRepository{DB: dbPool}
serverRepo := &database.ServerRepository{DB: dbPool}
modpackRepo := &database.ModpackRepository{DB: dbPool}
userRepo := &database.UserRepository{DB: db}
serverRepo := &database.ServerRepository{DB: db}
serverPoller := &core.ServerPoller{Repo: serverRepo}
modpackHandler := &api.ModpackHandler{ModpackRepo: modpackRepo}
// Запускаем поллер в фоновой горутине
go serverPoller.Start(context.Background())
@@ -68,11 +72,14 @@ func main() {
// --- Защищенные роуты ---
r.Group(func(r chi.Router) {
r.Use(api.AuthMiddleware)
r.Use(api.AuthMiddleware) // TODO: Заменить на AdminMiddleware
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)
})
})
log.Println("Starting backend server on :8080")