- 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>
20 lines
584 B
Python
20 lines
584 B
Python
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class ChampionshipUpdate(BaseModel):
|
|
title: str | None = None
|
|
description: str | None = None
|
|
location: str | None = None
|
|
event_date: datetime | None = None
|
|
registration_open_at: datetime | None = None
|
|
registration_close_at: datetime | None = None
|
|
form_url: str | None = None
|
|
entry_fee: float | None = None
|
|
video_max_duration: int | None = None
|
|
judges: list[dict] | None = None
|
|
categories: list[str] | None = None
|
|
status: str | None = None
|
|
image_url: str | None = None
|