import prisma from '../utilities/prisma' // Import the global Prisma instance import { User } from '@prisma/client' import { appLogger } from '../utilities/logger' class UserRepository { async getById(id: number): Promise { try { return await prisma.user.findUnique({ where: { id } }) } catch (error: any) { // Handle error appLogger.error(`Failed to get user by ID: ${error instanceof Error ? error.message : String(error)}`) return null } } async getByUsername(username: string): Promise { try { return await prisma.user.findUnique({ where: { username } }) } catch (error: any) { // Handle error appLogger.error(`Failed to get user by username: ${error instanceof Error ? error.message : String(error)}`) return null } } async getByEmail(email: string): Promise { try { return await prisma.user.findUnique({ where: { email } }) } catch (error: any) { // Handle error appLogger.error(`Failed to get user by email: ${error instanceof Error ? error.message : String(error)}`) return null } } } export default new UserRepository()