@rapidmx/crm-plugin 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +382 -0
- package/README.md +210 -0
- package/apps/admin-crm/_layout.tsx +46 -0
- package/apps/admin-crm/index.tsx +16 -0
- package/apps/crm/_layout.tsx +46 -0
- package/apps/crm/automations/[uid].tsx +16 -0
- package/apps/crm/automations/index.tsx +16 -0
- package/apps/crm/campaigns/[uid].tsx +16 -0
- package/apps/crm/campaigns/index.tsx +16 -0
- package/apps/crm/companies/[uid].tsx +16 -0
- package/apps/crm/companies/index.tsx +16 -0
- package/apps/crm/contacts/[uid].tsx +16 -0
- package/apps/crm/deals/[uid].tsx +16 -0
- package/apps/crm/deals/index.tsx +16 -0
- package/apps/crm/forms/index.tsx +16 -0
- package/apps/crm/imports/index.tsx +16 -0
- package/apps/crm/index.tsx +16 -0
- package/apps/crm/integrations/index.tsx +16 -0
- package/apps/crm/lists/index.tsx +16 -0
- package/apps/crm/pipelines/index.tsx +16 -0
- package/apps/crm/reports/index.tsx +16 -0
- package/apps/crm/scoring/index.tsx +16 -0
- package/apps/crm/segments/index.tsx +16 -0
- package/apps/crm/settings/index.tsx +16 -0
- package/apps/crm/tasks/index.tsx +16 -0
- package/apps/crm/templates/[uid].tsx +16 -0
- package/apps/crm/templates/index.tsx +16 -0
- package/apps/f/[formUid].tsx +11 -0
- package/apps/f/_layout.tsx +33 -0
- package/apps/f/index.tsx +15 -0
- package/apps/shared/components/CrmShell.tsx +229 -0
- package/apps/shared/components/FilterBuilder.tsx +204 -0
- package/apps/shared/components/FormManager.tsx +326 -0
- package/apps/shared/components/ImportWizard.tsx +251 -0
- package/apps/shared/components/Integrations.tsx +401 -0
- package/apps/shared/components/ListManager.tsx +206 -0
- package/apps/shared/components/RecordDetail.tsx +444 -0
- package/apps/shared/components/RecordList.tsx +446 -0
- package/apps/shared/components/ScoringRules.tsx +262 -0
- package/apps/shared/components/SegmentManager.tsx +245 -0
- package/apps/shared/components/TaskList.tsx +140 -0
- package/apps/shared/components/TemplateList.tsx +170 -0
- package/apps/shared/components/WorkspaceSettings.tsx +503 -0
- package/apps/shared/components/admin/CrmAdmin.tsx +129 -0
- package/apps/shared/components/automations/AutomationEditor.tsx +530 -0
- package/apps/shared/components/automations/AutomationList.tsx +147 -0
- package/apps/shared/components/automations/StepInspector.tsx +403 -0
- package/apps/shared/components/automations/flowModel.ts +331 -0
- package/apps/shared/components/campaigns/CampaignEditor.tsx +471 -0
- package/apps/shared/components/campaigns/CampaignList.tsx +164 -0
- package/apps/shared/components/campaigns/CampaignPage.tsx +30 -0
- package/apps/shared/components/campaigns/CampaignReport.tsx +345 -0
- package/apps/shared/components/campaigns/campaignUi.tsx +33 -0
- package/apps/shared/components/deals/ContactDeals.tsx +40 -0
- package/apps/shared/components/deals/DealBoard.tsx +287 -0
- package/apps/shared/components/deals/DealDetail.tsx +363 -0
- package/apps/shared/components/deals/PipelineManager.tsx +207 -0
- package/apps/shared/components/deals/dealUi.ts +24 -0
- package/apps/shared/components/designer/BlockView.tsx +92 -0
- package/apps/shared/components/designer/Canvas.tsx +206 -0
- package/apps/shared/components/designer/Inspector.tsx +339 -0
- package/apps/shared/components/designer/LazyTextBlockEditor.tsx +68 -0
- package/apps/shared/components/designer/MergeTagPicker.tsx +31 -0
- package/apps/shared/components/designer/PreviewModal.tsx +119 -0
- package/apps/shared/components/designer/TemplateDesigner.tsx +408 -0
- package/apps/shared/components/designer/TestSendModal.tsx +75 -0
- package/apps/shared/components/designer/TextBlockEditor.tsx +122 -0
- package/apps/shared/components/designer/designModel.ts +276 -0
- package/apps/shared/components/public/PublicPages.tsx +343 -0
- package/apps/shared/components/public/honeypot.ts +7 -0
- package/apps/shared/components/reports/Charts.tsx +315 -0
- package/apps/shared/components/reports/Reports.tsx +198 -0
- package/apps/shared/crmApi.ts +1046 -0
- package/apps/shared/fields.ts +175 -0
- package/apps/shared/publicApi.ts +50 -0
- package/apps/subscriptions/[token].tsx +11 -0
- package/apps/subscriptions/_layout.tsx +33 -0
- package/apps/subscriptions/confirm/[token].tsx +11 -0
- package/apps/subscriptions/index.tsx +11 -0
- package/apps/subscriptions/unsubscribe/[token].tsx +11 -0
- package/dist/apps/admin-crm/_layout.d.ts +15 -0
- package/dist/apps/admin-crm/_layout.js +8 -0
- package/dist/apps/admin-crm/index.d.ts +4 -0
- package/dist/apps/admin-crm/index.js +7 -0
- package/dist/apps/crm/_layout.d.ts +15 -0
- package/dist/apps/crm/_layout.js +8 -0
- package/dist/apps/crm/automations/[uid].d.ts +8 -0
- package/dist/apps/crm/automations/[uid].js +7 -0
- package/dist/apps/crm/automations/index.d.ts +4 -0
- package/dist/apps/crm/automations/index.js +7 -0
- package/dist/apps/crm/campaigns/[uid].d.ts +8 -0
- package/dist/apps/crm/campaigns/[uid].js +7 -0
- package/dist/apps/crm/campaigns/index.d.ts +4 -0
- package/dist/apps/crm/campaigns/index.js +7 -0
- package/dist/apps/crm/companies/[uid].d.ts +8 -0
- package/dist/apps/crm/companies/[uid].js +7 -0
- package/dist/apps/crm/companies/index.d.ts +4 -0
- package/dist/apps/crm/companies/index.js +7 -0
- package/dist/apps/crm/contacts/[uid].d.ts +8 -0
- package/dist/apps/crm/contacts/[uid].js +7 -0
- package/dist/apps/crm/deals/[uid].d.ts +8 -0
- package/dist/apps/crm/deals/[uid].js +7 -0
- package/dist/apps/crm/deals/index.d.ts +4 -0
- package/dist/apps/crm/deals/index.js +7 -0
- package/dist/apps/crm/forms/index.d.ts +4 -0
- package/dist/apps/crm/forms/index.js +7 -0
- package/dist/apps/crm/imports/index.d.ts +4 -0
- package/dist/apps/crm/imports/index.js +7 -0
- package/dist/apps/crm/index.d.ts +4 -0
- package/dist/apps/crm/index.js +7 -0
- package/dist/apps/crm/integrations/index.d.ts +4 -0
- package/dist/apps/crm/integrations/index.js +7 -0
- package/dist/apps/crm/lists/index.d.ts +4 -0
- package/dist/apps/crm/lists/index.js +7 -0
- package/dist/apps/crm/pipelines/index.d.ts +4 -0
- package/dist/apps/crm/pipelines/index.js +7 -0
- package/dist/apps/crm/reports/index.d.ts +4 -0
- package/dist/apps/crm/reports/index.js +7 -0
- package/dist/apps/crm/scoring/index.d.ts +4 -0
- package/dist/apps/crm/scoring/index.js +7 -0
- package/dist/apps/crm/segments/index.d.ts +4 -0
- package/dist/apps/crm/segments/index.js +7 -0
- package/dist/apps/crm/settings/index.d.ts +4 -0
- package/dist/apps/crm/settings/index.js +7 -0
- package/dist/apps/crm/tasks/index.d.ts +4 -0
- package/dist/apps/crm/tasks/index.js +7 -0
- package/dist/apps/crm/templates/[uid].d.ts +8 -0
- package/dist/apps/crm/templates/[uid].js +7 -0
- package/dist/apps/crm/templates/index.d.ts +4 -0
- package/dist/apps/crm/templates/index.js +7 -0
- package/dist/apps/f/[formUid].d.ts +7 -0
- package/dist/apps/f/[formUid].js +6 -0
- package/dist/apps/f/_layout.d.ts +8 -0
- package/dist/apps/f/_layout.js +8 -0
- package/dist/apps/f/index.d.ts +3 -0
- package/dist/apps/f/index.js +6 -0
- package/dist/apps/shared/components/CrmShell.d.ts +39 -0
- package/dist/apps/shared/components/CrmShell.js +127 -0
- package/dist/apps/shared/components/FilterBuilder.d.ts +34 -0
- package/dist/apps/shared/components/FilterBuilder.js +101 -0
- package/dist/apps/shared/components/FormManager.d.ts +7 -0
- package/dist/apps/shared/components/FormManager.js +132 -0
- package/dist/apps/shared/components/ImportWizard.d.ts +8 -0
- package/dist/apps/shared/components/ImportWizard.js +105 -0
- package/dist/apps/shared/components/Integrations.d.ts +13 -0
- package/dist/apps/shared/components/Integrations.js +164 -0
- package/dist/apps/shared/components/ListManager.d.ts +6 -0
- package/dist/apps/shared/components/ListManager.js +95 -0
- package/dist/apps/shared/components/RecordDetail.d.ts +30 -0
- package/dist/apps/shared/components/RecordDetail.js +244 -0
- package/dist/apps/shared/components/RecordList.d.ts +13 -0
- package/dist/apps/shared/components/RecordList.js +214 -0
- package/dist/apps/shared/components/ScoringRules.d.ts +13 -0
- package/dist/apps/shared/components/ScoringRules.js +128 -0
- package/dist/apps/shared/components/SegmentManager.d.ts +10 -0
- package/dist/apps/shared/components/SegmentManager.js +119 -0
- package/dist/apps/shared/components/TaskList.d.ts +3 -0
- package/dist/apps/shared/components/TaskList.js +62 -0
- package/dist/apps/shared/components/TemplateList.d.ts +3 -0
- package/dist/apps/shared/components/TemplateList.js +81 -0
- package/dist/apps/shared/components/WorkspaceSettings.d.ts +6 -0
- package/dist/apps/shared/components/WorkspaceSettings.js +239 -0
- package/dist/apps/shared/components/admin/CrmAdmin.d.ts +9 -0
- package/dist/apps/shared/components/admin/CrmAdmin.js +56 -0
- package/dist/apps/shared/components/automations/AutomationEditor.d.ts +15 -0
- package/dist/apps/shared/components/automations/AutomationEditor.js +219 -0
- package/dist/apps/shared/components/automations/AutomationList.d.ts +3 -0
- package/dist/apps/shared/components/automations/AutomationList.js +65 -0
- package/dist/apps/shared/components/automations/StepInspector.d.ts +40 -0
- package/dist/apps/shared/components/automations/StepInspector.js +177 -0
- package/dist/apps/shared/components/automations/flowModel.d.ts +67 -0
- package/dist/apps/shared/components/automations/flowModel.js +292 -0
- package/dist/apps/shared/components/campaigns/CampaignEditor.d.ts +11 -0
- package/dist/apps/shared/components/campaigns/CampaignEditor.js +163 -0
- package/dist/apps/shared/components/campaigns/CampaignList.d.ts +3 -0
- package/dist/apps/shared/components/campaigns/CampaignList.js +80 -0
- package/dist/apps/shared/components/campaigns/CampaignPage.d.ts +5 -0
- package/dist/apps/shared/components/campaigns/CampaignPage.js +24 -0
- package/dist/apps/shared/components/campaigns/CampaignReport.d.ts +13 -0
- package/dist/apps/shared/components/campaigns/CampaignReport.js +119 -0
- package/dist/apps/shared/components/campaigns/campaignUi.d.ts +10 -0
- package/dist/apps/shared/components/campaigns/campaignUi.js +24 -0
- package/dist/apps/shared/components/deals/ContactDeals.d.ts +5 -0
- package/dist/apps/shared/components/deals/ContactDeals.js +18 -0
- package/dist/apps/shared/components/deals/DealBoard.d.ts +7 -0
- package/dist/apps/shared/components/deals/DealBoard.js +134 -0
- package/dist/apps/shared/components/deals/DealDetail.d.ts +8 -0
- package/dist/apps/shared/components/deals/DealDetail.js +148 -0
- package/dist/apps/shared/components/deals/PipelineManager.d.ts +7 -0
- package/dist/apps/shared/components/deals/PipelineManager.js +62 -0
- package/dist/apps/shared/components/deals/dealUi.d.ts +7 -0
- package/dist/apps/shared/components/deals/dealUi.js +17 -0
- package/dist/apps/shared/components/designer/BlockView.d.ts +10 -0
- package/dist/apps/shared/components/designer/BlockView.js +37 -0
- package/dist/apps/shared/components/designer/Canvas.d.ts +31 -0
- package/dist/apps/shared/components/designer/Canvas.js +71 -0
- package/dist/apps/shared/components/designer/Inspector.d.ts +27 -0
- package/dist/apps/shared/components/designer/Inspector.js +102 -0
- package/dist/apps/shared/components/designer/LazyTextBlockEditor.d.ts +7 -0
- package/dist/apps/shared/components/designer/LazyTextBlockEditor.js +42 -0
- package/dist/apps/shared/components/designer/MergeTagPicker.d.ts +11 -0
- package/dist/apps/shared/components/designer/MergeTagPicker.js +15 -0
- package/dist/apps/shared/components/designer/PreviewModal.d.ts +15 -0
- package/dist/apps/shared/components/designer/PreviewModal.js +50 -0
- package/dist/apps/shared/components/designer/TemplateDesigner.d.ts +10 -0
- package/dist/apps/shared/components/designer/TemplateDesigner.js +194 -0
- package/dist/apps/shared/components/designer/TestSendModal.d.ts +11 -0
- package/dist/apps/shared/components/designer/TestSendModal.js +35 -0
- package/dist/apps/shared/components/designer/TextBlockEditor.d.ts +16 -0
- package/dist/apps/shared/components/designer/TextBlockEditor.js +81 -0
- package/dist/apps/shared/components/designer/designModel.d.ts +86 -0
- package/dist/apps/shared/components/designer/designModel.js +230 -0
- package/dist/apps/shared/components/public/PublicPages.d.ts +29 -0
- package/dist/apps/shared/components/public/PublicPages.js +155 -0
- package/dist/apps/shared/components/public/honeypot.d.ts +2 -0
- package/dist/apps/shared/components/public/honeypot.js +6 -0
- package/dist/apps/shared/components/reports/Charts.d.ts +32 -0
- package/dist/apps/shared/components/reports/Charts.js +121 -0
- package/dist/apps/shared/components/reports/Reports.d.ts +9 -0
- package/dist/apps/shared/components/reports/Reports.js +61 -0
- package/dist/apps/shared/crmApi.d.ts +909 -0
- package/dist/apps/shared/crmApi.js +240 -0
- package/dist/apps/shared/fields.d.ts +45 -0
- package/dist/apps/shared/fields.js +146 -0
- package/dist/apps/shared/publicApi.d.ts +48 -0
- package/dist/apps/shared/publicApi.js +17 -0
- package/dist/apps/subscriptions/[token].d.ts +7 -0
- package/dist/apps/subscriptions/[token].js +6 -0
- package/dist/apps/subscriptions/_layout.d.ts +8 -0
- package/dist/apps/subscriptions/_layout.js +8 -0
- package/dist/apps/subscriptions/confirm/[token].d.ts +7 -0
- package/dist/apps/subscriptions/confirm/[token].js +6 -0
- package/dist/apps/subscriptions/index.d.ts +3 -0
- package/dist/apps/subscriptions/index.js +6 -0
- package/dist/apps/subscriptions/unsubscribe/[token].d.ts +7 -0
- package/dist/apps/subscriptions/unsubscribe/[token].js +6 -0
- package/dist/lib/automation/Dates.js +85 -0
- package/dist/lib/automation/Dates.js.map +1 -0
- package/dist/lib/automation/Engine.js +384 -0
- package/dist/lib/automation/Engine.js.map +1 -0
- package/dist/lib/automation/Events.js +46 -0
- package/dist/lib/automation/Events.js.map +1 -0
- package/dist/lib/automation/Graph.js +296 -0
- package/dist/lib/automation/Graph.js.map +1 -0
- package/dist/lib/filters/Filter.js +343 -0
- package/dist/lib/filters/Filter.js.map +1 -0
- package/dist/lib/filters/fields.js +71 -0
- package/dist/lib/filters/fields.js.map +1 -0
- package/dist/lib/index.js +86 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/jobs/AutomationRunJob.js +110 -0
- package/dist/lib/jobs/AutomationRunJob.js.map +1 -0
- package/dist/lib/jobs/AutomationTriggerJob.js +126 -0
- package/dist/lib/jobs/AutomationTriggerJob.js.map +1 -0
- package/dist/lib/jobs/CampaignJob.js +285 -0
- package/dist/lib/jobs/CampaignJob.js.map +1 -0
- package/dist/lib/jobs/CrmImportJob.js +218 -0
- package/dist/lib/jobs/CrmImportJob.js.map +1 -0
- package/dist/lib/jobs/CrmJobBase.js +75 -0
- package/dist/lib/jobs/CrmJobBase.js.map +1 -0
- package/dist/lib/jobs/CrmMailEventJob.js +232 -0
- package/dist/lib/jobs/CrmMailEventJob.js.map +1 -0
- package/dist/lib/jobs/DateTriggerJob.js +155 -0
- package/dist/lib/jobs/DateTriggerJob.js.map +1 -0
- package/dist/lib/jobs/ScoringJob.js +75 -0
- package/dist/lib/jobs/ScoringJob.js.map +1 -0
- package/dist/lib/jobs/SegmentRefreshJob.js +84 -0
- package/dist/lib/jobs/SegmentRefreshJob.js.map +1 -0
- package/dist/lib/jobs/SendDispatchJob.js +277 -0
- package/dist/lib/jobs/SendDispatchJob.js.map +1 -0
- package/dist/lib/jobs/TaskReminderJob.js +70 -0
- package/dist/lib/jobs/TaskReminderJob.js.map +1 -0
- package/dist/lib/jobs/WebhookDeliveryJob.js +126 -0
- package/dist/lib/jobs/WebhookDeliveryJob.js.map +1 -0
- package/dist/lib/jobs/mongo/AutomationRunJobMongo.js +12 -0
- package/dist/lib/jobs/mongo/AutomationRunJobMongo.js.map +1 -0
- package/dist/lib/jobs/mongo/AutomationTriggerJobMongo.js +10 -0
- package/dist/lib/jobs/mongo/AutomationTriggerJobMongo.js.map +1 -0
- package/dist/lib/jobs/mongo/CampaignJobMongo.js +10 -0
- package/dist/lib/jobs/mongo/CampaignJobMongo.js.map +1 -0
- package/dist/lib/jobs/mongo/CrmImportJobMongo.js +14 -0
- package/dist/lib/jobs/mongo/CrmImportJobMongo.js.map +1 -0
- package/dist/lib/jobs/mongo/CrmMailEventJobMongo.js +10 -0
- package/dist/lib/jobs/mongo/CrmMailEventJobMongo.js.map +1 -0
- package/dist/lib/jobs/mongo/DateTriggerJobMongo.js +10 -0
- package/dist/lib/jobs/mongo/DateTriggerJobMongo.js.map +1 -0
- package/dist/lib/jobs/mongo/ScoringJobMongo.js +10 -0
- package/dist/lib/jobs/mongo/ScoringJobMongo.js.map +1 -0
- package/dist/lib/jobs/mongo/SegmentRefreshJobMongo.js +10 -0
- package/dist/lib/jobs/mongo/SegmentRefreshJobMongo.js.map +1 -0
- package/dist/lib/jobs/mongo/SendDispatchJobMongo.js +10 -0
- package/dist/lib/jobs/mongo/SendDispatchJobMongo.js.map +1 -0
- package/dist/lib/jobs/mongo/TaskReminderJobMongo.js +10 -0
- package/dist/lib/jobs/mongo/TaskReminderJobMongo.js.map +1 -0
- package/dist/lib/jobs/mongo/WebhookDeliveryJobMongo.js +10 -0
- package/dist/lib/jobs/mongo/WebhookDeliveryJobMongo.js.map +1 -0
- package/dist/lib/jobs/sql/AutomationRunJobSQL.js +12 -0
- package/dist/lib/jobs/sql/AutomationRunJobSQL.js.map +1 -0
- package/dist/lib/jobs/sql/AutomationTriggerJobSQL.js +10 -0
- package/dist/lib/jobs/sql/AutomationTriggerJobSQL.js.map +1 -0
- package/dist/lib/jobs/sql/CampaignJobSQL.js +10 -0
- package/dist/lib/jobs/sql/CampaignJobSQL.js.map +1 -0
- package/dist/lib/jobs/sql/CrmImportJobSQL.js +14 -0
- package/dist/lib/jobs/sql/CrmImportJobSQL.js.map +1 -0
- package/dist/lib/jobs/sql/CrmMailEventJobSQL.js +10 -0
- package/dist/lib/jobs/sql/CrmMailEventJobSQL.js.map +1 -0
- package/dist/lib/jobs/sql/DateTriggerJobSQL.js +10 -0
- package/dist/lib/jobs/sql/DateTriggerJobSQL.js.map +1 -0
- package/dist/lib/jobs/sql/ScoringJobSQL.js +10 -0
- package/dist/lib/jobs/sql/ScoringJobSQL.js.map +1 -0
- package/dist/lib/jobs/sql/SegmentRefreshJobSQL.js +10 -0
- package/dist/lib/jobs/sql/SegmentRefreshJobSQL.js.map +1 -0
- package/dist/lib/jobs/sql/SendDispatchJobSQL.js +10 -0
- package/dist/lib/jobs/sql/SendDispatchJobSQL.js.map +1 -0
- package/dist/lib/jobs/sql/TaskReminderJobSQL.js +10 -0
- package/dist/lib/jobs/sql/TaskReminderJobSQL.js.map +1 -0
- package/dist/lib/jobs/sql/WebhookDeliveryJobSQL.js +10 -0
- package/dist/lib/jobs/sql/WebhookDeliveryJobSQL.js.map +1 -0
- package/dist/lib/models/CrmModelClasses.js +44 -0
- package/dist/lib/models/CrmModelClasses.js.map +1 -0
- package/dist/lib/models/mongo/ApiKeyMongo.js +105 -0
- package/dist/lib/models/mongo/ApiKeyMongo.js.map +1 -0
- package/dist/lib/models/mongo/AutomationMongo.js +126 -0
- package/dist/lib/models/mongo/AutomationMongo.js.map +1 -0
- package/dist/lib/models/mongo/AutomationVersionMongo.js +82 -0
- package/dist/lib/models/mongo/AutomationVersionMongo.js.map +1 -0
- package/dist/lib/models/mongo/CampaignMongo.js +211 -0
- package/dist/lib/models/mongo/CampaignMongo.js.map +1 -0
- package/dist/lib/models/mongo/CrmCompanyMongo.js +126 -0
- package/dist/lib/models/mongo/CrmCompanyMongo.js.map +1 -0
- package/dist/lib/models/mongo/CrmContactMongo.js +156 -0
- package/dist/lib/models/mongo/CrmContactMongo.js.map +1 -0
- package/dist/lib/models/mongo/CrmEventMongo.js +92 -0
- package/dist/lib/models/mongo/CrmEventMongo.js.map +1 -0
- package/dist/lib/models/mongo/CrmFormMongo.js +139 -0
- package/dist/lib/models/mongo/CrmFormMongo.js.map +1 -0
- package/dist/lib/models/mongo/CrmImportMongo.js +190 -0
- package/dist/lib/models/mongo/CrmImportMongo.js.map +1 -0
- package/dist/lib/models/mongo/CrmNoteMongo.js +89 -0
- package/dist/lib/models/mongo/CrmNoteMongo.js.map +1 -0
- package/dist/lib/models/mongo/CrmSettingMongo.js +60 -0
- package/dist/lib/models/mongo/CrmSettingMongo.js.map +1 -0
- package/dist/lib/models/mongo/CrmTaskMongo.js +136 -0
- package/dist/lib/models/mongo/CrmTaskMongo.js.map +1 -0
- package/dist/lib/models/mongo/DealMongo.js +163 -0
- package/dist/lib/models/mongo/DealMongo.js.map +1 -0
- package/dist/lib/models/mongo/EmailTemplateMongo.js +90 -0
- package/dist/lib/models/mongo/EmailTemplateMongo.js.map +1 -0
- package/dist/lib/models/mongo/EngagementEventMongo.js +113 -0
- package/dist/lib/models/mongo/EngagementEventMongo.js.map +1 -0
- package/dist/lib/models/mongo/EnrollmentMongo.js +150 -0
- package/dist/lib/models/mongo/EnrollmentMongo.js.map +1 -0
- package/dist/lib/models/mongo/MailingListMongo.js +104 -0
- package/dist/lib/models/mongo/MailingListMongo.js.map +1 -0
- package/dist/lib/models/mongo/OutboundSendMongo.js +265 -0
- package/dist/lib/models/mongo/OutboundSendMongo.js.map +1 -0
- package/dist/lib/models/mongo/PipelineMongo.js +74 -0
- package/dist/lib/models/mongo/PipelineMongo.js.map +1 -0
- package/dist/lib/models/mongo/PropertyDefinitionMongo.js +105 -0
- package/dist/lib/models/mongo/PropertyDefinitionMongo.js.map +1 -0
- package/dist/lib/models/mongo/PropertyValueMongo.js +101 -0
- package/dist/lib/models/mongo/PropertyValueMongo.js.map +1 -0
- package/dist/lib/models/mongo/SavedBlockMongo.js +67 -0
- package/dist/lib/models/mongo/SavedBlockMongo.js.map +1 -0
- package/dist/lib/models/mongo/ScoringRuleMongo.js +112 -0
- package/dist/lib/models/mongo/ScoringRuleMongo.js.map +1 -0
- package/dist/lib/models/mongo/SegmentMongo.js +113 -0
- package/dist/lib/models/mongo/SegmentMongo.js.map +1 -0
- package/dist/lib/models/mongo/SubscriptionMongo.js +114 -0
- package/dist/lib/models/mongo/SubscriptionMongo.js.map +1 -0
- package/dist/lib/models/mongo/SuppressionMongo.js +77 -0
- package/dist/lib/models/mongo/SuppressionMongo.js.map +1 -0
- package/dist/lib/models/mongo/TimelineEventMongo.js +112 -0
- package/dist/lib/models/mongo/TimelineEventMongo.js.map +1 -0
- package/dist/lib/models/mongo/WebhookDeliveryMongo.js +128 -0
- package/dist/lib/models/mongo/WebhookDeliveryMongo.js.map +1 -0
- package/dist/lib/models/mongo/WebhookEndpointMongo.js +118 -0
- package/dist/lib/models/mongo/WebhookEndpointMongo.js.map +1 -0
- package/dist/lib/models/mongo/WorkspaceMemberMongo.js +92 -0
- package/dist/lib/models/mongo/WorkspaceMemberMongo.js.map +1 -0
- package/dist/lib/models/mongo/WorkspaceMongo.js +117 -0
- package/dist/lib/models/mongo/WorkspaceMongo.js.map +1 -0
- package/dist/lib/models/mongo/WorkspaceSenderMongo.js +100 -0
- package/dist/lib/models/mongo/WorkspaceSenderMongo.js.map +1 -0
- package/dist/lib/models/mongo/index.js +74 -0
- package/dist/lib/models/mongo/index.js.map +1 -0
- package/dist/lib/models/sql/ApiKeySQL.js +105 -0
- package/dist/lib/models/sql/ApiKeySQL.js.map +1 -0
- package/dist/lib/models/sql/AutomationSQL.js +126 -0
- package/dist/lib/models/sql/AutomationSQL.js.map +1 -0
- package/dist/lib/models/sql/AutomationVersionSQL.js +82 -0
- package/dist/lib/models/sql/AutomationVersionSQL.js.map +1 -0
- package/dist/lib/models/sql/CampaignSQL.js +211 -0
- package/dist/lib/models/sql/CampaignSQL.js.map +1 -0
- package/dist/lib/models/sql/CrmCompanySQL.js +126 -0
- package/dist/lib/models/sql/CrmCompanySQL.js.map +1 -0
- package/dist/lib/models/sql/CrmContactSQL.js +156 -0
- package/dist/lib/models/sql/CrmContactSQL.js.map +1 -0
- package/dist/lib/models/sql/CrmEventSQL.js +92 -0
- package/dist/lib/models/sql/CrmEventSQL.js.map +1 -0
- package/dist/lib/models/sql/CrmFormSQL.js +139 -0
- package/dist/lib/models/sql/CrmFormSQL.js.map +1 -0
- package/dist/lib/models/sql/CrmImportSQL.js +190 -0
- package/dist/lib/models/sql/CrmImportSQL.js.map +1 -0
- package/dist/lib/models/sql/CrmNoteSQL.js +89 -0
- package/dist/lib/models/sql/CrmNoteSQL.js.map +1 -0
- package/dist/lib/models/sql/CrmSettingSQL.js +60 -0
- package/dist/lib/models/sql/CrmSettingSQL.js.map +1 -0
- package/dist/lib/models/sql/CrmTaskSQL.js +136 -0
- package/dist/lib/models/sql/CrmTaskSQL.js.map +1 -0
- package/dist/lib/models/sql/DealSQL.js +163 -0
- package/dist/lib/models/sql/DealSQL.js.map +1 -0
- package/dist/lib/models/sql/EmailTemplateSQL.js +90 -0
- package/dist/lib/models/sql/EmailTemplateSQL.js.map +1 -0
- package/dist/lib/models/sql/EngagementEventSQL.js +113 -0
- package/dist/lib/models/sql/EngagementEventSQL.js.map +1 -0
- package/dist/lib/models/sql/EnrollmentSQL.js +150 -0
- package/dist/lib/models/sql/EnrollmentSQL.js.map +1 -0
- package/dist/lib/models/sql/MailingListSQL.js +104 -0
- package/dist/lib/models/sql/MailingListSQL.js.map +1 -0
- package/dist/lib/models/sql/OutboundSendSQL.js +265 -0
- package/dist/lib/models/sql/OutboundSendSQL.js.map +1 -0
- package/dist/lib/models/sql/PipelineSQL.js +74 -0
- package/dist/lib/models/sql/PipelineSQL.js.map +1 -0
- package/dist/lib/models/sql/PropertyDefinitionSQL.js +105 -0
- package/dist/lib/models/sql/PropertyDefinitionSQL.js.map +1 -0
- package/dist/lib/models/sql/PropertyValueSQL.js +101 -0
- package/dist/lib/models/sql/PropertyValueSQL.js.map +1 -0
- package/dist/lib/models/sql/SavedBlockSQL.js +67 -0
- package/dist/lib/models/sql/SavedBlockSQL.js.map +1 -0
- package/dist/lib/models/sql/ScoringRuleSQL.js +112 -0
- package/dist/lib/models/sql/ScoringRuleSQL.js.map +1 -0
- package/dist/lib/models/sql/SegmentSQL.js +113 -0
- package/dist/lib/models/sql/SegmentSQL.js.map +1 -0
- package/dist/lib/models/sql/SubscriptionSQL.js +114 -0
- package/dist/lib/models/sql/SubscriptionSQL.js.map +1 -0
- package/dist/lib/models/sql/SuppressionSQL.js +77 -0
- package/dist/lib/models/sql/SuppressionSQL.js.map +1 -0
- package/dist/lib/models/sql/TimelineEventSQL.js +112 -0
- package/dist/lib/models/sql/TimelineEventSQL.js.map +1 -0
- package/dist/lib/models/sql/WebhookDeliverySQL.js +128 -0
- package/dist/lib/models/sql/WebhookDeliverySQL.js.map +1 -0
- package/dist/lib/models/sql/WebhookEndpointSQL.js +118 -0
- package/dist/lib/models/sql/WebhookEndpointSQL.js.map +1 -0
- package/dist/lib/models/sql/WorkspaceMemberSQL.js +92 -0
- package/dist/lib/models/sql/WorkspaceMemberSQL.js.map +1 -0
- package/dist/lib/models/sql/WorkspaceSQL.js +117 -0
- package/dist/lib/models/sql/WorkspaceSQL.js.map +1 -0
- package/dist/lib/models/sql/WorkspaceSenderSQL.js +100 -0
- package/dist/lib/models/sql/WorkspaceSenderSQL.js.map +1 -0
- package/dist/lib/models/sql/index.js +74 -0
- package/dist/lib/models/sql/index.js.map +1 -0
- package/dist/lib/models/types.js +275 -0
- package/dist/lib/models/types.js.map +1 -0
- package/dist/lib/mongo.js +80 -0
- package/dist/lib/mongo.js.map +1 -0
- package/dist/lib/purge.js +68 -0
- package/dist/lib/purge.js.map +1 -0
- package/dist/lib/routes/BaseAnalyticsRoute.js +217 -0
- package/dist/lib/routes/BaseAnalyticsRoute.js.map +1 -0
- package/dist/lib/routes/BaseApiKeyRoute.js +76 -0
- package/dist/lib/routes/BaseApiKeyRoute.js.map +1 -0
- package/dist/lib/routes/BaseAutomationRoute.js +316 -0
- package/dist/lib/routes/BaseAutomationRoute.js.map +1 -0
- package/dist/lib/routes/BaseCampaignRoute.js +443 -0
- package/dist/lib/routes/BaseCampaignRoute.js.map +1 -0
- package/dist/lib/routes/BaseCompanyRoute.js +106 -0
- package/dist/lib/routes/BaseCompanyRoute.js.map +1 -0
- package/dist/lib/routes/BaseContactRoute.js +162 -0
- package/dist/lib/routes/BaseContactRoute.js.map +1 -0
- package/dist/lib/routes/BaseCrmAdminRoute.js +108 -0
- package/dist/lib/routes/BaseCrmAdminRoute.js.map +1 -0
- package/dist/lib/routes/BaseDealRoute.js +312 -0
- package/dist/lib/routes/BaseDealRoute.js.map +1 -0
- package/dist/lib/routes/BaseFormRoute.js +124 -0
- package/dist/lib/routes/BaseFormRoute.js.map +1 -0
- package/dist/lib/routes/BaseImportRoute.js +231 -0
- package/dist/lib/routes/BaseImportRoute.js.map +1 -0
- package/dist/lib/routes/BaseIntegrationRoute.js +181 -0
- package/dist/lib/routes/BaseIntegrationRoute.js.map +1 -0
- package/dist/lib/routes/BaseListRoute.js +89 -0
- package/dist/lib/routes/BaseListRoute.js.map +1 -0
- package/dist/lib/routes/BaseNoteRoute.js +69 -0
- package/dist/lib/routes/BaseNoteRoute.js.map +1 -0
- package/dist/lib/routes/BasePipelineRoute.js +149 -0
- package/dist/lib/routes/BasePipelineRoute.js.map +1 -0
- package/dist/lib/routes/BasePropertyDefinitionRoute.js +140 -0
- package/dist/lib/routes/BasePropertyDefinitionRoute.js.map +1 -0
- package/dist/lib/routes/BasePublicRoute.js +528 -0
- package/dist/lib/routes/BasePublicRoute.js.map +1 -0
- package/dist/lib/routes/BaseSavedBlockRoute.js +39 -0
- package/dist/lib/routes/BaseSavedBlockRoute.js.map +1 -0
- package/dist/lib/routes/BaseScoringRuleRoute.js +146 -0
- package/dist/lib/routes/BaseScoringRuleRoute.js.map +1 -0
- package/dist/lib/routes/BaseSegmentRoute.js +136 -0
- package/dist/lib/routes/BaseSegmentRoute.js.map +1 -0
- package/dist/lib/routes/BaseSubscriptionRoute.js +92 -0
- package/dist/lib/routes/BaseSubscriptionRoute.js.map +1 -0
- package/dist/lib/routes/BaseSuppressionRoute.js +48 -0
- package/dist/lib/routes/BaseSuppressionRoute.js.map +1 -0
- package/dist/lib/routes/BaseTaggedRecordRoute.js +312 -0
- package/dist/lib/routes/BaseTaggedRecordRoute.js.map +1 -0
- package/dist/lib/routes/BaseTaskRoute.js +116 -0
- package/dist/lib/routes/BaseTaskRoute.js.map +1 -0
- package/dist/lib/routes/BaseTemplateRoute.js +207 -0
- package/dist/lib/routes/BaseTemplateRoute.js.map +1 -0
- package/dist/lib/routes/BaseTimelineRoute.js +47 -0
- package/dist/lib/routes/BaseTimelineRoute.js.map +1 -0
- package/dist/lib/routes/BaseTrackingRoute.js +106 -0
- package/dist/lib/routes/BaseTrackingRoute.js.map +1 -0
- package/dist/lib/routes/BaseWebhookRoute.js +173 -0
- package/dist/lib/routes/BaseWebhookRoute.js.map +1 -0
- package/dist/lib/routes/BaseWorkspaceRecordRoute.js +220 -0
- package/dist/lib/routes/BaseWorkspaceRecordRoute.js.map +1 -0
- package/dist/lib/routes/BaseWorkspaceRoute.js +540 -0
- package/dist/lib/routes/BaseWorkspaceRoute.js.map +1 -0
- package/dist/lib/routes/CrmRouteBase.js +261 -0
- package/dist/lib/routes/CrmRouteBase.js.map +1 -0
- package/dist/lib/routes/mongo/AnalyticsRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/AnalyticsRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/ApiKeyRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/ApiKeyRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/AutomationRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/AutomationRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/CampaignRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/CampaignRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/CompanyRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/CompanyRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/ContactRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/ContactRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/CrmAdminRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/CrmAdminRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/DealRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/DealRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/FormRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/FormRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/ImportRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/ImportRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/IntegrationRouteMongo.js +28 -0
- package/dist/lib/routes/mongo/IntegrationRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/ListRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/ListRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/NoteRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/NoteRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/PipelineRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/PipelineRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/PropertyDefinitionRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/PropertyDefinitionRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/PublicRouteMongo.js +28 -0
- package/dist/lib/routes/mongo/PublicRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/SavedBlockRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/SavedBlockRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/ScoringRuleRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/ScoringRuleRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/SegmentRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/SegmentRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/SubscriptionRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/SubscriptionRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/SuppressionRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/SuppressionRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/TaskRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/TaskRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/TemplateRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/TemplateRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/TimelineRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/TimelineRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/TrackingRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/TrackingRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/WebhookRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/WebhookRouteMongo.js.map +1 -0
- package/dist/lib/routes/mongo/WorkspaceRouteMongo.js +26 -0
- package/dist/lib/routes/mongo/WorkspaceRouteMongo.js.map +1 -0
- package/dist/lib/routes/sql/AnalyticsRouteSQL.js +26 -0
- package/dist/lib/routes/sql/AnalyticsRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/ApiKeyRouteSQL.js +26 -0
- package/dist/lib/routes/sql/ApiKeyRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/AutomationRouteSQL.js +26 -0
- package/dist/lib/routes/sql/AutomationRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/CampaignRouteSQL.js +26 -0
- package/dist/lib/routes/sql/CampaignRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/CompanyRouteSQL.js +26 -0
- package/dist/lib/routes/sql/CompanyRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/ContactRouteSQL.js +26 -0
- package/dist/lib/routes/sql/ContactRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/CrmAdminRouteSQL.js +26 -0
- package/dist/lib/routes/sql/CrmAdminRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/DealRouteSQL.js +26 -0
- package/dist/lib/routes/sql/DealRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/FormRouteSQL.js +26 -0
- package/dist/lib/routes/sql/FormRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/ImportRouteSQL.js +26 -0
- package/dist/lib/routes/sql/ImportRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/IntegrationRouteSQL.js +28 -0
- package/dist/lib/routes/sql/IntegrationRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/ListRouteSQL.js +26 -0
- package/dist/lib/routes/sql/ListRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/NoteRouteSQL.js +26 -0
- package/dist/lib/routes/sql/NoteRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/PipelineRouteSQL.js +26 -0
- package/dist/lib/routes/sql/PipelineRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/PropertyDefinitionRouteSQL.js +26 -0
- package/dist/lib/routes/sql/PropertyDefinitionRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/PublicRouteSQL.js +28 -0
- package/dist/lib/routes/sql/PublicRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/SavedBlockRouteSQL.js +26 -0
- package/dist/lib/routes/sql/SavedBlockRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/ScoringRuleRouteSQL.js +26 -0
- package/dist/lib/routes/sql/ScoringRuleRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/SegmentRouteSQL.js +26 -0
- package/dist/lib/routes/sql/SegmentRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/SubscriptionRouteSQL.js +26 -0
- package/dist/lib/routes/sql/SubscriptionRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/SuppressionRouteSQL.js +26 -0
- package/dist/lib/routes/sql/SuppressionRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/TaskRouteSQL.js +26 -0
- package/dist/lib/routes/sql/TaskRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/TemplateRouteSQL.js +26 -0
- package/dist/lib/routes/sql/TemplateRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/TimelineRouteSQL.js +26 -0
- package/dist/lib/routes/sql/TimelineRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/TrackingRouteSQL.js +26 -0
- package/dist/lib/routes/sql/TrackingRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/WebhookRouteSQL.js +26 -0
- package/dist/lib/routes/sql/WebhookRouteSQL.js.map +1 -0
- package/dist/lib/routes/sql/WorkspaceRouteSQL.js +26 -0
- package/dist/lib/routes/sql/WorkspaceRouteSQL.js.map +1 -0
- package/dist/lib/scoring/Scoring.js +105 -0
- package/dist/lib/scoring/Scoring.js.map +1 -0
- package/dist/lib/segments/Segments.js +125 -0
- package/dist/lib/segments/Segments.js.map +1 -0
- package/dist/lib/sending/Audience.js +87 -0
- package/dist/lib/sending/Audience.js.map +1 -0
- package/dist/lib/sending/CampaignRenderer.js +123 -0
- package/dist/lib/sending/CampaignRenderer.js.map +1 -0
- package/dist/lib/sending/Engagement.js +216 -0
- package/dist/lib/sending/Engagement.js.map +1 -0
- package/dist/lib/sending/Stats.js +70 -0
- package/dist/lib/sending/Stats.js.map +1 -0
- package/dist/lib/sending/Tracking.js +98 -0
- package/dist/lib/sending/Tracking.js.map +1 -0
- package/dist/lib/sql.js +80 -0
- package/dist/lib/sql.js.map +1 -0
- package/dist/lib/templates/Design.js +278 -0
- package/dist/lib/templates/Design.js.map +1 -0
- package/dist/lib/templates/MergeContext.js +57 -0
- package/dist/lib/templates/MergeContext.js.map +1 -0
- package/dist/lib/templates/Render.js +147 -0
- package/dist/lib/templates/Render.js.map +1 -0
- package/dist/lib/templates/Sanitize.js +98 -0
- package/dist/lib/templates/Sanitize.js.map +1 -0
- package/dist/lib/util/Csv.js +128 -0
- package/dist/lib/util/Csv.js.map +1 -0
- package/dist/lib/util/ImportMapping.js +206 -0
- package/dist/lib/util/ImportMapping.js.map +1 -0
- package/dist/lib/util/Mailer.js +43 -0
- package/dist/lib/util/Mailer.js.map +1 -0
- package/dist/lib/util/PropertyValues.js +145 -0
- package/dist/lib/util/PropertyValues.js.map +1 -0
- package/dist/lib/util/Secrets.js +31 -0
- package/dist/lib/util/Secrets.js.map +1 -0
- package/dist/lib/util/Tokens.js +58 -0
- package/dist/lib/util/Tokens.js.map +1 -0
- package/dist/lib/util/Validation.js +194 -0
- package/dist/lib/util/Validation.js.map +1 -0
- package/dist/lib/util/WorkspaceAccess.js +55 -0
- package/dist/lib/util/WorkspaceAccess.js.map +1 -0
- package/dist/lib/webhooks/Deliveries.js +47 -0
- package/dist/lib/webhooks/Deliveries.js.map +1 -0
- package/dist/lib/webhooks/Webhooks.js +132 -0
- package/dist/lib/webhooks/Webhooks.js.map +1 -0
- package/dist/types/automation/Dates.d.ts +42 -0
- package/dist/types/automation/Engine.d.ts +63 -0
- package/dist/types/automation/Events.d.ts +43 -0
- package/dist/types/automation/Graph.d.ts +77 -0
- package/dist/types/filters/Filter.d.ts +83 -0
- package/dist/types/filters/fields.d.ts +9 -0
- package/dist/types/index.d.ts +81 -0
- package/dist/types/jobs/AutomationRunJob.d.ts +18 -0
- package/dist/types/jobs/AutomationTriggerJob.d.ts +23 -0
- package/dist/types/jobs/CampaignJob.d.ts +45 -0
- package/dist/types/jobs/CrmImportJob.d.ts +44 -0
- package/dist/types/jobs/CrmJobBase.d.ts +26 -0
- package/dist/types/jobs/CrmMailEventJob.d.ts +102 -0
- package/dist/types/jobs/DateTriggerJob.d.ts +21 -0
- package/dist/types/jobs/ScoringJob.d.ts +13 -0
- package/dist/types/jobs/SegmentRefreshJob.d.ts +16 -0
- package/dist/types/jobs/SendDispatchJob.d.ts +52 -0
- package/dist/types/jobs/TaskReminderJob.d.ts +12 -0
- package/dist/types/jobs/WebhookDeliveryJob.d.ts +22 -0
- package/dist/types/jobs/mongo/AutomationRunJobMongo.d.ts +7 -0
- package/dist/types/jobs/mongo/AutomationTriggerJobMongo.d.ts +6 -0
- package/dist/types/jobs/mongo/CampaignJobMongo.d.ts +6 -0
- package/dist/types/jobs/mongo/CrmImportJobMongo.d.ts +8 -0
- package/dist/types/jobs/mongo/CrmMailEventJobMongo.d.ts +6 -0
- package/dist/types/jobs/mongo/DateTriggerJobMongo.d.ts +6 -0
- package/dist/types/jobs/mongo/ScoringJobMongo.d.ts +6 -0
- package/dist/types/jobs/mongo/SegmentRefreshJobMongo.d.ts +6 -0
- package/dist/types/jobs/mongo/SendDispatchJobMongo.d.ts +6 -0
- package/dist/types/jobs/mongo/TaskReminderJobMongo.d.ts +6 -0
- package/dist/types/jobs/mongo/WebhookDeliveryJobMongo.d.ts +6 -0
- package/dist/types/jobs/sql/AutomationRunJobSQL.d.ts +7 -0
- package/dist/types/jobs/sql/AutomationTriggerJobSQL.d.ts +6 -0
- package/dist/types/jobs/sql/CampaignJobSQL.d.ts +6 -0
- package/dist/types/jobs/sql/CrmImportJobSQL.d.ts +8 -0
- package/dist/types/jobs/sql/CrmMailEventJobSQL.d.ts +6 -0
- package/dist/types/jobs/sql/DateTriggerJobSQL.d.ts +6 -0
- package/dist/types/jobs/sql/ScoringJobSQL.d.ts +6 -0
- package/dist/types/jobs/sql/SegmentRefreshJobSQL.d.ts +6 -0
- package/dist/types/jobs/sql/SendDispatchJobSQL.d.ts +6 -0
- package/dist/types/jobs/sql/TaskReminderJobSQL.d.ts +6 -0
- package/dist/types/jobs/sql/WebhookDeliveryJobSQL.d.ts +6 -0
- package/dist/types/models/CrmModelClasses.d.ts +63 -0
- package/dist/types/models/mongo/ApiKeyMongo.d.ts +19 -0
- package/dist/types/models/mongo/AutomationMongo.d.ts +22 -0
- package/dist/types/models/mongo/AutomationVersionMongo.d.ts +16 -0
- package/dist/types/models/mongo/CampaignMongo.d.ts +34 -0
- package/dist/types/models/mongo/CrmCompanyMongo.d.ts +22 -0
- package/dist/types/models/mongo/CrmContactMongo.d.ts +26 -0
- package/dist/types/models/mongo/CrmEventMongo.d.ts +17 -0
- package/dist/types/models/mongo/CrmFormMongo.d.ts +24 -0
- package/dist/types/models/mongo/CrmImportMongo.d.ts +31 -0
- package/dist/types/models/mongo/CrmNoteMongo.d.ts +17 -0
- package/dist/types/models/mongo/CrmSettingMongo.d.ts +13 -0
- package/dist/types/models/mongo/CrmTaskMongo.d.ts +23 -0
- package/dist/types/models/mongo/DealMongo.d.ts +27 -0
- package/dist/types/models/mongo/EmailTemplateMongo.d.ts +17 -0
- package/dist/types/models/mongo/EngagementEventMongo.d.ts +20 -0
- package/dist/types/models/mongo/EnrollmentMongo.d.ts +25 -0
- package/dist/types/models/mongo/MailingListMongo.d.ts +19 -0
- package/dist/types/models/mongo/OutboundSendMongo.d.ts +41 -0
- package/dist/types/models/mongo/PipelineMongo.d.ts +15 -0
- package/dist/types/models/mongo/PropertyDefinitionMongo.d.ts +19 -0
- package/dist/types/models/mongo/PropertyValueMongo.d.ts +18 -0
- package/dist/types/models/mongo/SavedBlockMongo.d.ts +14 -0
- package/dist/types/models/mongo/ScoringRuleMongo.d.ts +20 -0
- package/dist/types/models/mongo/SegmentMongo.d.ts +20 -0
- package/dist/types/models/mongo/SubscriptionMongo.d.ts +20 -0
- package/dist/types/models/mongo/SuppressionMongo.d.ts +15 -0
- package/dist/types/models/mongo/TimelineEventMongo.d.ts +20 -0
- package/dist/types/models/mongo/WebhookDeliveryMongo.d.ts +22 -0
- package/dist/types/models/mongo/WebhookEndpointMongo.d.ts +21 -0
- package/dist/types/models/mongo/WorkspaceMemberMongo.d.ts +17 -0
- package/dist/types/models/mongo/WorkspaceMongo.d.ts +21 -0
- package/dist/types/models/mongo/WorkspaceSenderMongo.d.ts +18 -0
- package/dist/types/models/mongo/index.d.ts +3 -0
- package/dist/types/models/sql/ApiKeySQL.d.ts +19 -0
- package/dist/types/models/sql/AutomationSQL.d.ts +22 -0
- package/dist/types/models/sql/AutomationVersionSQL.d.ts +16 -0
- package/dist/types/models/sql/CampaignSQL.d.ts +34 -0
- package/dist/types/models/sql/CrmCompanySQL.d.ts +22 -0
- package/dist/types/models/sql/CrmContactSQL.d.ts +26 -0
- package/dist/types/models/sql/CrmEventSQL.d.ts +17 -0
- package/dist/types/models/sql/CrmFormSQL.d.ts +24 -0
- package/dist/types/models/sql/CrmImportSQL.d.ts +31 -0
- package/dist/types/models/sql/CrmNoteSQL.d.ts +17 -0
- package/dist/types/models/sql/CrmSettingSQL.d.ts +13 -0
- package/dist/types/models/sql/CrmTaskSQL.d.ts +23 -0
- package/dist/types/models/sql/DealSQL.d.ts +27 -0
- package/dist/types/models/sql/EmailTemplateSQL.d.ts +17 -0
- package/dist/types/models/sql/EngagementEventSQL.d.ts +20 -0
- package/dist/types/models/sql/EnrollmentSQL.d.ts +25 -0
- package/dist/types/models/sql/MailingListSQL.d.ts +19 -0
- package/dist/types/models/sql/OutboundSendSQL.d.ts +41 -0
- package/dist/types/models/sql/PipelineSQL.d.ts +15 -0
- package/dist/types/models/sql/PropertyDefinitionSQL.d.ts +19 -0
- package/dist/types/models/sql/PropertyValueSQL.d.ts +18 -0
- package/dist/types/models/sql/SavedBlockSQL.d.ts +14 -0
- package/dist/types/models/sql/ScoringRuleSQL.d.ts +20 -0
- package/dist/types/models/sql/SegmentSQL.d.ts +20 -0
- package/dist/types/models/sql/SubscriptionSQL.d.ts +20 -0
- package/dist/types/models/sql/SuppressionSQL.d.ts +15 -0
- package/dist/types/models/sql/TimelineEventSQL.d.ts +20 -0
- package/dist/types/models/sql/WebhookDeliverySQL.d.ts +22 -0
- package/dist/types/models/sql/WebhookEndpointSQL.d.ts +21 -0
- package/dist/types/models/sql/WorkspaceMemberSQL.d.ts +17 -0
- package/dist/types/models/sql/WorkspaceSQL.d.ts +21 -0
- package/dist/types/models/sql/WorkspaceSenderSQL.d.ts +18 -0
- package/dist/types/models/sql/index.d.ts +3 -0
- package/dist/types/models/types.d.ts +902 -0
- package/dist/types/mongo.d.ts +75 -0
- package/dist/types/purge.d.ts +32 -0
- package/dist/types/routes/BaseAnalyticsRoute.d.ts +87 -0
- package/dist/types/routes/BaseApiKeyRoute.d.ts +31 -0
- package/dist/types/routes/BaseAutomationRoute.d.ts +56 -0
- package/dist/types/routes/BaseCampaignRoute.d.ts +66 -0
- package/dist/types/routes/BaseCompanyRoute.d.ts +30 -0
- package/dist/types/routes/BaseContactRoute.d.ts +42 -0
- package/dist/types/routes/BaseCrmAdminRoute.d.ts +41 -0
- package/dist/types/routes/BaseDealRoute.d.ts +65 -0
- package/dist/types/routes/BaseFormRoute.d.ts +25 -0
- package/dist/types/routes/BaseImportRoute.d.ts +39 -0
- package/dist/types/routes/BaseIntegrationRoute.d.ts +46 -0
- package/dist/types/routes/BaseListRoute.d.ts +26 -0
- package/dist/types/routes/BaseNoteRoute.d.ts +15 -0
- package/dist/types/routes/BasePipelineRoute.d.ts +31 -0
- package/dist/types/routes/BasePropertyDefinitionRoute.d.ts +24 -0
- package/dist/types/routes/BasePublicRoute.d.ts +129 -0
- package/dist/types/routes/BaseSavedBlockRoute.d.ts +16 -0
- package/dist/types/routes/BaseScoringRuleRoute.d.ts +33 -0
- package/dist/types/routes/BaseSegmentRoute.d.ts +36 -0
- package/dist/types/routes/BaseSubscriptionRoute.d.ts +20 -0
- package/dist/types/routes/BaseSuppressionRoute.d.ts +17 -0
- package/dist/types/routes/BaseTaggedRecordRoute.d.ts +85 -0
- package/dist/types/routes/BaseTaskRoute.d.ts +18 -0
- package/dist/types/routes/BaseTemplateRoute.d.ts +52 -0
- package/dist/types/routes/BaseTimelineRoute.d.ts +10 -0
- package/dist/types/routes/BaseTrackingRoute.d.ts +21 -0
- package/dist/types/routes/BaseWebhookRoute.d.ts +49 -0
- package/dist/types/routes/BaseWorkspaceRecordRoute.d.ts +78 -0
- package/dist/types/routes/BaseWorkspaceRoute.d.ts +78 -0
- package/dist/types/routes/CrmRouteBase.d.ts +95 -0
- package/dist/types/routes/mongo/AnalyticsRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/ApiKeyRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/AutomationRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/CampaignRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/CompanyRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/ContactRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/CrmAdminRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/DealRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/FormRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/ImportRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/IntegrationRouteMongo.d.ts +7 -0
- package/dist/types/routes/mongo/ListRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/NoteRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/PipelineRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/PropertyDefinitionRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/PublicRouteMongo.d.ts +7 -0
- package/dist/types/routes/mongo/SavedBlockRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/ScoringRuleRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/SegmentRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/SubscriptionRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/SuppressionRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/TaskRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/TemplateRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/TimelineRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/TrackingRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/WebhookRouteMongo.d.ts +6 -0
- package/dist/types/routes/mongo/WorkspaceRouteMongo.d.ts +6 -0
- package/dist/types/routes/sql/AnalyticsRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/ApiKeyRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/AutomationRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/CampaignRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/CompanyRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/ContactRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/CrmAdminRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/DealRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/FormRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/ImportRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/IntegrationRouteSQL.d.ts +7 -0
- package/dist/types/routes/sql/ListRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/NoteRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/PipelineRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/PropertyDefinitionRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/PublicRouteSQL.d.ts +7 -0
- package/dist/types/routes/sql/SavedBlockRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/ScoringRuleRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/SegmentRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/SubscriptionRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/SuppressionRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/TaskRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/TemplateRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/TimelineRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/TrackingRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/WebhookRouteSQL.d.ts +6 -0
- package/dist/types/routes/sql/WorkspaceRouteSQL.d.ts +6 -0
- package/dist/types/scoring/Scoring.d.ts +14 -0
- package/dist/types/segments/Segments.d.ts +46 -0
- package/dist/types/sending/Audience.d.ts +39 -0
- package/dist/types/sending/CampaignRenderer.d.ts +40 -0
- package/dist/types/sending/Engagement.d.ts +50 -0
- package/dist/types/sending/Stats.d.ts +17 -0
- package/dist/types/sending/Tracking.d.ts +39 -0
- package/dist/types/sql.d.ts +75 -0
- package/dist/types/templates/Design.d.ts +138 -0
- package/dist/types/templates/MergeContext.d.ts +27 -0
- package/dist/types/templates/Render.d.ts +46 -0
- package/dist/types/templates/Sanitize.d.ts +18 -0
- package/dist/types/util/Csv.d.ts +26 -0
- package/dist/types/util/ImportMapping.d.ts +23 -0
- package/dist/types/util/Mailer.d.ts +24 -0
- package/dist/types/util/PropertyValues.d.ts +31 -0
- package/dist/types/util/Secrets.d.ts +10 -0
- package/dist/types/util/Tokens.d.ts +30 -0
- package/dist/types/util/Validation.d.ts +59 -0
- package/dist/types/util/WorkspaceAccess.d.ts +24 -0
- package/dist/types/webhooks/Deliveries.d.ts +26 -0
- package/dist/types/webhooks/Webhooks.d.ts +43 -0
- package/package.json +226 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { type JWTUser } from "@rapidrest/core";
|
|
2
|
+
import { RepoUtils } from "@rapidrest/service-core";
|
|
3
|
+
import { CrmModelName } from "../models/CrmModelClasses.js";
|
|
4
|
+
import { CrmEntity, WorkspaceAction } from "../models/types.js";
|
|
5
|
+
import { CrmRouteBase } from "./CrmRouteBase.js";
|
|
6
|
+
/** A record of a workspace. */
|
|
7
|
+
export interface WorkspaceRecord extends CrmEntity {
|
|
8
|
+
workspaceUid: string;
|
|
9
|
+
}
|
|
10
|
+
/** A page of a search: the records, and how many match in all. */
|
|
11
|
+
export interface SearchResult<V> {
|
|
12
|
+
items: V[];
|
|
13
|
+
total: number;
|
|
14
|
+
}
|
|
15
|
+
/** What a write hook gets. */
|
|
16
|
+
export interface WriteContext {
|
|
17
|
+
workspaceUid: string;
|
|
18
|
+
user: JWTUser;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The create, read, update, delete and search endpoints of one kind of workspace record, mounted by a subclass at
|
|
22
|
+
* `/api/mail/crm/<kind>`:
|
|
23
|
+
* - `GET /:workspaceUid` - a page (`limit`, `page`), newest first, optionally narrowed by `listQuery()`'s query parameters.
|
|
24
|
+
* - `POST /:workspaceUid/search` - `{ filter?, q?, sort?, limit?, page? }` to `{ items, total }` (see `searchQuery()`).
|
|
25
|
+
* - `GET /:workspaceUid/:uid`, `POST /:workspaceUid`, `PUT /:workspaceUid/:uid`, `DELETE /:workspaceUid/:uid`.
|
|
26
|
+
*
|
|
27
|
+
* Reading takes `READ` on the workspace, writing `WRITE` (`writeAction` - `MANAGE` for workspace configuration such as property
|
|
28
|
+
* definitions). A subclass supplies the model (`model`), the fields a request may set (`readCreate()`/`readUpdate()`), and optionally
|
|
29
|
+
* the response shape (`toViews()`) and what else a write changes (`afterWrite()`/`afterDelete()`).
|
|
30
|
+
*
|
|
31
|
+
* Every stored record is scoped by `workspaceUid`: a uid of another workspace's record is a 404, the same as one that doesn't exist.
|
|
32
|
+
* An update may carry the `version` it was based on; a stale one is a 409 (`RepoUtils.update()`'s optimistic lock).
|
|
33
|
+
*/
|
|
34
|
+
export declare abstract class BaseWorkspaceRecordRoute<T extends WorkspaceRecord, V = T> extends CrmRouteBase {
|
|
35
|
+
/** The model this route serves. */
|
|
36
|
+
protected abstract readonly model: CrmModelName;
|
|
37
|
+
/** The push message type of a change (e.g. `CrmContact`). */
|
|
38
|
+
protected abstract readonly pushType: string;
|
|
39
|
+
/** The action writes take. */
|
|
40
|
+
protected readonly writeAction: WorkspaceAction;
|
|
41
|
+
/** The fields a search may sort by. `dateCreated` and `dateModified` are always allowed. */
|
|
42
|
+
protected readonly sortFields: readonly string[];
|
|
43
|
+
/** How many records one workspace may have of this kind (`undefined`: no limit). */
|
|
44
|
+
protected readonly maxRecords?: number;
|
|
45
|
+
/** The stored fields of a new record, from a create request. */
|
|
46
|
+
protected abstract readCreate(body: Record<string, unknown>, context: WriteContext): Promise<Partial<T>>;
|
|
47
|
+
/** The changed fields of `existing`, from an update request. */
|
|
48
|
+
protected abstract readUpdate(body: Record<string, unknown>, existing: T, context: WriteContext): Promise<Partial<T>>;
|
|
49
|
+
/**
|
|
50
|
+
* Whatever a write changes besides the record itself (property values, the timeline...). `before` is unset on a create. Returns the
|
|
51
|
+
* record as saved again, when the hook changed it too.
|
|
52
|
+
*/
|
|
53
|
+
protected afterWrite(_record: T, _before: T | undefined, _body: Record<string, unknown>, _context: WriteContext): Promise<T | void>;
|
|
54
|
+
/** Refuses a delete (throws) when `record` can't go yet. */
|
|
55
|
+
protected beforeDelete(_record: T): Promise<void>;
|
|
56
|
+
/** Whatever a delete removes besides the record itself. */
|
|
57
|
+
protected afterDelete(_record: T, _context: WriteContext): Promise<void>;
|
|
58
|
+
/** The response shape of `records` (all of one workspace). */
|
|
59
|
+
protected toViews(records: T[], _workspaceUid: string): Promise<V[]>;
|
|
60
|
+
/** Extra conditions `GET /:workspaceUid` takes from its query parameters (e.g. `subjectUid`). */
|
|
61
|
+
protected listQuery(_query: Record<string, unknown>): Record<string, unknown>;
|
|
62
|
+
/**
|
|
63
|
+
* The conditions of a `POST /:workspaceUid/search` request besides the workspace itself, from its `filter` and `q`. By default
|
|
64
|
+
* neither is supported; the contact and company routes compile filters (`filters/Filter.ts`).
|
|
65
|
+
*/
|
|
66
|
+
protected searchQuery(body: Record<string, unknown>, _workspaceUid: string): Promise<Record<string, unknown> | undefined>;
|
|
67
|
+
protected records(): Promise<RepoUtils<T>>;
|
|
68
|
+
list(workspaceUid: string, query: Record<string, unknown> | undefined, user?: JWTUser): Promise<V[]>;
|
|
69
|
+
search(workspaceUid: string, body: unknown, user?: JWTUser): Promise<SearchResult<V>>;
|
|
70
|
+
get(workspaceUid: string, uid: string, user?: JWTUser): Promise<V>;
|
|
71
|
+
create(workspaceUid: string, body: unknown, user?: JWTUser): Promise<V>;
|
|
72
|
+
update(workspaceUid: string, uid: string, body: unknown, user?: JWTUser): Promise<V>;
|
|
73
|
+
remove(workspaceUid: string, uid: string, user?: JWTUser): Promise<void>;
|
|
74
|
+
/** The workspace's record `uid`, or a 404. */
|
|
75
|
+
protected requireRecord(workspaceUid: string, uid: string): Promise<T>;
|
|
76
|
+
/** `{ field: "ASC" | "DESC" }` from a search's `sort` (`{ field, direction }`), newest first by default. */
|
|
77
|
+
private readSort;
|
|
78
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { type JWTUser } from "@rapidrest/core";
|
|
2
|
+
import { Workspace, WorkspaceMember, WorkspaceRole, WorkspaceSender } from "../models/types.js";
|
|
3
|
+
import { CrmRouteBase } from "./CrmRouteBase.js";
|
|
4
|
+
/** How many members and senders one workspace may have, by default (`mail:crm:max_members`, `mail:crm:max_senders`). */
|
|
5
|
+
export declare const MAX_MEMBERS = 500;
|
|
6
|
+
export declare const MAX_SENDERS = 50;
|
|
7
|
+
/** A workspace as its members see it: the record plus the caller's own role. */
|
|
8
|
+
export interface WorkspaceView extends Workspace {
|
|
9
|
+
role: WorkspaceRole;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* CRM workspaces (`/api/mail/crm/workspaces`): creating one (the creator becomes its owner), listing the caller's, changing and deleting
|
|
13
|
+
* them, and managing who is a member with which role, and which addresses the workspace sends as.
|
|
14
|
+
*
|
|
15
|
+
* A workspace's `AccessControlList` (uid = the workspace's uid, created with it) holds one record per member granting their role's
|
|
16
|
+
* actions (`ROLE_ACTIONS`); every other CRM route checks the caller against it. `WorkspaceMember` rows mirror those records so a
|
|
17
|
+
* member's workspaces can be listed and its members shown; this route changes both together.
|
|
18
|
+
*/
|
|
19
|
+
export declare abstract class BaseWorkspaceRoute extends CrmRouteBase {
|
|
20
|
+
/** Roles allowed to create a workspace, comma-separated; empty lets every signed-in user. */
|
|
21
|
+
protected creatorRoles: string;
|
|
22
|
+
protected maxWorkspacesPerUser: number;
|
|
23
|
+
protected maxMembers: number;
|
|
24
|
+
protected maxSenders: number;
|
|
25
|
+
list(user?: JWTUser): Promise<WorkspaceView[]>;
|
|
26
|
+
create(body: unknown, user?: JWTUser): Promise<WorkspaceView>;
|
|
27
|
+
get(workspaceUid: string, user?: JWTUser): Promise<WorkspaceView>;
|
|
28
|
+
update(workspaceUid: string, body: unknown, user?: JWTUser): Promise<WorkspaceView>;
|
|
29
|
+
/** Deletes the workspace and everything in it. Owners only. */
|
|
30
|
+
remove(workspaceUid: string, user?: JWTUser): Promise<void>;
|
|
31
|
+
listMembers(workspaceUid: string, user?: JWTUser): Promise<WorkspaceMember[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Adds a member by `userUid`, or by `address` - resolved to the owner of the mailbox with that address, so a colleague can be
|
|
34
|
+
* added by their email address. Only an owner can add another owner.
|
|
35
|
+
*/
|
|
36
|
+
addMember(workspaceUid: string, body: unknown, user?: JWTUser): Promise<WorkspaceMember>;
|
|
37
|
+
/** Changes a member's role. Making someone an owner, or changing an owner's role, takes an owner; the last owner stays one. */
|
|
38
|
+
updateMember(workspaceUid: string, memberUid: string, body: unknown, user?: JWTUser): Promise<WorkspaceMember>;
|
|
39
|
+
/** Removes a member. A member may always leave; removing someone else takes `MANAGE`, and removing an owner takes an owner. */
|
|
40
|
+
removeMember(workspaceUid: string, memberUid: string, user?: JWTUser): Promise<void>;
|
|
41
|
+
listSenders(workspaceUid: string, user?: JWTUser): Promise<WorkspaceSender[]>;
|
|
42
|
+
/**
|
|
43
|
+
* Adds an address the workspace sends as. The caller must be able to change the mailbox the address belongs to (update access:
|
|
44
|
+
* its owner or a delegate) - otherwise any workspace admin could send as anyone's mailbox - and the address must be the
|
|
45
|
+
* mailbox's primary address or one of its aliases.
|
|
46
|
+
*/
|
|
47
|
+
addSender(workspaceUid: string, body: unknown, user?: JWTUser): Promise<WorkspaceSender>;
|
|
48
|
+
updateSender(workspaceUid: string, senderUid: string, body: unknown, user?: JWTUser): Promise<WorkspaceSender>;
|
|
49
|
+
removeSender(workspaceUid: string, senderUid: string, user?: JWTUser): Promise<void>;
|
|
50
|
+
/** The caller's uid, lowercased, or a 401 for an anonymous caller. */
|
|
51
|
+
private requireUser;
|
|
52
|
+
/** The workspace fields of a create (`required`: `name`) or update request. */
|
|
53
|
+
private readWorkspace;
|
|
54
|
+
/** The version an update was based on (the request's `version`, else the stored one - last writer wins). */
|
|
55
|
+
private requestVersion;
|
|
56
|
+
private readRole;
|
|
57
|
+
/** Who a member request names: `userUid` as given, or `address` as the owner of the mailbox with that address. */
|
|
58
|
+
private resolvePerson;
|
|
59
|
+
/**
|
|
60
|
+
* The mailbox whose primary address is `address` (lowercase). Only the primary address: a member or sender is named by the
|
|
61
|
+
* mailbox's own address, so an alias never silently picks some other mailbox.
|
|
62
|
+
*/
|
|
63
|
+
private findMailboxByAddress;
|
|
64
|
+
/** The mailbox `address` belongs to, when the caller may send from it (update access to the mailbox), else a 400. */
|
|
65
|
+
private requireSendableMailbox;
|
|
66
|
+
private requireWorkspace;
|
|
67
|
+
private requireWorkspaceSender;
|
|
68
|
+
private members;
|
|
69
|
+
private senders;
|
|
70
|
+
/** Refuses (409) a change that would leave the workspace without an owner: `member` becoming `role` (`undefined`: leaving). */
|
|
71
|
+
private keepAnOwner;
|
|
72
|
+
/** Grants `userUid` the actions of `role` on the workspace's ACL, or removes their record (`role` undefined). Retries lost races. */
|
|
73
|
+
private setAclRecord;
|
|
74
|
+
/** A plain copy of a stored record, for a response. */
|
|
75
|
+
protected plain<T>(record: T): T;
|
|
76
|
+
}
|
|
77
|
+
/** Whether `zone` is an IANA time zone this runtime knows. */
|
|
78
|
+
export declare function isTimeZone(zone: string): boolean;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { type JWTUser } from "@rapidrest/core";
|
|
2
|
+
import { ACLUtils, NotificationUtils, ObjectFactory, RepoUtils } from "@rapidrest/service-core";
|
|
3
|
+
import { CrmModelClasses, CrmModelName, CrmRepos } from "../models/CrmModelClasses.js";
|
|
4
|
+
import { CrmObjectType, Workspace, MailingList, Subscription, SubscriptionStatus, WorkspaceAction, WorkspaceMember, WorkspaceSender } from "../models/types.js";
|
|
5
|
+
import { MergeContext } from "../templates/Render.js";
|
|
6
|
+
import { TokenPayload } from "../util/Tokens.js";
|
|
7
|
+
/** The `PropertyValue.key` a contact's subscribed lists are mirrored under, so filters can match list membership. */
|
|
8
|
+
export declare const LISTS_KEY = "lists";
|
|
9
|
+
/** The `CrmSetting` key of the generated token signing key. */
|
|
10
|
+
/** Who or what changed a subscription, and from where. */
|
|
11
|
+
export interface SubscriptionChange {
|
|
12
|
+
/** `form`, `import`, `manual`, `preferences`, `unsubscribe-link`, `api`... */
|
|
13
|
+
source: string;
|
|
14
|
+
/** The subscriber's address, for consent given by the subscriber themselves. */
|
|
15
|
+
ip?: string;
|
|
16
|
+
/** The member who made the change, if a member did. */
|
|
17
|
+
actorUserUid?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* What every CRM route shares: the model classes of its backend (`classes`, from `MONGO_MODELS`/`SQL_MODELS`), their repositories,
|
|
21
|
+
* workspace access checks, the workspace's push channel, the activity timeline, subscriptions, and the signed links in emails.
|
|
22
|
+
*
|
|
23
|
+
* Every model keeps a deny-all class ACL; routes check the caller against the *workspace's* ACL (`requireAccess()`) and then read
|
|
24
|
+
* and write with `ignoreACL: true`, always scoped by `workspaceUid`.
|
|
25
|
+
*/
|
|
26
|
+
export declare abstract class CrmRouteBase {
|
|
27
|
+
protected abstract classes: CrmModelClasses;
|
|
28
|
+
protected _objectFactory?: ObjectFactory;
|
|
29
|
+
protected aclUtils?: ACLUtils;
|
|
30
|
+
protected notificationUtils?: NotificationUtils;
|
|
31
|
+
/** Roles `ACLUtils.hasPermission()` would let through anything - stripped before every workspace check (`assertWorkspaceAccess()`). */
|
|
32
|
+
protected trustedRoles: string[];
|
|
33
|
+
/** The site the public pages (preference center, forms) are served from, e.g. `https://mail.example.com`. */
|
|
34
|
+
protected publicUrl: string;
|
|
35
|
+
/** The key tokens are signed with. Empty: one is generated and kept (`CrmSetting` `token-secret`). */
|
|
36
|
+
protected configuredTokenSecret: string;
|
|
37
|
+
protected logger?: any;
|
|
38
|
+
private crmRepos?;
|
|
39
|
+
private cachedTokenSecret?;
|
|
40
|
+
/** The repositories of every model. */
|
|
41
|
+
protected repos(): CrmRepos;
|
|
42
|
+
/** The repository of `name`'s model. */
|
|
43
|
+
protected repo<T = any>(name: CrmModelName): Promise<RepoUtils<any>>;
|
|
44
|
+
/** Refuses a caller without `action` on `workspaceUid` - see `assertWorkspaceAccess()`. */
|
|
45
|
+
protected requireAccess(user: JWTUser | undefined, workspaceUid: string, action: WorkspaceAction): Promise<void>;
|
|
46
|
+
/** The membership of `userUid` in `workspaceUid`, if they are a member. */
|
|
47
|
+
protected findMember(workspaceUid: string, userUid: string): Promise<WorkspaceMember | undefined>;
|
|
48
|
+
/** `userUid` when it is a member of `workspaceUid` (a record's owner, a task's assignee), `null` to clear, or a 400. */
|
|
49
|
+
protected requireMemberUid(workspaceUid: string, userUid: string | null | undefined, field: string): Promise<string | null | undefined>;
|
|
50
|
+
/** Whether the caller may change the workspace's settings (holds `MANAGE`), trusted roles aside. */
|
|
51
|
+
protected canManage(user: JWTUser | undefined, workspaceUid: string): Promise<boolean>;
|
|
52
|
+
/** The workspace `workspaceUid`, or a 404. */
|
|
53
|
+
protected requireWorkspaceRecord(workspaceUid: string): Promise<Workspace>;
|
|
54
|
+
/**
|
|
55
|
+
* The merge context of `contactUid` (a contact of the workspace, else a 400), or of a made-up reader when it is undefined - with the
|
|
56
|
+
* sender and links given (links default to placeholders, for previews).
|
|
57
|
+
*/
|
|
58
|
+
protected mergeContextFor(workspace: Workspace, contactUid: unknown, sender?: WorkspaceSender, links?: MergeContext["links"]): Promise<MergeContext>;
|
|
59
|
+
/** Refuses (400) a `subjectType`/`subjectUid` pair that isn't a contact or company of `workspaceUid`. */
|
|
60
|
+
protected requireSubject(workspaceUid: string, subjectType: unknown, subjectUid: unknown): Promise<{
|
|
61
|
+
subjectType: CrmObjectType;
|
|
62
|
+
subjectUid: string;
|
|
63
|
+
}>;
|
|
64
|
+
/** `senderUid` when it is a sender of the workspace, or a 400. */
|
|
65
|
+
protected requireSender(workspaceUid: string, senderUid: unknown): Promise<string>;
|
|
66
|
+
/** The workspace's list `listUid`, or `undefined`. */
|
|
67
|
+
protected findList(workspaceUid: string, listUid: unknown): Promise<MailingList | undefined>;
|
|
68
|
+
/** Tells the workspace's open pages (everyone subscribed to its channel on `/push`) that `type` records changed. */
|
|
69
|
+
protected notify(workspaceUid: string, type: string, action: "create" | "update" | "delete", data: unknown): void;
|
|
70
|
+
/** Adds one entry to a record's activity timeline. Never throws: a timeline entry must not fail the change it records. */
|
|
71
|
+
protected addTimeline(entry: {
|
|
72
|
+
workspaceUid: string;
|
|
73
|
+
subjectType: CrmObjectType;
|
|
74
|
+
subjectUid: string;
|
|
75
|
+
kind: string;
|
|
76
|
+
summary: string;
|
|
77
|
+
actorUserUid?: string;
|
|
78
|
+
data?: Record<string, unknown>;
|
|
79
|
+
refUid?: string;
|
|
80
|
+
}): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* The key tokens are signed with: `mail:crm:token_secret`, or else the generated one (`readOrCreateTokenSecret()`).
|
|
83
|
+
*/
|
|
84
|
+
protected tokenSecret(): Promise<string>;
|
|
85
|
+
/** An absolute link to a public page under `mail:crm:public_url`, e.g. `publicLink("/subscriptions/<token>")`. */
|
|
86
|
+
protected publicLink(path: string): string;
|
|
87
|
+
/** A signed token for a public link - see `util/Tokens.ts`. */
|
|
88
|
+
protected token(payload: TokenPayload): Promise<string>;
|
|
89
|
+
/**
|
|
90
|
+
* Sets a contact's subscription to a list: creates it, or moves it to `status`. A subscription already `subscribed` stays so when
|
|
91
|
+
* asked to become `pending` (a form filled in again doesn't make a subscriber confirm twice). Keeps the contact's `lists` values
|
|
92
|
+
* (what filters match on) in step, and records subscribing and unsubscribing on the contact's timeline. Returns the subscription.
|
|
93
|
+
*/
|
|
94
|
+
setSubscription(workspaceUid: string, listUid: string, contactUid: string, status: SubscriptionStatus, change: SubscriptionChange): Promise<Subscription>;
|
|
95
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseAnalyticsRoute } from "../BaseAnalyticsRoute.js";
|
|
3
|
+
/** A workspace's reports (`/api/mail/crm/analytics`). */
|
|
4
|
+
export declare class AnalyticsRouteMongo extends BaseAnalyticsRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseApiKeyRoute } from "../BaseApiKeyRoute.js";
|
|
3
|
+
/** A workspace's integration API keys (`/api/mail/crm/api-keys`). */
|
|
4
|
+
export declare class ApiKeyRouteMongo extends BaseApiKeyRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseAutomationRoute } from "../BaseAutomationRoute.js";
|
|
3
|
+
/** A workspace's automations (`/api/mail/crm/automations`). */
|
|
4
|
+
export declare class AutomationRouteMongo extends BaseAutomationRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseCampaignRoute } from "../BaseCampaignRoute.js";
|
|
3
|
+
/** A workspace's email campaigns (`/api/mail/crm/campaigns`). */
|
|
4
|
+
export declare class CampaignRouteMongo extends BaseCampaignRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseCompanyRoute } from "../BaseCompanyRoute.js";
|
|
3
|
+
/** A workspace's companies (`/api/mail/crm/companies`). */
|
|
4
|
+
export declare class CompanyRouteMongo extends BaseCompanyRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseContactRoute } from "../BaseContactRoute.js";
|
|
3
|
+
/** A workspace's contacts (`/api/mail/crm/contacts`). */
|
|
4
|
+
export declare class ContactRouteMongo extends BaseContactRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseCrmAdminRoute } from "../BaseCrmAdminRoute.js";
|
|
3
|
+
/** Deployment administration of the CRM (`/api/mail/crm/admin`). */
|
|
4
|
+
export declare class CrmAdminRouteMongo extends BaseCrmAdminRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseDealRoute } from "../BaseDealRoute.js";
|
|
3
|
+
/** A workspace's deals (`/api/mail/crm/deals`). */
|
|
4
|
+
export declare class DealRouteMongo extends BaseDealRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseFormRoute } from "../BaseFormRoute.js";
|
|
3
|
+
/** A workspace's signup forms (`/api/mail/crm/forms`). */
|
|
4
|
+
export declare class FormRouteMongo extends BaseFormRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseImportRoute } from "../BaseImportRoute.js";
|
|
3
|
+
/** CSV imports of contacts and companies (`/api/mail/crm/imports`). */
|
|
4
|
+
export declare class ImportRouteMongo extends BaseImportRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseIntegrationRoute } from "../BaseIntegrationRoute.js";
|
|
3
|
+
/** The API a workspace's own systems call with an API key (`/api/mail/crm/integrations`). */
|
|
4
|
+
export declare class IntegrationRouteMongo extends BaseIntegrationRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
protected contactRouteClass: any;
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseListRoute } from "../BaseListRoute.js";
|
|
3
|
+
/** A workspace's mailing lists (`/api/mail/crm/lists`). */
|
|
4
|
+
export declare class ListRouteMongo extends BaseListRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseNoteRoute } from "../BaseNoteRoute.js";
|
|
3
|
+
/** Notes on contacts and companies (`/api/mail/crm/notes`). */
|
|
4
|
+
export declare class NoteRouteMongo extends BaseNoteRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BasePipelineRoute } from "../BasePipelineRoute.js";
|
|
3
|
+
/** A workspace's sales pipelines (`/api/mail/crm/pipelines`). */
|
|
4
|
+
export declare class PipelineRouteMongo extends BasePipelineRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BasePropertyDefinitionRoute } from "../BasePropertyDefinitionRoute.js";
|
|
3
|
+
/** A workspace's custom properties (`/api/mail/crm/properties`). */
|
|
4
|
+
export declare class PropertyDefinitionRouteMongo extends BasePropertyDefinitionRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BasePublicRoute } from "../BasePublicRoute.js";
|
|
3
|
+
/** The anonymous endpoints of forms, the preference center and unsubscribe links (`/api/mail/crm/public`). */
|
|
4
|
+
export declare class PublicRouteMongo extends BasePublicRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
protected contactRouteClass: any;
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseSavedBlockRoute } from "../BaseSavedBlockRoute.js";
|
|
3
|
+
/** Blocks saved for reuse in a workspace's templates (`/api/mail/crm/saved-blocks`). */
|
|
4
|
+
export declare class SavedBlockRouteMongo extends BaseSavedBlockRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseScoringRuleRoute } from "../BaseScoringRuleRoute.js";
|
|
3
|
+
/** A workspace's lead scoring rules (`/api/mail/crm/scoring-rules`). */
|
|
4
|
+
export declare class ScoringRuleRouteMongo extends BaseScoringRuleRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseSegmentRoute } from "../BaseSegmentRoute.js";
|
|
3
|
+
/** A workspace's contact segments (`/api/mail/crm/segments`). */
|
|
4
|
+
export declare class SegmentRouteMongo extends BaseSegmentRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseSubscriptionRoute } from "../BaseSubscriptionRoute.js";
|
|
3
|
+
/** Contacts' subscriptions to mailing lists (`/api/mail/crm/subscriptions`). */
|
|
4
|
+
export declare class SubscriptionRouteMongo extends BaseSubscriptionRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseSuppressionRoute } from "../BaseSuppressionRoute.js";
|
|
3
|
+
/** Addresses a workspace never sends marketing mail to (`/api/mail/crm/suppressions`). */
|
|
4
|
+
export declare class SuppressionRouteMongo extends BaseSuppressionRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseTaskRoute } from "../BaseTaskRoute.js";
|
|
3
|
+
/** A workspace's tasks (`/api/mail/crm/tasks`). */
|
|
4
|
+
export declare class TaskRouteMongo extends BaseTaskRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseTemplateRoute } from "../BaseTemplateRoute.js";
|
|
3
|
+
/** A workspace's email templates (`/api/mail/crm/templates`). */
|
|
4
|
+
export declare class TemplateRouteMongo extends BaseTemplateRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseTimelineRoute } from "../BaseTimelineRoute.js";
|
|
3
|
+
/** Contact and company activity timelines (`/api/mail/crm/timeline`). */
|
|
4
|
+
export declare class TimelineRouteMongo extends BaseTimelineRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseTrackingRoute } from "../BaseTrackingRoute.js";
|
|
3
|
+
/** The anonymous open and click tracking endpoints of CRM email (`/api/mail/crm/t`). */
|
|
4
|
+
export declare class TrackingRouteMongo extends BaseTrackingRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseWebhookRoute } from "../BaseWebhookRoute.js";
|
|
3
|
+
/** A workspace's webhook endpoints (`/api/mail/crm/webhooks`). */
|
|
4
|
+
export declare class WebhookRouteMongo extends BaseWebhookRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseWorkspaceRoute } from "../BaseWorkspaceRoute.js";
|
|
3
|
+
/** CRM workspaces, their members and senders (`/api/mail/crm/workspaces`). */
|
|
4
|
+
export declare class WorkspaceRouteMongo extends BaseWorkspaceRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseAnalyticsRoute } from "../BaseAnalyticsRoute.js";
|
|
3
|
+
/** A workspace's reports (`/api/mail/crm/analytics`). */
|
|
4
|
+
export declare class AnalyticsRouteSQL extends BaseAnalyticsRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseApiKeyRoute } from "../BaseApiKeyRoute.js";
|
|
3
|
+
/** A workspace's integration API keys (`/api/mail/crm/api-keys`). */
|
|
4
|
+
export declare class ApiKeyRouteSQL extends BaseApiKeyRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseAutomationRoute } from "../BaseAutomationRoute.js";
|
|
3
|
+
/** A workspace's automations (`/api/mail/crm/automations`). */
|
|
4
|
+
export declare class AutomationRouteSQL extends BaseAutomationRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseCampaignRoute } from "../BaseCampaignRoute.js";
|
|
3
|
+
/** A workspace's email campaigns (`/api/mail/crm/campaigns`). */
|
|
4
|
+
export declare class CampaignRouteSQL extends BaseCampaignRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseCompanyRoute } from "../BaseCompanyRoute.js";
|
|
3
|
+
/** A workspace's companies (`/api/mail/crm/companies`). */
|
|
4
|
+
export declare class CompanyRouteSQL extends BaseCompanyRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseContactRoute } from "../BaseContactRoute.js";
|
|
3
|
+
/** A workspace's contacts (`/api/mail/crm/contacts`). */
|
|
4
|
+
export declare class ContactRouteSQL extends BaseContactRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseCrmAdminRoute } from "../BaseCrmAdminRoute.js";
|
|
3
|
+
/** Deployment administration of the CRM (`/api/mail/crm/admin`). */
|
|
4
|
+
export declare class CrmAdminRouteSQL extends BaseCrmAdminRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseDealRoute } from "../BaseDealRoute.js";
|
|
3
|
+
/** A workspace's deals (`/api/mail/crm/deals`). */
|
|
4
|
+
export declare class DealRouteSQL extends BaseDealRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseFormRoute } from "../BaseFormRoute.js";
|
|
3
|
+
/** A workspace's signup forms (`/api/mail/crm/forms`). */
|
|
4
|
+
export declare class FormRouteSQL extends BaseFormRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseImportRoute } from "../BaseImportRoute.js";
|
|
3
|
+
/** CSV imports of contacts and companies (`/api/mail/crm/imports`). */
|
|
4
|
+
export declare class ImportRouteSQL extends BaseImportRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseIntegrationRoute } from "../BaseIntegrationRoute.js";
|
|
3
|
+
/** The API a workspace's own systems call with an API key (`/api/mail/crm/integrations`). */
|
|
4
|
+
export declare class IntegrationRouteSQL extends BaseIntegrationRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
protected contactRouteClass: any;
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseListRoute } from "../BaseListRoute.js";
|
|
3
|
+
/** A workspace's mailing lists (`/api/mail/crm/lists`). */
|
|
4
|
+
export declare class ListRouteSQL extends BaseListRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseNoteRoute } from "../BaseNoteRoute.js";
|
|
3
|
+
/** Notes on contacts and companies (`/api/mail/crm/notes`). */
|
|
4
|
+
export declare class NoteRouteSQL extends BaseNoteRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BasePipelineRoute } from "../BasePipelineRoute.js";
|
|
3
|
+
/** A workspace's sales pipelines (`/api/mail/crm/pipelines`). */
|
|
4
|
+
export declare class PipelineRouteSQL extends BasePipelineRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BasePropertyDefinitionRoute } from "../BasePropertyDefinitionRoute.js";
|
|
3
|
+
/** A workspace's custom properties (`/api/mail/crm/properties`). */
|
|
4
|
+
export declare class PropertyDefinitionRouteSQL extends BasePropertyDefinitionRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BasePublicRoute } from "../BasePublicRoute.js";
|
|
3
|
+
/** The anonymous endpoints of forms, the preference center and unsubscribe links (`/api/mail/crm/public`). */
|
|
4
|
+
export declare class PublicRouteSQL extends BasePublicRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
protected contactRouteClass: any;
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CrmModelClasses } from "../../models/CrmModelClasses.js";
|
|
2
|
+
import { BaseSavedBlockRoute } from "../BaseSavedBlockRoute.js";
|
|
3
|
+
/** Blocks saved for reuse in a workspace's templates (`/api/mail/crm/saved-blocks`). */
|
|
4
|
+
export declare class SavedBlockRouteSQL extends BaseSavedBlockRoute {
|
|
5
|
+
protected classes: CrmModelClasses;
|
|
6
|
+
}
|