feat: pass file storage instance

This commit is contained in:
2025-05-24 17:17:54 +02:00
parent 64faa4ca5f
commit d3bcc785a1
2 changed files with 13 additions and 7 deletions

View File

@ -9,20 +9,23 @@ import (
"gitea.local/admin/hspguard/internal/auth" "gitea.local/admin/hspguard/internal/auth"
imiddleware "gitea.local/admin/hspguard/internal/middleware" imiddleware "gitea.local/admin/hspguard/internal/middleware"
"gitea.local/admin/hspguard/internal/repository" "gitea.local/admin/hspguard/internal/repository"
"gitea.local/admin/hspguard/internal/storage"
"gitea.local/admin/hspguard/internal/user" "gitea.local/admin/hspguard/internal/user"
"github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware" "github.com/go-chi/chi/v5/middleware"
) )
type APIServer struct { type APIServer struct {
addr string addr string
repo *repository.Queries repo *repository.Queries
storage *storage.FileStorage
} }
func NewAPIServer(addr string, db *repository.Queries) *APIServer { func NewAPIServer(addr string, db *repository.Queries, minio *storage.FileStorage) *APIServer {
return &APIServer{ return &APIServer{
addr: addr, addr: addr,
repo: db, repo: db,
storage: minio,
} }
} }
@ -37,7 +40,7 @@ func (s *APIServer) Run() error {
router.Route("/api/v1", func(r chi.Router) { router.Route("/api/v1", func(r chi.Router) {
r.Use(imiddleware.WithSkipper(imiddleware.AuthMiddleware, "/api/v1/login", "/api/v1/register")) r.Use(imiddleware.WithSkipper(imiddleware.AuthMiddleware, "/api/v1/login", "/api/v1/register"))
userHandler := user.NewUserHandler(s.repo) userHandler := user.NewUserHandler(s.repo, s.storage)
userHandler.RegisterRoutes(r) userHandler.RegisterRoutes(r)
authHandler := auth.NewAuthHandler(s.repo) authHandler := auth.NewAuthHandler(s.repo)

View File

@ -8,6 +8,7 @@ import (
"gitea.local/admin/hspguard/cmd/hspguard/api" "gitea.local/admin/hspguard/cmd/hspguard/api"
"gitea.local/admin/hspguard/internal/repository" "gitea.local/admin/hspguard/internal/repository"
"gitea.local/admin/hspguard/internal/storage"
"gitea.local/admin/hspguard/internal/user" "gitea.local/admin/hspguard/internal/user"
"github.com/jackc/pgx/v5" "github.com/jackc/pgx/v5"
"github.com/joho/godotenv" "github.com/joho/godotenv"
@ -30,6 +31,8 @@ func main() {
repo := repository.New(conn) repo := repository.New(conn)
fStorage := storage.New()
user.EnsureAdminUser(ctx, repo) user.EnsureAdminUser(ctx, repo)
host := os.Getenv("HOST") host := os.Getenv("HOST")
@ -42,7 +45,7 @@ func main() {
port = "3000" port = "3000"
} }
server := api.NewAPIServer(fmt.Sprintf("127.0.0.1:%s", port), repo) server := api.NewAPIServer(fmt.Sprintf("127.0.0.1:%s", port), repo, fStorage)
if err := server.Run(); err != nil { if err := server.Run(); err != nil {
log.Fatalln("ERR: Failed to start server:", err) log.Fatalln("ERR: Failed to start server:", err)
} }