You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.2 KiB
TypeScript

import { NextResponse } from 'next/server';
import { prisma } from '@/lib/prisma';
import bcrypt from 'bcryptjs';
export async function GET() {
try {
const defaultPassword = await bcrypt.hash('password123', 10);
// Create an Admin user
const adminUser = await prisma.user.upsert({
where: { email: 'admin@tam-finance.com' },
update: {},
create: {
name: 'TAM Admin',
email: 'admin@tam-finance.com',
role: 'ADMIN',
department: 'Operations',
password: defaultPassword,
},
});
// Create a regular worker
const workerUser = await prisma.user.upsert({
where: { email: 'worker@tam-finance.com' },
update: {},
create: {
name: 'John Doe',
email: 'worker@tam-finance.com',
role: 'WORKER',
department: 'Engineering',
password: defaultPassword,
},
});
return NextResponse.json({
message: 'Database specifically seeded for TAM Finance',
adminUser,
workerUser
});
} catch (error) {
console.error('Failed to seed the database', error);
return NextResponse.json({ error: 'Failed to seed database' }, { status: 500 });
}
}