From 74b55780c7a6457fabd7beb55a2eea058812cd33 Mon Sep 17 00:00:00 2001 From: Kyungeun Park <63892989+parkgang@users.noreply.github.com> Date: Fri, 17 Dec 2021 00:49:26 +0900 Subject: [PATCH] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90=20=EC=95=84?= =?UTF-8?q?=EB=B0=94=ED=83=80=20=EC=82=AC=EC=A7=84=EC=9D=98=20=EA=B2=BD?= =?UTF-8?q?=EC=9A=B0=20=EA=B3=A0=ED=99=94=EC=A7=88=EC=9D=98=20=EC=B9=B4?= =?UTF-8?q?=EC=B9=B4=EC=98=A4=ED=86=A1=20=ED=94=84=EB=A1=9C=ED=95=84=20?= =?UTF-8?q?=EC=82=AC=EC=A7=84=EC=9D=84=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD,=20k8s=20=EC=8A=A4?= =?UTF-8?q?=EC=BC=80=EC=9D=BC=20=EC=97=85=20(#31)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * formatter: 코드 인덴트 * up: 고화질의 프로필 사진을 저장할 수 있도록 저장하는 url 변경 * up: 고화질의 이미지 처리시 느려지는 현상을 파악하여 스케일 업 * up: api spec * up: 프로그램 버전 업 --- .github/workflows/aks-qa-deploy.yaml | 2 +- .github/workflows/aks-test-deploy.yaml | 2 +- docs/docs.go | 6 +++++- docs/swagger.json | 6 +++++- docs/swagger.yaml | 5 ++++- internal/app/entitys/kakao-talk-social.go | 3 ++- internal/app/handlers/users.go | 3 ++- internal/app/models/kakao-user-information.go | 1 + internal/pkg/project/project.go | 2 +- k8s/prod.yaml | 2 +- k8s/qa.yaml | 2 +- 11 files changed, 24 insertions(+), 10 deletions(-) diff --git a/.github/workflows/aks-qa-deploy.yaml b/.github/workflows/aks-qa-deploy.yaml index 47f68e6..e17f819 100644 --- a/.github/workflows/aks-qa-deploy.yaml +++ b/.github/workflows/aks-qa-deploy.yaml @@ -61,4 +61,4 @@ jobs: uses: rtCamp/action-slack-notify@v2 env: SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} - SLACK_MESSAGE: ${{ github.repository }}가 ${{ env.NAMESPACE }} 환경에 배포되었습니다 🚀 \ No newline at end of file + SLACK_MESSAGE: ${{ github.repository }}가 ${{ env.NAMESPACE }} 환경에 배포되었습니다 🚀 diff --git a/.github/workflows/aks-test-deploy.yaml b/.github/workflows/aks-test-deploy.yaml index 144f057..8f04411 100644 --- a/.github/workflows/aks-test-deploy.yaml +++ b/.github/workflows/aks-test-deploy.yaml @@ -63,4 +63,4 @@ jobs: uses: rtCamp/action-slack-notify@v2 env: SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} - SLACK_MESSAGE: ${{ github.repository }}가 ${{ env.NAMESPACE }} 환경에 배포되었습니다 🚀 \ No newline at end of file + SLACK_MESSAGE: ${{ github.repository }}가 ${{ env.NAMESPACE }} 환경에 배포되었습니다 🚀 diff --git a/docs/docs.go b/docs/docs.go index 04eacfb..55a6386 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -623,8 +623,12 @@ var doc = `{ "nickName": { "type": "string" }, + "profileImageUrl": { + "description": "카카오톡에 실제로 저장된 프로필 사진 (고화질), 이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다.", + "type": "string" + }, "thumbnailImageUrl": { - "description": "이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다.", + "description": "카카오톡에 저장된 프로필 사진 미리보기 (저화질), 이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다.", "type": "string" } } diff --git a/docs/swagger.json b/docs/swagger.json index f402c3d..6d86c40 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -603,8 +603,12 @@ "nickName": { "type": "string" }, + "profileImageUrl": { + "description": "카카오톡에 실제로 저장된 프로필 사진 (고화질), 이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다.", + "type": "string" + }, "thumbnailImageUrl": { - "description": "이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다.", + "description": "카카오톡에 저장된 프로필 사진 미리보기 (저화질), 이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다.", "type": "string" } } diff --git a/docs/swagger.yaml b/docs/swagger.yaml index d45bb1b..2ca442a 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -7,8 +7,11 @@ definitions: type: integer nickName: type: string + profileImageUrl: + description: 카카오톡에 실제로 저장된 프로필 사진 (고화질), 이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다. + type: string thumbnailImageUrl: - description: 이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다. + description: 카카오톡에 저장된 프로필 사진 미리보기 (저화질), 이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다. type: string type: object entitys.User: diff --git a/internal/app/entitys/kakao-talk-social.go b/internal/app/entitys/kakao-talk-social.go index 365fcbe..1621a04 100644 --- a/internal/app/entitys/kakao-talk-social.go +++ b/internal/app/entitys/kakao-talk-social.go @@ -4,5 +4,6 @@ type KakaoTalkSocial struct { Id uint `gorm:"primary_key;" json:"id"` Email string `gorm:"unique;not null;size:50;" json:"email"` NickName string `gorm:"not null;size:20;" json:"nickName"` - ThumbnailImageUrl string `gorm:"size:2083;" json:"thumbnailImageUrl"` // 이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다. + ProfileImageUrl string `gorm:"size:2083;" json:"profileImageUrl"` // 카카오톡에 실제로 저장된 프로필 사진 (고화질), 이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다. + ThumbnailImageUrl string `gorm:"size:2083;" json:"thumbnailImageUrl"` // 카카오톡에 저장된 프로필 사진 미리보기 (저화질), 이미지의 url을 저장하기 위한 최대 크기로 잡아놓았습니다. } diff --git a/internal/app/handlers/users.go b/internal/app/handlers/users.go index 99490a0..bdc3691 100644 --- a/internal/app/handlers/users.go +++ b/internal/app/handlers/users.go @@ -193,6 +193,7 @@ func UserKakaoLoginCallBack(c *gin.Context) { Id: kakaoUserInformation.Id, Email: kakaoUserInformation.KakaoAccount.Email, NickName: kakaoUserInformation.KakaoAccount.Profile.Nickname, + ProfileImageUrl: kakaoUserInformation.KakaoAccount.Profile.ProfileImageUrl, ThumbnailImageUrl: kakaoUserInformation.KakaoAccount.Profile.ThumbnailImageUrl, } if err := orm.Client.Create(&kakaoTalkSocial).Error; err != nil { @@ -203,7 +204,7 @@ func UserKakaoLoginCallBack(c *gin.Context) { } // kakao 프로필 사진 바이너리로 전환 - url := kakaoTalkSocial.ThumbnailImageUrl + url := kakaoTalkSocial.ProfileImageUrl res, err := http.Get(url) if err != nil { c.JSON(http.StatusInternalServerError, models.ErrResponse{ diff --git a/internal/app/models/kakao-user-information.go b/internal/app/models/kakao-user-information.go index 2d3c775..7a71ea5 100644 --- a/internal/app/models/kakao-user-information.go +++ b/internal/app/models/kakao-user-information.go @@ -11,6 +11,7 @@ type kakaoAccount struct { Profile profile `json:"profile"` } +// 프로필 사진의 경우 kakao_account.profile 과 properties 2곳에서 조회가 가능한데 가장 fresh한 데이터는 kakao_account.profile 에 존재합니다. properties 에서 프로필 사진 사용시 이전 프로필 사진이 사용될 수 있습니다. type profile struct { Nickname string `json:"nickname"` ProfileImageUrl string `json:"profile_image_url"` diff --git a/internal/pkg/project/project.go b/internal/pkg/project/project.go index 35222a8..2f9220f 100644 --- a/internal/pkg/project/project.go +++ b/internal/pkg/project/project.go @@ -2,5 +2,5 @@ package project const ( AppName string = "oauth-server" - AppVersion string = "1.0.0" + AppVersion string = "1.1.0" ) diff --git a/k8s/prod.yaml b/k8s/prod.yaml index 8d8d5a1..b0e5b23 100644 --- a/k8s/prod.yaml +++ b/k8s/prod.yaml @@ -32,7 +32,7 @@ spec: cpu: 5m memory: 100Mi limits: - cpu: 5m + cpu: 100m memory: 100Mi env: - name: STAGES diff --git a/k8s/qa.yaml b/k8s/qa.yaml index 2f49787..2579a2c 100644 --- a/k8s/qa.yaml +++ b/k8s/qa.yaml @@ -32,7 +32,7 @@ spec: cpu: 5m memory: 100Mi limits: - cpu: 5m + cpu: 100m memory: 100Mi env: - name: STAGES