import asyncio from fastapi import APIRouter from loguru import logger from .crud import db from .tasks import wait_for_paid_invoices from .views import castle_generic_router from .views_api import castle_api_router castle_ext: APIRouter = APIRouter(prefix="/castle", tags=["Castle"]) castle_ext.include_router(castle_generic_router) castle_ext.include_router(castle_api_router) castle_static_files = [ { "path": "/castle/static", "name": "castle_static", } ] def castle_start(): """Initialize Castle extension background tasks""" logger.info("Starting Castle accounting extension background tasks") asyncio.create_task(wait_for_paid_invoices()) __all__ = ["castle_ext", "castle_static_files", "db", "castle_start"]