first commit

This commit is contained in:
2023-04-20 20:37:55 +02:00
parent dcc30ded70
commit f72df76a02
39 changed files with 4594 additions and 178 deletions

View File

@@ -0,0 +1,81 @@
-- CreateTable
CREATE TABLE "Task" (
"id" TEXT NOT NULL,
"title" TEXT NOT NULL,
"content" TEXT,
"deadline" TIMESTAMP(3),
"userId" TEXT NOT NULL,
CONSTRAINT "Task_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "Event" (
"id" TEXT NOT NULL,
"title" TEXT NOT NULL,
"content" TEXT,
"length" INTEGER NOT NULL,
"start_time" TIMESTAMP(3) NOT NULL,
"userId" TEXT NOT NULL,
CONSTRAINT "Event_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "auth_user" (
"id" TEXT NOT NULL,
"name" TEXT NOT NULL,
"username" TEXT NOT NULL,
CONSTRAINT "auth_user_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "auth_session" (
"id" TEXT NOT NULL,
"user_id" TEXT NOT NULL,
"active_expires" BIGINT NOT NULL,
"idle_expires" BIGINT NOT NULL,
CONSTRAINT "auth_session_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "auth_key" (
"primary_id" TEXT NOT NULL,
"hashed_password" TEXT,
"user_id" TEXT NOT NULL,
"primary" BOOLEAN NOT NULL,
CONSTRAINT "auth_key_pkey" PRIMARY KEY ("primary_id")
);
-- CreateIndex
CREATE UNIQUE INDEX "auth_user_id_key" ON "auth_user"("id");
-- CreateIndex
CREATE UNIQUE INDEX "auth_user_username_key" ON "auth_user"("username");
-- CreateIndex
CREATE UNIQUE INDEX "auth_session_id_key" ON "auth_session"("id");
-- CreateIndex
CREATE INDEX "auth_session_user_id_idx" ON "auth_session"("user_id");
-- CreateIndex
CREATE UNIQUE INDEX "auth_key_primary_id_key" ON "auth_key"("primary_id");
-- CreateIndex
CREATE INDEX "auth_key_user_id_idx" ON "auth_key"("user_id");
-- AddForeignKey
ALTER TABLE "Task" ADD CONSTRAINT "Task_userId_fkey" FOREIGN KEY ("userId") REFERENCES "auth_user"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Event" ADD CONSTRAINT "Event_userId_fkey" FOREIGN KEY ("userId") REFERENCES "auth_user"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "auth_session" ADD CONSTRAINT "auth_session_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "auth_user"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "auth_key" ADD CONSTRAINT "auth_key_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "auth_user"("id") ON DELETE CASCADE ON UPDATE CASCADE;

View File

@@ -0,0 +1,3 @@
# Please do not edit this file manually
# It should be added in your version-control system (i.e. Git)
provider = "postgresql"

View File

@@ -6,47 +6,95 @@ generator client {
}
datasource db {
provider = "sqlite"
url = "file:./dev.sqlite"
provider = "postgres"
url = "postgresql://postgres:b359a3f0b1129da7@141.147.61.193:3021/postgres"
}
model Article {
id Int @id @default(autoincrement())
title String
content String
User User @relation(fields: [userId], references: [id])
userId String
model Song {
id String @id @default(uuid())
name String
image String
hasMultipleNELs Boolean
neuralEffectLevel Float
instrumentations String[]
genre Genre @relation(fields: [genreId], references: [id])
genreId String
complexityDisplayValue ComplexityLevel
neuralEffectLevelDisplayValue NELevel
usersFavorited AuthUser? @relation(fields: [usersFavoritedId], references: [id])
usersFavoritedId String?
}
model User {
id String @id @unique
name String
username String @unique
articles Article[]
session Session[]
Key Key[]
model MentalState {
id String @id @default(uuid())
name String
@@map("user")
genres Genre[]
}
model Session {
id String @id @unique
model Genre {
id String @id @default(uuid())
name String
mentalState MentalState[]
isNature Boolean
activities Activity[]
Song Song[]
}
model Activity {
id String @id @default(uuid())
name String
genre Genre @relation(fields: [genreId], references: [id])
genreId String
}
model AuthUser {
id String @id @unique
name String
username String @unique
favorites Song[]
auth_session AuthSession[]
auth_key AuthKey[]
@@map("auth_user")
}
model AuthSession {
id String @id @unique
user_id String
active_expires BigInt
idle_expires BigInt
user User @relation(references: [id], fields: [user_id], onDelete: Cascade)
auth_user AuthUser @relation(references: [id], fields: [user_id], onDelete: Cascade)
@@index([user_id])
@@map("session")
@@map("auth_session")
}
model Key {
id String @id @unique
model AuthKey {
id String @id @unique
hashed_password String?
user_id String
primary Boolean
user User @relation(references: [id], fields: [user_id], onDelete: Cascade)
primary_key Boolean
expires BigInt?
auth_user AuthUser @relation(references: [id], fields: [user_id], onDelete: Cascade)
@@index([user_id])
@@map("key")
@@map("auth_key")
}
enum ComplexityLevel {
Low
Medium
High
}
enum NELevel {
Low
Medium
High
}