diff --git a/src/app/api/v1/api.py b/src/app/api/v1/api.py index ec2de7124344653c6520e5c5bfd605325f43d25e..e8beeab79226f89ab91a675f9e36170dfda54d21 100644 --- a/src/app/api/v1/api.py +++ b/src/app/api/v1/api.py @@ -1,15 +1,11 @@ """ API v1 router. """ -import importlib - from fastapi import APIRouter from app.api.v1 import endpoints +from app.utils.load_submodules import load_submodules -endpoints_module = [ - importlib.import_module(f"app.api.v1.endpoints.{module}") - for module in endpoints.__all__ -] +endpoints_module = load_submodules(endpoints) api_v1_router = APIRouter() diff --git a/src/app/api/v1/endpoints/__init__.py b/src/app/api/v1/endpoints/__init__.py index aef3ae21807a34ba21d6966a9cfaf1fd85eeff07..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/src/app/api/v1/endpoints/__init__.py +++ b/src/app/api/v1/endpoints/__init__.py @@ -1,3 +0,0 @@ -from . import webhook - -__all__ = ["webhook"] diff --git a/src/app/api/v1/endpoints/webhook.py b/src/app/api/v1/endpoints/webhook.py index e9369b0f5dd4d3c65b4e0960c4eb0eb4a3b2e207..28decba8ebc91c4f364bef42cf2eab8c6d7b3679 100644 --- a/src/app/api/v1/endpoints/webhook.py +++ b/src/app/api/v1/endpoints/webhook.py @@ -18,12 +18,6 @@ logger = logging.getLogger("app.api.v1.webhook") router = APIRouter(tags=["webhook"], prefix="/webhook") -# Common responses for the error cases. -responses = { - 403: {"description": "Webhook signature verification failed.", "model": ErrorModel}, - 501: {"description": "Webhook event not supported.", "model": ErrorModel}, -} - # Load all webhook components and create a list of tuples containing # the event name, handler function, and response model. components_tuple: list[ @@ -44,7 +38,13 @@ components_tuple: list[ response_model=Union[ tuple(response_model for _, _, response_model in components_tuple) # type: ignore ], - responses={**responses}, + responses={ + 403: { + "description": "Webhook signature verification failed.", + "model": ErrorModel, + }, + 501: {"description": "Webhook event not supported.", "model": ErrorModel}, + }, ) async def webhook_route(webhook_event: BaseWebhookEvent): """