from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import (
    DonorFundViewSet,
    DonorProjectViewSet,
    DonorFundAllocationViewSet,
    DonorFundTrancheViewSet,
    DonorFundReportViewSet,
    DonorFundDocumentViewSet,
    DonorCommentViewSet,
    DonorDeliverableViewSet,
    DonorMilestoneViewSet,
    DonorIndicatorViewSet,
    DonorRiskViewSet,
    DonorMeetingViewSet,
    DonorSummaryViewSet,
    DonorFinanceSummaryViewSet,
    DonorTeamViewSet,
)

# Read-only donor-portal surface — everything under here is scoped to the
# requesting donor account (IsDonor permission), never staff-facing.
donor_router = DefaultRouter()
donor_router.register(r"funds", DonorFundViewSet, basename="donor-fund")
donor_router.register(r"projects", DonorProjectViewSet, basename="donor-project")
donor_router.register(r"fund-allocations", DonorFundAllocationViewSet, basename="donor-fund-allocation")
donor_router.register(r"fund-tranches", DonorFundTrancheViewSet, basename="donor-fund-tranche")
donor_router.register(r"fund-reports", DonorFundReportViewSet, basename="donor-fund-report")
donor_router.register(r"fund-documents", DonorFundDocumentViewSet, basename="donor-fund-document")
donor_router.register(r"comments", DonorCommentViewSet, basename="donor-comment")
donor_router.register(r"deliverables", DonorDeliverableViewSet, basename="donor-deliverable")
donor_router.register(r"milestones", DonorMilestoneViewSet, basename="donor-milestone")
donor_router.register(r"indicators", DonorIndicatorViewSet, basename="donor-indicator")
donor_router.register(r"risks", DonorRiskViewSet, basename="donor-risk")
donor_router.register(r"meetings", DonorMeetingViewSet, basename="donor-meeting")
donor_router.register(r"summary", DonorSummaryViewSet, basename="donor-summary")
donor_router.register(r"finance-summary", DonorFinanceSummaryViewSet, basename="donor-finance-summary")
donor_router.register(r"team", DonorTeamViewSet, basename="donor-team")

urlpatterns = [
    path("", include(donor_router.urls)),
]
