From 05b6ba7a71dde197b4e97779dbc7e25833b73d7e Mon Sep 17 00:00:00 2001 From: user040131 Date: Wed, 11 Feb 2026 04:03:34 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20weeklyReport=EA=B0=80=20=EC=97=86?= =?UTF-8?q?=EC=9D=84=20=EB=95=8C=20=EB=B9=88=20=EA=B0=92=EC=9D=84=20?= =?UTF-8?q?=EC=A0=95=EC=83=81=20=EB=B0=98=ED=99=98=ED=95=98=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/weeklyReport.service.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/services/weeklyReport.service.js b/src/services/weeklyReport.service.js index f77ab4b..6b8d2c6 100644 --- a/src/services/weeklyReport.service.js +++ b/src/services/weeklyReport.service.js @@ -274,9 +274,8 @@ export const readWeeklyReport = async (userId) => { try { const weeklyReport = await findWeeklyReportByUserIdAndDate(userId); if (!weeklyReport) { - throw new WeeklyReportNotFoundError(undefined, undefined, userId); + return { data: {} }; } - const keywords = await findWeeklyReportKeywordByReportId(weeklyReport.id); const highlights = await findWeeklyReportHighlightByRId(weeklyReport.id); const emotionsRaw = await findWeeklyReportEmotionByRId(weeklyReport.id); @@ -376,9 +375,6 @@ export const readWeeklyReport = async (userId) => { }, }; } catch (error) { - if (error?.code === "P2025") { - throw new WeeklyReportNotFoundError(undefined, undefined, userId); - } throw new WeeklyReportInternalError(undefined, undefined, { reason: error.message, action: "READ_WEEKLY_REPORT", From 6521363eeefd6caad15b4cce13f631ca66cf4dfc Mon Sep 17 00:00:00 2001 From: pumisj Date: Thu, 12 Feb 2026 12:01:18 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=EC=B9=9C=EA=B5=AC=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=EC=8B=9C=20=ED=94=84=EB=A1=9C=ED=95=84=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=20=EC=B6=94=EA=B0=80=20(#184)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/repositories/friend.repository.js | 8 ++++++-- src/repositories/user.repository.js | 1 + src/services/friend.service.js | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/repositories/friend.repository.js b/src/repositories/friend.repository.js index 21b806c..cc1f01e 100644 --- a/src/repositories/friend.repository.js +++ b/src/repositories/friend.repository.js @@ -6,6 +6,7 @@ import { selectRecentLetterByUserIds, selectLetterDesignByLetterId, } from "./letter.repository.js"; +import { findUserByIdForProfile } from "./user.repository.js"; export async function userExistsFriendRequest(receiverUserId, requesterUserId) { return await prisma.FriendRequest.findFirst({ @@ -209,9 +210,10 @@ export async function selectAllFriendsByUserId(userId) { // 친구별 메타(편지수 + 최근편지 + 디자인) 캐싱 const letterMetaEntries = await Promise.all( uniqueFriendIds.map(async (fid) => { - const [letterCount, recentLetter] = await Promise.all([ + const [letterCount, recentLetter, profile] = await Promise.all([ selectLetterByUserIds(userId, fid), // letterCount 반환한다고 가정 selectRecentLetterByUserIds(userId, fid), // { id, createdAt } 반환한다고 가정 + findUserByIdForProfile(fid) ]); if (!recentLetter) { @@ -220,6 +222,7 @@ export async function selectAllFriendsByUserId(userId) { { letterCount, recentLetter: null, + profileImageUrl: profile.profileImageUrl }, ]; } @@ -234,11 +237,11 @@ export async function selectAllFriendsByUserId(userId) { createdAt: recentLetter.createdAt ?? null, design, }, + profileImageUrl: profile.profileImageUrl }, ]; }) ); - const letterMetaByFriendId = new Map(letterMetaEntries); return rows.map((r) => { @@ -252,6 +255,7 @@ export async function selectAllFriendsByUserId(userId) { id: r.id, friendUserId, nickname: nicknameById.get(friendUserId) ?? null, + profileImageUrl: letterMeta.profileImageUrl, letterCount: letterMeta.letterCount, recentLetter: letterMeta.recentLetter, // null | { createdAt, letterPaperDesign, letterStampDesign } }; diff --git a/src/repositories/user.repository.js b/src/repositories/user.repository.js index 8962762..3b6f051 100644 --- a/src/repositories/user.repository.js +++ b/src/repositories/user.repository.js @@ -791,6 +791,7 @@ export const findPolicyDocumentByKey = async (key) => { // ========== Profile Repository ========== export const findUserByIdForProfile = async (userId) => { + console.log("==================이게 왜 문제야====================="); return prisma.user.findUnique({ where: { id: userId }, select: { diff --git a/src/services/friend.service.js b/src/services/friend.service.js index 80aff91..b023c01 100644 --- a/src/services/friend.service.js +++ b/src/services/friend.service.js @@ -106,7 +106,7 @@ export const postFriendRequest = async (userId, targetUserId, sessionId) => { // 2) 친구 목록 조회 export const getFriendsList = async (userId) => { await userExistsOrThrow(userId); - + try { const friendsList = await selectAllFriendsByUserId(userId); if (friendsList.length === 0) { From 6015955cda043b0a2aa0342e7b8593251075e48d Mon Sep 17 00:00:00 2001 From: pumisj Date: Thu, 12 Feb 2026 12:06:58 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=EB=82=98=EC=97=90=EA=B2=8C=20?= =?UTF-8?q?=ED=8E=B8=EC=A7=80=20=EC=A1=B0=ED=9A=8C=20=ED=8E=B8=EC=A7=80=20?= =?UTF-8?q?=ED=83=80=EC=9E=85=20=EB=B3=80=EA=B2=BD=20(#184)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/user.util.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/user.util.js b/src/utils/user.util.js index 2743fe6..7bd17c2 100644 --- a/src/utils/user.util.js +++ b/src/utils/user.util.js @@ -4,7 +4,7 @@ export const ALLOWED_JOBS = new Set(["WORKER", "STUDENT", "HOUSEWIFE", "FREELANC export const toIntArray = (arr) => arr.map((v) => Number(v)); export const LETTER_TYPE_ANON = "TO_OTHER"; -export const LETTER_TYPE_SELF = "SELF"; +export const LETTER_TYPE_SELF = "TO_ME"; export const makePreview = (text, maxLen = 30) => { if (!text) return "";