Coverage for api\urls.py: 100%

8 statements  

« 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. 

3 

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. 

6 

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""" 

14 

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 * 

22 

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'), 

30 

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'), 

37 

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'), 

44 

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'), 

52 

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'), 

59 

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]