ob-dj-store 0.0.20.2__py3-none-any.whl → 0.0.20.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. ob_dj_store/apis/stores/filters.py +5 -19
  2. ob_dj_store/apis/stores/rest/serializers/serializers.py +7 -16
  3. ob_dj_store/apis/stores/views.py +74 -226
  4. ob_dj_store/apis/tap/views.py +2 -6
  5. ob_dj_store/core/stores/admin.py +3 -20
  6. ob_dj_store/core/stores/admin_inlines.py +1 -7
  7. ob_dj_store/core/stores/gateway/tap/admin.py +1 -3
  8. ob_dj_store/core/stores/gateway/tap/managers.py +1 -6
  9. ob_dj_store/core/stores/gateway/tap/migrations/0001_initial.py +1 -3
  10. ob_dj_store/core/stores/gateway/tap/models.py +3 -12
  11. ob_dj_store/core/stores/gateway/tap/utils.py +2 -7
  12. ob_dj_store/core/stores/managers.py +1 -3
  13. ob_dj_store/core/stores/migrations/0001_initial.py +1 -4
  14. ob_dj_store/core/stores/migrations/0005_auto_20220425_2119.py +2 -5
  15. ob_dj_store/core/stores/migrations/0005_auto_20220427_1729.py +1 -2
  16. ob_dj_store/core/stores/migrations/0006_auto_20220428_0100.py +2 -8
  17. ob_dj_store/core/stores/migrations/0007_cart_cartitem_order_orderitem.py +2 -8
  18. ob_dj_store/core/stores/migrations/0010_auto_20220509_1633.py +1 -4
  19. ob_dj_store/core/stores/migrations/0012_auto_20220514_0633.py +1 -4
  20. ob_dj_store/core/stores/migrations/0013_auto_20220518_1539.py +1 -4
  21. ob_dj_store/core/stores/migrations/0014_auto_20220519_0018.py +3 -12
  22. ob_dj_store/core/stores/migrations/0017_auto_20220524_0912.py +3 -10
  23. ob_dj_store/core/stores/migrations/0018_auto_20220524_1613.py +1 -3
  24. ob_dj_store/core/stores/migrations/0021_auto_20220531_1849.py +1 -4
  25. ob_dj_store/core/stores/migrations/0026_auto_20220630_1913.py +8 -32
  26. ob_dj_store/core/stores/migrations/0031_auto_20220811_1733.py +1 -4
  27. ob_dj_store/core/stores/migrations/0033_auto_20220815_0133.py +2 -8
  28. ob_dj_store/core/stores/migrations/0039_auto_20220831_1521.py +1 -4
  29. ob_dj_store/core/stores/migrations/0044_remove_productvariant_has_inventory.py +1 -4
  30. ob_dj_store/core/stores/migrations/0049_auto_20221029_1524.py +2 -8
  31. ob_dj_store/core/stores/migrations/0050_favoriteextra.py +1 -3
  32. ob_dj_store/core/stores/migrations/0052_auto_20221129_1732.py +2 -8
  33. ob_dj_store/core/stores/migrations/0059_auto_20230217_2006.py +2 -8
  34. ob_dj_store/core/stores/migrations/0062_auto_20230226_2005.py +2 -6
  35. ob_dj_store/core/stores/migrations/0064_auto_20230228_1814.py +1 -2
  36. ob_dj_store/core/stores/migrations/0066_auto_20230304_1532.py +2 -8
  37. ob_dj_store/core/stores/migrations/0070_auto_20230323_1628.py +1 -4
  38. ob_dj_store/core/stores/migrations/0071_auto_20230328_1825.py +2 -5
  39. ob_dj_store/core/stores/migrations/0082_auto_20230613_1424.py +1 -4
  40. ob_dj_store/core/stores/migrations/0084_payment_result.py +1 -3
  41. ob_dj_store/core/stores/migrations/0087_auto_20230828_2138.py +1 -4
  42. ob_dj_store/core/stores/migrations/0097_auto_20231108_1939.py +1 -4
  43. ob_dj_store/core/stores/migrations/0100_remove_shippingmethod_type_arabic.py +1 -4
  44. ob_dj_store/core/stores/migrations/0106_alter_paymentmethod_payment_provider.py +35 -0
  45. ob_dj_store/core/stores/models/_address.py +1 -3
  46. ob_dj_store/core/stores/models/_cart.py +1 -3
  47. ob_dj_store/core/stores/models/_feedback.py +1 -3
  48. ob_dj_store/core/stores/models/_inventory.py +1 -2
  49. ob_dj_store/core/stores/models/_order.py +5 -19
  50. ob_dj_store/core/stores/models/_payment.py +3 -12
  51. ob_dj_store/core/stores/models/_product.py +4 -16
  52. ob_dj_store/core/stores/models/_store.py +3 -11
  53. ob_dj_store/core/stores/models/_wallet.py +7 -23
  54. ob_dj_store/core/stores/receivers.py +7 -20
  55. ob_dj_store/core/stores/utils.py +1 -2
  56. {ob_dj_store-0.0.20.2.dist-info → ob_dj_store-0.0.20.3.dist-info}/METADATA +1 -1
  57. {ob_dj_store-0.0.20.2.dist-info → ob_dj_store-0.0.20.3.dist-info}/RECORD +59 -58
  58. {ob_dj_store-0.0.20.2.dist-info → ob_dj_store-0.0.20.3.dist-info}/WHEEL +1 -1
  59. {ob_dj_store-0.0.20.2.dist-info → ob_dj_store-0.0.20.3.dist-info}/top_level.txt +0 -0
