- Drop duration_minutes column from event_templates (model, schema, migration) - Remove duration field from TemplateForm UI and TypeScript types - EventForm now defaults start to current date/time and end to +1 hour when no initial values are provided (new events and template-based events) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
41 lines
1.0 KiB
Python
41 lines
1.0 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
|
|
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
|
|
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]
|
|
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)
|