Coverage for src/products/urls.py: 100%
8 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-08-04 12:59 +0300
« prev ^ index » next coverage.py v7.9.2, created at 2025-08-04 12:59 +0300
1from django.urls import path, include
2from rest_framework.routers import DefaultRouter
4from src.products.views.product import (
5 CollectionRetrieveView,
6 ColorRetrieveView,
7 MetalRetrieveView,
8 StoneRetrieveView,
9)
10from src.products.views.product import (
11 EarwearItemView,
12 EarwearListView,
13 FingerwearItemView,
14 FingerwearListView,
15 NeckwearItemView,
16 NeckwearListView,
17 WristwearItemView,
18 WristwearListView,
19 ProductAllReviewsView,
20)
21from src.products.views.review import ReviewViewSet
23router = DefaultRouter()
24router.register(r'reviews', ReviewViewSet, basename='review')
27urlpatterns = [
28 path('', include(router.urls)),
29 path(
30 'earwears/',
31 include(
32 [
33 path('', EarwearListView.as_view(), name='earwear-list'),
34 path(
35 '<int:pk>/', EarwearItemView.as_view(), name='earwear-item'
36 ),
37 ]
38 ),
39 ),
40 path(
41 'fingerwears/',
42 include(
43 [
44 path('', FingerwearListView.as_view(), name='fingerwear-list'),
45 path(
46 '<int:pk>/',
47 FingerwearItemView.as_view(),
48 name='fingerwear-item',
49 ),
50 ]
51 ),
52 ),
53 path(
54 'neckwears/',
55 include(
56 [
57 path('', NeckwearListView.as_view(), name='neckwear-list'),
58 path(
59 '<int:pk>/',
60 NeckwearItemView.as_view(),
61 name='neckwear-item',
62 ),
63 ]
64 ),
65 ),
66 path(
67 'wristwears/',
68 include(
69 [
70 path('', WristwearListView.as_view(), name='wristwear-list'),
71 path(
72 '<int:pk>/',
73 WristwearItemView.as_view(),
74 name='wristwear-item',
75 ),
76 ]
77 ),
78 ),
79 # Synchronous attribute views (existing)
80 path('stones/', StoneRetrieveView.as_view(), name='stone-retrieve'),
81 path('colors/', ColorRetrieveView.as_view(), name='color-retrieve'),
82 path(
83 'collections/',
84 CollectionRetrieveView.as_view(),
85 name='collection-retrieve',
86 ),
87 path('metals/', MetalRetrieveView.as_view(), name='metal-retrieve'),
88 path(
89 '<str:category>/<int:pk>/all-reviews/',
90 ProductAllReviewsView.as_view(),
91 name='product-all-reviews',
92 ),
93]