""" Route configuration registry. This module collects and registers all route configurations from different modules to be used by the dynamic route creation system. """ from typing import Dict, List, Any, Callable from fastapi import Request from ApiEvents.abstract_class import RouteFactoryConfig, EndpointFactoryConfig from ApiEvents.EventServiceApi.utils import with_token_event from ApiEvents.EventServiceApi.account.account_records import ( AccountRecordsListEventMethods, ListOptions, InsertAccountRecord, SearchAddress, UpdateAccountRecord, ) @with_token_event def address_list(request: Request, list_options: ListOptions): """Handle address list endpoint.""" pass @with_token_event def address_create(request: Request, data: InsertAccountRecord): """Handle address creation endpoint.""" pass @with_token_event def address_search(request: Request, data: SearchAddress): """Handle address search endpoint.""" pass @with_token_event def address_update(request: Request, address_uu_id: str, data: UpdateAccountRecord): """Handle address update endpoint.""" pass # Account Records Router Configuration ACCOUNT_RECORDS_CONFIG = { 'name': 'account_records', 'prefix': '/account/records', 'tags': ['Account Records'], 'include_in_schema': True, 'endpoints': [ EndpointFactoryConfig( endpoint="/list", method="POST", summary="List Active/Delete/Confirm Address", description="List Active/Delete/Confirm Address", is_auth_required=True, is_event_required=True, request_model=ListOptions, endpoint_function=address_list ), EndpointFactoryConfig( endpoint="/create", method="POST", summary="Create Address with given auth levels", description="Create Address with given auth levels", is_auth_required=True, is_event_required=True, request_model=InsertAccountRecord, endpoint_function=address_create ), EndpointFactoryConfig( endpoint="/search", method="POST", summary="Search Address with given auth levels", description="Search Address with given auth levels", is_auth_required=True, is_event_required=True, request_model=SearchAddress, endpoint_function=address_search ), EndpointFactoryConfig( endpoint="/update/{address_uu_id}", method="POST", summary="Update Address with given auth levels", description="Update Address with given auth levels", is_auth_required=True, is_event_required=True, request_model=UpdateAccountRecord, endpoint_function=address_update ) ] } # Registry of all route configurations ROUTE_CONFIGS = [ ACCOUNT_RECORDS_CONFIG, # Add other route configurations here ] def get_route_configs() -> List[Dict[str, Any]]: """Get all registered route configurations.""" return ROUTE_CONFIGS