42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
"""
|
|
Route configuration and factory module.
|
|
Handles dynamic route creation based on configurations.
|
|
"""
|
|
|
|
from fastapi import Request
|
|
from Events.Engine.set_defaults.run import get_cluster_controller_group
|
|
from Events.Engine.set_defaults.setClusters import (
|
|
PrepareRouting,
|
|
SetItems2Redis,
|
|
PrepareEvents,
|
|
)
|
|
|
|
routers = None
|
|
|
|
|
|
async def health_check(request: Request):
|
|
"""Default health check endpoint."""
|
|
return {"status": "healthy", "message": "Service is running"}
|
|
|
|
|
|
async def ping_test(request: Request, service_name: str = "base-router"):
|
|
"""Default ping test endpoint."""
|
|
return {"ping": "pong", "service": service_name}
|
|
|
|
|
|
def get_all_routers() -> PrepareRouting:
|
|
"""
|
|
Get all routers and protected routes from route configurations.
|
|
|
|
Returns:
|
|
tuple: (routers, protected_routes)
|
|
"""
|
|
global routers
|
|
if not routers:
|
|
cluster_list = get_cluster_controller_group()
|
|
prepare_routing = PrepareRouting(cluster_controller_group=cluster_list)
|
|
prepare_events = PrepareEvents(cluster_controller_group=cluster_list)
|
|
set_items_2_redis = SetItems2Redis(prepare_events=prepare_events)
|
|
return prepare_routing
|
|
return routers
|