events initated first endpoint tested

This commit is contained in:
2025-01-30 16:56:40 +03:00
parent b664f64eb4
commit 9781cae858
31 changed files with 576 additions and 521 deletions

View File

@@ -14,6 +14,7 @@ from ApiLayers.ApiValidations.Custom.token_objects import (
)
from ApiLayers.ApiValidations.Custom.wrapper_contexts import AuthContext, EventContext
from ApiLayers.AllConfigs.Token.config import Auth
from Services.PostgresDb.Models.pagination import Pagination, PaginationResult, QueryOptions
TokenDictType = Union[EmployeeTokenObject, OccupantTokenObject]
@@ -90,3 +91,24 @@ class ContextRetrievers:
class BaseRouteModel:
context_retriever: Union[ContextRetrievers] = None
class ListOptionsBase:
def __init__(self, table, list_options, model_query: Optional[BaseModel] = None):
self.table = table
self.list_options = list_options
self.model_query = model_query
def init_list_options(self) -> tuple:
db_session = self.table.new_session()
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:
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)