from datetime import datetime from typing import List, Optional from schemas.base import OkMessageSchema, BaseSchema, PaginationInfoSchema from schemas.user import UserSchema # region Entities class WorkShiftSchema(BaseSchema): id: int started_at: datetime finished_at: Optional[datetime] = None hours: Optional[float] = None user: UserSchema # endregion # region Responses class StartShiftResponse(OkMessageSchema): pass class FinishShiftResponse(OkMessageSchema): pass class FinishShiftByIdResponse(OkMessageSchema): pass class GetWorkShiftsResponse(BaseSchema): shifts: List[WorkShiftSchema] pagination_info: PaginationInfoSchema class DeleteShiftResponse(OkMessageSchema): pass # endregion