diff --git a/src/karl/api/v1.py b/src/karl/api/v1.py index 39123de..8a529ab 100644 --- a/src/karl/api/v1.py +++ b/src/karl/api/v1.py @@ -8,8 +8,6 @@ from starlette.responses import JSONResponse, Response from karl.api.models import Request from karl.core.injects import AutowireSupport -from karl.core.reload import ReloadService -from karl.core.woodpecker import Woodpecker from karl.model.webhook import WoodpeckerEvent, ReloadEvent router = APIRouter() @@ -22,8 +20,6 @@ async def root(): @cbv(router) class APIv1: - woodpecker: Woodpecker = Depends(AutowireSupport.woodpecker) - reload: ReloadService = Depends(AutowireSupport.reload) bus: EventBus = Depends(AutowireSupport.bus) def __init__(self): @@ -42,7 +38,7 @@ class APIv1: await self.bus.dispatch(mapper.map(request)) return Response(status_code=201) - @router.get("/reload", summary="Manual service reload", response_model=None) + @router.get("/reload", summary="Manual service reload") async def reload(self, service: str = None) -> Response: if service is None: return Response(status_code=400) diff --git a/src/karl/core/reload.py b/src/karl/core/reload.py index 6c3b28d..4a8bcbd 100644 --- a/src/karl/core/reload.py +++ b/src/karl/core/reload.py @@ -19,6 +19,7 @@ class ReloadService: self._bus = bus self._git = GitService() bus.on(ReloadEvent, self.on_reload) + logger.info("ReloadService initialized.") async def on_reload(self, event: ReloadEvent): logger.info(f"Received ReloadEvent: {event.service}") diff --git a/src/karl/main.py b/src/karl/main.py index fc75ec3..25029ac 100644 --- a/src/karl/main.py +++ b/src/karl/main.py @@ -3,6 +3,7 @@ import logging from fastapi import FastAPI from injectable import load_injection_container +from core.injects import AutowireSupport from karl.config import get_settings from karl.util.logging import HandlerFactory @@ -15,7 +16,7 @@ class KarlApplication: _app = FastAPI(title="Karl", version="0.1.0") self._set_middlewares(_app) self._set_routes(_app) - self._set_events(_app) + self._init_services(_app) self._app = _app @@ -55,8 +56,9 @@ class KarlApplication: app.include_router(api_v1_router, prefix="/api/v1", tags=["v1"]) pass - def _set_events(self, app: FastAPI): - pass + def _init_services(self, app: FastAPI): + AutowireSupport.reload() + AutowireSupport.woodpecker() def run():