feat: added cruds, seed, schemas, session
This commit is contained in:
40
src/kawai_focus_v2/schemas/timer.py
Normal file
40
src/kawai_focus_v2/schemas/timer.py
Normal file
@@ -0,0 +1,40 @@
|
||||
from pydantic import BaseModel, field_validator, Field
|
||||
from kawai_focus_v2.core.messages.errors import ErrorMessage
|
||||
|
||||
|
||||
class TimerModel(BaseModel):
|
||||
"""Модель схемы данных таймера"""
|
||||
|
||||
id: int | None = None
|
||||
title: str
|
||||
pomodoro_time: int
|
||||
break_time: int
|
||||
break_long_time: int
|
||||
count_pomodoro: int
|
||||
|
||||
|
||||
class TimerListModel(BaseModel):
|
||||
"""Модель схемы данных таймера для списка"""
|
||||
|
||||
id: int
|
||||
title: str
|
||||
pomodoro_time: int
|
||||
count_pomodoro: int
|
||||
|
||||
|
||||
class TimerTimeModel(BaseModel):
|
||||
"""Модель схемы данных времени таймера"""
|
||||
|
||||
hh: int = Field(0, ge=0, le=23)
|
||||
mm: int = Field(0, ge=0, le=59)
|
||||
|
||||
@field_validator('hh', 'mm')
|
||||
@classmethod
|
||||
def check_all_time_fields(cls, value: int) -> int:
|
||||
"""Метод валидирует все поля времени"""
|
||||
|
||||
# гарантирует, что время не равно 00:00:00
|
||||
if value == 0:
|
||||
raise ValueError(ErrorMessage.NO_TIME.value)
|
||||
|
||||
return value
|
||||
Reference in New Issue
Block a user