feat: time tracking

This commit is contained in:
2024-08-03 05:39:05 +03:00
parent 82c9126d87
commit 58220a246b
7 changed files with 245 additions and 63 deletions

45
schemas/time_tracking.py Normal file
View File

@@ -0,0 +1,45 @@
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: int
amount: int
class TimeTrackingRecord(BaseSchema):
user: UserSchema
total_amount: int
data: List[TimeTrackingData]
# endregion
# region Requests
class GetTimeTrackingRecordsRequest(BaseSchema):
date: datetime.date
user_ids: list[int]
class UpdateTimeTrackingRecordRequest(BaseSchema):
user_id: int
date: datetime.date
hours: int
# endregion
# region Responses
class GetTimeTrackingRecordsResponse(BaseSchema):
records: List[TimeTrackingRecord]
class UpdateTimeTrackingRecordResponse(OkMessageSchema):
pass
# endregion