3 services are updated
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
from typing import Optional, Union, Type, Any, Dict, TypeVar
|
||||
from pydantic import BaseModel
|
||||
from sqlalchemy.orm import Query
|
||||
|
||||
from .pagination import default_paginate_config
|
||||
from .base import PostgresResponse
|
||||
from typing import Optional, Union
|
||||
from sqlalchemy.orm import Query
|
||||
from pydantic import BaseModel
|
||||
|
||||
T = TypeVar("T")
|
||||
|
||||
class Pagination:
|
||||
"""
|
||||
@@ -168,16 +171,7 @@ class PaginationResult:
|
||||
@property
|
||||
def data(self) -> Union[list | dict]:
|
||||
"""Get query object."""
|
||||
query_ordered = self.dynamic_order_by()
|
||||
query_paginated = query_ordered.limit(self.limit).offset(self.offset)
|
||||
queried_data = (
|
||||
query_paginated.all() if self.response_type else query_paginated.first()
|
||||
)
|
||||
data = (
|
||||
[result.get_dict() for result in queried_data]
|
||||
if self.response_type
|
||||
else queried_data.get_dict()
|
||||
)
|
||||
if self.response_model:
|
||||
return [self.response_model(**item).model_dump() for item in data]
|
||||
return data
|
||||
query_paginated = self.dynamic_order_by().limit(self.limit).offset(self.offset)
|
||||
queried_data = (query_paginated.all() if self.response_type else query_paginated.first())
|
||||
data = ([result.get_dict() for result in queried_data] if self.response_type else queried_data.get_dict())
|
||||
return [self.response_model(**item).model_dump() for item in data] if self.response_model else data
|
||||
|
||||
Reference in New Issue
Block a user