from django.urls import path

from .views import (
    AgentListCreateAPIView,
    AgentDetailAPIView,
    AdminAgentInvestmentLinksAPIView,
    AdminAgentInvestmentShareAPIView,
    AdminAgentPayoutListCreateAPIView,
    AdminAgentPayoutProcessAPIView,
    AdminAgentPayoutRejectAPIView,
    AgentPortalDashboardAPIView,
    AgentPortalProfileAPIView,
    AgentPortalInvestorListCreateAPIView,
    AgentPortalInvestorDetailAPIView,
    AgentPortalInvestmentListCreateAPIView,
    AgentPortalInvestmentDetailAPIView,
    AgentPortalAvailableBusinessesAPIView,
    AgentPortalAvailableSchemesAPIView,
    AgentPortalBusinessPerformanceAPIView,
    AgentPortalLedgerAPIView,
    AgentPortalPayoutListCreateAPIView,
)

urlpatterns = [
    path("agents/", AgentListCreateAPIView.as_view(), name="agent-list-create"),
    path("agents/<int:pk>/", AgentDetailAPIView.as_view(), name="agent-detail"),
    path("admin/investments/", AdminAgentInvestmentLinksAPIView.as_view(), name="admin-agent-investment-links"),
    path("admin/investments/<int:investment_id>/profit-share/", AdminAgentInvestmentShareAPIView.as_view(), name="admin-agent-investment-share"),
    path("admin/agents/<int:agent_id>/payouts/", AdminAgentPayoutListCreateAPIView.as_view(), name="admin-agent-payouts"),
    path("admin/agents/<int:agent_id>/payouts/<int:payout_id>/process/", AdminAgentPayoutProcessAPIView.as_view(), name="admin-agent-payout-process"),
    path("admin/agents/<int:agent_id>/payouts/<int:payout_id>/reject/", AdminAgentPayoutRejectAPIView.as_view(), name="admin-agent-payout-reject"),

    path("agent-portal/dashboard/", AgentPortalDashboardAPIView.as_view(), name="agent-portal-dashboard"),
    path("agent-portal/profile/", AgentPortalProfileAPIView.as_view(), name="agent-portal-profile"),
    path("agent-portal/investors/", AgentPortalInvestorListCreateAPIView.as_view(), name="agent-portal-investors"),
    path("agent-portal/investors/<int:pk>/", AgentPortalInvestorDetailAPIView.as_view(), name="agent-portal-investor-detail"),
    path("agent-portal/investments/", AgentPortalInvestmentListCreateAPIView.as_view(), name="agent-portal-investments"),
    path("agent-portal/investments/<int:pk>/", AgentPortalInvestmentDetailAPIView.as_view(), name="agent-portal-investment-detail"),
    path("agent-portal/businesses/", AgentPortalAvailableBusinessesAPIView.as_view(), name="agent-portal-businesses"),
    path("agent-portal/schemes/", AgentPortalAvailableSchemesAPIView.as_view(), name="agent-portal-schemes"),
    path("agent-portal/business-performance/", AgentPortalBusinessPerformanceAPIView.as_view(), name="agent-portal-business-performance"),
    path("agent-portal/ledger/", AgentPortalLedgerAPIView.as_view(), name="agent-portal-ledger"),
    path("agent-portal/payouts/", AgentPortalPayoutListCreateAPIView.as_view(), name="agent-portal-payouts"),
]
