33 lines
944 B
Plaintext
33 lines
944 B
Plaintext
generator client {
|
|
provider = "prisma-client-js"
|
|
binaryTargets = ["native", "linux-musl-openssl-3.0.x"]
|
|
}
|
|
|
|
datasource db {
|
|
provider = "sqlite"
|
|
url = "file:./dev.db"
|
|
}
|
|
|
|
model Page {
|
|
id String @id @default(uuid())
|
|
title String
|
|
content String @default("")
|
|
tags String @default("[]") // JSON stringified array of tags
|
|
icon String? // Emoji or icon name
|
|
type String @default("file") // "file" or "folder"
|
|
parentId String?
|
|
parent Page? @relation("PageHierarchy", fields: [parentId], references: [id])
|
|
children Page[] @relation("PageHierarchy")
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
order Int @default(0)
|
|
isLocked Boolean @default(false)
|
|
}
|
|
|
|
model GlobalSettings {
|
|
id String @id @default("default")
|
|
password String // Scrypt hashed password
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
}
|