production-evyos-systems-an.../ServicesApi/Builds/Building/endpoints/living_space/router.py

73 lines
3.5 KiB
Python

from typing import Any
from fastapi import APIRouter, Depends
from index import endpoints_index
from events.living_space.cluster import LivingSpaceRouterCluster
from Validations.defaults.validations import CommonHeaders
from Validations.response.pagination import PaginateOnly
from Extensions.Middlewares.token_provider import TokenProvider
living_space_endpoint_route = APIRouter(prefix="/living/spaces", tags=["Living Spaces Cluster"])
living_space_list = "LivingSpaceList"
@living_space_endpoint_route.post(
path="/list",
description="List all living spaces endpoint",
operation_id=endpoints_index[living_space_list],
)
def living_space_list_route(data: PaginateOnly, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
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 = LivingSpaceRouterCluster.get_event_cluster(living_space_list)
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
return event_cluster_matched.event_callable(list_options=data, headers=headers)
living_space_create = "LivingSpaceCreate"
@living_space_endpoint_route.post(
path="/create",
description="Create living space endpoint",
operation_id=endpoints_index[living_space_create],
)
def living_space_create_route(data, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
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 = LivingSpaceRouterCluster.get_event_cluster(living_space_create)
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
return event_cluster_matched.event_callable(data=data, headers=headers)
living_space_update = "LivingSpaceUpdate"
@living_space_endpoint_route.post(
path="/update/{uu_id}",
description="Update living space endpoint",
operation_id=endpoints_index[living_space_update],
)
def living_space_update_route(uu_id: str, data, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
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 = LivingSpaceRouterCluster.get_event_cluster(living_space_update)
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
return event_cluster_matched.event_callable(uu_id=uu_id, data=data, headers=headers)
living_space_delete = "LivingSpaceDelete"
@living_space_endpoint_route.post(
path="/delete/{uu_id}",
description="Delete living space endpoint",
operation_id=endpoints_index[living_space_delete],
)
def living_space_delete_route(uu_id: str, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
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 = LivingSpaceRouterCluster.get_event_cluster(living_space_delete)
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
return event_cluster_matched.event_callable(uu_id=uu_id, headers=headers)