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
 |