@@ -139,10 +139,7 @@ class StoreView(
139
139
  queryset = (
140
140
  queryset.filter(
141
141
  orders__customer=self.request.user,
142
- orders__status__in=[
143
- "PAID",
144
- "DELIVERED",
145
- ],
142
+ orders__status__in=["PAID", "DELIVERED",],
146
143
  )
147
144
  .annotate(latest_order_date=Max("orders__created_at"))
148
145
  .prefetch_related(
@@ -163,9 +160,7 @@ class StoreView(
163
160
  operation_description="""
164
161
  List Stores
165
162
  """,
166
- tags=[
167
- "Store",
168
- ],
163
+ tags=["Store",],
169
164
  )
170
165
  def list(self, request, *args, **kwargs):
171
166
  return super().list(request, *args, **kwargs)
@@ -175,9 +170,7 @@ class StoreView(
175
170
  operation_description="""
176
171
  List Stores
177
172
  """,
178
- tags=[
179
- "Store",
180
- ],
173
+ tags=["Store",],
181
174
  )
182
175
  def retrieve(self, request, *args, **kwargs):
183
176
  return super().retrieve(request, *args, **kwargs)
@@ -187,9 +180,7 @@ class StoreView(
187
180
  operation_description="""
188
181
  Retrieve user favorite stores
189
182
  """,
190
- tags=[
191
- "Store",
192
- ],
183
+ tags=["Store",],
193
184
  )
194
185
  @action(
195
186
  detail=False,
@@ -208,9 +199,7 @@ class StoreView(
208
199
  operation_description="""
209
200
  Stores that the user has recently ordered from
210
201
  """,
211
- tags=[
212
- "Store",
213
- ],
202
+ tags=["Store",],
214
203
  )
215
204
  @action(
216
205
  detail=False,
@@ -229,14 +218,10 @@ class StoreView(
229
218
  operation_description="""
230
219
  Retrieve count of store's products
231
220
  """,
232
- tags=[
233
- "Store",
234
- ],
221
+ tags=["Store",],
235
222
  )
236
223
  @action(
237
- detail=True,
238
- methods=["GET"],
239
- url_path="menu-count",
224
+ detail=True, methods=["GET"], url_path="menu-count",
240
225
  )
241
226
  def menu_count(self, request, *args, **kwargs):
242
227
  store = self.get_object()
@@ -268,14 +253,10 @@ class StoreView(
268
253
  operation_description="""
269
254
  Retrieve count of stores (Nearby,previous,favorites)
270
255
  """,
271
- tags=[
272
- "Store",
273
- ],
256
+ tags=["Store",],
274
257
  )
275
258
  @action(
276
- detail=False,
277
- methods=["GET"],
278
- url_path="count",
259
+ detail=False, methods=["GET"], url_path="count",
279
260
  )
280
261
  def count(self, request, *args, **kwargs):
281
262
  previous_count = (
@@ -283,10 +264,7 @@ class StoreView(
283
264
  .get_queryset()
284
265
  .filter(
285
266
  orders__customer=self.request.user,
286
- orders__status__in=[
287
- "PAID",
288
- "DELIVERED",
289
- ],
267
+ orders__status__in=["PAID", "DELIVERED",],
290
268
  )
291
269
  .distinct()
292
270
  .count()
@@ -330,9 +308,7 @@ class CartView(
330
308
  operation_description="""
331
309
  Retrieve the current customer's cart /store/cart/me
332
310
  """,
333
- tags=[
334
- "Cart",
335
- ],
311
+ tags=["Cart",],
336
312
  )
337
313
  def retrieve(self, request, *args, **kwargs):
338
314
  store_id = request.query_params.get("store", None)
@@ -350,9 +326,7 @@ class CartView(
350
326
  operation_description="""
351
327
  Updates the current customer's cart /store/cart/me
352
328
  """,
353
- tags=[
354
- "Cart",
355
- ],
329
+ tags=["Cart",],
356
330
  )
357
331
  def update(self, request, *args, **kwargs):
358
332
  return super().update(request, *args, **kwargs)
@@ -371,17 +345,13 @@ class CartView(
371
345
  required=not store_settings.DIFFERENT_STORE_ORDERING,
372
346
  ),
373
347
  ],
374
- tags=[
375
- "Cart",
376
- ],
348
+ tags=["Cart",],
377
349
  )
378
350
  @action(
379
351
  methods=["POST"],
380
352
  detail=False,
381
353
  url_path=r"validate",
382
- permission_classes=[
383
- permissions.IsAuthenticated,
384
- ],
354
+ permission_classes=[permissions.IsAuthenticated,],
385
355
  serializer_class=OrderSerializer,
386
356
  )
387
357
  def validate(self, request, *args, **kwargs):
@@ -413,9 +383,7 @@ class CartItemView(
413
383
  operation_description="""
414
384
  Retrieve the current cart's cart item
415
385
  """,
416
- tags=[
417
- "CartItem",
418
- ],
386
+ tags=["CartItem",],
419
387
  )
420
388
  def retrieve(self, request, *args, **kwargs):
421
389
  return super().retrieve(request, *args, **kwargs)
@@ -425,9 +393,7 @@ class CartItemView(
425
393
  operation_description="""
426
394
  Updates the current customer's cart item
427
395
  """,
428
- tags=[
429
- "CartItem",
430
- ],
396
+ tags=["CartItem",],
431
397
  )
432
398
  def update(self, request, *args, **kwargs):
433
399
  return super().update(request, *args, **kwargs)
@@ -437,9 +403,7 @@ class CartItemView(
437
403
  operation_description="""
438
404
  Deletes the current customer's cart item
439
405
  """,
440
- tags=[
441
- "CartItem",
442
- ],
406
+ tags=["CartItem",],
443
407
  )
444
408
  def delete(self, request, *args, **kwargs):
445
409
  return self.destroy(request, *args, **kwargs)
@@ -475,9 +439,7 @@ class OrderView(
475
439
  operation_description="""
476
440
  Retrieve an order by id
477
441
  """,
478
- tags=[
479
- "Order",
480
- ],
442
+ tags=["Order",],
481
443
  )
482
444
  def retrieve(self, request, *args, **kwargs):
483
445
  return super().retrieve(request, *args, **kwargs)
@@ -487,9 +449,7 @@ class OrderView(
487
449
  operation_description="""
488
450
  List Orders
489
451
  """,
490
- tags=[
491
- "Order",
492
- ],
452
+ tags=["Order",],
493
453
  )
494
454
  def list(self, request, *args, **kwargs):
495
455
  return super().list(request, *args, **kwargs)
@@ -499,9 +459,7 @@ class OrderView(
499
459
  operation_description="""
500
460
  Create a customer order
501
461
  """,
502
- tags=[
503
- "Order",
504
- ],
462
+ tags=["Order",],
505
463
  )
506
464
  def create(self, request, *args, **kwargs):
507
465
  context = self.get_serializer_context()
@@ -523,18 +481,14 @@ class OrderView(
523
481
  methods=["POST"],
524
482
  detail=True,
525
483
  url_path=r"feedback",
526
- permission_classes=[
527
- permissions.IsAuthenticated,
528
- ],
484
+ permission_classes=[permissions.IsAuthenticated,],
529
485
  )
530
486
  def feedback(
531
487
  self, request: Request, pk=None, *args: typing.Any, **kwargs: typing.Any
532
488
  ):
533
489
  """Action for users to submit a feedback on successful order;"""
534
490
  serializer = FeedbackSerializer(
535
- data=request.data,
536
- instance=self.get_object(),
537
- context={"request": request},
491
+ data=request.data, instance=self.get_object(), context={"request": request},
538
492
  )
539
493
  serializer.is_valid(raise_exception=True)
540
494
  try:
@@ -550,8 +504,7 @@ class OrderView(
550
504
 
551
505
 
552
506
  class ReorderViewSet(
553
- mixins.CreateModelMixin,
554
- viewsets.GenericViewSet,
507
+ mixins.CreateModelMixin, viewsets.GenericViewSet,
555
508
  ):
556
509
  serializer_class = ReorderSerializer
557
510
  permission_classes = [
@@ -571,26 +524,20 @@ class ReorderViewSet(
571
524
  operation_description="""
572
525
  re-order a customer order
573
526
  """,
574
- tags=[
575
- "Order",
576
- ],
527
+ tags=["Order",],
577
528
  )
578
529
  @action(
579
530
  methods=["POST"],
580
531
  detail=True,
581
532
  url_path=r"",
582
- permission_classes=[
583
- permissions.IsAuthenticated,
584
- ],
533
+ permission_classes=[permissions.IsAuthenticated,],
585
534
  )
586
535
  def reorder(self, request: Request, *args: typing.Any, **kwargs: typing.Any):
587
536
  context = self.get_serializer_context()
588
537
  serializer = self.get_serializer(data=request.data, context=context)
589
538
  serializer.is_valid(raise_exception=True)
590
539
  request.user.cart.fill(self.get_object())
591
- return Response(
592
- status=status.HTTP_200_OK,
593
- )
540
+ return Response(status=status.HTTP_200_OK,)
594
541
 
595
542
 
596
543
  class VariantView(mixins.ListModelMixin, viewsets.GenericViewSet):
@@ -606,9 +553,7 @@ class VariantView(mixins.ListModelMixin, viewsets.GenericViewSet):
606
553
  operation_description="""
607
554
  List Variants
608
555
  """,
609
- tags=[
610
- "Variant",
611
- ],
556
+ tags=["Variant",],
612
557
  )
613
558
  def list(self, request, *args, **kwargs):
614
559
  return super().list(request, *args, **kwargs)
@@ -663,13 +608,7 @@ class ProductView(
663
608
  return qs
664
609
 
665
610
  def get_queryset(self):
666
- queryset = (
667
- super()
668
- .get_queryset()
669
- .prefetch_related(
670
- "images",
671
- )
672
- )
611
+ queryset = super().get_queryset().prefetch_related("images",)
673
612
  if self.action == "favorites":
674
613
  favorite_product_ids = Favorite.objects.favorites_for_model(
675
614
  Product, self.request.user
@@ -690,9 +629,7 @@ class ProductView(
690
629
  operation_description="""
691
630
  Retrieve a Product by id
692
631
  """,
693
- tags=[
694
- "Product",
695
- ],
632
+ tags=["Product",],
696
633
  )
697
634
  def retrieve(self, request, *args, **kwargs):
698
635
  return super().retrieve(request, *args, **kwargs)
@@ -702,9 +639,7 @@ class ProductView(
702
639
  operation_description="""
703
640
  List Products
704
641
  """,
705
- tags=[
706
- "Product",
707
- ],
642
+ tags=["Product",],
708
643
  )
709
644
  def list(self, request, *args, **kwargs):
710
645
  return super().list(request, *args, **kwargs)
@@ -714,9 +649,7 @@ class ProductView(
714
649
  operation_description="""
715
650
  Retrieve user favorite products
716
651
  """,
717
- tags=[
718
- "Product",
719
- ],
652
+ tags=["Product",],
720
653
  )
721
654
  @action(
722
655
  detail=False,
@@ -735,14 +668,10 @@ class ProductView(
735
668
  operation_description="""
736
669
  Add or Remove Product from Favorites
737
670
  """,
738
- tags=[
739
- "Product",
740
- ],
671
+ tags=["Product",],
741
672
  )
742
673
  @action(
743
- detail=True,
744
- methods=["GET"],
745
- url_path="favorite",
674
+ detail=True, methods=["GET"], url_path="favorite",
746
675
  )
747
676
  def favorite(self, request, *args, **kwargs):
748
677
  instance = self.get_object()
@@ -758,14 +687,10 @@ class ProductView(
758
687
  operation_description="""
759
688
  List user's featured products
760
689
  """,
761
- tags=[
762
- "Product",
763
- ],
690
+ tags=["Product",],
764
691
  )
765
692
  @action(
766
- detail=False,
767
- methods=["GET"],
768
- url_path="featured",
693
+ detail=False, methods=["GET"], url_path="featured",
769
694
  )
770
695
  def featured(self, request, *args, **kwargs):
771
696
  instance = self.get_queryset().filter(is_featured=True)
@@ -795,8 +720,7 @@ class CategoryViewSet(
795
720
  Prefetch(
796
721
  "availability_hours",
797
722
  queryset=AvailabilityHours.objects.filter(
798
- weekday=localtime(now()).weekday() + 1,
799
- store=store_id,
723
+ weekday=localtime(now()).weekday() + 1, store=store_id,
800
724
  ),
801
725
  ),
802
726
  )
@@ -837,13 +761,9 @@ class CategoryViewSet(
837
761
  ).distinct(),
838
762
  ),
839
763
  Prefetch(
840
- "subcategories__products",
841
- queryset=product_queryset.distinct(),
842
- ),
843
- Prefetch(
844
- "products",
845
- queryset=product_queryset.distinct(),
764
+ "subcategories__products", queryset=product_queryset.distinct(),
846
765
  ),
766
+ Prefetch("products", queryset=product_queryset.distinct(),),
847
767
  "subcategories__products__images",
848
768
  ).get(pk=instance_pk)
849
769
  except Category.DoesNotExist:
@@ -853,10 +773,7 @@ class CategoryViewSet(
853
773
  @method_decorator(
854
774
  name="retrieve",
855
775
  decorator=swagger_auto_schema(
856
- operation_summary="Retrieve Category",
857
- tags=[
858
- "Category",
859
- ],
776
+ operation_summary="Retrieve Category", tags=["Category",],
860
777
  ),
861
778
  )
862
779
  def retrieve(self, request, *args, **kwargs):
@@ -865,10 +782,7 @@ class CategoryViewSet(
865
782
  @method_decorator(
866
783
  name="list",
867
784
  decorator=swagger_auto_schema(
868
- operation_summary="List Categories",
869
- tags=[
870
- "Category",
871
- ],
785
+ operation_summary="List Categories", tags=["Category",],
872
786
  ),
873
787
  )
874
788
  def list(self, request, *args, **kwargs):
@@ -888,10 +802,7 @@ class InventoryView(
888
802
  @method_decorator(
889
803
  name="list",
890
804
  decorator=swagger_auto_schema(
891
- operation_summary="List Inventories",
892
- tags=[
893
- "Inventory",
894
- ],
805
+ operation_summary="List Inventories", tags=["Inventory",],
895
806
  ),
896
807
  )
897
808
  def list(self, request, *args, **kwargs):
@@ -900,10 +811,7 @@ class InventoryView(
900
811
  @method_decorator(
901
812
  name="retrieve",
902
813
  decorator=swagger_auto_schema(
903
- operation_summary="Retrieve Inventory",
904
- tags=[
905
- "Inventory",
906
- ],
814
+ operation_summary="Retrieve Inventory", tags=["Inventory",],
907
815
  ),
908
816
  )
909
817
  def retrieve(self, request, *args, **kwargs):
@@ -911,8 +819,7 @@ class InventoryView(
911
819
 
912
820
 
913
821
  class TransactionsViewSet(
914
- mixins.ListModelMixin,
915
- viewsets.GenericViewSet,
822
+ mixins.ListModelMixin, viewsets.GenericViewSet,
916
823
  ):
917
824
  serializer_class = PaymentSerializer
918
825
  permission_classes = [
@@ -930,17 +837,14 @@ class TransactionsViewSet(
930
837
  operation_description="""
931
838
  List Users's Captured Transactions
932
839
  """,
933
- tags=[
934
- "payment",
935
- ],
840
+ tags=["payment",],
936
841
  )
937
842
  def list(self, request, *args, **kwargs):
938
843
  return super().list(request, *args, **kwargs)
939
844
 
940
845
 
941
846
  class PaymentMethodViewSet(
942
- mixins.ListModelMixin,
943
- viewsets.GenericViewSet,
847
+ mixins.ListModelMixin, viewsets.GenericViewSet,
944
848
  ):
945
849
  serializer_class = PaymentMethodSerializer
946
850
  permission_classes = [
@@ -955,17 +859,14 @@ class PaymentMethodViewSet(
955
859
  operation_description="""
956
860
  List Payment methods
957
861
  """,
958
- tags=[
959
- "Payment Method",
960
- ],
862
+ tags=["Payment Method",],
961
863
  )
962
864
  def list(self, request, *args, **kwargs):
963
865
  return super().list(request, *args, **kwargs)
964
866
 
965
867
 
966
868
  class ShippingMethodViewSet(
967
- mixins.ListModelMixin,
968
- viewsets.GenericViewSet,
869
+ mixins.ListModelMixin, viewsets.GenericViewSet,
969
870
  ):
970
871
  serializer_class = ShippingMethodSerializer
971
872
  permission_classes = [
@@ -990,17 +891,14 @@ class ShippingMethodViewSet(
990
891
  operation_description="""
991
892
  List Shipping methods
992
893
  """,
993
- tags=[
994
- "Store",
995
- ],
894
+ tags=["Store",],
996
895
  )
997
896
  def list(self, request, *args, **kwargs):
998
897
  return super().list(request, *args, **kwargs)
999
898
 
1000
899
 
1001
900
  class TaxViewSet(
1002
- mixins.ListModelMixin,
1003
- viewsets.GenericViewSet,
901
+ mixins.ListModelMixin, viewsets.GenericViewSet,
1004
902
  ):
1005
903
  serializer_class = TaxSerializer
1006
904
  permission_classes = [
@@ -1013,9 +911,7 @@ class TaxViewSet(
1013
911
  operation_description="""
1014
912
  List Taxes
1015
913
  """,
1016
- tags=[
1017
- "Tax",
1018
- ],
914
+ tags=["Tax",],
1019
915
  )
1020
916
  def list(self, request, *args, **kwargs):
1021
917
  return super().list(request, *args, **kwargs)
@@ -1069,9 +965,7 @@ class FavoriteViewSet(
1069
965
  required=True,
1070
966
  ),
1071
967
  ],
1072
- tags=[
1073
- "Favorite",
1074
- ],
968
+ tags=["Favorite",],
1075
969
  )
1076
970
  def list(self, request, *args, **kwargs):
1077
971
  return super().list(request, *args, **kwargs)
@@ -1081,9 +975,7 @@ class FavoriteViewSet(
1081
975
  operation_description="""
1082
976
  Retreive Item To Favorites
1083
977
  """,
1084
- tags=[
1085
- "Favorite",
1086
- ],
978
+ tags=["Favorite",],
1087
979
  )
1088
980
  def retrieve(self, request, *args, **kwargs):
1089
981
  return super().retrieve(request, *args, **kwargs)
@@ -1093,9 +985,7 @@ class FavoriteViewSet(
1093
985
  operation_description="""
1094
986
  Add Item To Favorites
1095
987
  """,
1096
- tags=[
1097
- "Favorite",
1098
- ],
988
+ tags=["Favorite",],
1099
989
  )
1100
990
  def create(self, request, *args, **kwargs):
1101
991
  return super().create(request, *args, **kwargs)
@@ -1105,9 +995,7 @@ class FavoriteViewSet(
1105
995
  operation_description="""
1106
996
  Update Item From Favorites
1107
997
  """,
1108
- tags=[
1109
- "Favorite",
1110
- ],
998
+ tags=["Favorite",],
1111
999
  )
1112
1000
  def update(self, request, *args, **kwargs):
1113
1001
  return super().update(request, *args, **kwargs)
@@ -1117,9 +1005,7 @@ class FavoriteViewSet(
1117
1005
  operation_description="""
1118
1006
  Remove Item From Favorites
1119
1007
  """,
1120
- tags=[
1121
- "Favorite",
1122
- ],
1008
+ tags=["Favorite",],
1123
1009
  )
1124
1010
  def destroy(self, request, *args, **kwargs):
1125
1011
  return super().destroy(request, *args, **kwargs)
@@ -1148,9 +1034,7 @@ class WalletViewSet(
1148
1034
  operation_description="""
1149
1035
  Get User Wallet
1150
1036
  """,
1151
- tags=[
1152
- "Wallet",
1153
- ],
1037
+ tags=["Wallet",],
1154
1038
  )
1155
1039
  def retrieve(
1156
1040
  self, request: Request, *args: typing.Any, **kwargs: typing.Any
@@ -1162,9 +1046,7 @@ class WalletViewSet(
1162
1046
  operation_description="""
1163
1047
  Update a wallet
1164
1048
  """,
1165
- tags=[
1166
- "Wallet",
1167
- ],
1049
+ tags=["Wallet",],
1168
1050
  )
1169
1051
  def partial_update(self, request: Request, *args: typing.Any, **kwargs: typing.Any):
1170
1052
  return super().partial_update(request, *args, **kwargs)
@@ -1174,9 +1056,7 @@ class WalletViewSet(
1174
1056
  operation_description="""
1175
1057
  List User Wallets
1176
1058
  """,
1177
- tags=[
1178
- "Wallet",
1179
- ],
1059
+ tags=["Wallet",],
1180
1060
  )
1181
1061
  def list(
1182
1062
  self, request: Request, *args: typing.Any, **kwargs: typing.Any
@@ -1188,9 +1068,7 @@ class WalletViewSet(
1188
1068
  operation_description="""
1189
1069
  top up a user wallet with tap payment
1190
1070
  """,
1191
- tags=[
1192
- "Wallet",
1193
- ],
1071
+ tags=["Wallet",],
1194
1072
  )
1195
1073
  @action(
1196
1074
  methods=["POST"],
@@ -1219,14 +1097,10 @@ class WalletViewSet(
1219
1097
  operation_description="""
1220
1098
  list user's wallet transactions(debit,credit)
1221
1099
  """,
1222
- tags=[
1223
- "Wallet",
1224
- ],
1100
+ tags=["Wallet",],
1225
1101
  )
1226
1102
  @action(
1227
- methods=[
1228
- "GET",
1229
- ],
1103
+ methods=["GET",],
1230
1104
  detail=True,
1231
1105
  url_path="transactions",
1232
1106
  serializer_class=WalletTransactionSerializer,
@@ -1248,14 +1122,10 @@ class WalletViewSet(
1248
1122
  operation_description="""
1249
1123
  list wallet selection images
1250
1124
  """,
1251
- tags=[
1252
- "Wallet",
1253
- ],
1125
+ tags=["Wallet",],
1254
1126
  )
1255
1127
  @action(
1256
- methods=[
1257
- "GET",
1258
- ],
1128
+ methods=["GET",],
1259
1129
  detail=False,
1260
1130
  url_path="images",
1261
1131
  serializer_class=WalletMediaSerializer,
@@ -1294,14 +1164,10 @@ class PartnerAuthInfoViewSet(
1294
1164
  operation_description="""
1295
1165
  Send an OTP for PartnerAuthInfo
1296
1166
  """,
1297
- tags=[
1298
- "Partner",
1299
- ],
1167
+ tags=["Partner",],
1300
1168
  )
1301
1169
  @action(
1302
- methods=[
1303
- "POST",
1304
- ],
1170
+ methods=["POST",],
1305
1171
  detail=False,
1306
1172
  url_path="send-otp",
1307
1173
  serializer_class=PartnerOTPRequestSerializer,
@@ -1322,14 +1188,10 @@ class PartnerAuthInfoViewSet(
1322
1188
  operation_description="""
1323
1189
  verify Partner's Authentication for different auth methods
1324
1190
  """,
1325
- tags=[
1326
- "Partner",
1327
- ],
1191
+ tags=["Partner",],
1328
1192
  )
1329
1193
  @action(
1330
- methods=[
1331
- "POST",
1332
- ],
1194
+ methods=["POST",],
1333
1195
  detail=False,
1334
1196
  url_path="",
1335
1197
  serializer_class=PartnerAuthInfoSerializer,
@@ -1350,9 +1212,7 @@ class PartnerAuthInfoViewSet(
1350
1212
  operation_description="""
1351
1213
  Retrieve User partner Auth
1352
1214
  """,
1353
- tags=[
1354
- "Partner",
1355
- ],
1215
+ tags=["Partner",],
1356
1216
  )
1357
1217
  def retrieve(
1358
1218
  self, request: Request, *args: typing.Any, **kwargs: typing.Any
@@ -1364,18 +1224,14 @@ class PartnerAuthInfoViewSet(
1364
1224
  operation_description="""
1365
1225
  Delete User partner Auth
1366
1226
  """,
1367
- tags=[
1368
- "Partner",
1369
- ],
1227
+ tags=["Partner",],
1370
1228
  )
1371
1229
  def destroy(self, request, *args, **kwargs):
1372
1230
  return super().destroy(request, *args, **kwargs)
1373
1231
 
1374
1232
 
1375
1233
  class PartnerViewSet(
1376
- mixins.ListModelMixin,
1377
- mixins.RetrieveModelMixin,
1378
- viewsets.GenericViewSet,
1234
+ mixins.ListModelMixin, mixins.RetrieveModelMixin, viewsets.GenericViewSet,
1379
1235
  ):
1380
1236
  queryset = Partner.objects.all()
1381
1237
  permission_classes = [
@@ -1389,9 +1245,7 @@ class PartnerViewSet(
1389
1245
  operation_description="""
1390
1246
  retireve a partner
1391
1247
  """,
1392
- tags=[
1393
- "Partner",
1394
- ],
1248
+ tags=["Partner",],
1395
1249
  )
1396
1250
  def retrieve(
1397
1251
  self, request: Request, *args: typing.Any, **kwargs: typing.Any
@@ -1403,9 +1257,7 @@ class PartnerViewSet(
1403
1257
  operation_description="""
1404
1258
  List partners
1405
1259
  """,
1406
- tags=[
1407
- "Partner",
1408
- ],
1260
+ tags=["Partner",],
1409
1261
  )
1410
1262
  def list(self, request, *args, **kwargs):
1411
1263
  return super().list(request, *args, **kwargs)
@@ -1426,9 +1278,7 @@ class CountryPaymentMethodsViewSet(
1426
1278
  operation_description="""
1427
1279
  List Country Payment Methods
1428
1280
  """,
1429
- tags=[
1430
- "Store",
1431
- ],
1281
+ tags=["Store",],
1432
1282
  )
1433
1283
  def list(self, request, *args, **kwargs):
1434
1284
  return super().list(request, *args, **kwargs)
@@ -1438,9 +1288,7 @@ class CountryPaymentMethodsViewSet(
1438
1288
  operation_description="""
1439
1289
  Retrieve Country Payment Method
1440
1290
  """,
1441
- tags=[
1442
- "Store",
1443
- ],
1291
+ tags=["Store",],
1444
1292
  )
1445
1293
  def retrieve(self, request, *args, **kwargs):
1446
1294
  return super().retrieve(request, *args, **kwargs)