From a6335760fc8e56d192f002eb0c3f26d1210d07a2 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Thu, 7 Aug 2025 11:03:44 +0000 Subject: (김준회) user email에 대문자 들어간 경우 401 받던 오류 처리 (toLowerCase 제거) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/users/repository.ts | 67 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 13 deletions(-) (limited to 'lib') diff --git a/lib/users/repository.ts b/lib/users/repository.ts index 75981b03..093ef716 100644 --- a/lib/users/repository.ts +++ b/lib/users/repository.ts @@ -18,23 +18,64 @@ export async function getRoleAssignedUsers(roleId: number) { return rows.map((r) => r.userId) // [1, 2, 5, ...] } -// ID로 사용자 조회 -export const getUserById = async (id: number): Promise => { - const usersRes = await db.select().from(users).where(eq(users.id, id)).execute(); - if (usersRes.length === 0) return null; - const user = usersRes[0]; +// ID로 사용자 조회 (기본적으로 활성 사용자만) +export const getUserById = async ( + id: number, + options: GetUserOptions = {} +): Promise => { + const { includeInactive = false } = options + + let whereCondition = eq(users.id, id) + + // 기본적으로 활성 사용자만 조회 + if (!includeInactive) { + whereCondition = and( + eq(users.id, id), + eq(users.isActive, true) + )! + } + + const usersRes = await db + .select() + .from(users) + .where(whereCondition) + .execute() + + if (usersRes.length === 0) return null + + const user = usersRes[0] return user -}; - -// Email로 사용자 조회 -export const getUserByEmail = async (email: string): Promise => { - const usersRes = await db.select().from(users).where(eq(users.email, email)).execute(); - if (usersRes.length === 0) return null; +} - const user = usersRes[0]; +// Email로 사용자 조회 (기본적으로 활성 사용자만) +export const getUserByEmail = async ( + email: string, + options: GetUserOptions = {} +): Promise => { + const { includeInactive = false } = options + + let whereCondition = eq(users.email, email) + + // 기본적으로 활성 사용자만 조회 + if (!includeInactive) { + whereCondition = and( + eq(users.email, email), + eq(users.isActive, true) + )! + } + + const usersRes = await db + .select() + .from(users) + .where(whereCondition) + .execute() + + if (usersRes.length === 0) return null + + const user = usersRes[0] return user -}; +} // 새 사용자 생성 -- cgit v1.2.3