Files

112 lines
2.7 KiB
Plaintext
Raw Permalink Normal View History

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Admin {
id String @id @default(cuid())
mobile String @unique
email String? @unique
passwordHash String
name String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model SiteSettings {
id String @id @default("default")
brandName String @default("Montech")
tagline String @default("Software Development Group")
email String @default("hello@montech.ir")
phone String @default("+98 21 0000 0000")
address String @default("Tehran, IR")
timezone String @default("Asia/Tehran")
socials Json @default("[]")
logoUrl String?
updatedAt DateTime @updatedAt
}
model Page {
id String @id @default(cuid())
key String @unique
title String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
seo PageSeo?
}
model PageSeo {
id String @id @default(cuid())
pageId String @unique
page Page @relation(fields: [pageId], references: [id], onDelete: Cascade)
title String
description String @default("")
ogImage String?
canonical String?
noIndex Boolean @default(false)
}
model SectionContent {
id String @id @default(cuid())
key String @unique
data Json
updatedAt DateTime @updatedAt
}
model BlogPost {
id String @id @default(cuid())
slug String @unique
title String
excerpt String @default("")
content String @default("")
coverUrl String?
published Boolean @default(false)
publishedAt DateTime?
seoTitle String?
seoDesc String?
ogImage String?
canonical String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model GalleryItem {
id String @id @default(cuid())
title String
imageUrl String
category String?
sortOrder Int @default(0)
published Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Lead {
id String @id @default(cuid())
name String
phone String
businessType String
source String @default("consult")
aiQuery String?
status String @default("new")
note String?
ip String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([status, createdAt])
}
model Media {
id String @id @default(cuid())
filename String
url String
mimeType String
size Int
createdAt DateTime @default(now())
}