From 24d91b97e3d8d75cddbc78b79a1b85168bc84746 Mon Sep 17 00:00:00 2001 From: taeyoung0524 Date: Wed, 13 Aug 2025 01:18:10 +0900 Subject: [PATCH 1/2] =?UTF-8?q?REFACTOR=20:=20=EB=82=98=EC=9D=98=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=ED=95=84=20=EC=A1=B0=ED=9A=8C=EC=97=90=20rev?= =?UTF-8?q?iewThumbnail=20=EC=A0=84=EB=8B=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/user/service/user.service.js | 60 ++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/src/user/service/user.service.js b/src/user/service/user.service.js index fbef300..2a5a803 100644 --- a/src/user/service/user.service.js +++ b/src/user/service/user.service.js @@ -131,6 +131,15 @@ export const UserService = { const reviews = (await UserRepository.UserReviewList(userId)) ?? []; + const reviewsThumbnailImage = await Promise.all( + reviews.map(async (r) => { + const images = await reviewRepository.getImagesByTarget("review", r.id); + const reviewThumbnail = images?.[0]?.imageUrl ?? null; + + return {...r, reviewThumbnail} + }) + ) + return { @@ -141,7 +150,7 @@ export const UserService = { profileImage:user.profileImage, description: user.description, badges, - reviews + reviews : reviewsThumbnailImage } } } @@ -361,36 +370,33 @@ export const UserService = { const reviews = await Promise.all( rawReviews.map(async (r) => { - - - - const start = r.request.inProgressAt ? new Date(r.request.inProgressAt) : null; - const end = r.request.completedAt ? new Date(r.request.completedAt) : null; + const start = r.request.inProgressAt ? new Date(r.request.inProgressAt) : null; + const end = r.request.completedAt ? new Date(r.request.completedAt) : null; - let workingTime = null; - if (start && end) { - const diffMs = end - start; - const hours = Math.floor(diffMs / (1000 * 60 * 60)); - workingTime = hours < 24 ? `${hours}시간` : `${Math.floor(hours / 24)}일`; - } + let workingTime = null; + if (start && end) { + const diffMs = end - start; + const hours = Math.floor(diffMs / (1000 * 60 * 60)); + workingTime = hours < 24 ? `${hours}시간` : `${Math.floor(hours / 24)}일`; + } - const images = await reviewRepository.getImagesByTarget('review', r.id); + const images = await reviewRepository.getImagesByTarget('review', r.id); - return { - id: r.id, - rate: r.rate, - content: r.content, - createdAt: r.createdAt, - commissionTitle: r.request.commission.title, - workingTime: workingTime, - review_thumbnail: images.length > 0 ? images[0] : null, - writer: { - nickname: r.user.nickname - }, - }; - }) - ); + return { + id: r.id, + rate: r.rate, + content: r.content, + createdAt: r.createdAt, + commissionTitle: r.request.commission.title, + workingTime: workingTime, + review_thumbnail: images.length > 0 ? images[0] : null, + writer: { + nickname: r.user.nickname + }, + }; + }) + ); // 작가가 등록한 커미션 목록 const commissions = await UserRepository.FetchArtistCommissions(artistId, userId); From 4ce06bbd4b9846e1b57e723bb346fc76214bc32e Mon Sep 17 00:00:00 2001 From: taeyoung0524 Date: Wed, 13 Aug 2025 09:46:20 +0900 Subject: [PATCH 2/2] =?UTF-8?q?FIX:=20=EC=B9=B4=EC=B9=B4=EC=98=A4=20callba?= =?UTF-8?q?ck=20url=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/auth.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/auth.config.js b/src/auth.config.js index f89c67f..bdec511 100644 --- a/src/auth.config.js +++ b/src/auth.config.js @@ -54,7 +54,7 @@ export const kakaoStrategy = new KakaoStrategy( { clientID: process.env.PASSPORT_KAKAO_CLIENT_ID, clientSecret: process.env.PASSPORT_KAKAO_CLIENT_SECRET, - callbackURL: `${process.env.BASE_URL}/api/users/oauth2/callback/google`, + callbackURL: `${process.env.BASE_URL}/api/users/oauth2/callback/kakao`, scope: undefined, state: true, },