@lead-routing/cli 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/dist/index.js +1916 -0
- package/dist/prisma/migrations/20260101000000_init/migration.sql +276 -0
- package/dist/prisma/migrations/20260223000000_add_routing_log_dismissed/migration.sql +2 -0
- package/dist/prisma/migrations/20260224000000_add_org_notification_webhook/migration.sql +2 -0
- package/dist/prisma/migrations/20260227000000_self_hosted_schema_updates/migration.sql +68 -0
- package/dist/prisma/schema.prisma +315 -0
- package/dist/sfdc-package/force-app/main/default/applications/Lead_Router_Setup.app-meta.xml +12 -0
- package/dist/sfdc-package/force-app/main/default/classes/AccountTriggerTest.cls +58 -0
- package/dist/sfdc-package/force-app/main/default/classes/AccountTriggerTest.cls-meta.xml +5 -0
- package/dist/sfdc-package/force-app/main/default/classes/ContactTriggerTest.cls +62 -0
- package/dist/sfdc-package/force-app/main/default/classes/ContactTriggerTest.cls-meta.xml +5 -0
- package/dist/sfdc-package/force-app/main/default/classes/LeadTriggerTest.cls +95 -0
- package/dist/sfdc-package/force-app/main/default/classes/LeadTriggerTest.cls-meta.xml +5 -0
- package/dist/sfdc-package/force-app/main/default/classes/OnboardingController.cls +183 -0
- package/dist/sfdc-package/force-app/main/default/classes/OnboardingController.cls-meta.xml +5 -0
- package/dist/sfdc-package/force-app/main/default/classes/RoutingEngineCallout.cls +96 -0
- package/dist/sfdc-package/force-app/main/default/classes/RoutingEngineCallout.cls-meta.xml +5 -0
- package/dist/sfdc-package/force-app/main/default/classes/RoutingEngineMock.cls +28 -0
- package/dist/sfdc-package/force-app/main/default/classes/RoutingEngineMock.cls-meta.xml +5 -0
- package/dist/sfdc-package/force-app/main/default/classes/RoutingPayloadBuilder.cls +50 -0
- package/dist/sfdc-package/force-app/main/default/classes/RoutingPayloadBuilder.cls-meta.xml +5 -0
- package/dist/sfdc-package/force-app/main/default/lwc/onboardingWizard/onboardingWizard.html +230 -0
- package/dist/sfdc-package/force-app/main/default/lwc/onboardingWizard/onboardingWizard.js +222 -0
- package/dist/sfdc-package/force-app/main/default/lwc/onboardingWizard/onboardingWizard.js-meta.xml +11 -0
- package/dist/sfdc-package/force-app/main/default/namedCredentials/RoutingEngine.namedCredential-meta.xml +10 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Error_Log__c/Routing_Error_Log__c.object-meta.xml +21 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Error_Log__c/fields/Created_At__c.field-meta.xml +6 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Error_Log__c/fields/Payload__c.field-meta.xml +8 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Error_Log__c/fields/Response_Body__c.field-meta.xml +8 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Error_Log__c/fields/Status_Code__c.field-meta.xml +9 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/Routing_Settings__c.object-meta.xml +8 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/Account_Insert_Enabled__c.field-meta.xml +7 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/Account_Routing_Enabled__c.field-meta.xml +7 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/Account_Update_Enabled__c.field-meta.xml +7 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/App_Url__c.field-meta.xml +8 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/Contact_Insert_Enabled__c.field-meta.xml +7 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/Contact_Routing_Enabled__c.field-meta.xml +7 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/Contact_Update_Enabled__c.field-meta.xml +7 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/Engine_Endpoint__c.field-meta.xml +8 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/Lead_Insert_Enabled__c.field-meta.xml +7 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/Lead_Routing_Enabled__c.field-meta.xml +7 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/Lead_Update_Enabled__c.field-meta.xml +7 -0
- package/dist/sfdc-package/force-app/main/default/objects/Routing_Settings__c/fields/Webhook_Secret__c.field-meta.xml +8 -0
- package/dist/sfdc-package/force-app/main/default/permissionsets/LeadRouterAdmin.permissionset-meta.xml +14 -0
- package/dist/sfdc-package/force-app/main/default/remoteSiteSettings/LeadRouterEngine.remoteSite-meta.xml +7 -0
- package/dist/sfdc-package/force-app/main/default/tabs/Lead_Router_Setup.tab-meta.xml +7 -0
- package/dist/sfdc-package/force-app/main/default/triggers/AccountTrigger.trigger +28 -0
- package/dist/sfdc-package/force-app/main/default/triggers/AccountTrigger.trigger-meta.xml +5 -0
- package/dist/sfdc-package/force-app/main/default/triggers/ContactTrigger.trigger +28 -0
- package/dist/sfdc-package/force-app/main/default/triggers/ContactTrigger.trigger-meta.xml +5 -0
- package/dist/sfdc-package/force-app/main/default/triggers/LeadTrigger.trigger +28 -0
- package/dist/sfdc-package/force-app/main/default/triggers/LeadTrigger.trigger-meta.xml +5 -0
- package/dist/sfdc-package/sfdx-project.json +14 -0
- package/package.json +41 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
|
|
3
|
+
<description>Grants access to the Lead Router Setup app and tab.</description>
|
|
4
|
+
<hasActivationRequired>false</hasActivationRequired>
|
|
5
|
+
<label>Lead Router Admin</label>
|
|
6
|
+
<applicationVisibilities>
|
|
7
|
+
<application>Lead_Router_Setup</application>
|
|
8
|
+
<visible>true</visible>
|
|
9
|
+
</applicationVisibilities>
|
|
10
|
+
<tabSettings>
|
|
11
|
+
<tab>Lead_Router_Setup</tab>
|
|
12
|
+
<visibility>Visible</visibility>
|
|
13
|
+
</tabSettings>
|
|
14
|
+
</PermissionSet>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<RemoteSiteSetting xmlns="http://soap.sforce.com/2006/04/metadata">
|
|
3
|
+
<description>Lead Router Engine endpoint — patched by lead-routing sfdc deploy</description>
|
|
4
|
+
<disableProtocolSecurity>false</disableProtocolSecurity>
|
|
5
|
+
<isActive>true</isActive>
|
|
6
|
+
<url>https://engine.openedgeai.tech</url>
|
|
7
|
+
</RemoteSiteSetting>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
|
|
3
|
+
<lwcComponent>onboardingWizard</lwcComponent>
|
|
4
|
+
<label>Lead Router Setup</label>
|
|
5
|
+
<description>Lead Router Onboarding Wizard</description>
|
|
6
|
+
<motif>Custom45: Money</motif>
|
|
7
|
+
</CustomTab>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
trigger AccountTrigger on Account (after insert, after update) {
|
|
2
|
+
|
|
3
|
+
Routing_Settings__c settings = Routing_Settings__c.getOrgDefaults();
|
|
4
|
+
|
|
5
|
+
if (!settings.Account_Routing_Enabled__c) return;
|
|
6
|
+
|
|
7
|
+
List<Id> insertIds = new List<Id>();
|
|
8
|
+
List<Id> updateIds = new List<Id>();
|
|
9
|
+
|
|
10
|
+
if (Trigger.isInsert && settings.Account_Insert_Enabled__c) {
|
|
11
|
+
for (Account a : Trigger.new) {
|
|
12
|
+
insertIds.add(a.Id);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (Trigger.isUpdate && settings.Account_Update_Enabled__c) {
|
|
17
|
+
for (Account a : Trigger.new) {
|
|
18
|
+
updateIds.add(a.Id);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (!insertIds.isEmpty()) {
|
|
23
|
+
RoutingEngineCallout.sendAsync('Account', insertIds, 'INSERT');
|
|
24
|
+
}
|
|
25
|
+
if (!updateIds.isEmpty()) {
|
|
26
|
+
RoutingEngineCallout.sendAsync('Account', updateIds, 'UPDATE');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
trigger ContactTrigger on Contact (after insert, after update) {
|
|
2
|
+
|
|
3
|
+
Routing_Settings__c settings = Routing_Settings__c.getOrgDefaults();
|
|
4
|
+
|
|
5
|
+
if (!settings.Contact_Routing_Enabled__c) return;
|
|
6
|
+
|
|
7
|
+
List<Id> insertIds = new List<Id>();
|
|
8
|
+
List<Id> updateIds = new List<Id>();
|
|
9
|
+
|
|
10
|
+
if (Trigger.isInsert && settings.Contact_Insert_Enabled__c) {
|
|
11
|
+
for (Contact c : Trigger.new) {
|
|
12
|
+
insertIds.add(c.Id);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (Trigger.isUpdate && settings.Contact_Update_Enabled__c) {
|
|
17
|
+
for (Contact c : Trigger.new) {
|
|
18
|
+
updateIds.add(c.Id);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (!insertIds.isEmpty()) {
|
|
23
|
+
RoutingEngineCallout.sendAsync('Contact', insertIds, 'INSERT');
|
|
24
|
+
}
|
|
25
|
+
if (!updateIds.isEmpty()) {
|
|
26
|
+
RoutingEngineCallout.sendAsync('Contact', updateIds, 'UPDATE');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
trigger LeadTrigger on Lead (after insert, after update) {
|
|
2
|
+
|
|
3
|
+
Routing_Settings__c settings = Routing_Settings__c.getOrgDefaults();
|
|
4
|
+
|
|
5
|
+
if (!settings.Lead_Routing_Enabled__c) return;
|
|
6
|
+
|
|
7
|
+
List<Id> insertIds = new List<Id>();
|
|
8
|
+
List<Id> updateIds = new List<Id>();
|
|
9
|
+
|
|
10
|
+
if (Trigger.isInsert && settings.Lead_Insert_Enabled__c) {
|
|
11
|
+
for (Lead l : Trigger.new) {
|
|
12
|
+
insertIds.add(l.Id);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (Trigger.isUpdate && settings.Lead_Update_Enabled__c) {
|
|
17
|
+
for (Lead l : Trigger.new) {
|
|
18
|
+
updateIds.add(l.Id);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (!insertIds.isEmpty()) {
|
|
23
|
+
RoutingEngineCallout.sendAsync('Lead', insertIds, 'INSERT');
|
|
24
|
+
}
|
|
25
|
+
if (!updateIds.isEmpty()) {
|
|
26
|
+
RoutingEngineCallout.sendAsync('Lead', updateIds, 'UPDATE');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"packageDirectories": [
|
|
3
|
+
{
|
|
4
|
+
"path": "force-app",
|
|
5
|
+
"default": true,
|
|
6
|
+
"package": "LeadRouter",
|
|
7
|
+
"versionName": "ver 1.0",
|
|
8
|
+
"versionNumber": "1.0.0.NEXT"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"name": "LeadRouter",
|
|
12
|
+
"namespace": "lrt",
|
|
13
|
+
"sourceApiVersion": "59.0"
|
|
14
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lead-routing/cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Self-hosted deployment CLI for Lead Routing",
|
|
5
|
+
"homepage": "https://github.com/lead-routing/lead-routing",
|
|
6
|
+
"keywords": ["salesforce", "lead-routing", "self-hosted", "deployment", "cli"],
|
|
7
|
+
"type": "module",
|
|
8
|
+
"bin": {
|
|
9
|
+
"lead-routing": "./dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"engines": {
|
|
12
|
+
"node": ">=20"
|
|
13
|
+
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"prepare": "node -e \"const{cpSync,existsSync,rmSync}=require('fs');const src='../../sfdc-package';if(existsSync(src)){rmSync('sfdc-package',{recursive:true,force:true});cpSync(src,'sfdc-package',{recursive:true})}\"",
|
|
19
|
+
"build": "tsup",
|
|
20
|
+
"dev": "tsup --watch",
|
|
21
|
+
"type-check": "tsc --noEmit",
|
|
22
|
+
"prepublishOnly": "pnpm build"
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"dist/"
|
|
26
|
+
],
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@clack/prompts": "^0.9.1",
|
|
29
|
+
"chalk": "^5.4.1",
|
|
30
|
+
"commander": "^13.1.0",
|
|
31
|
+
"execa": "^9.5.2",
|
|
32
|
+
"node-ssh": "^13.2.1",
|
|
33
|
+
"@prisma/client": "^6.5.0",
|
|
34
|
+
"prisma": "^6.5.0"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/node": "^22.0.0",
|
|
38
|
+
"tsup": "^8.4.0",
|
|
39
|
+
"typescript": "^5.9.3"
|
|
40
|
+
}
|
|
41
|
+
}
|