feat: завершён этап 3 - API структура Core Service

- Созданы репозитории для locations, items, operations
- Реализованы сервисы с бизнес-логикой
- Созданы HTTP handlers для всех API endpoints
- Добавлена функция GetClaims в middleware
- Обновлён server.go для интеграции всех компонентов
- Поддержка JSON полей в PostgreSQL
- Organization-scope фильтрация во всех операциях
- Валидация запросов через validator

Готово для этапа 4 - Шаблоны помещений
This commit is contained in:
2025-08-27 15:17:12 +04:00
parent 87595300b7
commit a846a2dce4
13 changed files with 1913 additions and 76 deletions

View File

@@ -6,6 +6,7 @@ import (
"erp-mvp/core-service/internal/auth"
"github.com/gin-gonic/gin"
"github.com/google/uuid"
)
type AuthMiddleware struct {
@@ -55,3 +56,33 @@ func (m *AuthMiddleware) AuthRequired() gin.HandlerFunc {
c.Next()
}
}
// GetClaims получает claims из контекста Gin
func GetClaims(c *gin.Context) *auth.Claims {
userID, exists := c.Get("user_id")
if !exists {
return nil
}
orgID, exists := c.Get("organization_id")
if !exists {
return nil
}
email, exists := c.Get("email")
if !exists {
return nil
}
role, exists := c.Get("role")
if !exists {
return nil
}
return &auth.Claims{
UserID: userID.(uuid.UUID),
OrganizationID: orgID.(uuid.UUID),
Email: email.(string),
Role: role.(string),
}
}