"""
Strategy API v1 — URLs.
"""
from django.urls import path, include
from rest_framework.routers import DefaultRouter

from .views import (
    VisionViewSet, StrategicThemeViewSet,
    ObjectiveViewSet, KeyResultViewSet, CheckInViewSet,
    KPIDefinitionViewSet, KPITargetViewSet, KPIActualViewSet, KPIAssignmentViewSet,
    StrategyMapViewSet, MapPerspectiveViewSet,
    MapObjectiveViewSet, CausalLinkViewSet,
    ScorecardViewSet, ScPerspectiveViewSet, ScMeasureViewSet,
    GateProcessViewSet, GateViewSet, GateReviewViewSet,
    GateReviewerViewSet, GateDeliverableViewSet,
    PolicyViewSet, PolicyAcknowledgmentViewSet,
    ObjectiveAlignmentViewSet,
)

app_name = "strategy"

router = DefaultRouter()
router.register(r"visions", VisionViewSet, basename="vision")
router.register(r"strategic-themes", StrategicThemeViewSet, basename="strategic-theme")
router.register(r"objectives", ObjectiveViewSet, basename="objective")
router.register(r"key-results", KeyResultViewSet, basename="key-result")
router.register(r"check-ins", CheckInViewSet, basename="check-in")
router.register(r"kpi-definitions", KPIDefinitionViewSet, basename="kpi-definition")
router.register(r"kpi-targets", KPITargetViewSet, basename="kpi-target")
router.register(r"kpi-actuals", KPIActualViewSet, basename="kpi-actual")
router.register(r"kpi-assignments", KPIAssignmentViewSet, basename="kpi-assignment")
router.register(r"strategy-maps", StrategyMapViewSet, basename="strategy-map")
router.register(r"map-perspectives", MapPerspectiveViewSet, basename="map-perspective")
router.register(r"map-objectives", MapObjectiveViewSet, basename="map-objective")
router.register(r"causal-links", CausalLinkViewSet, basename="causal-link")
router.register(r"scorecards", ScorecardViewSet, basename="scorecard")
router.register(r"sc-perspectives", ScPerspectiveViewSet, basename="sc-perspective")
router.register(r"sc-measures", ScMeasureViewSet, basename="sc-measure")
router.register(r"gate-processes", GateProcessViewSet, basename="gate-process")
router.register(r"gates", GateViewSet, basename="gate")
router.register(r"gate-reviews", GateReviewViewSet, basename="gate-review")
router.register(r"gate-reviewers", GateReviewerViewSet, basename="gate-reviewer")
router.register(r"gate-deliverables", GateDeliverableViewSet, basename="gate-deliverable")
router.register(r"policies", PolicyViewSet, basename="policy")
router.register(r"policy-acknowledgments", PolicyAcknowledgmentViewSet, basename="policy-acknowledgment")
# --- Cross-Module Alignment ---
router.register(r"alignments", ObjectiveAlignmentViewSet, basename="alignment")

urlpatterns = [
    path("", include(router.urls)),
]
