feat: time tracking
This commit is contained in:
45
schemas/time_tracking.py
Normal file
45
schemas/time_tracking.py
Normal 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
|
||||
Reference in New Issue
Block a user