47 lines
1.3 KiB
Plaintext
47 lines
1.3 KiB
Plaintext
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "mysql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model User {
|
|
id String @id @default(cuid())
|
|
name String?
|
|
email String? @unique
|
|
emailVerified DateTime?
|
|
passwordHash String?
|
|
photoProfile UserPhotoProfiles?
|
|
directPermissions Permission[] @relation("PermissionToUser")
|
|
roles Role[] @relation("RoleToUser")
|
|
}
|
|
|
|
model UserPhotoProfiles {
|
|
id String @id @default(cuid())
|
|
userId String @unique
|
|
path String
|
|
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
|
}
|
|
|
|
model Role {
|
|
id String @id @default(cuid())
|
|
code String @unique
|
|
name String
|
|
description String @default("")
|
|
isActive Boolean @default(false)
|
|
permissions Permission[] @relation("PermissionToRole")
|
|
users User[] @relation("RoleToUser")
|
|
}
|
|
|
|
model Permission {
|
|
id String @id @default(cuid())
|
|
code String @unique
|
|
name String
|
|
description String @default("")
|
|
isActive Boolean @default(false)
|
|
roles Role[] @relation("PermissionToRole")
|
|
directUsers User[] @relation("PermissionToUser")
|
|
}
|