From 84913b0c5645071615cc113011d5696548905ef9 Mon Sep 17 00:00:00 2001 From: xAlpharax <42233094+xAlpharax@users.noreply.github.com> Date: Sun, 10 Dec 2023 08:39:32 +0200 Subject: 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 --- backend/populate_prisma.js | 112 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 backend/populate_prisma.js (limited to 'backend/populate_prisma.js') 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(); + }); -- cgit v1.2.3