mirror of
https://github.com/lukevella/rallly.git
synced 2025-07-26 12:47:55 +02:00
77 lines
1.3 KiB
TypeScript
77 lines
1.3 KiB
TypeScript
import { prisma } from "@rallly/database";
|
|
|
|
async function createUser({
|
|
id,
|
|
name,
|
|
email,
|
|
timeZone,
|
|
space,
|
|
}: {
|
|
id: string;
|
|
name: string;
|
|
email: string;
|
|
timeZone: string;
|
|
space: {
|
|
id: string;
|
|
name: string;
|
|
};
|
|
}) {
|
|
const user = await prisma.user.create({
|
|
data: {
|
|
id,
|
|
name,
|
|
email,
|
|
timeZone,
|
|
spaces: {
|
|
create: space,
|
|
},
|
|
},
|
|
});
|
|
|
|
await prisma.spaceMember.create({
|
|
data: {
|
|
spaceId: space.id,
|
|
userId: id,
|
|
role: "OWNER",
|
|
},
|
|
});
|
|
|
|
await prisma.user.update({
|
|
where: { id },
|
|
data: {
|
|
activeSpaceId: space.id,
|
|
},
|
|
});
|
|
|
|
return user;
|
|
}
|
|
|
|
export async function seedUsers() {
|
|
console.info("Seeding users...");
|
|
const freeUser = await createUser({
|
|
id: "free-user",
|
|
name: "Dev User",
|
|
email: "dev@rallly.co",
|
|
timeZone: "America/New_York",
|
|
space: {
|
|
id: "space-1",
|
|
name: "Personal",
|
|
},
|
|
});
|
|
|
|
const proUser = await createUser({
|
|
id: "pro-user",
|
|
name: "Pro User",
|
|
email: "dev+pro@rallly.co",
|
|
timeZone: "America/New_York",
|
|
space: {
|
|
id: "space-2",
|
|
name: "Personal",
|
|
},
|
|
});
|
|
|
|
console.info(`✓ Seeded user ${freeUser.email}`);
|
|
console.info(`✓ Seeded user ${proUser.email}`);
|
|
|
|
return [freeUser, proUser];
|
|
}
|