Initial commit
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
from datetime import datetime
|
||||
from typing import List, Optional
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class SleepSessionCreate(BaseModel):
|
||||
start_time: datetime
|
||||
|
||||
|
||||
class SleepSessionUpdate(BaseModel):
|
||||
start_time: Optional[datetime] = None
|
||||
end_time: Optional[datetime] = None
|
||||
notes: Optional[str] = None
|
||||
|
||||
|
||||
class SleepSessionRead(BaseModel):
|
||||
id: int
|
||||
start_time: datetime
|
||||
end_time: Optional[datetime]
|
||||
notes: Optional[str]
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
class SessionListResponse(BaseModel):
|
||||
sessions: List[SleepSessionRead]
|
||||
total: int
|
||||
|
||||
|
||||
class DailySummaryDay(BaseModel):
|
||||
date: str
|
||||
total_minutes: int
|
||||
day_minutes: int
|
||||
night_minutes: int
|
||||
|
||||
|
||||
class DailySummaryResponse(BaseModel):
|
||||
days: List[DailySummaryDay]
|
||||
|
||||
|
||||
class TimetableSlot(BaseModel):
|
||||
date: str
|
||||
slot_start: str
|
||||
slot_end: str
|
||||
sleeping: bool
|
||||
|
||||
|
||||
class TimetableResponse(BaseModel):
|
||||
slots: List[TimetableSlot]
|
||||
|
||||
|
||||
class WakeupBedtimeDay(BaseModel):
|
||||
date: str
|
||||
wakeup_minutes: Optional[int]
|
||||
bedtime_minutes: Optional[int]
|
||||
|
||||
|
||||
class WakeupBedtimeResponse(BaseModel):
|
||||
days: List[WakeupBedtimeDay]
|
||||
Reference in New Issue
Block a user