90a96b4125
- Remove api_es service, Dockerfile, all Go source files - Remove api_es from docker-compose.yml, nginx-ssl.conf, .env, Makefile - Replace nginx /api/ proxy with /api/v1/ → api_yal:8787 - Add amenity/upload domains, AuthResponse, GET /auth/me, GET /objects/my to api_yal - Rewrite easysite frontend: types, composables, and all 5 pages to use api_yal DTOs - Wire nuxt.config public.apiBase, add useObjects CRUD composable - Update docs references from api_es to api_yal
50 lines
1.6 KiB
Go
50 lines
1.6 KiB
Go
package object
|
|
|
|
import (
|
|
"api_yal/internal/logger"
|
|
"api_yal/internal/middleware"
|
|
"api_yal/internal/repository"
|
|
|
|
"github.com/go-chi/chi/v5"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// RegisterRoutes регистрирует маршруты для работы с объектами
|
|
func RegisterRoutes(r chi.Router, db *gorm.DB, jwtSecret string) {
|
|
l := logger.Get()
|
|
l.Debug("Регистрация маршрутов объектов")
|
|
|
|
objectRepo := repository.NewObjectRepository(db)
|
|
objectService := NewObjectService(objectRepo)
|
|
objectHandler := NewObjectHandler(objectService)
|
|
|
|
// Публичные маршруты (не требуют аутентификации)
|
|
r.Group(func(r chi.Router) {
|
|
r.Get("/objects", objectHandler.ListObjects)
|
|
r.Get("/objects/search", objectHandler.SearchObjects)
|
|
r.Get("/objects/nearby", objectHandler.GetNearbyObjects)
|
|
r.Get("/objects/{id}", objectHandler.GetObjectByID)
|
|
r.Get("/objects/owner/{ownerId}", objectHandler.GetObjectsByOwner)
|
|
})
|
|
|
|
// Защищенные маршруты (требуют аутентификации)
|
|
r.Group(func(r chi.Router) {
|
|
r.Use(middleware.AuthMiddleware(jwtSecret))
|
|
|
|
// Мои объекты
|
|
r.Get("/objects/my", objectHandler.GetMyObjects)
|
|
|
|
// CRUD для объектов
|
|
r.Post("/objects", objectHandler.CreateObject)
|
|
r.Put("/objects/{id}", objectHandler.UpdateObject)
|
|
r.Delete("/objects/{id}", objectHandler.DeleteObject)
|
|
|
|
// Отзывы
|
|
r.Post("/objects/{id}/feedbacks", objectHandler.CreateFeedback)
|
|
|
|
// Рейтинги
|
|
r.Post("/objects/{id}/ratings", objectHandler.CreateRatingVote)
|
|
})
|
|
|
|
l.Debug("Маршруты объектов зарегистрированы")
|
|
} |