updated list options and response validatore tested

This commit is contained in:
2025-01-30 17:19:23 +03:00
parent 9781cae858
commit 602ab2ffcc
6 changed files with 62 additions and 42 deletions

View File

@@ -34,6 +34,7 @@ class ContextRetrievers:
is_auth: bool = False
is_event: bool = False
key_: str = ""
RESPONSE_VALIDATOR = None
def __init__(self, func):
self.func = func
@@ -105,10 +106,10 @@ class ListOptionsBase:
query_options = QueryOptions(table=self.table, data=self.list_options, model_query=self.model_query)
return db_session, query_options
def paginated_result(self, records) -> PaginationResult:
def paginated_result(self, records, response_model: Optional[BaseModel] = None) -> PaginationResult:
pagination = Pagination(data=records)
if isinstance(self.list_options, dict):
pagination.change(**self.list_options)
elif isinstance(self.list_options, BaseModel):
pagination.change(**self.list_options.model_dump())
return PaginationResult(data=records, pagination=pagination)
return PaginationResult(data=records, pagination=pagination, response_model=response_model)