100 lines
3.1 KiB
Python
100 lines
3.1 KiB
Python
"""
|
|
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
|