"""API blueprint registration.

This module is imported by the Quart app factory; it just exposes the
top-level `api_bp` for backward compatibility with FC-1's health route,
and ALL_BLUEPRINTS for the factory to register sibling blueprints.
"""

from quart import Blueprint

from . import health

api_bp = Blueprint("api", __name__, url_prefix="/api")
api_bp.add_url_rule("/health", view_func=health.get_health, methods=["GET"])


def all_blueprints() -> list[Blueprint]:
    from .admin import admin_bp
    from .aliases import aliases_bp
    from .artist import artist_bp
    from .artists import artists_bp
    from .attachments import attachments_bp
    from .ccip import ccip_bp
    from .cleanup import cleanup_bp
    from .credentials import credentials_bp
    from .downloads import downloads_bp
    from .extension import extension_bp
    from .gallery import gallery_bp
    from .gpu import gpu_bp
    from .heads import heads_bp
    from .import_admin import import_admin_bp
    from .ml_admin import ml_admin_bp
    from .platforms import platforms_bp
    from .posts import posts_bp
    from .provenance import provenance_bp
    from .settings import settings_bp
    from .showcase import showcase_bp
    from .sources import sources_bp
    from .suggestions import suggestions_bp
    from .system_activity import system_activity_bp
    from .system_backup import system_backup_bp
    from .tags import tags_bp
    from .thumbnails import thumbnails_bp
    return [
        api_bp,
        attachments_bp,
        gallery_bp,
        provenance_bp,
        tags_bp,
        artist_bp,
        artists_bp,
        showcase_bp,
        settings_bp,
        system_activity_bp,
        system_backup_bp,
        admin_bp,
        cleanup_bp,
        import_admin_bp,
        suggestions_bp,
        aliases_bp,
        heads_bp,
        gpu_bp,
        ccip_bp,
        ml_admin_bp,
        thumbnails_bp,
        sources_bp,
        platforms_bp,
        posts_bp,
        credentials_bp,
        extension_bp,
        downloads_bp,
    ]
