34 lines
1.4 KiB
Python
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'),
|
|
]
|
|
|