import bcrypt from "bcryptjs"; import prisma from "../helpers/prisma"; import UserRepository from "../repositories/User"; class UserService { async createUser(username: string, password: string): Promise { try { const hashedPassword = await bcrypt.hash(password, 10); await prisma.user.create({ data: { username, password: hashedPassword, }, }); } catch (error) { // Handle error throw new Error(`Failed to create user: ${error.message}`); } } async validateUserCredentials(username: string, password: string): Promise { try { const user = await UserRepository.getByUsername(username); if (!user) return false; return bcrypt.compareSync(password, user.password); } catch (error) { // Handle error throw new Error(`Failed to validate user credentials: ${error.message}`); } } } export default new UserService;