feat: work shifts planning

This commit is contained in:
2025-01-22 18:01:24 +04:00
parent 2c4037c1b5
commit de4c2677aa
6 changed files with 193 additions and 3 deletions

View File

@@ -0,0 +1,47 @@
from datetime import datetime, date
from schemas.base import BaseSchema, OkMessageSchema
from schemas.position import PositionSchema
from schemas.user import UserSchema
# region Entities
class PlannedWorkShiftSchema(BaseSchema):
id: int
shift_date: datetime
positions: list[PositionSchema]
class PlanningTableRow(BaseSchema):
user: UserSchema
shifts: list[PlannedWorkShiftSchema]
# endregion
# region Requests
class GetWorkShiftsPlanningDataRequest(BaseSchema):
date_from: date
date_to: date
class UpdatePlanningWorkShiftRequest(BaseSchema):
shift_date: date
position_keys: list[str]
user_id: int
# endregion
# region Responses
class GetPlannedWorkShiftsResponse(BaseSchema):
shifts: list[PlanningTableRow]
class UpdatePlanningWorkShiftResponse(OkMessageSchema):
pass
# endregion