Skip to content
Snippets Groups Projects
Unverified Commit 99976484 authored by Samuel Guillemet's avatar Samuel Guillemet
Browse files

:ok_hand: IMPROVE: Use load_modules to load endpoints

parent 9b0a2a91
No related branches found
No related tags found
1 merge request!16🚀 RELEASE: Bump to 0.2.1
""" API v1 router. """ """ API v1 router. """
import importlib
from fastapi import APIRouter from fastapi import APIRouter
from app.api.v1 import endpoints from app.api.v1 import endpoints
from app.utils.load_submodules import load_submodules
endpoints_module = [ endpoints_module = load_submodules(endpoints)
importlib.import_module(f"app.api.v1.endpoints.{module}")
for module in endpoints.__all__
]
api_v1_router = APIRouter() api_v1_router = APIRouter()
......
from . import webhook
__all__ = ["webhook"]
...@@ -18,12 +18,6 @@ logger = logging.getLogger("app.api.v1.webhook") ...@@ -18,12 +18,6 @@ logger = logging.getLogger("app.api.v1.webhook")
router = APIRouter(tags=["webhook"], prefix="/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 # Load all webhook components and create a list of tuples containing
# the event name, handler function, and response model. # the event name, handler function, and response model.
components_tuple: list[ components_tuple: list[
...@@ -44,7 +38,13 @@ components_tuple: list[ ...@@ -44,7 +38,13 @@ components_tuple: list[
response_model=Union[ response_model=Union[
tuple(response_model for _, _, response_model in components_tuple) # type: ignore 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): async def webhook_route(webhook_event: BaseWebhookEvent):
""" """
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment