summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/users/repository.ts67
1 files changed, 54 insertions, 13 deletions
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<User | null> => {
- 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<User | null> => {
+ 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<User | null> => {
- 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<User | null> => {
+ 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
-};
+}
// 새 사용자 생성