Files
Fulfillment-Backend/schemas/payment_record.py

56 lines
1.1 KiB
Python

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