"""
Default entry point for the FastAPI application.
"""

from fastapi import FastAPI

from mapping_provider import config, environment
from mapping_provider.api import common, map


def create_app() -> FastAPI:
    """
    Creates the FastAPI application instance, with routers attached.
    """
    environment.setup_logging()

    app_config = config.load()
    if app_config.sentry:
        environment.setup_sentry(app_config.sentry)

    app = FastAPI(
        title="Mapping provider",
        description="Mapping provider endpoints for GÉANT maps",
    )
    app.include_router(common.router)
    app.include_router(map.router, prefix='/map')
    return app