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
« 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
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 (
27 ProductAllReviewsView,
28)
29from src.products.views.review import ReviewViewSet
31router = DefaultRouter()
32router.register(r'reviews', ReviewViewSet, basename='review')
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]