Files
sign/packages/prisma/seed.ts

62 lines
53 KiB
TypeScript
Raw Normal View History

2023-04-04 22:02:32 +00:00
import { coloredConsole } from "@documenso/lib";
2023-01-11 11:44:35 +01:00
import { hashPassword } from "@documenso/lib/auth";
2023-04-04 22:02:32 +00:00
import prisma from "@documenso/prisma";
2023-01-11 11:44:35 +01:00
import { IdentityProvider } from "@prisma/client";
async function createUser(userData: { email: string; password: string }) {
try {
2023-04-04 13:45:24 +02:00
const user = await prisma.user.create({
2023-01-11 11:44:35 +01:00
data: {
email: userData.email,
password: userData.password,
identityProvider: IdentityProvider.DOCUMENSO,
},
});
2023-04-04 13:45:24 +02:00
return user;
2023-01-11 11:44:35 +01:00
} catch (error) {
2023-04-04 22:10:30 +00:00
console.info(
`WARN: Could not create user "${userData.email}". Maybe the email is already taken?`
);
2023-01-11 11:44:35 +01:00
}
}
async function main() {
2023-04-04 13:45:24 +02:00
console.info("Start seeding...");
const password = "123456789";
const email = "example@documenso.com";
2023-04-04 13:45:24 +02:00
const user = await createUser({
email: email,
password: await hashPassword(password),
});
if (!user) return;
console.log(`Created user '${user.email}' with password: ${password}`);
const document = await prisma.document.create({
data: {
title: "Open Source Waiver (Example PDF)",
userId: user?.id,
document: examplePDF,
},
2023-01-11 11:44:35 +01:00
});
2023-04-04 13:45:24 +02:00
if (document) console.log(`Created example pdf for user '${user.email}'`);
2023-01-11 11:44:35 +01:00
}
main()
.then(() => {
coloredConsole.setupColoredConsole();
2023-04-04 13:45:24 +02:00
console.info("Finished seeding 🌱");
2023-01-11 11:44:35 +01:00
})
.catch((e) => {
console.error(e);
process.exit(1);
})
.finally(async () => {
await prisma.$disconnect();
});
2023-04-04 13:45:24 +02:00
const examplePDF =
"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