modified: serv_nginx/api_bb/internal/handlers/avatar.go
modified: serv_nginx/api_bb/internal/handlers/handlers.go modified: serv_nginx/api_bb/internal/handlers/user.go modified: serv_nginx/api_bb/internal/routes/routes.go modified: serv_nginx/api_bb/internal/service/avatar_service.go modified: serv_nginx/nginx/nginx-ssl.conf try to serve file name throught path
This commit is contained in:
@@ -23,50 +23,42 @@ func SetupRouter(db *gorm.DB, config *config.Config) http.Handler {
|
||||
r.Use(m)
|
||||
}
|
||||
|
||||
// handler
|
||||
allHandler := handlers.NewHandler(db, config)
|
||||
|
||||
// Serve static files (avatars) - ДОБАВЬТЕ ЭТО
|
||||
r.Handle("/uploads/*", http.StripPrefix("/uploads/",
|
||||
r.Handle("/uploads/*", http.StripPrefix("/uploads/",
|
||||
http.FileServer(http.Dir("./uploads"))))
|
||||
|
||||
// Initialize repositories
|
||||
userRepo := repository.NewUserRepository(db)
|
||||
newsRepo := repository.NewNewsRepository(db)
|
||||
commentRepo := repository.NewCommentRepository(db)
|
||||
|
||||
// Initialize logger
|
||||
baseLogger := logger.NewWrapper(logger.Get()) // Создаем базовый логгер
|
||||
|
||||
// Initialize services with logger
|
||||
jwtService := service.NewJWTService(config.JWTSecret)
|
||||
authService := service.NewAuthService(userRepo, jwtService, baseLogger) // Передаем логгер
|
||||
userService := service.NewUserService(userRepo, jwtService, baseLogger)
|
||||
newsService := service.NewNewsService(newsRepo, commentRepo, baseLogger)
|
||||
avatarService := service.NewAvatarService(userRepo, baseLogger)
|
||||
|
||||
// Initialize handlers
|
||||
healthHandler := handlers.NewHealthHandler()
|
||||
authHandler := handlers.NewAuthHandler(authService, jwtService)
|
||||
userHandler := handlers.NewUserHandler(&userService)
|
||||
newsHandler := handlers.NewNewsHandler(newsService, baseLogger)
|
||||
avatarHandler := handlers.NewAvatarHandler(avatarService)
|
||||
|
||||
// Health routes
|
||||
r.Mount("/api", healthHandler.Routes())
|
||||
r.Mount("/api", allHandler.HealthHandler().Routes())
|
||||
|
||||
// API v1 routes
|
||||
r.Route("/v1", func(r chi.Router) {
|
||||
r.Get("/check", healthHandler.Check)
|
||||
r.Get("/check", allHandler.HealthHandler().Check)
|
||||
|
||||
// Public auth routes
|
||||
r.Mount("/auth", authHandler.Routes())
|
||||
r.Mount("/auth", allHandler.AuthHandler().Routes())
|
||||
|
||||
// Protected routes
|
||||
r.Route("/user", func(r chi.Router) {
|
||||
r.Use(middleware.AuthMiddleware(jwtService, userRepo))
|
||||
r.Use(middleware.RequireAuth)
|
||||
|
||||
r.Mount("/", userHandler.Routes())
|
||||
r.Mount("/", allHandler.UserHandler().Routes())
|
||||
|
||||
r.Mount("/avatar", avatarHandler.Routes())
|
||||
r.Mount("/avatar", allHandler.AvatarHandler().Routes())
|
||||
|
||||
// Здесь будут другие защищенные маршруты пользователя
|
||||
})
|
||||
@@ -74,23 +66,23 @@ func SetupRouter(db *gorm.DB, config *config.Config) http.Handler {
|
||||
r.Route("/news", func(r chi.Router) {
|
||||
|
||||
// Публичные маршруты
|
||||
r.Get("/", newsHandler.GetNews)
|
||||
r.Get("/{id}", newsHandler.GetNewsByID)
|
||||
r.Get("/{id}/comments", newsHandler.GetComments)
|
||||
r.Get("/check", healthHandler.Check)
|
||||
r.Get("/", allHandler.NewsHandler().GetNews)
|
||||
r.Get("/{id}", allHandler.NewsHandler().GetNewsByID)
|
||||
r.Get("/{id}/comments", allHandler.NewsHandler().GetComments)
|
||||
r.Get("/check", allHandler.HealthHandler().Check)
|
||||
|
||||
// Защищенные маршруты
|
||||
r.Group(func(r chi.Router) {
|
||||
r.Use(middleware.AuthMiddleware(jwtService, userRepo))
|
||||
r.Use(middleware.RequireAuth)
|
||||
|
||||
r.Post("/", newsHandler.CreateNews)
|
||||
r.Put("/{id}", newsHandler.UpdateNews)
|
||||
r.Delete("/{id}", newsHandler.DeleteNews)
|
||||
r.Post("/{id}/comments", newsHandler.CreateComment)
|
||||
r.Delete("/comments/{commentId}", newsHandler.DeleteComment)
|
||||
r.Get("/my/news", newsHandler.GetUserNews)
|
||||
r.Get("/check", healthHandler.Check)
|
||||
r.Post("/", allHandler.NewsHandler().CreateNews)
|
||||
r.Put("/{id}", allHandler.NewsHandler().UpdateNews)
|
||||
r.Delete("/{id}", allHandler.NewsHandler().DeleteNews)
|
||||
r.Post("/{id}/comments", allHandler.NewsHandler().CreateComment)
|
||||
r.Delete("/comments/{commentId}", allHandler.NewsHandler().DeleteComment)
|
||||
r.Get("/my/news", allHandler.NewsHandler().GetUserNews)
|
||||
r.Get("/check", allHandler.HealthHandler().Check)
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user