71 lines
2.6 KiB
Python
71 lines
2.6 KiB
Python
from fastapi import APIRouter, Depends
|
|
|
|
from ApiControllers.abstracts.default_validations import CommonHeaders
|
|
from ApiControllers.providers.token_provider import TokenProvider
|
|
|
|
from Controllers.Postgres.pagination import PaginateOnly
|
|
from Events.area.cluster import BuildAreaRouterCluster
|
|
|
|
|
|
area_route = APIRouter(prefix="/building/area", tags=["Building Area"])
|
|
|
|
|
|
@area_route.post(
|
|
path="/list",
|
|
description="List building area endpoint",
|
|
operation_id="f2831efc-5493-448c-bcf6-4d52d744ba7e",
|
|
)
|
|
def area_list_route(
|
|
data: PaginateOnly,
|
|
headers: CommonHeaders = Depends(CommonHeaders.as_dependency),
|
|
):
|
|
"""
|
|
List building area endpoint
|
|
"""
|
|
token_object = TokenProvider.get_dict_from_redis(token=headers.token)
|
|
event_founder_dict = dict(endpoint_code=headers.operation_id, token=token_object)
|
|
event_key = TokenProvider.retrieve_event_codes(**event_founder_dict)
|
|
FoundCluster = BuildAreaRouterCluster.get_event_cluster("BuildAreaList")
|
|
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
|
|
return event_cluster_matched.event_callable(data=data)
|
|
|
|
|
|
@area_route.post(
|
|
path="/create",
|
|
description="Create building area endpoint",
|
|
operation_id="66e8b310-7a5d-41f4-977c-ee5f3b0603da",
|
|
)
|
|
def area_create_route(
|
|
data: dict,
|
|
headers: CommonHeaders = Depends(CommonHeaders.as_dependency),
|
|
):
|
|
"""
|
|
Create building area endpoint
|
|
"""
|
|
token_object = TokenProvider.get_dict_from_redis(token=headers.token)
|
|
event_founder_dict = dict(endpoint_code=headers.operation_id, token=token_object)
|
|
event_key = TokenProvider.retrieve_event_codes(**event_founder_dict)
|
|
FoundCluster = BuildAreaRouterCluster.get_event_cluster("BuildAreaCreate")
|
|
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
|
|
return event_cluster_matched.event_callable(data=data)
|
|
|
|
|
|
@area_route.post(
|
|
path="/update",
|
|
description="Update building area endpoint",
|
|
operation_id="d7769899-156d-49ff-85f4-06e3faa23e30",
|
|
)
|
|
def area_update_route(
|
|
data: dict,
|
|
headers: CommonHeaders = Depends(CommonHeaders.as_dependency),
|
|
):
|
|
"""
|
|
Update building area endpoint
|
|
"""
|
|
token_object = TokenProvider.get_dict_from_redis(token=headers.token)
|
|
event_founder_dict = dict(endpoint_code=headers.operation_id, token=token_object)
|
|
event_key = TokenProvider.retrieve_event_codes(**event_founder_dict)
|
|
FoundCluster = BuildAreaRouterCluster.get_event_cluster("BuildAreaUpdate")
|
|
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
|
|
return event_cluster_matched.event_callable(data=data)
|