UMBRA/backend/app/schemas/reminder.py
Kyle Pope 4169c245c2 Global enhancements: none priority, optional remind_at, required labels, textarea flex, remove color picker
- Add "none" priority (grey) to task/todo schemas, types, and all priority color maps
- Make remind_at optional on reminders (schema, model, migration 010)
- Add required prop to Label component with red asterisk indicator
- Add invalid:ring-red-500 to Input, Select, Textarea base classes
- Mark mandatory fields with required labels across all forms
- Replace fixed textarea rows with min-h + flex-1 for auto-expand
- Remove color picker from ProjectForm
- Align TaskRow metadata into fixed-width columns

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 11:58:19 +08:00

35 lines
874 B
Python

from pydantic import BaseModel, ConfigDict
from datetime import datetime
from typing import Optional
class ReminderCreate(BaseModel):
title: str
description: Optional[str] = None
remind_at: Optional[datetime] = None
is_active: bool = True
recurrence_rule: Optional[str] = None
class ReminderUpdate(BaseModel):
title: Optional[str] = None
description: Optional[str] = None
remind_at: Optional[datetime] = None
is_active: Optional[bool] = None
is_dismissed: Optional[bool] = None
recurrence_rule: Optional[str] = None
class ReminderResponse(BaseModel):
id: int
title: str
description: Optional[str]
remind_at: Optional[datetime]
is_active: bool
is_dismissed: bool
recurrence_rule: Optional[str]
created_at: datetime
updated_at: datetime
model_config = ConfigDict(from_attributes=True)