created design pattern
This commit is contained in:
70
ApiServices/BuildingService/Endpoints/building/route.py
Normal file
70
ApiServices/BuildingService/Endpoints/building/route.py
Normal file
@@ -0,0 +1,70 @@
|
||||
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.building.cluster import BuildRouterCluster
|
||||
|
||||
|
||||
building_route = APIRouter(prefix="/building", tags=["Building"])
|
||||
|
||||
|
||||
@building_route.post(
|
||||
path="/list",
|
||||
description="List buildings endpoint",
|
||||
operation_id="72003d1f-79cc-43c3-9150-3a94f318186e",
|
||||
)
|
||||
def building_list_route(
|
||||
data: PaginateOnly,
|
||||
headers: CommonHeaders = Depends(CommonHeaders.as_dependency),
|
||||
):
|
||||
"""
|
||||
List buildings 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 = BuildRouterCluster.get_event_cluster("BuildList")
|
||||
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
|
||||
return event_cluster_matched.event_callable(data=data)
|
||||
|
||||
|
||||
@building_route.post(
|
||||
path="/create",
|
||||
description="Create buildings endpoint",
|
||||
operation_id="13b86c9c-702b-411f-acb9-9ff50ef86507",
|
||||
)
|
||||
def building_create_route(
|
||||
data: dict,
|
||||
headers: CommonHeaders = Depends(CommonHeaders.as_dependency),
|
||||
):
|
||||
"""
|
||||
Create buildings 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 = BuildRouterCluster.get_event_cluster("BuildCreate")
|
||||
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
|
||||
return event_cluster_matched.event_callable(data=data)
|
||||
|
||||
|
||||
@building_route.post(
|
||||
path="/update",
|
||||
description="Update buildings endpoint",
|
||||
operation_id="b09fb6fd-a6c9-4c03-8637-9af0570a84e8",
|
||||
)
|
||||
def building_update_route(
|
||||
data: dict,
|
||||
headers: CommonHeaders = Depends(CommonHeaders.as_dependency),
|
||||
):
|
||||
"""
|
||||
Update buildings 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 = BuildRouterCluster.get_event_cluster("BuildUpdate")
|
||||
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
|
||||
return event_cluster_matched.event_callable(data=data)
|
||||
Reference in New Issue
Block a user