summaryrefslogtreecommitdiff
path: root/backend/prisma/schema.prisma
diff options
context:
space:
mode:
authorxAlpharax <42233094+xAlpharax@users.noreply.github.com>2023-12-10 08:39:32 +0200
committerxAlpharax <42233094+xAlpharax@users.noreply.github.com>2023-12-10 08:39:32 +0200
commit84913b0c5645071615cc113011d5696548905ef9 (patch)
tree2d9781cce31f73cb31d779fdc2f5a5fc9b92c95d /backend/prisma/schema.prisma
parentccbbd775a921f92e5472ccf53317d9e31bd9152d (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/prisma/schema.prisma')
-rw-r--r--backend/prisma/schema.prisma63
1 files changed, 63 insertions, 0 deletions
diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma
new file mode 100644
index 0000000..2e06698
--- /dev/null
+++ b/backend/prisma/schema.prisma
@@ -0,0 +1,63 @@
+// This is your Prisma schema file,
+// learn more about it in the docs: https://pris.ly/d/prisma-schema
+
+generator client {
+ provider = "prisma-client-js"
+}
+
+datasource db {
+ provider = "mysql"
+ url = env("DATABASE_URL")
+}
+
+model user {
+ id Int @id @default(autoincrement())
+ user_data_id Int @unique
+ email String @unique
+ password String
+ username String @unique
+ user_data user_data @relation(fields: [user_data_id], references: [id])
+ course course?
+ course_feedback course_feedback[]
+}
+
+model tag {
+ id Int @id @default(autoincrement())
+ name String @unique
+}
+
+model course {
+ id Int @id @default(autoincrement())
+ title String @unique
+ description String @unique
+ author_id Int @unique
+ author user @relation(fields: [author_id], references: [id])
+ tags Json
+ course_feedback course_feedback[]
+
+ course_data course_data[]
+}
+
+model user_data {
+ id Int @id @default(autoincrement())
+ total_seconds Int
+ total_articles Int
+ user user?
+}
+
+model course_data {
+ id Int @id @default(autoincrement())
+ total_readers Int
+ course course? @relation(fields: [courseId], references: [id])
+ courseId Int?
+}
+
+model course_feedback {
+ id Int @id @default(autoincrement())
+ feedback_value Int
+ feedback_text String
+ course_id Int
+ author_id Int
+ author user @relation(fields: [author_id], references: [id])
+ course course @relation(fields: [course_id], references: [id])
+}