Files
Fulfillment-Backend/schemas/time_tracking.py

46 lines
815 B
Python

import datetime
from typing import List
from schemas.base import BaseSchema, OkMessageSchema
from schemas.user import UserSchema
# region Entities
class TimeTrackingData(BaseSchema):
date: datetime.date
hours: float
amount: float
class TimeTrackingRecord(BaseSchema):
user: UserSchema
total_amount: float
data: List[TimeTrackingData]
# endregion
# region Requests
class GetTimeTrackingRecordsRequest(BaseSchema):
date_from: datetime.date
date_to: datetime.date
class UpdateTimeTrackingRecordRequest(BaseSchema):
user_id: int
date: datetime.date
hours: float
# endregion
# region Responses
class GetTimeTrackingRecordsResponse(BaseSchema):
records: List[TimeTrackingRecord]
class UpdateTimeTrackingRecordResponse(OkMessageSchema):
pass
# endregion