import uuid from fastapi import APIRouter, Header from typing import Any from ApiDefaults.config import api_config from Events.user.cluster import UserRouterCluster from ApiControllers.providers.token_provider import TokenProvider from ApiControllers.abstracts.default_validations import CommonHeaders from Controllers.Postgres.pagination import PaginateOnly user_route = APIRouter(prefix="/user", tags=["User"]) @user_route.post( path="/list", description="List users endpoint", operation_id="1aca3094-fe80-4e0f-a460-1a506419082a", ) def user_list_route( data: PaginateOnly, headers: CommonHeaders, ): """ List users 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 = UserRouterCluster.get_event_cluster("UserList") event_cluster_matched = FoundCluster.match_event(event_key=event_key) return event_cluster_matched.event_callable(data=data) @user_route.post( path="/create", description="Create users endpoint", operation_id="9686211f-4260-485d-8076-186c22c053aa", ) def user_create_route( data: Any, headers: CommonHeaders, ): """ Create users 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 = UserRouterCluster.get_event_cluster("UserCreate") event_cluster_matched = FoundCluster.match_event(event_key=event_key) return event_cluster_matched.event_callable(data=data) @user_route.post( path="/update", description="Update users endpoint", operation_id="268e887b-5ff5-4f99-b1be-7e127e28a198", ) def user_update_route( data: Any, headers: CommonHeaders, ): """ Update users 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 = UserRouterCluster.get_event_cluster("UserUpdate") event_cluster_matched = FoundCluster.match_event(event_key=event_key) return event_cluster_matched.event_callable(data=data)