from fastapi import APIRouter

from app.api.v1 import (
    ai_content_dispatches,
    ai_content_hook_registrations,
    analytics_report_definitions,
    analytics_snapshots,
    appointment_booking_refs,
    appointment_pages,
    audit,
    bundle_definitions,
    component_versions,
    components,
    configurations,
    consumer_connector_dispatches,
    consumer_connector_registrations,
    domain_edge_bindings,
    external_providers,
    feature_toggles,
    form_submissions,
    forms,
    layout_versions,
    layouts,
    license_bindings,
    locale_profiles,
    localizations,
    media_refs,
    notify_dispatches,
    page_component_placements,
    page_layout_bindings,
    pages,
    publish_releases,
    pwa_manifests,
    render_engines,
    settings,
    seo_metadata,
    site_domains,
    site_locale_bindings,
    site_theme_bindings,
    sites,
    sitemap_shells,
    robots_shells,
    survey_responses,
    surveys,
    template_instantiations,
    template_versions,
    templates,
    tenant_bundles,
    theme_versions,
    themes,
    widget_definitions,
    widget_instances,
    workspaces,
)

api_router = APIRouter()
api_router.include_router(
    workspaces.router, prefix="/workspaces", tags=["workspaces"]
)
api_router.include_router(
    locale_profiles.router, prefix="/locale-profiles", tags=["locale_profiles"]
)
api_router.include_router(
    external_providers.router,
    prefix="/external-providers",
    tags=["external-providers"],
)
api_router.include_router(
    render_engines.router, prefix="/render-engines", tags=["render-engines"]
)
api_router.include_router(
    configurations.router, prefix="/configurations", tags=["configurations"]
)
api_router.include_router(settings.router, prefix="/settings", tags=["settings"])
api_router.include_router(audit.router, prefix="/audit", tags=["audit"])
api_router.include_router(sites.router, prefix="/sites", tags=["sites"])
api_router.include_router(pages.router, prefix="/pages", tags=["pages"])
api_router.include_router(
    site_domains.router, prefix="/site-domains", tags=["site-domains"]
)
api_router.include_router(
    components.router, prefix="/components", tags=["components"]
)
api_router.include_router(
    component_versions.router,
    prefix="/component-versions",
    tags=["component-versions"],
)
api_router.include_router(
    page_component_placements.router,
    prefix="/page-component-placements",
    tags=["page-component-placements"],
)
api_router.include_router(themes.router, prefix="/themes", tags=["themes"])
api_router.include_router(
    theme_versions.router, prefix="/theme-versions", tags=["theme-versions"]
)
api_router.include_router(layouts.router, prefix="/layouts", tags=["layouts"])
api_router.include_router(
    layout_versions.router, prefix="/layout-versions", tags=["layout-versions"]
)
api_router.include_router(
    site_theme_bindings.router,
    prefix="/site-theme-bindings",
    tags=["site-theme-bindings"],
)
api_router.include_router(
    page_layout_bindings.router,
    prefix="/page-layout-bindings",
    tags=["page-layout-bindings"],
)
api_router.include_router(templates.router, prefix="/templates", tags=["templates"])
api_router.include_router(
    template_versions.router,
    prefix="/template-versions",
    tags=["template-versions"],
)
api_router.include_router(
    template_instantiations.router,
    prefix="/template-instantiations",
    tags=["template-instantiations"],
)
api_router.include_router(
    site_locale_bindings.router,
    prefix="/site-locale-bindings",
    tags=["site-locale-bindings"],
)
api_router.include_router(
    localizations.router, prefix="/localizations", tags=["localizations"]
)
api_router.include_router(
    media_refs.router, prefix="/media-refs", tags=["media-refs"]
)
api_router.include_router(forms.router, prefix="/forms", tags=["forms"])
api_router.include_router(
    form_submissions.router, prefix="/form-submissions", tags=["form-submissions"]
)
api_router.include_router(surveys.router, prefix="/surveys", tags=["surveys"])
api_router.include_router(
    survey_responses.router, prefix="/survey-responses", tags=["survey-responses"]
)
api_router.include_router(
    appointment_pages.router,
    prefix="/appointment-pages",
    tags=["appointment-pages"],
)
api_router.include_router(
    appointment_booking_refs.router,
    prefix="/appointment-booking-refs",
    tags=["appointment-booking-refs"],
)
api_router.include_router(publish_releases.router, prefix="/publish-releases", tags=["publish-releases"])
api_router.include_router(domain_edge_bindings.router, prefix="/domain-edge-bindings", tags=["domain-edge-bindings"])
api_router.include_router(seo_metadata.router, prefix="/seo-metadata", tags=["seo-metadata"])
api_router.include_router(sitemap_shells.router, prefix="/sitemap-shells", tags=["sitemap-shells"])
api_router.include_router(robots_shells.router, prefix="/robots-shells", tags=["robots-shells"])
api_router.include_router(pwa_manifests.router, prefix="/pwa-manifests", tags=["pwa-manifests"])
api_router.include_router(bundle_definitions.router, prefix="/bundle-definitions", tags=["bundle-definitions"])
api_router.include_router(tenant_bundles.router, prefix="/tenant-bundles", tags=["tenant-bundles"])
api_router.include_router(license_bindings.router, prefix="/license-bindings", tags=["license-bindings"])
api_router.include_router(feature_toggles.router, prefix="/feature-toggles", tags=["feature-toggles"])
api_router.include_router(
    consumer_connector_registrations.router,
    prefix="/consumer-connector-registrations",
    tags=["consumer-connector-registrations"],
)
api_router.include_router(
    consumer_connector_dispatches.router,
    prefix="/consumer-connector-dispatches",
    tags=["consumer-connector-dispatches"],
)
api_router.include_router(widget_definitions.router, prefix="/widget-definitions", tags=["widget-definitions"])
api_router.include_router(widget_instances.router, prefix="/widget-instances", tags=["widget-instances"])
api_router.include_router(notify_dispatches.router, prefix="/notify-dispatches", tags=["notify-dispatches"])
api_router.include_router(
    analytics_report_definitions.router,
    prefix="/analytics-report-definitions",
    tags=["analytics-report-definitions"],
)
api_router.include_router(
    analytics_snapshots.router,
    prefix="/analytics-snapshots",
    tags=["analytics-snapshots"],
)
api_router.include_router(
    ai_content_hook_registrations.router,
    prefix="/ai-content-hook-registrations",
    tags=["ai-content-hook-registrations"],
)
api_router.include_router(
    ai_content_dispatches.router,
    prefix="/ai-content-dispatches",
    tags=["ai-content-dispatches"],
)
