39 lines
1.2 KiB
Python
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"])
|