From 6645a20b7a2374c2040ab9f9404295af31521e0e Mon Sep 17 00:00:00 2001
From: litsynp <nocte55is@gmail.com>
Date: Tue, 19 Dec 2023 23:41:25 +0900
Subject: [PATCH] chore: remove firebase UID field from user response

---
 cmd/server/handler/user_handler.go |  5 ++--
 cmd/server/main.go                 |  2 +-
 internal/domain/user/view.go       | 21 +++++++++++++-
 pkg/docs/docs.go                   | 45 +++++++++++++-----------------
 pkg/docs/swagger.json              | 42 ++++++++++++----------------
 pkg/docs/swagger.yaml              | 34 ++++++++++------------
 6 files changed, 76 insertions(+), 73 deletions(-)

diff --git a/cmd/server/handler/user_handler.go b/cmd/server/handler/user_handler.go
index e341a826..83d348ea 100644
--- a/cmd/server/handler/user_handler.go
+++ b/cmd/server/handler/user_handler.go
@@ -111,7 +111,7 @@ func (h *UserHandler) FindUserStatusByEmail(w http.ResponseWriter, r *http.Reque
 // @Tags users
 // @Produce  json
 // @Security FirebaseAuth
-// @Success 200 {object} user.FindUserResponse
+// @Success 200 {object} user.MyProfileResponse
 // @Router /users/me [get]
 func (h *UserHandler) FindMyProfile(w http.ResponseWriter, r *http.Request) {
 	res, err := h.authService.VerifyAuthAndGetUser(r.Context(), r.Header.Get("Authorization"))
@@ -120,7 +120,7 @@ func (h *UserHandler) FindMyProfile(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	commonviews.OK(w, nil, res)
+	commonviews.OK(w, nil, res.ToMyProfileResponse())
 }
 
 // UpdateMyProfile godoc
@@ -160,7 +160,6 @@ func (h *UserHandler) UpdateMyProfile(w http.ResponseWriter, r *http.Request) {
 		Fullname:             userModel.Fullname,
 		ProfileImageURL:      userModel.ProfileImageURL,
 		FirebaseProviderType: userModel.FirebaseProviderType,
-		FirebaseUID:          userModel.FirebaseUID,
 	})
 }
 
diff --git a/cmd/server/main.go b/cmd/server/main.go
index 6d026f9e..99795b51 100644
--- a/cmd/server/main.go
+++ b/cmd/server/main.go
@@ -11,7 +11,7 @@ import (
 )
 
 // @title 이웃집멍냥 API 문서
-// @version 0.5.0
+// @version 0.6.0
 // @description 이웃집멍냥 백엔드 API 문서입니다.
 // @termsOfService http://swagger.io/terms/
 
diff --git a/internal/domain/user/view.go b/internal/domain/user/view.go
index 5f825299..6c281dfa 100644
--- a/internal/domain/user/view.go
+++ b/internal/domain/user/view.go
@@ -29,6 +29,26 @@ type FindUserResponse struct {
 	FirebaseUID          string               `json:"fbUid"`
 }
 
+func (r *FindUserResponse) ToMyProfileResponse() *MyProfileResponse {
+	return &MyProfileResponse{
+		ID:                   r.ID,
+		Email:                r.Email,
+		Nickname:             r.Nickname,
+		Fullname:             r.Fullname,
+		ProfileImageURL:      r.ProfileImageURL,
+		FirebaseProviderType: r.FirebaseProviderType,
+	}
+}
+
+type MyProfileResponse struct {
+	ID                   int                  `json:"id"`
+	Email                string               `json:"email"`
+	Nickname             string               `json:"nickname"`
+	Fullname             string               `json:"fullname"`
+	ProfileImageURL      string               `json:"profileImageUrl"`
+	FirebaseProviderType FirebaseProviderType `json:"fbProviderType"`
+}
+
 type CheckNicknameRequest struct {
 	Nickname string `json:"nickname" validate:"required"`
 }
