From b30c0991d93581cede99dba500080453f71c03b8 Mon Sep 17 00:00:00 2001 From: sm4640 Date: Tue, 8 Apr 2025 15:52:05 +0900 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Feat:=20[#22]=20custom=5Furl=20?= =?UTF-8?q?=EC=A4=91=EB=B3=B5=EC=B2=B4=ED=81=AC=20=EB=B0=8F=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EB=A1=9C=EC=A7=81=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- users/views.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/users/views.py b/users/views.py index 68efe8a..0d5d232 100644 --- a/users/views.py +++ b/users/views.py @@ -94,4 +94,23 @@ class NicknameAPIView(APIView): return Response({"message": "해당 닉네임은 사용할 수 없습니다."}, status=status.HTTP_400_BAD_REQUEST) except: return Response({"message": "사용할 수 있는 닉네임입니다."}, status=status.HTTP_200_OK) - \ No newline at end of file + +class SetPortofolioRequiredInfoAPIView(APIView): + def get(self, request): + custom_url = request.GET.get('custom_url', None) + if not custom_url: + return Response({"message": "no url"}, status=status.HTTP_400_BAD_REQUEST) + if User.objects.filter(custom_url=custom_url).exists(): + return Response({"message": "already used url"}, status=status.HTTP_400_BAD_REQUEST) + else: + return Response({"message": "can use this url"}, status=status.HTTP_200_OK) + + def patch(self, request): + user = request.user + serializer = SetPortofolioRequiredInfoSerializer(user, data=request.data) + if serializer.is_valid(): + serializer.save() + user.is_custom_url = True + user.save() + return Response({"message": "updated successfully"}, status=status.HTTP_202_ACCEPTED) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) \ No newline at end of file