Files
colibre/src/api/__init__.py
T

39 lines
1.2 KiB
Python

from flask_smorest import Api
from src.api import routes
def init_api(server) -> None:
"""Enregistre le blueprint d'API privée sur le serveur Flask."""
import os
from src.api import tokens_db, tracking
# Garantit que api_tokens existe avant que apply_pending (init_subscriptions,
# plus tard) ne tente l'ALTER de la migration 0007.
tokens_db.init_schema(os.environ["USERS_DB_PATH"])
server.config.setdefault("API_TITLE", "colibre API")
server.config.setdefault("API_VERSION", "v1")
server.config.setdefault("OPENAPI_VERSION", "3.0.3")
server.config.setdefault("OPENAPI_URL_PREFIX", "/api/v1")
server.config.setdefault("OPENAPI_JSON_PATH", "openapi.json")
server.config.setdefault("OPENAPI_SWAGGER_UI_PATH", "swagger")
server.config.setdefault(
"OPENAPI_SWAGGER_UI_URL",
"https://cdn.jsdelivr.net/npm/swagger-ui-dist/",
)
server.config.setdefault(
"API_SPEC_OPTIONS",
{
"components": {
"securitySchemes": {"BearerAuth": {"type": "http", "scheme": "bearer"}}
}
},
)
api = Api(server)
api.register_blueprint(routes.bp)
tracking.start_worker(os.environ["USERS_DB_PATH"])