Skip to content

Commit 887d812

Browse files
author
pietro convalle
committed
replaced Responses to Raise Exception
1 parent 19b2bec commit 887d812

File tree

4 files changed

+13
-36
lines changed

4 files changed

+13
-36
lines changed

answerking_app/utils/mixins/CategoryItemMixins.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from django.shortcuts import get_object_or_404
22
from rest_framework import status
3-
from rest_framework.exceptions import APIException
43
from rest_framework.request import Request
54
from rest_framework.response import Response
65
from rest_framework.utils.serializer_helpers import ReturnDict
76

87
from answerking_app.models.models import Category, Item
98
from answerking_app.models.serializers import CategorySerializer
109
from answerking_app.utils.ErrorType import ErrorMessage
10+
from answerking_app.utils.mixins.ApiExceptions import Http400BadRequest
1111

1212

1313
class CategoryItemUpdateMixin:
@@ -19,16 +19,7 @@ def update(
1919
item: Item = get_object_or_404(Item, pk=item_id)
2020

2121
if item in category.items.all():
22-
error_msg: ErrorMessage = {
23-
"error": {
24-
"message": "Resource update failure",
25-
"details": "Item already in category",
26-
}
27-
}
28-
return Response(
29-
error_msg,
30-
status=status.HTTP_400_BAD_REQUEST,
31-
)
22+
raise Http400BadRequest
3223

3324
category.items.add(item)
3425
response: ReturnDict = CategorySerializer(category).data

answerking_app/utils/mixins/GenericMixins.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ def handle_IntegrityError(exc: IntegrityError) -> NoReturn:
3131
if exc.args[0] == DUP_ENTRY:
3232
raise Http400BadRequest
3333
else:
34-
raise ServiceUnavailable()
34+
raise ServiceUnavailable

answerking_app/utils/mixins/ItemMixins.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
from rest_framework.request import Request
44
from rest_framework.response import Response
55

6-
from answerking_app.models.models import OrderLine, Item
6+
from answerking_app.models.models import Item, OrderLine
7+
from answerking_app.utils.mixins.ApiExceptions import Http400BadRequest
78
from answerking_app.utils.model_types import OrderItemType
89

910

@@ -14,10 +15,7 @@ def destroy(self, request: Request, *args, **kwargs) -> Response:
1415
item=instance.id
1516
)
1617
if existing_orderitems:
17-
return Response(
18-
{"detail": "Cannot delete, item is in an order."},
19-
status=status.HTTP_400_BAD_REQUEST,
20-
)
18+
raise Http400BadRequest
2119
self.perform_destroy(instance)
2220
return Response(status=status.HTTP_204_NO_CONTENT)
2321

answerking_app/utils/mixins/OrderItemMixins.py

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
1+
from django.shortcuts import get_object_or_404
12
from rest_framework import status
2-
from rest_framework.response import Response
33
from rest_framework.request import Request
4+
from rest_framework.response import Response
45
from rest_framework.utils.serializer_helpers import ReturnDict
56

6-
from answerking_app.models.models import Order, Item
7-
from answerking_app.models.serializers import (
8-
OrderSerializer,
9-
OrderLineSerializer,
10-
)
11-
from answerking_app.utils.ErrorType import ErrorMessage
12-
13-
from django.shortcuts import get_object_or_404
7+
from answerking_app.models.models import Item, Order
8+
from answerking_app.models.serializers import (OrderLineSerializer,
9+
OrderSerializer)
10+
from answerking_app.utils.mixins.ApiExceptions import Http400BadRequest
1411

1512

1613
class OrderItemUpdateMixin:
@@ -59,16 +56,7 @@ def remove(
5956
item: Item = get_object_or_404(Item, pk=item_id)
6057

6158
if item not in order.order_items.all():
62-
error_msg: ErrorMessage = {
63-
"error": {
64-
"message": "Resource update failure",
65-
"details": "Item not in order",
66-
}
67-
}
68-
return Response(
69-
error_msg,
70-
status=status.HTTP_400_BAD_REQUEST,
71-
)
59+
raise Http400BadRequest
7260

7361
updated_order: Order | None = self.remove_item(order, item)
7462

0 commit comments

Comments
 (0)