From b84621f9b2b7161a5ad4f0b194264e9df3e65dbf Mon Sep 17 00:00:00 2001 From: dujinkim Date: Tue, 8 Jul 2025 11:23:40 +0000 Subject: (대표님) 20250708 미반영분 커밋 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/users/service.ts | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'lib/users') diff --git a/lib/users/service.ts b/lib/users/service.ts index 9671abfb..e32d450e 100644 --- a/lib/users/service.ts +++ b/lib/users/service.ts @@ -4,7 +4,7 @@ import { Otp } from '@/types/user'; import { getAllUsers, createUser, getUserById, updateUser, deleteUser, getUserByEmail, createOtp,getOtpByEmailAndToken, updateOtp, findOtpByEmail ,getOtpByEmailAndCode, findAllRoles, getRoleAssignedUsers} from './repository'; import logger from '@/lib/logger'; -import { Role, userRoles, users, userView, type User } from '@/db/schema/users'; +import { Role, roles, userRoles, users, userView, type User } from '@/db/schema/users'; import { saveDocument } from '../storage'; import { GetSimpleUsersSchema, GetUsersSchema } from '../admin-users/validations'; import { revalidatePath, revalidateTag, unstable_cache, unstable_noStore } from 'next/cache'; @@ -748,4 +748,22 @@ export async function getPendingUsers() { data: [] } } -} \ No newline at end of file +} + +// ✅ Role 정보 조회 함수 추가 +export async function getUserRoles(userId: number): Promise { + try { + const userWithRoles = await db + .select({ + roleName: roles.name, + }) + .from(userRoles) + .innerJoin(roles, eq(userRoles.roleId, roles.id)) + .where(eq(userRoles.userId, userId)) + + return userWithRoles.map(r => r.roleName) + } catch (error) { + console.error('Error fetching user roles:', error) + return [] + } +} -- cgit v1.2.3