22 lines
601 B
TypeScript
22 lines
601 B
TypeScript
import bcrypt from "bcryptjs";
|
|
import { userRepo } from "@/server/repositories/user.repo";
|
|
|
|
export const authService = {
|
|
async register(data: { name: string; email: string; password: string }) {
|
|
const existing = await userRepo.findByEmail(data.email);
|
|
if (existing) {
|
|
throw new Error("Email sudah terdaftar");
|
|
}
|
|
|
|
const hashedPassword = await bcrypt.hash(data.password, 12);
|
|
|
|
const user = await userRepo.create({
|
|
name: data.name,
|
|
email: data.email,
|
|
password: hashedPassword,
|
|
});
|
|
|
|
return { id: user.id, name: user.name, email: user.email };
|
|
},
|
|
};
|