Coverage for src/products/urls.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-09-21 16:24 +0300

1from django.urls import path, include 

2from rest_framework.routers import DefaultRouter 

3 

4from src.products.views.product import ( 

5 BraceletItemView, 

6 BraceletListView, 

7 CollectionRetrieveView, 

8 ColorRetrieveView, 

9 EarringItemView, 

10 EarringListView, 

11 MetalRetrieveView, 

12 NecklaceItemView, 

13 NecklaceListView, 

14 PendantItemView, 

15 PendantListView, 

16 RingItemView, 

17 RingListView, 

18 StoneRetrieveView, 

19 WatchItemView, 

20 WatchListView, 

21 catalog_page, 

22 download_catalog, 

23 generate_catalog, 

24) 

25from src.products.views.product import ( 

26 

27 ProductAllReviewsView, 

28) 

29from src.products.views.review import ReviewViewSet 

30 

31router = DefaultRouter() 

32router.register(r'reviews', ReviewViewSet, basename='review') 

33 

34 

35urlpatterns = [ 

36 path('', include(router.urls)), 

37 path( 

38 'earrings/', 

39 include( 

40 [ 

41 path('', EarringListView.as_view(), 

42 name='earrings-list'), 

43 path( 

44 '<int:pk>/', EarringItemView.as_view(), name='earrings-item' 

45 ), 

46 ] 

47 ), 

48 ), 

49 path( 

50 'necklaces/', 

51 include( 

52 [ 

53 path('', NecklaceListView.as_view(), 

54 name='necklaces-list'), 

55 path( 

56 '<int:pk>/', NecklaceItemView.as_view(), name='necklaces-item' 

57 ), 

58 ] 

59 ), 

60 ), 

61 path( 

62 'pendants/', 

63 include( 

64 [ 

65 path('', PendantListView.as_view(), 

66 name='pendants-list'), 

67 path( 

68 '<int:pk>/', PendantItemView.as_view(), name='pendants-item' 

69 ), 

70 ] 

71 ), 

72 ), 

73 path( 

74 'bracelets/', 

75 include( 

76 [ 

77 path('', BraceletListView.as_view(), name='bracelet-list'), 

78 path( 

79 '<int:pk>/', 

80 BraceletItemView.as_view(), 

81 name='bracelet-item', 

82 ), 

83 ] 

84 ), 

85 ), 

86 path( 

87 'watches/', 

88 include( 

89 [ 

90 path('', WatchListView.as_view(), name='watch-list'), 

91 path( 

92 '<int:pk>/', 

93 WatchItemView.as_view(), 

94 name='watch-item', 

95 ), 

96 ] 

97 ), 

98 ), 

99 path( 

100 'rings/', 

101 include( 

102 [ 

103 path('', RingListView.as_view(), name='ring-list'), 

104 path( 

105 '<int:pk>/', 

106 RingItemView.as_view(), 

107 name='ring-item', 

108 ), 

109 ] 

110 ), 

111 ), 

112 path('stones/', StoneRetrieveView.as_view(), name='stone-retrieve'), 

113 path('colors/', ColorRetrieveView.as_view(), name='color-retrieve'), 

114 path( 

115 'collections/', 

116 CollectionRetrieveView.as_view(), 

117 name='collection-retrieve', 

118 ), 

119 path('metals/', MetalRetrieveView.as_view(), name='metal-retrieve'), 

120 path( 

121 '<str:category>/<int:pk>/all-reviews/', 

122 ProductAllReviewsView.as_view(), 

123 name='product-all-reviews', 

124 ), 

125 path('catalog/', catalog_page, name='catalog_page'), 

126 path('catalog/generate/', generate_catalog, name='generate_catalog'), 

127 path('download-catalog/', download_catalog, name='download_catalog'), 

128]