From a372cf01783830a2401a37d81ee3b9e71a409fff Mon Sep 17 00:00:00 2001 From: Mir Arif Hasan Date: Fri, 23 Dec 2022 21:50:39 +0600 Subject: [PATCH] chore: addd seed for user-settings --- packages/hoppscotch-backend/package.json | 3 +- packages/hoppscotch-backend/prisma/seed.ts | 53 ++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 packages/hoppscotch-backend/prisma/seed.ts diff --git a/packages/hoppscotch-backend/package.json b/packages/hoppscotch-backend/package.json index 9c442dbfe..f7771df2c 100644 --- a/packages/hoppscotch-backend/package.json +++ b/packages/hoppscotch-backend/package.json @@ -18,7 +18,8 @@ "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", - "test:e2e": "jest --config ./test/jest-e2e.json" + "test:e2e": "jest --config ./test/jest-e2e.json", + "db-seed": "tsc prisma/seed.ts && cat prisma/seed.js | node --input-type=\"commonjs\" && rm prisma/seed.js" }, "dependencies": { "@nestjs/apollo": "^10.1.6", diff --git a/packages/hoppscotch-backend/prisma/seed.ts b/packages/hoppscotch-backend/prisma/seed.ts new file mode 100644 index 000000000..54a7d8da3 --- /dev/null +++ b/packages/hoppscotch-backend/prisma/seed.ts @@ -0,0 +1,53 @@ +import { PrismaClient, User, UserSettings } from '@prisma/client'; +const prisma = new PrismaClient(); + +const createUsers = async () => { + console.log(`users creating`); + let users: User[] = [ + { + uid: 'aabb22ccdd', + displayName: 'exampleUser', + photoURL: 'http://example.com/avatar', + email: 'me@example.com', + }, + ]; + await prisma.user.createMany({ + data: users, + skipDuplicates: true, + }); + console.log(`users created`); +}; + +const createUserSettings = async () => { + console.log(`user setting creating`); + let userSettings: any[] = [ + { + userUid: 'aabb22ccdd', + settings: { key: 'background', value: 'system' }, + }, + ]; + await prisma.userSettings.createMany({ + data: userSettings, + skipDuplicates: true, + }); + console.log(`user setting created`); +}; + +async function main() { + console.log(`Start seeding ...`); + + await createUsers(); + await createUserSettings(); + + console.log(`Seeding finished.`); +} + +main() + .then(async () => { + await prisma.$disconnect(); + }) + .catch(async (e) => { + console.error(e); + await prisma.$disconnect(); + process.exit(1); + });