import { PrismaClient } from '@prisma/client'; import { User } from '../../src/types/auth'; const prisma = new PrismaClient(); export const userService = { getUsers: async (): Promise => { try { const users = await prisma.user.findMany({ select: { id: true, email: true, displayName: true, permissions: true } }); return users as User[]; } catch (error) { console.error('Error fetching users:', error); throw new Error('Failed to fetch users'); } }, updateUserPermissions: async (userId: string, permissions: User['permissions']): Promise => { try { const updatedUser = await prisma.user.update({ where: { id: userId }, data: { permissions: permissions as any }, select: { id: true, email: true, displayName: true, permissions: true } }); return updatedUser as User; } catch (error) { console.error('Error updating user permissions:', error); throw new Error('Failed to update user permissions'); } } };