feat: вфыв
This commit is contained in:
117
routers/payroll.py
Normal file
117
routers/payroll.py
Normal file
@@ -0,0 +1,117 @@
|
||||
from fastapi import APIRouter
|
||||
|
||||
from backend.dependecies import SessionDependency, PaginationDependency, CurrentUserDependency
|
||||
from schemas.finances import CreatePayRateRequest, UpdatePayRateRequest, DeletePayRateRequest, \
|
||||
GetAllPayrollSchemeResponse, GetAllPayRatesResponse, CreatePayRateResponse, UpdatePayRateResponse, \
|
||||
DeletePayRateResponse
|
||||
from schemas.payment_record import GetPaymentRecordsResponse, CreatePaymentRecordResponse, CreatePaymentRecordRequest, \
|
||||
DeletePaymentRecordResponse, DeletePaymentRecordRequest
|
||||
from services.payroll import PayrollService
|
||||
|
||||
payroll_router = APIRouter(
|
||||
prefix="/payroll",
|
||||
tags=["payroll"]
|
||||
)
|
||||
|
||||
|
||||
# region PayScheme
|
||||
@payroll_router.get(
|
||||
'/scheme/get-all',
|
||||
operation_id='get_all_payroll_schemas',
|
||||
response_model=GetAllPayrollSchemeResponse
|
||||
)
|
||||
async def get_all_schemas(
|
||||
session: SessionDependency
|
||||
):
|
||||
return await PayrollService(session).get_all_schemas()
|
||||
|
||||
|
||||
@payroll_router.get(
|
||||
'/pay-rate/get-all',
|
||||
operation_id='get_all_pay_rates',
|
||||
response_model=GetAllPayRatesResponse
|
||||
)
|
||||
async def get_all_pay_rates(
|
||||
session: SessionDependency
|
||||
):
|
||||
return await PayrollService(session).get_all_pay_rates()
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region PayRate
|
||||
@payroll_router.post(
|
||||
'/pay-rate/create',
|
||||
operation_id='create_pay_rate',
|
||||
response_model=CreatePayRateResponse
|
||||
)
|
||||
async def create_pay_rate(
|
||||
session: SessionDependency,
|
||||
request: CreatePayRateRequest
|
||||
):
|
||||
return await PayrollService(session).create_pay_rate(request)
|
||||
|
||||
|
||||
@payroll_router.post(
|
||||
'/pay-rate/update',
|
||||
operation_id='update_pay_rate',
|
||||
response_model=UpdatePayRateResponse
|
||||
)
|
||||
async def update_pay_rate(
|
||||
session: SessionDependency,
|
||||
request: UpdatePayRateRequest
|
||||
):
|
||||
return await PayrollService(session).update_pay_rate(request)
|
||||
|
||||
|
||||
@payroll_router.post(
|
||||
'/pay-rate/delete',
|
||||
operation_id='delete_pay_rate',
|
||||
response_model=DeletePayRateResponse
|
||||
)
|
||||
async def update_pay_rate(
|
||||
session: SessionDependency,
|
||||
request: DeletePayRateRequest
|
||||
):
|
||||
return await PayrollService(session).delete_pay_rate(request)
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region PaymentRecord
|
||||
@payroll_router.get(
|
||||
'/payment-record/get',
|
||||
operation_id='get_payment_records',
|
||||
response_model=GetPaymentRecordsResponse
|
||||
)
|
||||
async def get_payment_records(
|
||||
session: SessionDependency,
|
||||
pagination: PaginationDependency
|
||||
):
|
||||
return await PayrollService(session).get_payment_records(pagination)
|
||||
|
||||
|
||||
@payroll_router.post(
|
||||
'/payment-record/create',
|
||||
operation_id='create_payment_record',
|
||||
response_model=CreatePaymentRecordResponse
|
||||
)
|
||||
async def create_payment_records(
|
||||
session: SessionDependency,
|
||||
request: CreatePaymentRecordRequest,
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await PayrollService(session).create_payment_record(request, user)
|
||||
|
||||
|
||||
@payroll_router.post(
|
||||
'/payment-record/delete',
|
||||
operation_id='delete_payment_record',
|
||||
response_model=DeletePaymentRecordResponse
|
||||
)
|
||||
async def delete_payment_record(
|
||||
session: SessionDependency,
|
||||
request: DeletePaymentRecordRequest,
|
||||
):
|
||||
return await PayrollService(session).delete_payment_record(request)
|
||||
# endregion
|
||||
Reference in New Issue
Block a user