from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import (
    ProjectViewSet, ProjectDocumentViewSet, ProjectTeamMemberViewSet,
    ProjectFundViewSet, ProjectFundAllocationViewSet, ProjectFundAllocationRevisionViewSet,
    ProjectSettingsViewSet,
    FundingOpportunityViewSet, FundingProposalViewSet, FundReportViewSet,
    ProjectFundTrancheViewSet, ProjectFundComplianceViewSet, FundDocumentViewSet,
    CashAdvanceViewSet, PaymentRequestFormViewSet,
    DeliverableViewSet, ProjectIndicatorViewSet, IndicatorRecordViewSet, ProjectRiskViewSet,
)

router = DefaultRouter()
router.register(r"projects", ProjectViewSet, basename="project")
router.register(r"project-documents", ProjectDocumentViewSet, basename="project-document")
router.register(r"project-team-members", ProjectTeamMemberViewSet, basename="project-team-member")
router.register(r"project-funds", ProjectFundViewSet, basename="project-fund")
router.register(r"project-fund-allocations", ProjectFundAllocationViewSet, basename="project-fund-allocation")
router.register(r"project-fund-allocation-revisions", ProjectFundAllocationRevisionViewSet, basename="project-fund-allocation-revision")
router.register(r"funding-opportunities", FundingOpportunityViewSet, basename="funding-opportunity")
router.register(r"funding-proposals", FundingProposalViewSet, basename="funding-proposal")
router.register(r"fund-reports", FundReportViewSet, basename="fund-report")
router.register(r"deliverables", DeliverableViewSet, basename="deliverable")
router.register(r"project-indicators", ProjectIndicatorViewSet, basename="project-indicator")
router.register(r"indicator-records", IndicatorRecordViewSet, basename="indicator-record")
router.register(r"project-risks", ProjectRiskViewSet, basename="project-risk")
router.register(r"project-fund-tranches", ProjectFundTrancheViewSet, basename="project-fund-tranche")
router.register(r"project-fund-compliance", ProjectFundComplianceViewSet, basename="project-fund-compliance")
router.register(r"fund-documents", FundDocumentViewSet, basename="fund-document")
router.register(r"project-settings", ProjectSettingsViewSet, basename="project-settings")
router.register(r"cash-advances", CashAdvanceViewSet, basename="cash-advance")
router.register(r"payment-request-forms", PaymentRequestFormViewSet, basename="payment-request-form")

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