|
1 | 1 | import prisma from "@/server/utils/prisma"
|
2 |
| -import bcrypt from "bcrypt" |
| 2 | +import bcrypt from "bcryptjs" |
3 | 3 |
|
4 | 4 | export enum Role {
|
5 |
| - USER = 0, |
6 |
| - ADMIN = 1, |
7 |
| - SUPERADMIN = 2 |
| 5 | + USER = 0, |
| 6 | + ADMIN = 1, |
| 7 | + SUPERADMIN = 2 |
8 | 8 | }
|
9 | 9 |
|
10 | 10 | const signUp = async (name: string, email: string, password: string) => {
|
11 |
| - if (!name || !password) { |
12 |
| - throw createError({ |
13 |
| - statusCode: 400, |
14 |
| - statusMessage: 'Name and password cannot be empty' |
15 |
| - }) |
16 |
| - } |
17 |
| - |
18 |
| - const exist = await prisma.user.count({ where: { name: name } }) > 0 |
19 |
| - if (exist) { |
20 |
| - throw createError({ |
21 |
| - statusCode: 409, |
22 |
| - statusMessage: `User ${name} already exist` |
23 |
| - }) |
24 |
| - } |
| 11 | + if (!name || !password) { |
| 12 | + throw createError({ |
| 13 | + statusCode: 400, |
| 14 | + statusMessage: 'Name and password cannot be empty' |
| 15 | + }) |
| 16 | + } |
25 | 17 |
|
26 |
| - const hashedPassword = await bcrypt.hash(password, 10) |
27 |
| - return await prisma.user.create({ |
28 |
| - data: { |
29 |
| - name, |
30 |
| - email, |
31 |
| - password: hashedPassword, |
32 |
| - role: process.env.SUPER_ADMIN_NAME === name ? Role.SUPERADMIN : Role.USER |
| 18 | + const exist = await prisma.user.count({ where: { name: name } }) > 0 |
| 19 | + if (exist) { |
| 20 | + throw createError({ |
| 21 | + statusCode: 409, |
| 22 | + statusMessage: `User ${name} already exist` |
| 23 | + }) |
33 | 24 | }
|
34 |
| - }) |
| 25 | + |
| 26 | + const hashedPassword = await bcrypt.hash(password, 10) |
| 27 | + return await prisma.user.create({ |
| 28 | + data: { |
| 29 | + name, |
| 30 | + email, |
| 31 | + password: hashedPassword, |
| 32 | + role: process.env.SUPER_ADMIN_NAME === name ? Role.SUPERADMIN : Role.USER |
| 33 | + } |
| 34 | + }) |
35 | 35 | }
|
36 | 36 |
|
37 | 37 | export default defineEventHandler(async (event) => {
|
38 |
| - const { name, email, password } = await readBody(event) |
39 |
| - try { |
40 |
| - const result = await signUp(name, email, password) |
41 |
| - return { |
42 |
| - status: "success", |
43 |
| - user: { |
44 |
| - id: result?.id |
45 |
| - } |
| 38 | + const { name, email, password } = await readBody(event) |
| 39 | + try { |
| 40 | + const result = await signUp(name, email, password) |
| 41 | + return { |
| 42 | + status: "success", |
| 43 | + user: { |
| 44 | + id: result?.id |
| 45 | + } |
| 46 | + } |
| 47 | + } catch (error) { |
| 48 | + throw error |
46 | 49 | }
|
47 |
| - } catch (error) { |
48 |
| - throw error |
49 |
| - } |
50 | 50 | })
|
0 commit comments