Files
wedding-planner/app/api/setup/route.ts

29 lines
857 B
TypeScript

import { NextRequest, NextResponse } from 'next/server';
import { prisma } from '@/lib/prisma';
import bcrypt from 'bcrypt';
export async function POST(req: NextRequest) {
const { email, username, password, role } = await req.json();
const existingUsername = await prisma.user.findUnique({
where: { username },
})
if (existingUsername) {
return new NextResponse('Username already taken', { status: 400 })
}
const existing = await prisma.user.findUnique({ where: { email }});
if (existing) return new NextResponse('User already exists', { status: 400 });
const hashed = await bcrypt.hash(password, 10);
const user = await prisma.user.create({
data: {
email,
username,
password: hashed,
role
}
});
return NextResponse.json(user)
}