46 lines
815 B
Python
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
|