38 lines
1.3 KiB
Python
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
|