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:
@@ -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),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user