Files
2025-10-22 20:14:31 +08:00

34 lines
1.4 KiB
Python

"""
API URL configuration.
"""
from django.urls import path
from . import views, auth_views, exam_history_views
urlpatterns = [
# Health
path('health/', views.health_check, name='health_check'),
# Authentication
path('auth/register/', auth_views.register, name='register'),
path('auth/login/', auth_views.user_login, name='login'),
path('auth/logout/', auth_views.user_logout, name='logout'),
path('auth/me/', auth_views.current_user, name='current_user'),
# Exams
path('exams/', views.list_exams, name='list_exams'),
path('exams/<str:exam_id>/', views.get_exam, name='get_exam'),
path('exams/<str:exam_id>/attempt/', views.start_or_resume_attempt, name='start_or_resume_attempt'),
path('exams/<str:exam_id>/reset/', exam_history_views.reset_exam, name='reset_exam'),
# Attempts
path('attempts/<str:attempt_id>/', views.get_attempt, name='get_attempt'),
path('attempts/<str:attempt_id>/autosave/', views.autosave_attempt, name='autosave_attempt'),
path('attempts/<str:attempt_id>/submit/', views.submit_attempt, name='submit_attempt'),
path('attempts/<str:attempt_id>/result/', exam_history_views.get_attempt_result, name='get_attempt_result'),
# Progress & History
path('progress/me/', views.get_progress, name='get_progress'),
path('history/me/', exam_history_views.exam_history, name='exam_history'),
]