import datetime from typing import List from schemas.base import BaseSchema, PaginationInfoSchema, OkMessageSchema from schemas.payroll import PayrollSchemeSchema from schemas.user import UserSchema # region Entities class PaymentRecordSchemaBase(BaseSchema): start_date: datetime.date end_date: datetime.date work_units: float user: UserSchema class PaymentRecordCreateSchema(PaymentRecordSchemaBase): pass class PaymentRecordGetSchema(PaymentRecordSchemaBase): id: int created_by_user: UserSchema payroll_scheme: PayrollSchemeSchema amount: float created_at: datetime.datetime # endregion # region Requests class CreatePaymentRecordRequest(BaseSchema): data: PaymentRecordCreateSchema class DeletePaymentRecordRequest(BaseSchema): payment_record_id: int # endregion # region Responses class GetPaymentRecordsResponse(BaseSchema): payment_records: List[PaymentRecordGetSchema] pagination_info: PaginationInfoSchema class CreatePaymentRecordResponse(OkMessageSchema): pass class DeletePaymentRecordResponse(OkMessageSchema): pass # endregion