from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import (
    RegisteredMemberViewSet, AttendanceRecordViewSet,
    ScannerAssignmentViewSet, MyAssignmentsView,
    ScanBarcodeView, UploadCSVView, DashboardStatsView, UndoAttendanceView,
    PublicMemberLookupView, ImportFromEMSView, EMSConfigView,
    PublicActiveCheckInEventView, PublicSelfCheckInView,
)

router = DefaultRouter()
router.register(r'members', RegisteredMemberViewSet, basename='registered-member')
router.register(r'records', AttendanceRecordViewSet, basename='attendance-record')
router.register(r'assignments', ScannerAssignmentViewSet, basename='scanner-assignment')

urlpatterns = [
    path('', include(router.urls)),
    path('my-assignments/', MyAssignmentsView.as_view(), name='my-assignments'),
    path('scan/', ScanBarcodeView.as_view(), name='attendance-scan'),
    path('undo/<int:record_id>/', UndoAttendanceView.as_view(), name='attendance-undo'),
    path('upload-csv/', UploadCSVView.as_view(), name='upload-csv'),
    path('dashboard/', DashboardStatsView.as_view(), name='attendance-dashboard'),
    path('member-lookup/', PublicMemberLookupView.as_view(), name='member-lookup'),
    path('import-from-ems/', ImportFromEMSView.as_view(), name='import-from-ems'),
    path('ems-config/', EMSConfigView.as_view(), name='ems-config'),
    path('public/checkin-events/', PublicActiveCheckInEventView.as_view(), name='public-checkin-events'),
    path('public/self-checkin/', PublicSelfCheckInView.as_view(), name='public-self-checkin'),
]
