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