import uuid from fastapi import APIRouter, Request, Response, Header from ApiServices.IdentityService.config import api_config from ApiServices.IdentityService.events.people.event import PeopleCluster from ApiServices.IdentityService.providers.token_provider import TokenProvider from Controllers.Postgres.pagination import PaginateOnly people_route = APIRouter(prefix="/people", tags=["People"]) @people_route.post( path="/list", description="Test Template Route", operation_id="f102db46-031a-43e4-966a-dae6896f985b", ) def people_route_list( request: Request, response: Response, data: PaginateOnly, language: str = Header(None, alias="language"), domain: str = Header(None, alias="domain"), tz: str = Header(None, alias="timezone"), ): """ Test Template Route """ endpoint_code = "f102db46-031a-43e4-966a-dae6896f985b" token = request.headers.get(api_config.ACCESS_TOKEN_TAG, None) headers = { "language": language or "", "domain": domain or "", "eys-ext": f"{str(uuid.uuid4())}", "tz": tz or "GMT+3", "token": token, } token_object = TokenProvider.get_dict_from_redis(token=token) event_key = TokenProvider.retrieve_event_codes( endpoint_code=endpoint_code, token=token_object ) event_cluster_matched = PeopleCluster.PeopleListCluster.match_event( event_key=event_key ) response.headers["X-Header"] = "Test Header GET" if runner_callable := event_cluster_matched.event_callable(list_options=data): return runner_callable raise ValueError("Event key not found or multiple matches found") @people_route.post( path="/create", description="Test Template Route with Post Method", operation_id="eb465fde-337f-4b81-94cf-28c6d4f2b1b6", ) def test_template_post( request: Request, response: Response, language: str = Header(None, alias="language"), domain: str = Header(None, alias="domain"), tz: str = Header(None, alias="timezone"), ): """ Test Template Route with Post Method """ endpoint_code = "eb465fde-337f-4b81-94cf-28c6d4f2b1b6" token = request.headers.get(api_config.ACCESS_TOKEN_TAG, None) headers = { "language": language or "", "domain": domain or "", "eys-ext": f"{str(uuid.uuid4())}", "tz": tz or "GMT+3", "token": token, } token_object = TokenProvider.get_dict_from_redis(token=token) event_key = TokenProvider.retrieve_event_codes( endpoint_code=endpoint_code, token=token_object ) event_cluster_matched = PeopleCluster.PeopleCreateCluster.match_event( event_key=event_key ) response.headers["X-Header"] = "Test Header POST" if runner_callable := event_cluster_matched.event_callable(): return runner_callable raise ValueError("Event key not found or multiple matches found") @people_route.post( path="/update", description="Test Template Route with Post Method", operation_id="c9e5ba69-6915-43f5-8f9c-a5c2aa865b89", ) def test_template_post( request: Request, response: Response, language: str = Header(None, alias="language"), domain: str = Header(None, alias="domain"), tz: str = Header(None, alias="timezone"), ): """ Test Template Route with Post Method """ token = request.headers.get(api_config.ACCESS_TOKEN_TAG, None) endpoint_code = "c9e5ba69-6915-43f5-8f9c-a5c2aa865b89" headers = { "language": language or "", "domain": domain or "", "eys-ext": f"{str(uuid.uuid4())}", "tz": tz or "GMT+3", "token": token, } token_object = TokenProvider.get_dict_from_redis(token=token) event_key = TokenProvider.retrieve_event_codes( endpoint_code=endpoint_code, token=token_object ) event_cluster_matched = PeopleCluster.PeopleUpdateCluster.match_event( event_key=event_key ) response.headers["X-Header"] = "Test Header POST" if runner_callable := event_cluster_matched.event_callable(): return runner_callable raise ValueError("Event key not found or multiple matches found")