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.people.cluster import PeopleRouterCluster people_route = APIRouter(prefix="/people", tags=["People"]) @people_route.post( path="/list", description="List people endpoint", operation_id="f102db46-031a-43e4-966a-dae6896f985b", ) def people_route_list( data: PaginateOnly, headers: CommonHeaders = Depends(CommonHeaders.as_dependency), ): """ List people 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 = PeopleRouterCluster.get_event_cluster("PeopleList") event_cluster_matched = FoundCluster.match_event(event_key=event_key) return event_cluster_matched.event_callable() @people_route.post( path="/create", description="Create people endpoint", operation_id="eb465fde-337f-4b81-94cf-28c6d4f2b1b6", ) def people_route_create( headers: CommonHeaders = Depends(CommonHeaders.as_dependency), ): """ Create people 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 = PeopleRouterCluster.get_event_cluster("PeopleCreate") event_cluster_matched = FoundCluster.match_event(event_key=event_key) return event_cluster_matched.event_callable() @people_route.post( path="/update", description="Update people endpoint", operation_id="c9e5ba69-6915-43f5-8f9c-a5c2aa865b89", ) def people_route_update( headers: CommonHeaders = Depends(CommonHeaders.as_dependency), ): """ Update people 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 = PeopleRouterCluster.get_event_cluster("PeopleUpdate") event_cluster_matched = FoundCluster.match_event(event_key=event_key) return event_cluster_matched.event_callable()