- Create organizations table with Alembic migration (3-phase: create table, migrate data, drop old column) - Add org_id FK on championships linking to organizations - Refactor all schemas into one-class-per-file packages (auth, championship, organization, participant, registration, user) - Update CRUD layer with selectinload for organization relationships - Update frontend types and components to use nested organization object - Remove phantom Championship fields (subtitle, venue, accent_color) from frontend Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
22 lines
444 B
Python
22 lines
444 B
Python
import uuid
|
|
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from app.schemas.organization import OrganizationOut
|
|
|
|
|
|
class UserOut(BaseModel):
|
|
model_config = {"from_attributes": True}
|
|
|
|
id: uuid.UUID
|
|
email: str
|
|
full_name: str
|
|
phone: str | None
|
|
role: str
|
|
status: str
|
|
instagram_handle: str | None
|
|
organization: OrganizationOut | None = None
|
|
expo_push_token: str | None
|
|
created_at: datetime
|