74 lines
1.5 KiB
TypeScript

import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function createUsers() {
const users = await prisma.user.createMany({
data: [
{
name: 'Alice',
email: 'alice@example.com',
currency: 'USD',
},
{
name: 'Bob',
email: 'bob@example.com',
currency: 'EUR',
},
{
name: 'Charlie',
email: 'charlie@example.com',
currency: 'GBP',
},
{
name: 'Diana',
email: 'diana@example.com',
currency: 'JPY',
},
{
name: 'Evan',
email: 'evan@example.com',
currency: 'CNY',
},
],
});
return prisma.user.findMany();
}
async function createGroups() {
// Assuming Alice creates a group and adds Bob and Charlie
const users = await prisma.user.findMany();
if (users.length) {
const group = await prisma.group.create({
data: {
name: 'Holiday Trip',
publicId: 'holiday-trip-123',
defaultCurrency: 'USD',
createdBy: { connect: { id: users[0]?.id } },
},
});
await prisma.groupUser.createMany({
data: users.map((u) => ({ groupId: group.id, userId: u.id })),
});
console.log('Group created and users added');
}
}
async function main() {
await createUsers();
await createGroups();
}
main()
.catch((e) => {
console.error(e);
process.exit(1);
})
.finally(() => {
prisma.$disconnect().catch(console.log);
});