Coverage for api\urls.py: 100%
8 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
1"""
2Configuration des URLs de l'API des Jeux Olympiques.
4Ce module définit toutes les routes de l'API REST pour la gestion des entités
5des Jeux Olympiques : lieux, disciplines, épreuves, événements et offres.
7Patterns d'URL disponibles :
8- /lieu/ : CRUD pour les lieux sportifs
9- /discipline/ : CRUD pour les disciplines sportives avec recherche
10- /epreuve/ : CRUD pour les épreuves
11- /evenement/ : CRUD pour les événements + récupération par épreuve
12- /offre/ : CRUD pour les offres commerciales
13"""
15from django.urls import path
16from api.views.lieu import *
17from api.views.discipline import *
18from api.views.epreuve import *
19from api.views.evenement import *
20from api.views.offre import *
21from api.views.ticket import *
23urlpatterns = [
24 # LIEU - Gestion des lieux sportifs
25 path('lieu/', LieuListView.as_view(), name='lieu-list'),
26 path('lieu/<int:pk>/', LieuDetailView.as_view(), name='lieu-detail'),
27 path('lieu/create/', LieuCreateView.as_view(), name='lieu-create'),
28 path('lieu/update/<int:pk>/', LieuUpdateView.as_view(), name='lieu-update'),
29 path('lieu/delete/<int:pk>/', LieuDeleteView.as_view(), name='lieu-delete'),
31 # DISCIPLINE - Gestion des disciplines sportives
32 path('discipline/', DisciplineListView.as_view(), name='discipline-list'),
33 path('discipline/<int:pk>/', DisciplineDetailView.as_view(), name='discipline-detail'),
34 path('discipline/create/', DisciplineCreateView.as_view(), name='discipline-create'),
35 path('discipline/update/<int:pk>/', DisciplineUpdateView.as_view(), name='discipline-update'),
36 path('discipline/delete/<int:pk>/', DisciplineDeleteView.as_view(), name='discipline-delete'),
38 # EPREUVE - Gestion des épreuves
39 path('epreuve/', EpreuveListView.as_view(), name='epreuve-list'),
40 path('epreuve/<int:pk>/', EpreuveDetailView.as_view(), name='epreuve-detail'),
41 path('epreuve/create/', EpreuveCreateView.as_view(), name='epreuve-create'),
42 path('epreuve/update/<int:pk>/', EpreuveUpdateView.as_view(), name='epreuve-update'),
43 path('epreuve/delete/<int:pk>/', EpreuveDeleteView.as_view(), name='epreuve-delete'),
45 # EVENEMENT - Gestion des événements
46 path('evenement/', EvenementListView.as_view(), name='evenement-list'),
47 path('evenement/<int:pk>/', EvenementDetailView.as_view(), name='evenement-detail'),
48 path('evenement/by-epreuve/<int:pk>/', EvenementByEpreuveView.as_view(), name='evenement-by-epreuve'),
49 path('evenement/create/', EvenementCreateView.as_view(), name='evenement-create'),
50 path('evenement/update/<int:pk>/', EvenementUpdateView.as_view(), name='evenement-update'),
51 path('evenement/delete/<int:pk>/', EvenementDeleteView.as_view(), name='evenement-delete'),
53 # OFFRE - Gestion des offres commerciales
54 path('offre/', OffreListView.as_view(), name='offre-list'),
55 path('offre/<int:pk>/', OffreDetailView.as_view(), name='offre-detail'),
56 path('offre/create/', OffreCreateView.as_view(), name='offre-create'),
57 path('offre/update/<int:pk>/', OffreUpdateView.as_view(), name='offre-update'),
58 path('offre/delete/<int:pk>/', OffreDeleteView.as_view(), name='offre-delete'),
60 path('ticket-client/', TicketClientListView.as_view(), name='ticket-client-list'),
61 path('ticket/', TicketListView.as_view(), name='ticket-list'),
62 path('ticket-client/<int:pk>/', TicketClientDetailView.as_view(), name='ticket-client-detail'),
63 path('ticket/<int:pk>/', TicketDetailView.as_view(), name='ticket-detail'),
64 path('ticket/create/', TicketBatchCreateView.as_view(), name='tickets-create'),
65]