events cluster updated with PageInfo
This commit is contained in:
@@ -48,10 +48,15 @@ class TemplateFunctions(BaseRouteModel):
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
def template_example_function_list(cls, data: Optional[Union[dict, ListOptions]]) -> PaginationResult:
|
||||
def template_example_function_list(
|
||||
cls, data: Optional[Union[dict, ListOptions]]
|
||||
) -> PaginationResult:
|
||||
from ApiLayers.Schemas import AddressNeighborhood
|
||||
|
||||
list_options_base = ListOptionsBase(
|
||||
table=AddressNeighborhood, list_options=data, model_query=None,
|
||||
table=AddressNeighborhood,
|
||||
list_options=data,
|
||||
model_query=None,
|
||||
)
|
||||
db_session, query_options = list_options_base.init_list_options()
|
||||
if cls.context_retriever.token.is_occupant:
|
||||
@@ -64,7 +69,10 @@ class TemplateFunctions(BaseRouteModel):
|
||||
AddressNeighborhood.neighborhood_code.icontains("9"),
|
||||
db=db_session,
|
||||
).query
|
||||
records = AddressNeighborhood.filter_all(*query_options.convert(), db=db_session)
|
||||
records = AddressNeighborhood.filter_all(
|
||||
*query_options.convert(), db=db_session
|
||||
)
|
||||
return list_options_base.paginated_result(
|
||||
records=records, response_model=getattr(cls.context_retriever, 'RESPONSE_VALIDATOR', None)
|
||||
)
|
||||
records=records,
|
||||
response_model=getattr(cls.context_retriever, "RESPONSE_VALIDATOR", None),
|
||||
)
|
||||
|
||||
@@ -48,10 +48,15 @@ class TemplateFunctions(BaseRouteModel):
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
def template_example_function_list(cls, data: Optional[Union[dict, ListOptions]]) -> PaginationResult:
|
||||
def template_example_function_list(
|
||||
cls, data: Optional[Union[dict, ListOptions]]
|
||||
) -> PaginationResult:
|
||||
from ApiLayers.Schemas import AddressNeighborhood
|
||||
|
||||
list_options_base = ListOptionsBase(
|
||||
table=AddressNeighborhood, list_options=data, model_query=None,
|
||||
table=AddressNeighborhood,
|
||||
list_options=data,
|
||||
model_query=None,
|
||||
)
|
||||
db_session, query_options = list_options_base.init_list_options()
|
||||
if cls.context_retriever.token.is_occupant:
|
||||
@@ -64,7 +69,10 @@ class TemplateFunctions(BaseRouteModel):
|
||||
AddressNeighborhood.neighborhood_code.icontains("9"),
|
||||
db=db_session,
|
||||
).query
|
||||
records = AddressNeighborhood.filter_all(*query_options.convert(), db=db_session)
|
||||
records = AddressNeighborhood.filter_all(
|
||||
*query_options.convert(), db=db_session
|
||||
)
|
||||
return list_options_base.paginated_result(
|
||||
records=records, response_model=getattr(cls.context_retriever, 'RESPONSE_VALIDATOR', None)
|
||||
)
|
||||
records=records,
|
||||
response_model=getattr(cls.context_retriever, "RESPONSE_VALIDATOR", None),
|
||||
)
|
||||
|
||||
@@ -48,10 +48,15 @@ class TemplateFunctions(BaseRouteModel):
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
def template_example_function_list(cls, data: Optional[Union[dict, ListOptions]]) -> PaginationResult:
|
||||
def template_example_function_list(
|
||||
cls, data: Optional[Union[dict, ListOptions]]
|
||||
) -> PaginationResult:
|
||||
from ApiLayers.Schemas import AddressNeighborhood
|
||||
|
||||
list_options_base = ListOptionsBase(
|
||||
table=AddressNeighborhood, list_options=data, model_query=None,
|
||||
table=AddressNeighborhood,
|
||||
list_options=data,
|
||||
model_query=None,
|
||||
)
|
||||
db_session, query_options = list_options_base.init_list_options()
|
||||
if cls.context_retriever.token.is_occupant:
|
||||
@@ -64,7 +69,10 @@ class TemplateFunctions(BaseRouteModel):
|
||||
AddressNeighborhood.neighborhood_code.icontains("9"),
|
||||
db=db_session,
|
||||
).query
|
||||
records = AddressNeighborhood.filter_all(*query_options.convert(), db=db_session)
|
||||
records = AddressNeighborhood.filter_all(
|
||||
*query_options.convert(), db=db_session
|
||||
)
|
||||
return list_options_base.paginated_result(
|
||||
records=records, response_model=getattr(cls.context_retriever, 'RESPONSE_VALIDATOR', None)
|
||||
)
|
||||
records=records,
|
||||
response_model=getattr(cls.context_retriever, "RESPONSE_VALIDATOR", None),
|
||||
)
|
||||
|
||||
@@ -48,10 +48,15 @@ class TemplateFunctions(BaseRouteModel):
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
def template_example_function_list(cls, data: Optional[Union[dict, ListOptions]]) -> PaginationResult:
|
||||
def template_example_function_list(
|
||||
cls, data: Optional[Union[dict, ListOptions]]
|
||||
) -> PaginationResult:
|
||||
from ApiLayers.Schemas import AddressNeighborhood
|
||||
|
||||
list_options_base = ListOptionsBase(
|
||||
table=AddressNeighborhood, list_options=data, model_query=None,
|
||||
table=AddressNeighborhood,
|
||||
list_options=data,
|
||||
model_query=None,
|
||||
)
|
||||
db_session, query_options = list_options_base.init_list_options()
|
||||
if cls.context_retriever.token.is_occupant:
|
||||
@@ -64,7 +69,10 @@ class TemplateFunctions(BaseRouteModel):
|
||||
AddressNeighborhood.neighborhood_code.icontains("9"),
|
||||
db=db_session,
|
||||
).query
|
||||
records = AddressNeighborhood.filter_all(*query_options.convert(), db=db_session)
|
||||
records = AddressNeighborhood.filter_all(
|
||||
*query_options.convert(), db=db_session
|
||||
)
|
||||
return list_options_base.paginated_result(
|
||||
records=records, response_model=getattr(cls.context_retriever, 'RESPONSE_VALIDATOR', None)
|
||||
)
|
||||
records=records,
|
||||
response_model=getattr(cls.context_retriever, "RESPONSE_VALIDATOR", None),
|
||||
)
|
||||
|
||||
@@ -8,7 +8,7 @@ from function_handlers import TemplateFunctions
|
||||
|
||||
|
||||
# Auth Login
|
||||
template_event = Event(
|
||||
building_event = Event(
|
||||
name="authentication_login_super_user_event",
|
||||
key="a5d2d0d1-3e9b-4b0f-8c7d-6d4a4b4c4d4e",
|
||||
# request_validator=TemplateRequestModels.TemplateRequestModelX,
|
||||
@@ -18,4 +18,8 @@ template_event = Event(
|
||||
)
|
||||
|
||||
|
||||
template_event.endpoint_callable = TemplateFunctions.template_example_function_list
|
||||
building_event.endpoint_callable = TemplateFunctions.template_example_function_list
|
||||
|
||||
|
||||
class BuildingSuperUserEvents:
|
||||
BuildingEvent = building_event
|
||||
|
||||
@@ -1,19 +1,58 @@
|
||||
"""
|
||||
request models.
|
||||
Account related API endpoints.
|
||||
"""
|
||||
|
||||
from typing import TYPE_CHECKING, Dict, Any, Literal, Optional, TypedDict, Union
|
||||
from pydantic import BaseModel, Field, model_validator, RootModel, ConfigDict
|
||||
from ApiEvents.base_request_model import BaseRequestModel, DictRequestModel
|
||||
from ApiValidations.Custom.token_objects import EmployeeTokenObject, OccupantTokenObject
|
||||
from ApiValidations.Request.base_validations import ListOptions
|
||||
from ErrorHandlers.Exceptions.api_exc import HTTPExceptionApi
|
||||
from Schemas.identity.identity import (
|
||||
AddressPostcode,
|
||||
Addresses,
|
||||
RelationshipEmployee2PostCode,
|
||||
from typing import Any, Dict
|
||||
from fastapi import Request
|
||||
|
||||
from Events.Engine.abstract_class import MethodToEvent
|
||||
from Events.base_request_model import EndpointBaseRequestModel, ContextRetrievers
|
||||
|
||||
from ApiLayers.Middleware.token_event_middleware import TokenEventMiddleware
|
||||
from ApiLayers.ApiValidations.Response.default_response import (
|
||||
EndpointSuccessListResponse,
|
||||
)
|
||||
|
||||
# from .function_handlers import (
|
||||
# AddressListFunctions,
|
||||
# AddressUpdateFunctions,
|
||||
# AddressSearchFunctions,
|
||||
# AddressCreateFunctions,
|
||||
# )
|
||||
from .api_events import BuildingSuperUserEvents
|
||||
|
||||
|
||||
BuildingListEventMethods = MethodToEvent(
|
||||
name="BuildingListEventMethods",
|
||||
events={
|
||||
BuildingSuperUserEvents.BuildingEvent.key: BuildingSuperUserEvents.BuildingEvent,
|
||||
},
|
||||
headers=[],
|
||||
errors=[],
|
||||
decorators_list=[TokenEventMiddleware.event_required],
|
||||
url="/list",
|
||||
method="POST",
|
||||
summary="List all accounts by given previligous",
|
||||
description="List all accounts by given previligous",
|
||||
)
|
||||
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from fastapi import Request
|
||||
def account_list_event_endpoint(
|
||||
request: Request, data: EndpointBaseRequestModel
|
||||
) -> Dict[str, Any]:
|
||||
context_retriever = ContextRetrievers(func=account_list_event_endpoint)
|
||||
event_2_catch = BuildingListEventMethods.retrieve_event(
|
||||
event_function_code=f"{BuildingSuperUserEvents.BuildingEvent.key}"
|
||||
)
|
||||
context_retriever.RESPONSE_VALIDATOR = event_2_catch.RESPONSE_VALIDATOR
|
||||
data = event_2_catch.REQUEST_VALIDATOR(**data.data)
|
||||
BuildingListFunctions.context_retriever = context_retriever
|
||||
pagination_result = event_2_catch.endpoint_callable(data=data)
|
||||
return EndpointSuccessListResponse(
|
||||
code=event_2_catch.static_key, lang=context_retriever.token.lang
|
||||
).as_dict(
|
||||
data=pagination_result.data, pagination=pagination_result.pagination.as_dict()
|
||||
)
|
||||
|
||||
|
||||
BuildingListEventMethods.endpoint_callable = account_list_event_endpoint
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from Events.Engine.abstract_class import CategoryCluster
|
||||
|
||||
from .info import building_page_info
|
||||
|
||||
|
||||
|
||||
@@ -48,10 +48,15 @@ class TemplateFunctions(BaseRouteModel):
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
def template_example_function_list(cls, data: Optional[Union[dict, ListOptions]]) -> PaginationResult:
|
||||
def template_example_function_list(
|
||||
cls, data: Optional[Union[dict, ListOptions]]
|
||||
) -> PaginationResult:
|
||||
from ApiLayers.Schemas import AddressNeighborhood
|
||||
|
||||
list_options_base = ListOptionsBase(
|
||||
table=AddressNeighborhood, list_options=data, model_query=None,
|
||||
table=AddressNeighborhood,
|
||||
list_options=data,
|
||||
model_query=None,
|
||||
)
|
||||
db_session, query_options = list_options_base.init_list_options()
|
||||
if cls.context_retriever.token.is_occupant:
|
||||
@@ -64,7 +69,10 @@ class TemplateFunctions(BaseRouteModel):
|
||||
AddressNeighborhood.neighborhood_code.icontains("9"),
|
||||
db=db_session,
|
||||
).query
|
||||
records = AddressNeighborhood.filter_all(*query_options.convert(), db=db_session)
|
||||
records = AddressNeighborhood.filter_all(
|
||||
*query_options.convert(), db=db_session
|
||||
)
|
||||
return list_options_base.paginated_result(
|
||||
records=records, response_model=getattr(cls.context_retriever, 'RESPONSE_VALIDATOR', None)
|
||||
)
|
||||
records=records,
|
||||
response_model=getattr(cls.context_retriever, "RESPONSE_VALIDATOR", None),
|
||||
)
|
||||
|
||||
@@ -1,17 +1,42 @@
|
||||
from Events.Engine.abstract_class import PageInfo
|
||||
from Events.Engine.abstract_class import PageComponent
|
||||
|
||||
|
||||
create_building = PageComponent(
|
||||
name="CreateBuilding",
|
||||
url="/create",
|
||||
language_models={
|
||||
"en": "Create Building",
|
||||
"tr": "Bina Oluştur",
|
||||
},
|
||||
)
|
||||
|
||||
update_building = PageComponent(
|
||||
name="UpdateBuilding",
|
||||
url="/update",
|
||||
language_models={
|
||||
"en": "Update Building",
|
||||
"tr": "Bina Güncelle",
|
||||
},
|
||||
)
|
||||
|
||||
list_building = PageComponent(
|
||||
name="ListBuilding",
|
||||
url="/dashboard",
|
||||
language_models={
|
||||
"en": "List Building",
|
||||
"tr": "Bina Listele",
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
building_page_info = PageInfo(
|
||||
name="Building",
|
||||
title={
|
||||
"en": "Building Actions",
|
||||
"tr": "Bina İşlemleri"
|
||||
name="BuildingCluster",
|
||||
language_models={
|
||||
"en": {},
|
||||
"tr": {},
|
||||
},
|
||||
description={
|
||||
"en": "Building Actions to manage build updates",
|
||||
"tr": "Bina güncellemelerini yönetmek için Bina İşlemleri"
|
||||
},
|
||||
icon="",
|
||||
parent="",
|
||||
url="",
|
||||
icon="Building",
|
||||
sub_components=[create_building, update_building, list_building],
|
||||
url="/dashboard?site=AddressCluster",
|
||||
)
|
||||
|
||||
@@ -48,10 +48,15 @@ class TemplateFunctions(BaseRouteModel):
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
def template_example_function_list(cls, data: Optional[Union[dict, ListOptions]]) -> PaginationResult:
|
||||
def template_example_function_list(
|
||||
cls, data: Optional[Union[dict, ListOptions]]
|
||||
) -> PaginationResult:
|
||||
from ApiLayers.Schemas import AddressNeighborhood
|
||||
|
||||
list_options_base = ListOptionsBase(
|
||||
table=AddressNeighborhood, list_options=data, model_query=None,
|
||||
table=AddressNeighborhood,
|
||||
list_options=data,
|
||||
model_query=None,
|
||||
)
|
||||
db_session, query_options = list_options_base.init_list_options()
|
||||
if cls.context_retriever.token.is_occupant:
|
||||
@@ -64,7 +69,10 @@ class TemplateFunctions(BaseRouteModel):
|
||||
AddressNeighborhood.neighborhood_code.icontains("9"),
|
||||
db=db_session,
|
||||
).query
|
||||
records = AddressNeighborhood.filter_all(*query_options.convert(), db=db_session)
|
||||
records = AddressNeighborhood.filter_all(
|
||||
*query_options.convert(), db=db_session
|
||||
)
|
||||
return list_options_base.paginated_result(
|
||||
records=records, response_model=getattr(cls.context_retriever, 'RESPONSE_VALIDATOR', None)
|
||||
)
|
||||
records=records,
|
||||
response_model=getattr(cls.context_retriever, "RESPONSE_VALIDATOR", None),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user