mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-02-16 18:52:06 +00:00
40 lines
903 B
TypeScript
40 lines
903 B
TypeScript
import { hashPassword } from '@/config/auth/passwordFns';
|
|
import DBClient from '@/prisma/DBClient';
|
|
import { z } from 'zod';
|
|
import CreateUserValidationSchema from './schema/CreateUserValidationSchema';
|
|
import GetUserSchema from './schema/GetUserSchema';
|
|
|
|
const createNewUser = async ({
|
|
email,
|
|
password,
|
|
firstName,
|
|
lastName,
|
|
dateOfBirth,
|
|
username,
|
|
}: z.infer<typeof CreateUserValidationSchema>) => {
|
|
const hash = await hashPassword(password);
|
|
const user: z.infer<typeof GetUserSchema> = await DBClient.instance.user.create({
|
|
data: {
|
|
username,
|
|
email,
|
|
hash,
|
|
firstName,
|
|
lastName,
|
|
dateOfBirth: new Date(dateOfBirth),
|
|
},
|
|
select: {
|
|
id: true,
|
|
username: true,
|
|
email: true,
|
|
firstName: true,
|
|
lastName: true,
|
|
dateOfBirth: true,
|
|
createdAt: true,
|
|
},
|
|
});
|
|
|
|
return user;
|
|
};
|
|
|
|
export default createNewUser;
|