generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } enum Role { ADMIN USER } model User { id String @id @default(cuid()) name String? email String @unique password String? role Role @default(USER) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt deletedAt DateTime? accounts Account[] sessions Session[] } model Account { id String @id @default(cuid()) userId String type String provider String providerAccountId String refresh_token String? @db.Text access_token String? @db.Text expires_at Int? token_type String? scope String? id_token String? @db.Text session_state String? user User @relation(fields: [userId], references: [id], onDelete: Cascade) @@unique([provider, providerAccountId]) } model Session { id String @id @default(cuid()) sessionToken String @unique userId String expires DateTime user User @relation(fields: [userId], references: [id], onDelete: Cascade) } model VerificationToken { identifier String token String @unique expires DateTime @@unique([identifier, token]) } model Category { id String @id @default(cuid()) slug String @unique nameTr String nameEn String nameRu String listings Listing[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Neighborhood { id String @id @default(cuid()) slug String @unique nameTr String nameEn String nameRu String listings Listing[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Listing { id String @id @default(cuid()) slug String @unique categoryId String neighborhoodId String city String @default("marmaris") nameTr String nameEn String nameRu String descriptionTr String descriptionEn String descriptionRu String address String phone String? whatsapp String? website String? instagram String? priceRange Int // 1-3 rating Float? // 0-5 isLocalApproved Boolean @default(false) latitude Float? longitude Float? openingHours Json? images Gallery[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt deletedAt DateTime? category Category @relation(fields: [categoryId], references: [id]) neighborhood Neighborhood @relation(fields: [neighborhoodId], references: [id]) } model Gallery { id String @id @default(cuid()) listingId String url String createdAt DateTime @default(now()) listing Listing @relation(fields: [listingId], references: [id], onDelete: Cascade) } model BusinessSubmission { id String @id @default(cuid()) businessName String categoryId String neighborhoodId String address String phone String? whatsapp String? description String contactName String contactEmail String imageUrl String? status String @default("PENDING") // PENDING, APPROVED, REJECTED createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model ContactMessage { id String @id @default(cuid()) name String email String subject String // Genel, İşbirliği, Hata Bildirimi, Diğer message String isRead Boolean @default(false) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt }