Introduced CRUD implementation, schema definitions, and tests for EventTheme. This allows creation, retrieval, updating, deletion, and querying of active event themes. Comprehensive tests ensure functionality works as intended, including edge cases for nonexistent themes.
31 lines
628 B
Python
31 lines
628 B
Python
from typing import Dict, Optional
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class EventThemeBase(BaseModel):
|
|
name: str
|
|
description: Optional[str] = None
|
|
preview_image_url: Optional[str] = None
|
|
color_palette: Dict[str, str]
|
|
fonts: Dict[str, str]
|
|
|
|
|
|
class EventThemeCreate(EventThemeBase):
|
|
pass
|
|
|
|
|
|
class EventThemeUpdate(EventThemeBase):
|
|
name: Optional[str] = None
|
|
color_palette: Optional[Dict[str, str]] = None
|
|
fonts: Optional[Dict[str, str]] = None
|
|
|
|
|
|
class EventThemeInDBBase(EventThemeBase):
|
|
id: str
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class EventTheme(EventThemeInDBBase):
|
|
pass |