@@ -65,5 +85,4 @@ type UpdateUserResponse struct {
 	Fullname             string               `json:"fullname"`
 	ProfileImageURL      string               `json:"profileImageUrl"`
 	FirebaseProviderType FirebaseProviderType `json:"fbProviderType"`
-	FirebaseUID          string               `json:"fbUid"`
 }
diff --git a/pkg/docs/docs.go b/pkg/docs/docs.go
index 48d81c94..41b597a7 100644
--- a/pkg/docs/docs.go
+++ b/pkg/docs/docs.go
@@ -1,4 +1,5 @@
-// Package docs Code generated by swaggo/swag. DO NOT EDIT
+// Code generated by swaggo/swag. DO NOT EDIT.
+
 package docs
 
 import "github.com/swaggo/swag"
@@ -408,7 +409,7 @@ const docTemplate = `{
                     "200": {
                         "description": "OK",
                         "schema": {
-                            "$ref": "#/definitions/user.FindUserResponse"
+                            "$ref": "#/definitions/user.MyProfileResponse"
                         }
                     }
                 }
@@ -1132,7 +1133,22 @@ const docTemplate = `{
                 }
             }
         },
-        "user.FindUserResponse": {
+        "user.FirebaseProviderType": {
+            "type": "string",
+            "enum": [
+                "email",
+                "google",
+                "apple",
+                "kakao"
+            ],
+            "x-enum-varnames": [
+                "FirebaseProviderTypeEmail",
+                "FirebaseProviderTypeGoogle",
+                "FirebaseProviderTypeApple",
+                "FirebaseProviderTypeKakao"
+            ]
+        },
+        "user.MyProfileResponse": {
             "type": "object",
             "properties": {
                 "email": {
@@ -1141,9 +1157,6 @@ const docTemplate = `{
                 "fbProviderType": {
                     "$ref": "#/definitions/user.FirebaseProviderType"
                 },
-                "fbUid": {
-                    "type": "string"
-                },
                 "fullname": {
                     "type": "string"
                 },
@@ -1158,21 +1171,6 @@ const docTemplate = `{
                 }
             }
         },
-        "user.FirebaseProviderType": {
-            "type": "string",
-            "enum": [
-                "email",
-                "google",
-                "apple",
-                "kakao"
-            ],
-            "x-enum-varnames": [
-                "FirebaseProviderTypeEmail",
-                "FirebaseProviderTypeGoogle",
-                "FirebaseProviderTypeApple",
-                "FirebaseProviderTypeKakao"
-            ]
-        },
         "user.RegisterUserRequest": {
             "type": "object",
             "required": [
@@ -1250,9 +1248,6 @@ const docTemplate = `{
                 "fbProviderType": {
                     "$ref": "#/definitions/user.FirebaseProviderType"
                 },
-                "fbUid": {
-                    "type": "string"
-                },
                 "fullname": {
                     "type": "string"
                 },
@@ -1312,7 +1307,7 @@ const docTemplate = `{
 
 // SwaggerInfo holds exported Swagger Info so clients can modify it
 var SwaggerInfo = &swag.Spec{
-	Version:          "0.5.0",
+	Version:          "0.6.0",
 	Host:             "",
 	BasePath:         "/api",
 	Schemes:          []string{},
diff --git a/pkg/docs/swagger.json b/pkg/docs/swagger.json
index d2b1f02b..fb9b5c4e 100644
--- a/pkg/docs/swagger.json
+++ b/pkg/docs/swagger.json
@@ -12,7 +12,7 @@
             "name": "Apache 2.0",
             "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
         },
-        "version": "0.5.0"
+        "version": "0.6.0"
     },
     "basePath": "/api",
     "paths": {
@@ -401,7 +401,7 @@
                     "200": {
                         "description": "OK",
                         "schema": {
-                            "$ref": "#/definitions/user.FindUserResponse"
+                            "$ref": "#/definitions/user.MyProfileResponse"
                         }
                     }
                 }
@@ -1125,7 +1125,22 @@
                 }
             }
         },
-        "user.FindUserResponse": {
+        "user.FirebaseProviderType": {
+            "type": "string",
+            "enum": [
+                "email",
+                "google",
+                "apple",
+                "kakao"
+            ],
+            "x-enum-varnames": [
+                "FirebaseProviderTypeEmail",
+                "FirebaseProviderTypeGoogle",
+                "FirebaseProviderTypeApple",
+                "FirebaseProviderTypeKakao"
+            ]
+        },
+        "user.MyProfileResponse": {
             "type": "object",
             "properties": {
                 "email": {
@@ -1134,9 +1149,6 @@
                 "fbProviderType": {
                     "$ref": "#/definitions/user.FirebaseProviderType"
                 },
-                "fbUid": {
-                    "type": "string"
-                },
                 "fullname": {
                     "type": "string"
                 },
@@ -1151,21 +1163,6 @@
                 }
             }
         },
-        "user.FirebaseProviderType": {
-            "type": "string",
-            "enum": [
-                "email",
-                "google",
-                "apple",
-                "kakao"
-            ],
-            "x-enum-varnames": [
-                "FirebaseProviderTypeEmail",
-                "FirebaseProviderTypeGoogle",
-                "FirebaseProviderTypeApple",
-                "FirebaseProviderTypeKakao"
-            ]
-        },
         "user.RegisterUserRequest": {
             "type": "object",
             "required": [
@@ -1243,9 +1240,6 @@
                 "fbProviderType": {
                     "$ref": "#/definitions/user.FirebaseProviderType"
                 },
-                "fbUid": {
-                    "type": "string"
-                },
                 "fullname": {
                     "type": "string"
                 },
diff --git a/pkg/docs/swagger.yaml b/pkg/docs/swagger.yaml
index 16dd58d3..eb96f57f 100644
--- a/pkg/docs/swagger.yaml
+++ b/pkg/docs/swagger.yaml
@@ -387,14 +387,24 @@ definitions:
       isAvailable:
         type: boolean
     type: object
-  user.FindUserResponse:
+  user.FirebaseProviderType:
+    enum:
+    - email
+    - google
+    - apple
+    - kakao
+    type: string
+    x-enum-varnames:
+    - FirebaseProviderTypeEmail
+    - FirebaseProviderTypeGoogle
+    - FirebaseProviderTypeApple
+    - FirebaseProviderTypeKakao
+  user.MyProfileResponse:
     properties:
       email:
         type: string
       fbProviderType:
         $ref: '#/definitions/user.FirebaseProviderType'
-      fbUid:
-        type: string
       fullname:
         type: string
       id:
@@ -404,18 +414,6 @@ definitions:
       profileImageUrl:
         type: string
     type: object
-  user.FirebaseProviderType:
-    enum:
-    - email
-    - google
-    - apple
-    - kakao
-    type: string
-    x-enum-varnames:
-    - FirebaseProviderTypeEmail
-    - FirebaseProviderTypeGoogle
-    - FirebaseProviderTypeApple
-    - FirebaseProviderTypeKakao
   user.RegisterUserRequest:
     properties:
       email:
@@ -468,8 +466,6 @@ definitions:
         type: string
       fbProviderType:
         $ref: '#/definitions/user.FirebaseProviderType'
-      fbUid:
-        type: string
       fullname:
         type: string
       id:
@@ -511,7 +507,7 @@ info:
     url: http://www.apache.org/licenses/LICENSE-2.0.html
   termsOfService: http://swagger.io/terms/
   title: 이웃집멍냥 API 문서
-  version: 0.5.0
+  version: 0.6.0
 paths:
   /auth/callback/kakao:
     get:
@@ -754,7 +750,7 @@ paths:
         "200":
           description: OK
           schema:
-            $ref: '#/definitions/user.FindUserResponse'
+            $ref: '#/definitions/user.MyProfileResponse'
       security:
       - FirebaseAuth: []
       summary: 내 프로필 정보를 조회합니다.