@@ -77,8 +77,11 @@ class PortfolioChangeState(APIView):
|
||||
portfolio = get_object_or_404(Portfolio, pk=pk)
|
||||
user = request.user
|
||||
action_type = request.query_params.get('type')
|
||||
if PortfolioBeforeRelCheckService.check_user_portfolio_rel(action_type, portfolio, user):
|
||||
return Response({"message": "already done"}, status=status.HTTP_400_BAD_REQUEST)
|
||||
try:
|
||||
if PortfolioBeforeRelCheckService.check_user_portfolio_rel(action_type, portfolio, user):
|
||||
return Response({"message": "already done"}, status=status.HTTP_400_BAD_REQUEST)
|
||||
except ValueError as e:
|
||||
return Response({'message': str(e)}, status=status.HTTP_400_BAD_REQUEST)
|
||||
return self._handle_action(action_type, portfolio, user, add=True)
|
||||
|
||||
@transaction.atomic
|
||||
@@ -86,8 +89,11 @@ class PortfolioChangeState(APIView):
|
||||
portfolio = get_object_or_404(Portfolio, pk=pk)
|
||||
user = request.user
|
||||
action_type = request.query_params.get('type')
|
||||
if not PortfolioBeforeRelCheckService.check_user_portfolio_rel(action_type, portfolio, user):
|
||||
return Response({"message": "never done before"}, status=status.HTTP_400_BAD_REQUEST)
|
||||
try:
|
||||
if not PortfolioBeforeRelCheckService.check_user_portfolio_rel(action_type, portfolio, user):
|
||||
return Response({"message": "never done before"}, status=status.HTTP_400_BAD_REQUEST)
|
||||
except ValueError as e:
|
||||
return Response({'message': str(e)}, status=status.HTTP_400_BAD_REQUEST)
|
||||
return self._handle_action(action_type, portfolio, user, add=False)
|
||||
|
||||
def _handle_action(self, action_type, portfolio, user, add=True):
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
from django.conf import settings
|
||||
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from rest_framework.views import APIView
|
||||
@@ -28,7 +30,7 @@ class RefreshAPIView(APIView):
|
||||
serializer = TokenRefreshSerializer(data={'refresh': refresh})
|
||||
if serializer.is_valid():
|
||||
res = Response({"access": serializer.validated_data['access']}, status=status.HTTP_200_OK)
|
||||
res.set_cookie("refresh", serializer.validated_data['refresh'], httponly=True, samesite="Lax", secure=True)
|
||||
res.set_cookie("refresh", serializer.validated_data['refresh'], httponly=True, samesite="Lax", secure=not settings.DEBUG)
|
||||
return res
|
||||
except TokenError as e:
|
||||
return Response({"message": f"Invalid token: {e}"}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
@@ -75,7 +77,7 @@ class LoginAPIView(APIView):
|
||||
},
|
||||
status=status.HTTP_200_OK,
|
||||
)
|
||||
res.set_cookie("refresh", serializer.validated_data['refresh'], httponly=True, samesite="Lax", secure=True)
|
||||
res.set_cookie("refresh", serializer.validated_data['refresh'], httponly=True, samesite="Lax", secure=not settings.DEBUG)
|
||||
return res
|
||||
else:
|
||||
return Response(serializer.errors)
|
||||
|
||||
Reference in New Issue
Block a user