diff options
author | xAlpharax <42233094+xAlpharax@users.noreply.github.com> | 2023-12-10 08:39:32 +0200 |
---|---|---|
committer | xAlpharax <42233094+xAlpharax@users.noreply.github.com> | 2023-12-10 08:39:32 +0200 |
commit | 84913b0c5645071615cc113011d5696548905ef9 (patch) | |
tree | 2d9781cce31f73cb31d779fdc2f5a5fc9b92c95d /backend/populate_prisma.js | |
parent | ccbbd775a921f92e5472ccf53317d9e31bd9152d (diff) |
Merged the front-end and back-end dev environments into master.
Massive W for the team. Full Google Auth + other Prisma quirks and functionalities.
Changes to be committed:
new file: .gitattributes
new file: backend/index.js
new file: backend/login_pages/index.js
new file: backend/package-lock.json
new file: backend/package.json
new file: backend/populate_prisma.js
new file: backend/prisma/schema.prisma
new file: backend/views/pages/auth.ejs
new file: backend/views/pages/success.ejs
new file: frontend/README.md
new file: frontend/package-lock.json
new file: frontend/package.json
new file: frontend/public/favicon.ico
new file: frontend/public/index.html
new file: frontend/public/logo192.png
new file: frontend/public/logo1922.png
new file: frontend/public/logo512.png
new file: frontend/public/manifest.json
new file: frontend/public/robots.txt
new file: frontend/src/App.css
new file: frontend/src/App.js
new file: frontend/src/App.test.js
new file: frontend/src/Footer.css
new file: frontend/src/Footer.js
new file: frontend/src/components/Navbar.js
new file: frontend/src/components/NavbarElements.js
new file: frontend/src/components/logo192.png
new file: frontend/src/index.css
new file: frontend/src/index.js
new file: frontend/src/logo.svg
new file: frontend/src/pages/about.js
new file: frontend/src/pages/contact.css
new file: frontend/src/pages/contact.js
new file: frontend/src/pages/courses.css
new file: frontend/src/pages/courses.js
new file: frontend/src/pages/index.css
new file: frontend/src/pages/index.js
new file: frontend/src/reportWebVitals.js
new file: frontend/src/setupTests.js
Diffstat (limited to 'backend/populate_prisma.js')
-rw-r--r-- | backend/populate_prisma.js | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/backend/populate_prisma.js b/backend/populate_prisma.js new file mode 100644 index 0000000..a1e974b --- /dev/null +++ b/backend/populate_prisma.js @@ -0,0 +1,112 @@ +const { PrismaClient } = require('@prisma/client'); +const prisma = new PrismaClient(); + +async function seedDatabase() { + // Insert users + const user1 = await prisma.user.create({ + data: { + user_data: { + create: { + total_seconds: 1000, + total_articles: 5, + }, + }, + email: 'user1@example.com', + password: 'hashedPassword1', + username: 'user1', + }, + }); + + const user2 = await prisma.user.create({ + data: { + user_data: { + create: { + total_seconds: 2000, + total_articles: 10, + }, + }, + email: 'user2@example.com', + password: 'hashedPassword2', + username: 'user2', + }, + }); + + // Insert tags + const tag1 = await prisma.tag.create({ + data: { + name: 'Tag1', + }, + }); + + const tag2 = await prisma.tag.create({ + data: { + name: 'Tag2', + }, + }); + + // Insert courses + const course1 = await prisma.course.create({ + data: { + title: 'Course 1', + description: 'Description 1', + author: { + connect: { id: user1.id }, + }, + tags: ['Tag1', 'Tag2'], + }, + }); + + const course2 = await prisma.course.create({ + data: { + title: 'Course 2', + description: 'Description 2', + author: { + connect: { id: user2.id }, + }, + tags: ['Tag1'], + }, + }); + + // Insert course data + const courseData1 = await prisma.course_data.create({ + data: { + total_readers: 50, + course: { + connect: { id: course1.id }, + }, + }, + }); + + const courseData2 = await prisma.course_data.create({ + data: { + total_readers: 30, + course: { + connect: { id: course2.id }, + }, + }, + }); + + // Insert course feedback + await prisma.course_feedback.create({ + data: { + feedback_value: 4, + feedback_text: 'Good course!', + course: { + connect: { id: course1.id }, + }, + author: { + connect: { id: user1.id }, + }, + }, + }); + + console.log('Data seeding completed.'); +} + +seedDatabase() + .catch((error) => { + throw error; + }) + .finally(async () => { + await prisma.$disconnect(); + }); |