modified: serv_nginx/api_bb/internal/handlers/auth.go

modified:   serv_nginx/api_bb/internal/handlers/avatar.go
	modified:   serv_nginx/api_bb/internal/handlers/health.go
	modified:   serv_nginx/api_bb/internal/handlers/user.go
	modified:   serv_nginx/api_bb/internal/routes/routes.go
	deleted:    serv_nginx/bbvue/src/stores/counter.js
	modified:   serv_nginx/bbvue/src/views/Profile.vue
update chi to last, moove the routing from handlers to router.go
This commit is contained in:
2025-10-19 05:26:54 +05:00
parent c358ba01c9
commit ed8f0943c3
7 changed files with 23 additions and 72 deletions
@@ -14,7 +14,6 @@ import (
"api_bb/pkg/logger"
"api_bb/pkg/utils"
"github.com/go-chi/chi/v5"
"go.uber.org/zap"
)
@@ -32,21 +31,6 @@ func NewAuthHandler(authService service.AuthService, jwtService service.JWTServi
}
}
func (h *AuthHandler) Routes() chi.Router {
r := chi.NewRouter()
// Обработка OPTIONS запросов для CORS
r.Options("/register", h.handleOptions)
r.Options("/login", h.handleOptions)
r.Options("/logout", h.handleOptions)
r.Post("/register", h.Register)
r.Post("/login", h.Login)
r.Post("/logout", h.Logout)
return r
}
// Обработчик для OPTIONS запросов
func (h *AuthHandler) handleOptions(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
@@ -27,22 +27,6 @@ func NewAvatarHandler(avatarService service.AvatarService) *AvatarHandler {
}
}
func (h *AvatarHandler) Routes() chi.Router {
r := chi.NewRouter()
h.logger.Debug("Registering avatar routes",
zap.String("POST", "/upload"),
zap.String("DELETE", "/delete"),
zap.String("GET", "/{filename}"),
)
r.Post("/upload", h.UploadAvatar)
r.Delete("/delete", h.DeleteAvatar)
r.Get("/{filename}", h.GetAvatar)
return r
}
func (h *AvatarHandler) UploadAvatar(w http.ResponseWriter, r *http.Request) {
h.logger.Debug("UploadAvatar START",
zap.String("method", r.Method),
@@ -5,7 +5,6 @@ import (
"api_bb/pkg/utils"
"github.com/go-chi/chi/v5"
)
type HealthHandler struct{}
@@ -14,15 +13,6 @@ func NewHealthHandler() *HealthHandler {
return &HealthHandler{}
}
func (h *HealthHandler) Routes() chi.Router {
r := chi.NewRouter()
r.Get("/health", h.HealthCheck)
r.Get("/check", h.Check)
return r
}
func (h *HealthHandler) HealthCheck(w http.ResponseWriter, r *http.Request) {
response := map[string]string{
"status": "ok",
@@ -14,7 +14,6 @@ import (
"api_bb/pkg/middleware"
"api_bb/pkg/utils"
"github.com/go-chi/chi/v5"
"go.uber.org/zap"
)
@@ -30,15 +29,6 @@ func NewUserHandler(userService service.UserService) *UserHandler {
}
}
func (h *UserHandler) Routes() chi.Router {
r := chi.NewRouter()
r.Get("/profile", h.GetProfile)
r.Post("/editProfile", h.UpdateProfile)
r.Get("/", h.GetUsers) // 👈 ДОБАВЛЯЕМ НОВЫЙ ЭНДПОЙНТ
return r
}
type UserResponse struct {
ID uint `json:"id"`
Email string `json:"email"`
+20 -7
View File
@@ -42,25 +42,38 @@ func SetupRouter(db *gorm.DB, config *config.Config) http.Handler {
// Initialize handlers
// Health routes
r.Mount("/api", allHandler.HealthHandler().Routes())
r.Route("/api", func(r chi.Router) {
r.Get("/health", allHandler.HealthHandler().HealthCheck)
r.Get("/check", allHandler.HealthHandler().Check)
})
// API v1 routes
r.Route("/v1", func(r chi.Router) {
r.Get("/check", allHandler.HealthHandler().Check)
// Public auth routes
r.Mount("/auth", allHandler.AuthHandler().Routes())
r.Route("/auth", func(r chi.Router) {
r.Post("/register", allHandler.AuthHandler().Register)
r.Post("/login", allHandler.AuthHandler().Login)
r.Post("/logout", allHandler.AuthHandler().Logout)
})
// Protected routes
r.Route("/user", func(r chi.Router) {
r.Use(middleware.AuthMiddleware(jwtService, userRepo))
r.Use(middleware.RequireAuth)
// Все операции с аватарами теперь через AvatarHandler
r.Mount("/avatars", allHandler.AvatarHandler().Routes())
// Профиль пользователя
r.Mount("/", allHandler.UserHandler().Routes())
// user profile routes
r.Get("/profile", allHandler.UserHandler().GetProfile)
r.Post("/editProfile", allHandler.UserHandler().UpdateProfile)
r.Get("/", allHandler.UserHandler().GetUsers)
// Все операции с аватарами теперь через AvatarHandler
r.Route("/avatars", func(r chi.Router) {
r.Post("/upload", allHandler.AvatarHandler().UploadAvatar)
r.Delete("/delete", allHandler.AvatarHandler().DeleteAvatar)
r.Get("/{filename}", allHandler.AvatarHandler().GetAvatar)
})
// Здесь будут другие защищенные маршруты пользователя
})
-12
View File
@@ -1,12 +0,0 @@
import { ref, computed } from 'vue'
import { defineStore } from 'pinia'
export const useCounterStore = defineStore('counter', () => {
const count = ref(0)
const doubleCount = computed(() => count.value * 2)
function increment() {
count.value++
}
return { count, doubleCount, increment }
})
+2
View File
@@ -448,6 +448,8 @@ export default {
}
</script>
<style scoped>
/* Добавляем новые стили для дополнительных секций */