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()) }