generator client { provider = "prisma-client-js" } datasource db { provider = "sqlite" } model ApiCredential { id String @id @default(cuid()) service String @unique value String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Job { id String @id @default(cuid()) type String status String @default("pending") config String @default("{}") totalLeads Int @default(0) emailsFound Int @default(0) error String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt results LeadResult[] } model LeadResult { id String @id @default(cuid()) jobId String job Job @relation(fields: [jobId], references: [id], onDelete: Cascade) companyName String? domain String? contactName String? contactTitle String? email String? confidence Float? linkedinUrl String? source String? createdAt DateTime @default(now()) } model Lead { id String @id @default(cuid()) domain String? companyName String? contactName String? contactTitle String? email String? linkedinUrl String? phone String? address String? sourceTab String sourceTerm String? sourceJobId String? serpTitle String? serpSnippet String? serpRank Int? serpUrl String? emailConfidence Float? status String @default("new") priority String @default("normal") notes String? tags String? country String? headcount String? industry String? description String? capturedAt DateTime @default(now()) contactedAt DateTime? updatedAt DateTime @updatedAt events LeadEvent[] @@index([domain]) @@index([status]) @@index([sourceTab]) @@index([capturedAt]) @@index([email]) } model LeadEvent { id String @id @default(cuid()) leadId String lead Lead @relation(fields: [leadId], references: [id], onDelete: Cascade) event String at DateTime @default(now()) @@index([leadId]) }