UMBRA/backend/app/schemas/event_template.py
Kyle Pope 80f3f3ed10 Calendar enhancements: scroll navigation, birthday color editing, event templates
- Add wheel scroll navigation in month view (debounced, prevents rapid scrolling)
- Allow editing color on system calendars (Birthdays) - name field disabled
- Event templates: full CRUD backend (model, schema, router, migration 011)
- Event templates: sidebar section with create/edit/delete, click to pre-fill EventForm
- Register event_templates router at /api/event-templates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 17:34:16 +08:00

44 lines
1.1 KiB
Python

from pydantic import BaseModel, ConfigDict
from datetime import datetime
from typing import Optional
class EventTemplateCreate(BaseModel):
name: str
title: str
description: Optional[str] = None
duration_minutes: int = 60
calendar_id: Optional[int] = None
recurrence_rule: Optional[str] = None
all_day: bool = False
location_id: Optional[int] = None
is_starred: bool = False
class EventTemplateUpdate(BaseModel):
name: Optional[str] = None
title: Optional[str] = None
description: Optional[str] = None
duration_minutes: Optional[int] = None
calendar_id: Optional[int] = None
recurrence_rule: Optional[str] = None
all_day: Optional[bool] = None
location_id: Optional[int] = None
is_starred: Optional[bool] = None
class EventTemplateResponse(BaseModel):
id: int
name: str
title: str
description: Optional[str]
duration_minutes: int
calendar_id: Optional[int]
recurrence_rule: Optional[str]
all_day: bool
location_id: Optional[int]
is_starred: bool
created_at: datetime
model_config = ConfigDict(from_attributes=True)