STRAPS_LOCALHOST/prisma/schema.prisma

76 lines
2.5 KiB
Plaintext

generator client {
provider = "prisma-client"
output = "../app/generated/client"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model users {
id String @id @default(cuid()) // We will override this with our custom generator in logic, but cuid as fallback
name String @db.VarChar
role String @db.VarChar // COACH, CLIENT
coach_id String?
created_at DateTime? @default(now()) @db.Timestamp(6)
// Relations
coach users? @relation("CoachClients", fields: [coach_id], references: [id])
clients users[] @relation("CoachClients")
created_menus training_menus[] @relation("CreatedMenus")
assigned_menus training_menus[] @relation("AssignedMenus")
recaps user_recaps[]
activity_logs activity_logs[]
@@index([id], map: "ix_users_id")
@@index([coach_id], map: "ix_users_coach_id")
}
model activity_logs {
id Int @id @default(autoincrement())
timestamp DateTime? @db.Timestamp(6)
status String? @db.VarChar
confidence String? @db.VarChar
details Json?
user_id String?
user users? @relation(fields: [user_id], references: [id])
@@index([id], map: "ix_activity_logs_id")
@@index([user_id], map: "ix_activity_logs_user_id")
}
model training_menus {
id Int @id @default(autoincrement())
name String? @db.VarChar
exercises Json?
created_at DateTime? @db.Timestamp(6)
author_id String?
client_id String?
author users? @relation("CreatedMenus", fields: [author_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
assigned_client users? @relation("AssignedMenus", fields: [client_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
user_recaps user_recaps[]
@@index([id], map: "ix_training_menus_id")
@@index([name], map: "ix_training_menus_name")
@@index([author_id], map: "ix_training_menus_author_id")
}
model user_recaps {
id Int @id @default(autoincrement())
menu_id Int?
user_id String?
summary Json?
completed_at DateTime? @db.Timestamp(6)
training_menus training_menus? @relation(fields: [menu_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
user users? @relation(fields: [user_id], references: [id])
@@index([id], map: "ix_user_recaps_id")
@@index([user_id], map: "ix_user_recaps_user_id")
}