From 05e016a2c1bd1e24eabab018fc43e7c7f810c470 Mon Sep 17 00:00:00 2001 From: dasol <5dasoll37@gmail.com> Date: Sat, 22 Feb 2025 22:58:54 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Feat/Refactor:=20=EC=9C=A0=EC=A0=80=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=20=EB=B3=80=EA=B2=BD=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=EB=A6=AC=ED=8C=A9=ED=86=A0?= =?UTF-8?q?=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- makourse/account/urls.py | 4 +- makourse/account/views.py | 119 ++++++++++++------ .../user_photo/\354\247\261\352\265\254.jpeg" | Bin 0 -> 32698 bytes 3 files changed, 80 insertions(+), 43 deletions(-) create mode 100644 "makourse/media/user_photo/\354\247\261\352\265\254.jpeg" diff --git a/makourse/account/urls.py b/makourse/account/urls.py index 693e8a7..131c000 100644 --- a/makourse/account/urls.py +++ b/makourse/account/urls.py @@ -6,8 +6,8 @@ path('/login/', SocialLoginAPIView.as_view(), name='social-login'), # 소셜 로그인 path('/callback/', SocialLoginAPIView.as_view(), name='social-login-redirect'), # 소셜 로그인 path('logout/', LogoutAPIView.as_view(), name='logout'), # 로그아웃 - path('profile-image/update', ProfileAPIView.as_view(), name='profile-image-update'), # 프로필 사진 업로드 (post) - path('profile-image/reset', ProfileAPIView.as_view(), name='profile-image-reset'), # 프로필 기본 이미지로 변경 (patch) + path('profile/update', ProfileAPIView.as_view(), name='profile-update'), # 프로필 수정 (patch) + path('profile/image-reset', ProfileAPIView.as_view(), name='profile-image-reset'), # 프로필 기본 이미지로 변경 (post) path('profile', ProfileAPIView.as_view(), name='profile'), # 유저정보(프로필 사진 포함) # 유저에 따른 schedule 정보 보기 diff --git a/makourse/account/views.py b/makourse/account/views.py index d556e09..9984cdf 100644 --- a/makourse/account/views.py +++ b/makourse/account/views.py @@ -222,75 +222,112 @@ class ProfileAPIView(APIView): # 프로필 이미지 업로드 및 수정 @swagger_auto_schema( tags=['유저'], - operation_summary="프로필 사진 업로드", - request_body=openapi.Schema( - type=openapi.TYPE_OBJECT, - properties={ - 'profile_image': openapi.Schema(type=openapi.TYPE_FILE, description='The new profile image file.') - }, - required=['profile_image'] - ), + operation_summary="기본 프로필로 reset", responses={ - 200: openapi.Response(description="Profile image updated successfully.", schema=openapi.Schema( + 200: openapi.Response(description="Profile image reset to default.", schema=openapi.Schema( type=openapi.TYPE_OBJECT, properties={ 'message': openapi.Schema(type=openapi.TYPE_STRING, description='Success message'), - 'profile_image': openapi.Schema(type=openapi.TYPE_STRING, description='URL of the updated profile image') + 'profile_image': openapi.Schema(type=openapi.TYPE_STRING, description='URL of the default profile image') } )), - 400: openapi.Response(description="Error message (e.g., no image file provided).") + 400: openapi.Response(description="Error message if something goes wrong.") } ) - def post(self, request): - # 현재 로그인된 사용자 가져오기 + def post(self, request): # 기본이미지로 설정할 때 POST method 사용 user = request.user - # 업로드된 파일 가져오기 - profile_image = request.FILES.get('profile_image') - if not profile_image: - return Response({'error': 'No image file provided'}, status=400) - # 현재 프로필 이미지가 default가 아닌 경우 삭제 - if user.profile_image.name != 'user_photo/default.png': + if user.profile_image.name != 'user_photo/default.png': # 현재 프로필이 기본 이미지가 아닌 경우 profile_image_path = os.path.join(settings.MEDIA_ROOT, user.profile_image.name) if os.path.exists(profile_image_path): os.remove(profile_image_path) # 파일 삭제 - # 사용자 프로필 이미지 업데이트 - user.profile_image = profile_image + # 프로필 이미지를 기본 이미지로 설정 + user.profile_image = 'user_photo/default.png' user.save() - return Response({'message': 'Profile image updated successfully', 'profile_image': user.profile_image.url}) + return Response({'message': 'Profile image reset to default', 'profile_image': user.profile_image.url}) @swagger_auto_schema( tags=['유저'], - operation_summary="기본 프로필로 reset", + operation_summary="유저 정보 변경", + consumes=['multipart/form-data'], # 파일 업로드 시 꼭 추가 + request_body=openapi.Schema( + type=openapi.TYPE_OBJECT, + properties={ + 'profile_image': openapi.Schema( + type=openapi.TYPE_FILE, + description='새 프로필 이미지 파일' + ), + 'name': openapi.Schema( + type=openapi.TYPE_STRING, + description='새 유저 이름' + ), + }, + ), responses={ - 200: openapi.Response(description="Profile image reset to default.", schema=openapi.Schema( - type=openapi.TYPE_OBJECT, - properties={ - 'message': openapi.Schema(type=openapi.TYPE_STRING, description='Success message'), - 'profile_image': openapi.Schema(type=openapi.TYPE_STRING, description='URL of the default profile image') - } - )), - 400: openapi.Response(description="Error message if something goes wrong.") + 200: openapi.Response( + description="프로필 수정 성공", + schema=openapi.Schema( + type=openapi.TYPE_OBJECT, + properties={ + 'message': openapi.Schema( + type=openapi.TYPE_STRING, + description='성공 메시지' + ), + 'user': openapi.Schema( + type=openapi.TYPE_OBJECT, + properties={ + "id": openapi.Schema(type=openapi.TYPE_INTEGER, description="사용자 ID"), + "email": openapi.Schema(type=openapi.TYPE_STRING, format="email", description="사용자 이메일"), + "profile_image": openapi.Schema(type=openapi.TYPE_STRING, format="uri", description="프로필 이미지 URL"), + "name": openapi.Schema(type=openapi.TYPE_STRING, description="사용자 이름"), + "social_provider": openapi.Schema(type=openapi.TYPE_STRING, description="소셜 로그인 제공자"), + "is_logged_in": openapi.Schema(type=openapi.TYPE_BOOLEAN, description="로그인 여부") + } + ), + } + ) + ), + 400: openapi.Response(description="에러 메시지(예: 파일이 제공되지 않음).") } ) - def patch(self, request): # 기본이미지로 설정할 때 PATCH method 사용 + def patch(self, request): # 유저 정보 변경 + # 현재 로그인된 사용자 가져오기 user = request.user - # 현재 프로필 이미지가 default가 아닌 경우 삭제 - if user.profile_image.name != 'user_photo/default.png': # 현재 프로필이 기본 이미지가 아닌 경우 - profile_image_path = os.path.join(settings.MEDIA_ROOT, user.profile_image.name) - if os.path.exists(profile_image_path): - os.remove(profile_image_path) # 파일 삭제 + # 업로드된 파일 가져오기 + profile_image = request.FILES.get('profile_image') + # 이름 변경 + user_name = request.data.get('name') + + if profile_image: + # 현재 프로필 이미지가 default가 아닌 경우 삭제 + if user.profile_image.name != 'user_photo/default.png': + profile_image_path = os.path.join(settings.MEDIA_ROOT, user.profile_image.name) + if os.path.exists(profile_image_path): + os.remove(profile_image_path) # 파일 삭제 + + # 사용자 프로필 이미지 업데이트 + user.profile_image = profile_image + user.save() - # 프로필 이미지를 기본 이미지로 설정 - user.profile_image = 'user_photo/default.png' - user.save() + if user_name: + user.name = user_name + user.save() - return Response({'message': 'Profile image reset to default', 'profile_image': user.profile_image.url}) + user_data = { + "id": user.id, + "email": user.email, + "profile_image": user.profile_image.url, + "name": user.name, + "social_provider": user.social_provider, + "is_logged_in": user.is_logged_in + } + + return Response({'message': 'Profile updated successfully', 'user': user_data}) @swagger_auto_schema( diff --git "a/makourse/media/user_photo/\354\247\261\352\265\254.jpeg" "b/makourse/media/user_photo/\354\247\261\352\265\254.jpeg" new file mode 100644 index 0000000000000000000000000000000000000000..2e3da205d514d9b52152fe4e59833e529f6a4363 GIT binary patch literal 32698 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%0DGxsy~*g z+O``}N7=TSe08`IMn4S=!d$`jmjf$C!1mk!E6Mh+TSS)DFiWjvYdwWE-V8~=gq4zH zNh`kTmm5xRs*corcH$I-b7U<5H{X-u|w+L64b0U`q+k zjvwK)Gi1qAr`VRo#nv_VAP=hN5AwvHybmlIuhhXO1_7&iFpZPg zdW)qp`oDmo-*a(@PMoTI9=d*M3#$)Dv+O9Y3 zVpBA$*8*4#eiVBh$45R0RZlmT+`Ds)#~)`GG}M~aPl{Y<&g4C|?mj)Yv9#JXOzD&_ zBVsUX{A@1zU~KtUZx8Fk-A(`Xw9@$(a06#W>fBo c&_n{ebBzDLjkMiCXk-kP?6s-{(ci`Y2b1LqwEzGB literal 0 HcmV?d00001 From 92a7c65574264522b40eb480ac873b845ea95d1c Mon Sep 17 00:00:00 2001 From: dasol <5dasoll37@gmail.com> Date: Sat, 22 Feb 2025 23:18:37 +0900 Subject: [PATCH 2/2] =?UTF-8?q?Docs:=20profile=20url=20=ED=95=98=EB=82=98?= =?UTF-8?q?=EB=A1=9C=20=ED=86=B5=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- makourse/account/urls.py | 5 ++--- .../user_photo/\354\247\261\352\265\254.jpeg" | Bin 32698 -> 0 bytes 2 files changed, 2 insertions(+), 3 deletions(-) delete mode 100644 "makourse/media/user_photo/\354\247\261\352\265\254.jpeg" diff --git a/makourse/account/urls.py b/makourse/account/urls.py index 131c000..a6a96c4 100644 --- a/makourse/account/urls.py +++ b/makourse/account/urls.py @@ -6,9 +6,8 @@ path('/login/', SocialLoginAPIView.as_view(), name='social-login'), # 소셜 로그인 path('/callback/', SocialLoginAPIView.as_view(), name='social-login-redirect'), # 소셜 로그인 path('logout/', LogoutAPIView.as_view(), name='logout'), # 로그아웃 - path('profile/update', ProfileAPIView.as_view(), name='profile-update'), # 프로필 수정 (patch) - path('profile/image-reset', ProfileAPIView.as_view(), name='profile-image-reset'), # 프로필 기본 이미지로 변경 (post) - path('profile', ProfileAPIView.as_view(), name='profile'), # 유저정보(프로필 사진 포함) + path('profile', ProfileAPIView.as_view(), name='profile'), + # Get 유저정보(프로필 사진 포함), Patch 프로필 수정, Post 프로필 기본 이미지로 변경 # 유저에 따른 schedule 정보 보기 path('schedules', UserSchedulesView.as_view(), name='user-schedules'), diff --git "a/makourse/media/user_photo/\354\247\261\352\265\254.jpeg" "b/makourse/media/user_photo/\354\247\261\352\265\254.jpeg" deleted file mode 100644 index 2e3da205d514d9b52152fe4e59833e529f6a4363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32698 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%0DGxsy~*g z+O``}N7=TSe08`IMn4S=!d$`jmjf$C!1mk!E6Mh+TSS)DFiWjvYdwWE-V8~=gq4zH zNh`kTmm5xRs*corcH$I-b7U<5H{X-u|w+L64b0U`q+k zjvwK)Gi1qAr`VRo#nv_VAP=hN5AwvHybmlIuhhXO1_7&iFpZPg zdW)qp`oDmo-*a(@PMoTI9=d*M3#$)Dv+O9Y3 zVpBA$*8*4#eiVBh$45R0RZlmT+`Ds)#~)`GG}M~aPl{Y<&g4C|?mj)Yv9#JXOzD&_ zBVsUX{A@1zU~KtUZx8Fk-A(`Xw9@$(a06#W>fBo c&_n{ebBzDLjkMiCXk-kP?6s-{(ci`Y2b1LqwEzGB