Connect public lead forms to CRM Leads on submit.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
-- AlterTable LeadForm: publish → Lead connection
|
||||
ALTER TABLE "LeadForm" ADD COLUMN IF NOT EXISTS "createLead" BOOLEAN NOT NULL DEFAULT true;
|
||||
ALTER TABLE "LeadForm" ADD COLUMN IF NOT EXISTS "leadStageId" TEXT;
|
||||
ALTER TABLE "LeadForm" ADD COLUMN IF NOT EXISTS "duplicateMode" TEXT NOT NULL DEFAULT 'update';
|
||||
ALTER TABLE "LeadForm" ADD COLUMN IF NOT EXISTS "viewCount" INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE "LeadForm" ADD COLUMN IF NOT EXISTS "startCount" INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE "LeadForm" ADD COLUMN IF NOT EXISTS "submitCount" INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE "LeadForm" ADD COLUMN IF NOT EXISTS "leadCreateCount" INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE "LeadForm" ADD COLUMN IF NOT EXISTS "duplicateCount" INTEGER NOT NULL DEFAULT 0;
|
||||
|
||||
-- Existing forms: keep person/deal behavior unless already lead-oriented
|
||||
ALTER TABLE "LeadForm" ALTER COLUMN "createPerson" SET DEFAULT false;
|
||||
ALTER TABLE "LeadForm" ALTER COLUMN "createDeal" SET DEFAULT false;
|
||||
|
||||
-- AlterTable LeadFormSubmission
|
||||
ALTER TABLE "LeadFormSubmission" ADD COLUMN IF NOT EXISTS "leadId" TEXT;
|
||||
ALTER TABLE "LeadFormSubmission" ADD COLUMN IF NOT EXISTS "status" TEXT NOT NULL DEFAULT 'created';
|
||||
ALTER TABLE "LeadFormSubmission" ADD COLUMN IF NOT EXISTS "utm" JSONB;
|
||||
ALTER TABLE "LeadFormSubmission" ADD COLUMN IF NOT EXISTS "meta" JSONB;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "LeadFormSubmission_leadId_idx" ON "LeadFormSubmission"("leadId");
|
||||
@@ -793,9 +793,15 @@ model LeadForm {
|
||||
description String?
|
||||
publicToken String @unique @default(cuid())
|
||||
isActive Boolean @default(true)
|
||||
createPerson Boolean @default(true)
|
||||
createDeal Boolean @default(true)
|
||||
/// ثبت بهعنوان Lead در CRM (مسیر اصلی انتشار فرم)
|
||||
createLead Boolean @default(true)
|
||||
createPerson Boolean @default(false)
|
||||
createDeal Boolean @default(false)
|
||||
pipelineId String?
|
||||
/// مرحله اولیه لید (اختیاری؛ وگرنه اولین مرحله)
|
||||
leadStageId String?
|
||||
/// skip | update | activity
|
||||
duplicateMode String @default("update")
|
||||
source String?
|
||||
thankYouMessage String?
|
||||
redirectUrl String?
|
||||
@@ -804,6 +810,11 @@ model LeadForm {
|
||||
submitLabel String @default("ارسال درخواست")
|
||||
submitColor String @default("#14b8a6")
|
||||
coverStorageKey String?
|
||||
viewCount Int @default(0)
|
||||
startCount Int @default(0)
|
||||
submitCount Int @default(0)
|
||||
leadCreateCount Int @default(0)
|
||||
duplicateCount Int @default(0)
|
||||
fields LeadFormField[]
|
||||
submissions LeadFormSubmission[]
|
||||
createdAt DateTime @default(now())
|
||||
@@ -835,9 +846,15 @@ model LeadFormSubmission {
|
||||
form LeadForm @relation(fields: [formId], references: [id], onDelete: Cascade)
|
||||
values Json
|
||||
personId String?
|
||||
leadId String?
|
||||
/// created | updated | duplicate_skipped | error
|
||||
status String @default("created")
|
||||
utm Json?
|
||||
meta Json?
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
@@index([formId, createdAt])
|
||||
@@index([leadId])
|
||||
}
|
||||
|
||||
model Quote {
|
||||
|
||||
Reference in New Issue
Block a user