Add CRUD operations and tests for EventTheme management
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.
This commit is contained in:
31
backend/app/schemas/event_theme.py
Normal file
31
backend/app/schemas/event_theme.py
Normal file
@@ -0,0 +1,31 @@
|
||||
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
|
||||
Reference in New Issue
Block a user