production-evyos-systems-an.../ServicesApi/Builds/TestApi/endpoints/tester/router.py

38 lines
1.3 KiB
Python

import datetime
from typing import Any
from fastapi import APIRouter, Depends
from pydantic import BaseModel
from Validations.response import PaginateOnly, Pagination, PaginationResult, EndpointResponse
from Validations.defaults.validations import CommonHeaders
from Schemas import AccountRecords
tester_endpoint_route = APIRouter(prefix="/tester", tags=["Tester Cluster"])
class TestList(BaseModel):
uu_id: str
bank_date: datetime.datetime
currency_value: float
process_name: str
tester_list = "TestList"
@tester_endpoint_route.post(
path="/list",
description="List all tester endpoint",
operation_id="4c38fab8-9b66-41cd-b87a-41175c9eea48",
)
def tester_list_route(
list_options: PaginateOnly,
headers: CommonHeaders = Depends(CommonHeaders.as_dependency),
):
with AccountRecords.new_session() as db_session:
AccountRecords.set_session(db_session)
tester_list = AccountRecords.query.filter(AccountRecords.currency_value > 0)
pagination = Pagination(data=tester_list, base_query=AccountRecords.query.filter())
pagination.change(**list_options.model_dump())
pagination_result = PaginationResult(data=tester_list, pagination=pagination, response_model=TestList)
return EndpointResponse(message="MSG0003-LIST", pagination_result=pagination_result).response