from django.contrib import admin from django.urls import path, include from django.conf import settings from django.conf.urls.static import static from rest_framework.routers import DefaultRouter from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView from clubs.views import ClubViewSet from wrestlers.views import WrestlerViewSet from trainers.views import TrainerViewSet from locations.views import LocationViewSet from exercises.views import ExerciseViewSet from templates.views import TrainingTemplateViewSet, TemplateExerciseViewSet from trainings.views import TrainingViewSet, AttendanceViewSet, TrainingExerciseViewSet from homework.views import HomeworkViewSet, HomeworkExerciseItemViewSet, HomeworkAssignmentViewSet, HomeworkStatusViewSet, TrainingHomeworkAssignmentViewSet from auth_app.views import UserManagementViewSet, login, register, refresh_token, me, user_preferences from stats.views import dashboard_stats from leistungstest.views import LeistungstestStatsViewSet router = DefaultRouter() router.register(r'clubs', ClubViewSet, basename='club') router.register(r'wrestlers', WrestlerViewSet, basename='wrestler') router.register(r'trainers', TrainerViewSet, basename='trainer') router.register(r'locations', LocationViewSet, basename='location') router.register(r'exercises', ExerciseViewSet, basename='exercise') router.register(r'templates', TrainingTemplateViewSet, basename='template') router.register(r'template-exercises', TemplateExerciseViewSet, basename='template-exercise') router.register(r'trainings', TrainingViewSet, basename='training') router.register(r'attendances', AttendanceViewSet, basename='attendance') router.register(r'training-exercises', TrainingExerciseViewSet, basename='training-exercise') router.register(r'homework', HomeworkViewSet, basename='homework') router.register(r'homework-exercise-items', HomeworkExerciseItemViewSet, basename='homework-exercise-item') router.register(r'homework-assignments', HomeworkAssignmentViewSet, basename='homework-assignment') router.register(r'homework-status', HomeworkStatusViewSet, basename='homework-status') router.register(r'training-assignments', TrainingHomeworkAssignmentViewSet, basename='training-assignment') router.register(r'leistungstest-stats', LeistungstestStatsViewSet, basename='leistungstest-stats') router.register(r'auth/users', UserManagementViewSet, basename='usermanagement') urlpatterns = [ path('admin/', admin.site.urls), path('api/v1/', include(router.urls)), path('api/v1/auth/login/', login, name='login'), path('api/v1/auth/register/', register, name='register'), path('api/v1/auth/refresh/', refresh_token, name='refresh_token'), path('api/v1/auth/me/', me, name='me'), path('api/v1/auth/preferences/', user_preferences, name='user_preferences'), path('api/v1/stats/dashboard/', dashboard_stats, name='dashboard-stats'), path('api/v1/training-log/', include('training_log.urls')), path('api/v1/leistungstest/', include('leistungstest.urls')), path('api/schema/', SpectacularAPIView.as_view(), name='schema'), path('api/docs/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'), ] if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)