RegionalOfficeOut больше не дублируется в schemas/me.py: в schemas/directories.py определены RegionalOfficeBrief (id, name, is_head_office — форма /me Среза 0) и RegionalOfficeOut(RegionalOfficeBrief) с is_active. /me импортирует RegionalOfficeBrief, тело ответа /me не меняется; в OpenAPI нет двух одноимённых компонентов. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
23 lines
746 B
Python
23 lines
746 B
Python
"""Схема ответа `GET /api/v1/me` (spec authn-authz): профиль, роли и эффективные права текущего пользователя."""
|
|
|
|
import uuid
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
from src.models.enums import BusinessSegment
|
|
from src.schemas.directories import RegionalOfficeBrief
|
|
|
|
|
|
class MeResponse(BaseModel):
|
|
"""Текущий пользователь. `roles` и `permissions` — коды, отсортированные по алфавиту."""
|
|
|
|
model_config = ConfigDict(use_enum_values=True)
|
|
|
|
id: uuid.UUID
|
|
email: str
|
|
full_name: str
|
|
regional_office: RegionalOfficeBrief
|
|
business_segment: BusinessSegment | None
|
|
roles: list[str]
|
|
permissions: list[str]
|