agdar/AgdarCentre/api_urls.py
Marwan Alwali 2f1681b18c update
2025-11-11 13:44:48 +03:00

96 lines
3.4 KiB
Python

"""
API URL Configuration for Tenhal Healthcare Platform.
This module sets up the DRF router and registers all API viewsets.
"""
from rest_framework.routers import DefaultRouter
from django.urls import path, include
# Core
from core.api_views import (
PatientViewSet, ClinicViewSet, FileViewSet,
SubFileViewSet, ConsentViewSet, AttachmentViewSet, AuditLogViewSet
)
# Appointments
from appointments.api_views import (
AppointmentViewSet, ProviderViewSet, RoomViewSet, ScheduleViewSet
)
# Finance
from finance.api_views import (
InvoiceViewSet, PaymentViewSet, ServiceViewSet,
PackageViewSet, PackagePurchaseViewSet, PayerViewSet
)
# Referrals
from referrals.api_views import ReferralViewSet
# Psychology
from psychology.api_views import (
PsychologyConsultationViewSet,
PsychologyAssessmentViewSet,
PsychologySessionViewSet,
PsychologyGoalViewSet,
PsychologyProgressReportViewSet,
)
# MDT
from mdt.api_views import (
MDTNoteViewSet,
MDTContributionViewSet,
MDTApprovalViewSet,
MDTMentionViewSet,
MDTAttachmentViewSet,
)
# Create router
router = DefaultRouter()
# Core endpoints
router.register(r'patients', PatientViewSet, basename='patient')
router.register(r'clinics', ClinicViewSet, basename='clinic')
router.register(r'files', FileViewSet, basename='file')
router.register(r'subfiles', SubFileViewSet, basename='subfile')
router.register(r'consents', ConsentViewSet, basename='consent')
router.register(r'attachments', AttachmentViewSet, basename='attachment')
router.register(r'audit-logs', AuditLogViewSet, basename='auditlog')
# Appointments endpoints
router.register(r'appointments', AppointmentViewSet, basename='appointment')
router.register(r'providers', ProviderViewSet, basename='provider')
router.register(r'rooms', RoomViewSet, basename='room')
router.register(r'schedules', ScheduleViewSet, basename='schedule')
# Finance endpoints
router.register(r'invoices', InvoiceViewSet, basename='invoice')
router.register(r'payments', PaymentViewSet, basename='payment')
router.register(r'services', ServiceViewSet, basename='service')
router.register(r'packages', PackageViewSet, basename='package')
router.register(r'package-purchases', PackagePurchaseViewSet, basename='packagepurchase')
router.register(r'payers', PayerViewSet, basename='payer')
# Referrals endpoints
router.register(r'referrals', ReferralViewSet, basename='referral')
# Psychology endpoints
router.register(r'psychology/consultations', PsychologyConsultationViewSet, basename='psychology-consultation')
router.register(r'psychology/assessments', PsychologyAssessmentViewSet, basename='psychology-assessment')
router.register(r'psychology/sessions', PsychologySessionViewSet, basename='psychology-session')
router.register(r'psychology/goals', PsychologyGoalViewSet, basename='psychology-goal')
router.register(r'psychology/progress-reports', PsychologyProgressReportViewSet, basename='psychology-progress-report')
# MDT endpoints
router.register(r'mdt/notes', MDTNoteViewSet, basename='mdt-note')
router.register(r'mdt/contributions', MDTContributionViewSet, basename='mdt-contribution')
router.register(r'mdt/approvals', MDTApprovalViewSet, basename='mdt-approval')
router.register(r'mdt/mentions', MDTMentionViewSet, basename='mdt-mention')
router.register(r'mdt/attachments', MDTAttachmentViewSet, basename='mdt-attachment')
urlpatterns = [
path('', include(router.urls)),
path('auth/', include('rest_framework.urls', namespace='rest_framework')),
]