frontend/prisma/schema.prisma

101 lines
2.1 KiB
Plaintext
Raw Normal View History

2023-02-04 16:44:27 +00:00
// 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 {
2023-04-20 18:37:55 +00:00
provider = "postgres"
url = "postgresql://postgres:b359a3f0b1129da7@141.147.61.193:3021/postgres"
2023-02-04 16:44:27 +00:00
}
2023-04-20 18:37:55 +00:00
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 MentalState {
id String @id @default(uuid())
name String
genres Genre[]
}
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
2023-02-05 19:09:50 +00:00
}
2023-04-20 18:37:55 +00:00
model AuthUser {
id String @id @unique
name String
username String @unique
favorites Song[]
auth_session AuthSession[]
auth_key AuthKey[]
2023-02-05 19:09:50 +00:00
2023-04-20 18:37:55 +00:00
@@map("auth_user")
2023-02-05 19:09:50 +00:00
}
2023-04-20 18:37:55 +00:00
model AuthSession {
id String @id @unique
2023-02-05 19:09:50 +00:00
user_id String
active_expires BigInt
idle_expires BigInt
2023-04-20 18:37:55 +00:00
auth_user AuthUser @relation(references: [id], fields: [user_id], onDelete: Cascade)
2023-02-05 19:09:50 +00:00
@@index([user_id])
2023-04-20 18:37:55 +00:00
@@map("auth_session")
2023-02-05 19:09:50 +00:00
}
2023-04-20 18:37:55 +00:00
model AuthKey {
id String @id @unique
2023-02-05 19:09:50 +00:00
hashed_password String?
user_id String
2023-04-20 18:37:55 +00:00
primary_key Boolean
expires BigInt?
auth_user AuthUser @relation(references: [id], fields: [user_id], onDelete: Cascade)
2023-02-05 19:09:50 +00:00
@@index([user_id])
2023-04-20 18:37:55 +00:00
@@map("auth_key")
}
enum ComplexityLevel {
Low
Medium
High
}
enum NELevel {
Low
Medium
High
2023-02-04 16:44:27 +00:00
}