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";
|
2023-04-09 12:26:48 +00:00
|
|
|
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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
|