@leadcms/sdk 3.5.5 → 3.5.9
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/cli/bin/content-status-args.js +0 -0
- package/dist/cli/bin/generate-env.js +0 -0
- package/dist/cli/bin/init.js +0 -0
- package/dist/cli/bin/login.js +0 -0
- package/dist/cli/bin/pull-all.js +0 -0
- package/dist/cli/bin/pull-comments.js +0 -0
- package/dist/cli/bin/pull-content.js +0 -0
- package/dist/cli/bin/pull-email-templates.js +0 -0
- package/dist/cli/bin/pull-media.js +0 -0
- package/dist/cli/bin/pull-segments.js +2 -1
- package/dist/cli/bin/pull-segments.js.map +1 -1
- package/dist/cli/bin/pull-sequences.js +2 -1
- package/dist/cli/bin/pull-sequences.js.map +1 -1
- package/dist/cli/bin/pull-settings.js +0 -0
- package/dist/cli/bin/push-all.js +0 -0
- package/dist/cli/bin/push-comments.js +0 -0
- package/dist/cli/bin/push-content.js +0 -0
- package/dist/cli/bin/push-email-templates.js +0 -0
- package/dist/cli/bin/push-media.js +0 -0
- package/dist/cli/bin/push-segments.js +0 -0
- package/dist/cli/bin/push-sequences.js +0 -0
- package/dist/cli/bin/push-settings.js +0 -0
- package/dist/cli/bin/push.js +2 -1
- package/dist/cli/bin/push.js.map +1 -1
- package/dist/cli/bin/remote-flag.js +0 -0
- package/dist/cli/bin/remote.js +0 -0
- package/dist/cli/bin/status-all.js +6 -6
- package/dist/cli/bin/status-comments.js +0 -0
- package/dist/cli/bin/status-content.js +0 -0
- package/dist/cli/bin/status-email-templates.js +0 -0
- package/dist/cli/bin/status-media.js +0 -0
- package/dist/cli/bin/status-segments.js +2 -1
- package/dist/cli/bin/status-segments.js.map +1 -1
- package/dist/cli/bin/status-sequences.js +2 -1
- package/dist/cli/bin/status-sequences.js.map +1 -1
- package/dist/cli/bin/status-settings.js +0 -0
- package/dist/cli/bin/status.js +0 -0
- package/dist/cli/bin/watch.js +0 -0
- package/dist/lib/automation-types.d.ts +8 -8
- package/dist/lib/automation-types.d.ts.map +1 -1
- package/dist/lib/automation-types.js +53 -18
- package/dist/lib/automation-types.js.map +1 -1
- package/dist/lib/data-service.d.ts.map +1 -1
- package/dist/lib/data-service.js +44 -11
- package/dist/lib/data-service.js.map +1 -1
- package/dist/lib/email-template-transformation.js +11 -1
- package/dist/lib/email-template-transformation.js.map +1 -1
- package/dist/lib/merge-conflict-detector.d.ts +19 -0
- package/dist/lib/merge-conflict-detector.d.ts.map +1 -0
- package/dist/lib/merge-conflict-detector.js +30 -0
- package/dist/lib/merge-conflict-detector.js.map +1 -0
- package/dist/lib/remote-context.d.ts +10 -7
- package/dist/lib/remote-context.d.ts.map +1 -1
- package/dist/lib/remote-context.js +61 -14
- package/dist/lib/remote-context.js.map +1 -1
- package/dist/lib/slugify.d.ts +9 -0
- package/dist/lib/slugify.d.ts.map +1 -0
- package/dist/lib/slugify.js +12 -0
- package/dist/lib/slugify.js.map +1 -0
- package/dist/scripts/pull-all.d.ts.map +1 -1
- package/dist/scripts/pull-all.js +41 -1
- package/dist/scripts/pull-all.js.map +1 -1
- package/dist/scripts/pull-leadcms-comments.d.ts.map +1 -1
- package/dist/scripts/pull-leadcms-comments.js +9 -1
- package/dist/scripts/pull-leadcms-comments.js.map +1 -1
- package/dist/scripts/pull-leadcms-content.d.ts.map +1 -1
- package/dist/scripts/pull-leadcms-content.js +9 -1
- package/dist/scripts/pull-leadcms-content.js.map +1 -1
- package/dist/scripts/pull-leadcms-email-templates.d.ts.map +1 -1
- package/dist/scripts/pull-leadcms-email-templates.js +12 -10
- package/dist/scripts/pull-leadcms-email-templates.js.map +1 -1
- package/dist/scripts/pull-segments.d.ts +12 -2
- package/dist/scripts/pull-segments.d.ts.map +1 -1
- package/dist/scripts/pull-segments.js +22 -14
- package/dist/scripts/pull-segments.js.map +1 -1
- package/dist/scripts/pull-sequences.d.ts +7 -1
- package/dist/scripts/pull-sequences.d.ts.map +1 -1
- package/dist/scripts/pull-sequences.js +65 -12
- package/dist/scripts/pull-sequences.js.map +1 -1
- package/dist/scripts/push-email-templates.d.ts.map +1 -1
- package/dist/scripts/push-email-templates.js +27 -19
- package/dist/scripts/push-email-templates.js.map +1 -1
- package/dist/scripts/push-leadcms-content.d.ts +8 -0
- package/dist/scripts/push-leadcms-content.d.ts.map +1 -1
- package/dist/scripts/push-leadcms-content.js +48 -2
- package/dist/scripts/push-leadcms-content.js.map +1 -1
- package/dist/scripts/push-segments.d.ts +1 -0
- package/dist/scripts/push-segments.d.ts.map +1 -1
- package/dist/scripts/push-segments.js +64 -8
- package/dist/scripts/push-segments.js.map +1 -1
- package/dist/scripts/push-sequences.d.ts +1 -0
- package/dist/scripts/push-sequences.d.ts.map +1 -1
- package/dist/scripts/push-sequences.js +137 -18
- package/dist/scripts/push-sequences.js.map +1 -1
- package/package.json +21 -21
|
File without changes
|
|
File without changes
|
package/dist/cli/bin/init.js
CHANGED
|
File without changes
|
package/dist/cli/bin/login.js
CHANGED
|
File without changes
|
package/dist/cli/bin/pull-all.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -10,9 +10,10 @@ import { parseRemoteFlag } from './remote-flag.js';
|
|
|
10
10
|
const args = process.argv.slice(2);
|
|
11
11
|
initVerboseFromArgs(args);
|
|
12
12
|
const remoteContext = parseRemoteFlag(args);
|
|
13
|
+
const reset = args.includes('--reset');
|
|
13
14
|
await resolveIdentity();
|
|
14
15
|
const spinner = startSpinner('Pulling segments from LeadCMS…');
|
|
15
|
-
pullLeadCMSSegments(remoteContext)
|
|
16
|
+
pullLeadCMSSegments({ reset, remoteContext })
|
|
16
17
|
.then(() => {
|
|
17
18
|
spinner.stop();
|
|
18
19
|
process.exit(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull-segments.js","sourceRoot":"","sources":["../../../src/cli/bin/pull-segments.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pull-segments.js","sourceRoot":"","sources":["../../../src/cli/bin/pull-segments.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAEvC,MAAM,eAAe,EAAE,CAAC;AAExB,MAAM,OAAO,GAAG,YAAY,CAAC,gCAAgC,CAAC,CAAC;AAC/D,mBAAmB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;KAC1C,IAAI,CAAC,GAAG,EAAE;IACT,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IACpB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -10,9 +10,10 @@ import { parseRemoteFlag } from './remote-flag.js';
|
|
|
10
10
|
const args = process.argv.slice(2);
|
|
11
11
|
initVerboseFromArgs(args);
|
|
12
12
|
const remoteContext = parseRemoteFlag(args);
|
|
13
|
+
const reset = args.includes('--reset');
|
|
13
14
|
await resolveIdentity();
|
|
14
15
|
const spinner = startSpinner('Pulling sequences from LeadCMS…');
|
|
15
|
-
pullLeadCMSSequences(remoteContext)
|
|
16
|
+
pullLeadCMSSequences({ reset, remoteContext })
|
|
16
17
|
.then(() => {
|
|
17
18
|
spinner.stop();
|
|
18
19
|
process.exit(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull-sequences.js","sourceRoot":"","sources":["../../../src/cli/bin/pull-sequences.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pull-sequences.js","sourceRoot":"","sources":["../../../src/cli/bin/pull-sequences.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAEvC,MAAM,eAAe,EAAE,CAAC;AAExB,MAAM,OAAO,GAAG,YAAY,CAAC,iCAAiC,CAAC,CAAC;AAChE,oBAAoB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;KAC3C,IAAI,CAAC,GAAG,EAAE;IACT,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IACpB,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
File without changes
|
package/dist/cli/bin/push-all.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/cli/bin/push.js
CHANGED
|
@@ -12,6 +12,7 @@ const remoteContext = parseRemoteFlag(args);
|
|
|
12
12
|
const statusOnly = args.includes('--status');
|
|
13
13
|
const force = args.includes('--force');
|
|
14
14
|
const dryRun = args.includes('--dry-run');
|
|
15
|
+
const allowConflictMarkers = args.includes('--allow-conflict-markers');
|
|
15
16
|
if (!statusOnly && !dryRun) {
|
|
16
17
|
await requireAuthenticatedUser(remoteContext?.apiKey);
|
|
17
18
|
}
|
|
@@ -29,7 +30,7 @@ const slugIndex = args.findIndex(arg => arg === '--slug');
|
|
|
29
30
|
if (slugIndex !== -1 && args[slugIndex + 1]) {
|
|
30
31
|
targetSlug = args[slugIndex + 1];
|
|
31
32
|
}
|
|
32
|
-
pushLeadCMSContent({ statusOnly, force, targetId, targetSlug, dryRun, remoteContext }).catch((error) => {
|
|
33
|
+
pushLeadCMSContent({ statusOnly, force, targetId, targetSlug, dryRun, allowConflictMarkers, remoteContext }).catch((error) => {
|
|
33
34
|
console.error('Error running LeadCMS push:', error.message);
|
|
34
35
|
process.exit(1);
|
|
35
36
|
});
|
package/dist/cli/bin/push.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/cli/bin/push.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/cli/bin/push.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC1C,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAEvE,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3B,MAAM,wBAAwB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;KAAM,CAAC;IACN,MAAM,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,0BAA0B;AAC1B,IAAI,QAA4B,CAAC;AACjC,IAAI,UAA8B,CAAC;AAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;AACtD,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;IACxC,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;AAC1D,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5C,UAAU,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,kBAAkB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IAChI,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
File without changes
|
package/dist/cli/bin/remote.js
CHANGED
|
File without changes
|
|
@@ -52,7 +52,7 @@ function renderContentSection(ops) {
|
|
|
52
52
|
const deletes = showDelete ? sortByLocaleAndSlug(ops.delete, o => o.remote?.language || '', o => o.remote?.slug || '') : [];
|
|
53
53
|
const changeCount = creates.length + updates.length + renames.length + typeChanges.length + conflicts.length + deletes.length;
|
|
54
54
|
for (const op of creates)
|
|
55
|
-
renderContentLine(op, 'new
|
|
55
|
+
renderContentLine(op, 'new: ', statusColors.created);
|
|
56
56
|
for (const op of updates)
|
|
57
57
|
renderContentLine(op, 'modified: ', statusColors.modified);
|
|
58
58
|
for (const op of renames) {
|
|
@@ -84,7 +84,7 @@ function renderMediaSection(result) {
|
|
|
84
84
|
const changeCount = creates.length + updates.length + deletes.length;
|
|
85
85
|
for (const op of creates) {
|
|
86
86
|
const sizeKB = (op.local.size / 1024).toFixed(2);
|
|
87
|
-
colorConsole.log(` ${statusColors.created('new
|
|
87
|
+
colorConsole.log(` ${statusColors.created('new: ')} ${op.local.scopeUid}/${colorConsole.highlight(op.local.name)} ${colorConsole.gray(`(${sizeKB}KB)`)}`);
|
|
88
88
|
}
|
|
89
89
|
for (const op of updates) {
|
|
90
90
|
const sizeKB = (op.local.size / 1024).toFixed(2);
|
|
@@ -108,7 +108,7 @@ function renderCommentSection(operations) {
|
|
|
108
108
|
for (const op of creates) {
|
|
109
109
|
const comment = op.local?.comment;
|
|
110
110
|
const label = `${comment?.commentableType || 'Unknown'}#${comment?.commentableId || '?'} [${comment?.language || defaultLanguage}]`;
|
|
111
|
-
colorConsole.log(` ${statusColors.created('new
|
|
111
|
+
colorConsole.log(` ${statusColors.created('new: ')} ${label} ${colorConsole.highlight(comment?.body?.slice(0, 48) || 'New comment')}`);
|
|
112
112
|
}
|
|
113
113
|
for (const op of updates) {
|
|
114
114
|
const comment = op.local?.comment || op.remote;
|
|
@@ -141,7 +141,7 @@ function renderEmailTemplateSection(operations) {
|
|
|
141
141
|
const groupLabel = (op.local?.groupFolder || 'ungrouped').padEnd(12);
|
|
142
142
|
const localeLabel = `[${op.local?.locale || defaultLanguage}]`.padEnd(6);
|
|
143
143
|
const nameLabel = op.local?.metadata?.name || 'unknown';
|
|
144
|
-
colorConsole.log(` ${statusColors.created('new
|
|
144
|
+
colorConsole.log(` ${statusColors.created('new: ')} ${groupLabel} ${localeLabel} ${colorConsole.highlight(nameLabel)}`);
|
|
145
145
|
}
|
|
146
146
|
for (const op of updates) {
|
|
147
147
|
const groupLabel = (op.local?.groupFolder || 'ungrouped').padEnd(12);
|
|
@@ -175,7 +175,7 @@ function renderSegmentSection(operations) {
|
|
|
175
175
|
const changeCount = creates.length + updates.length + conflicts.length + deletes.length;
|
|
176
176
|
for (const op of creates) {
|
|
177
177
|
const nameLabel = op.local?.name || 'unknown';
|
|
178
|
-
colorConsole.log(` ${statusColors.created('new
|
|
178
|
+
colorConsole.log(` ${statusColors.created('new: ')} ${colorConsole.highlight(nameLabel)}`);
|
|
179
179
|
}
|
|
180
180
|
for (const op of updates) {
|
|
181
181
|
const nameLabel = op.local?.name || op.remote?.name || 'unknown';
|
|
@@ -205,7 +205,7 @@ function renderSequenceSection(operations) {
|
|
|
205
205
|
const changeCount = creates.length + updates.length + conflicts.length + deletes.length;
|
|
206
206
|
for (const op of creates) {
|
|
207
207
|
const nameLabel = op.local?.name || 'unknown';
|
|
208
|
-
colorConsole.log(` ${statusColors.created('new
|
|
208
|
+
colorConsole.log(` ${statusColors.created('new: ')} ${colorConsole.highlight(nameLabel)}`);
|
|
209
209
|
}
|
|
210
210
|
for (const op of updates) {
|
|
211
211
|
const nameLabel = op.local?.name || op.remote?.name || 'unknown';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -12,9 +12,10 @@ const args = process.argv.slice(2);
|
|
|
12
12
|
initVerboseFromArgs(args);
|
|
13
13
|
const remoteContext = parseRemoteFlag(args);
|
|
14
14
|
const showDelete = args.includes('--delete');
|
|
15
|
+
const showDetailedPreview = args.includes('--preview');
|
|
15
16
|
await resolveIdentity();
|
|
16
17
|
const spinner = startSpinner('Checking segment status…');
|
|
17
|
-
statusSegments({ showDelete, remoteContext })
|
|
18
|
+
statusSegments({ showDelete, showDetailedPreview, remoteContext })
|
|
18
19
|
.then(() => spinner.stop())
|
|
19
20
|
.catch((error) => {
|
|
20
21
|
spinner.fail('Failed to check segment status');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-segments.js","sourceRoot":"","sources":["../../../src/cli/bin/status-segments.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"status-segments.js","sourceRoot":"","sources":["../../../src/cli/bin/status-segments.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC7C,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAEvD,MAAM,eAAe,EAAE,CAAC;AAExB,MAAM,OAAO,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;AACzD,cAAc,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC;KAC7D,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IAClB,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
@@ -12,9 +12,10 @@ const args = process.argv.slice(2);
|
|
|
12
12
|
initVerboseFromArgs(args);
|
|
13
13
|
const remoteContext = parseRemoteFlag(args);
|
|
14
14
|
const showDelete = args.includes('--delete');
|
|
15
|
+
const showDetailedPreview = args.includes('--preview');
|
|
15
16
|
await resolveIdentity();
|
|
16
17
|
const spinner = startSpinner('Checking sequence status…');
|
|
17
|
-
statusSequences({ showDelete, remoteContext })
|
|
18
|
+
statusSequences({ showDelete, showDetailedPreview, remoteContext })
|
|
18
19
|
.then(() => spinner.stop())
|
|
19
20
|
.catch((error) => {
|
|
20
21
|
spinner.fail('Failed to check sequence status');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-sequences.js","sourceRoot":"","sources":["../../../src/cli/bin/status-sequences.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"status-sequences.js","sourceRoot":"","sources":["../../../src/cli/bin/status-sequences.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC7C,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAEvD,MAAM,eAAe,EAAE,CAAC;AAExB,MAAM,OAAO,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAC1D,eAAe,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC;KAC9D,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IAClB,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAChD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
File without changes
|
package/dist/cli/bin/status.js
CHANGED
|
File without changes
|
package/dist/cli/bin/watch.js
CHANGED
|
File without changes
|
|
@@ -80,7 +80,6 @@ export interface SequenceStepCreateDto {
|
|
|
80
80
|
id?: number | null;
|
|
81
81
|
emailTemplateId: number;
|
|
82
82
|
name: string;
|
|
83
|
-
position?: number | null;
|
|
84
83
|
type?: "Email";
|
|
85
84
|
timing: SequenceStepTiming;
|
|
86
85
|
}
|
|
@@ -88,7 +87,6 @@ export interface SequenceStepDetailsDto {
|
|
|
88
87
|
id: number;
|
|
89
88
|
sequenceId: number;
|
|
90
89
|
emailTemplateId: number;
|
|
91
|
-
position: number;
|
|
92
90
|
name: string;
|
|
93
91
|
type: "Email";
|
|
94
92
|
timing: SequenceStepTiming;
|
|
@@ -180,14 +178,12 @@ export interface LocalSequenceEnrollmentConfig {
|
|
|
180
178
|
*/
|
|
181
179
|
export interface LocalSequenceStepDto {
|
|
182
180
|
id?: number;
|
|
183
|
-
sequenceId?: number;
|
|
184
181
|
emailTemplateName: string;
|
|
185
|
-
position: number;
|
|
186
182
|
name: string;
|
|
187
183
|
type?: "Email";
|
|
188
184
|
timing: SequenceStepTiming;
|
|
189
185
|
createdAt?: string;
|
|
190
|
-
updatedAt?: string
|
|
186
|
+
updatedAt?: string;
|
|
191
187
|
}
|
|
192
188
|
/**
|
|
193
189
|
* The local file shape for a sequence.
|
|
@@ -198,7 +194,7 @@ export interface LocalSequenceStepDto {
|
|
|
198
194
|
export interface LocalSequenceDto {
|
|
199
195
|
id?: number;
|
|
200
196
|
name: string;
|
|
201
|
-
description?: string
|
|
197
|
+
description?: string;
|
|
202
198
|
language: string;
|
|
203
199
|
stopOnReply?: boolean;
|
|
204
200
|
useContactTimeZone?: boolean;
|
|
@@ -206,9 +202,8 @@ export interface LocalSequenceDto {
|
|
|
206
202
|
enrollment?: LocalSequenceEnrollmentConfig;
|
|
207
203
|
utmParameters?: Utms;
|
|
208
204
|
steps?: LocalSequenceStepDto[];
|
|
209
|
-
status?: "Draft" | "Active" | "Paused" | "Archived";
|
|
210
205
|
createdAt?: string;
|
|
211
|
-
updatedAt?: string
|
|
206
|
+
updatedAt?: string;
|
|
212
207
|
}
|
|
213
208
|
/** Map of segment ID → name, used for pull transformations. */
|
|
214
209
|
export type SegmentIdNameMap = Map<number, string>;
|
|
@@ -218,6 +213,11 @@ export type SegmentNameIdMap = Map<string, number>;
|
|
|
218
213
|
export type EmailTemplateIdNameMap = Map<number, string>;
|
|
219
214
|
/** Map of email template name → ID, used for push transformations. */
|
|
220
215
|
export type EmailTemplateNameIdMap = Map<string, number>;
|
|
216
|
+
/**
|
|
217
|
+
* Recursively strip null values and empty arrays from an object
|
|
218
|
+
* to keep local files clean and compact.
|
|
219
|
+
*/
|
|
220
|
+
export declare function stripNullsAndEmptyArrays<T>(obj: T): T;
|
|
221
221
|
/**
|
|
222
222
|
* Convert a remote SequenceDetailsDto to its local representation.
|
|
223
223
|
* Replaces segment IDs with names and emailTemplateId with emailTemplateName.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automation-types.d.ts","sourceRoot":"","sources":["../../src/lib/automation-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"automation-types.d.ts","sourceRoot":"","sources":["../../src/lib/automation-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,42 @@
|
|
|
8
8
|
* Static segments (type: "Static") are excluded from sync because
|
|
9
9
|
* they reference remote-specific contact IDs.
|
|
10
10
|
*/
|
|
11
|
+
/**
|
|
12
|
+
* Recursively strip null values and empty arrays from an object
|
|
13
|
+
* to keep local files clean and compact.
|
|
14
|
+
*/
|
|
15
|
+
export function stripNullsAndEmptyArrays(obj) {
|
|
16
|
+
if (obj === null || obj === undefined)
|
|
17
|
+
return obj;
|
|
18
|
+
if (Array.isArray(obj)) {
|
|
19
|
+
return obj.map(item => typeof item === 'object' && item !== null ? stripNullsAndEmptyArrays(item) : item);
|
|
20
|
+
}
|
|
21
|
+
if (typeof obj === 'object') {
|
|
22
|
+
const result = {};
|
|
23
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
24
|
+
if (value === null || value === undefined)
|
|
25
|
+
continue;
|
|
26
|
+
if (Array.isArray(value) && value.length === 0)
|
|
27
|
+
continue;
|
|
28
|
+
result[key] = typeof value === 'object' ? stripNullsAndEmptyArrays(value) : value;
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
return obj;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Strip null/undefined fields from timing to keep local files clean.
|
|
36
|
+
*/
|
|
37
|
+
function stripNullTimingFields(timing) {
|
|
38
|
+
const result = {};
|
|
39
|
+
if (timing.delay != null)
|
|
40
|
+
result.delay = timing.delay;
|
|
41
|
+
if (timing.sendAt != null)
|
|
42
|
+
result.sendAt = timing.sendAt;
|
|
43
|
+
if (timing.allowedWeekDays != null)
|
|
44
|
+
result.allowedWeekDays = timing.allowedWeekDays;
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
11
47
|
/**
|
|
12
48
|
* Convert a remote SequenceDetailsDto to its local representation.
|
|
13
49
|
* Replaces segment IDs with names and emailTemplateId with emailTemplateName.
|
|
@@ -16,15 +52,18 @@ export function toLocalSequence(remote, segmentMap, templateMap) {
|
|
|
16
52
|
const local = {
|
|
17
53
|
id: remote.id,
|
|
18
54
|
name: remote.name,
|
|
19
|
-
description: remote.description,
|
|
20
55
|
language: remote.language,
|
|
21
56
|
stopOnReply: remote.stopOnReply,
|
|
22
57
|
useContactTimeZone: remote.useContactTimeZone,
|
|
23
58
|
timeZone: remote.timeZone,
|
|
24
|
-
status: remote.status,
|
|
25
59
|
createdAt: remote.createdAt,
|
|
26
|
-
updatedAt: remote.updatedAt,
|
|
27
60
|
};
|
|
61
|
+
if (remote.description != null) {
|
|
62
|
+
local.description = remote.description;
|
|
63
|
+
}
|
|
64
|
+
if (remote.updatedAt != null) {
|
|
65
|
+
local.updatedAt = remote.updatedAt;
|
|
66
|
+
}
|
|
28
67
|
if (remote.enrollment) {
|
|
29
68
|
local.enrollment = {
|
|
30
69
|
modes: remote.enrollment.modes,
|
|
@@ -37,18 +76,16 @@ export function toLocalSequence(remote, segmentMap, templateMap) {
|
|
|
37
76
|
local.utmParameters = remote.utmParameters;
|
|
38
77
|
}
|
|
39
78
|
if (remote.steps) {
|
|
40
|
-
local.steps = remote.steps.map((step) =>
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
updatedAt: step.updatedAt,
|
|
51
|
-
}));
|
|
79
|
+
local.steps = remote.steps.map((step) => {
|
|
80
|
+
const localStep = {
|
|
81
|
+
emailTemplateName: templateMap.get(step.emailTemplateId) ??
|
|
82
|
+
`unknown-template-${step.emailTemplateId}`,
|
|
83
|
+
name: step.name,
|
|
84
|
+
type: step.type,
|
|
85
|
+
timing: stripNullTimingFields(step.timing),
|
|
86
|
+
};
|
|
87
|
+
return localStep;
|
|
88
|
+
});
|
|
52
89
|
}
|
|
53
90
|
return local;
|
|
54
91
|
}
|
|
@@ -88,15 +125,13 @@ export function toRemoteSequencePayload(local, segmentMap, templateMap) {
|
|
|
88
125
|
payload.utmParameters = local.utmParameters;
|
|
89
126
|
}
|
|
90
127
|
if (local.steps) {
|
|
91
|
-
payload.steps = local.steps.map((step) => {
|
|
128
|
+
payload.steps = local.steps.map((step, index) => {
|
|
92
129
|
const templateId = templateMap.get(step.emailTemplateName);
|
|
93
130
|
if (templateId === undefined)
|
|
94
131
|
throw new Error(`Unknown email template name: "${step.emailTemplateName}"`);
|
|
95
132
|
return {
|
|
96
|
-
id: step.id,
|
|
97
133
|
emailTemplateId: templateId,
|
|
98
134
|
name: step.name,
|
|
99
|
-
position: step.position,
|
|
100
135
|
type: step.type,
|
|
101
136
|
timing: step.timing,
|
|
102
137
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automation-types.js","sourceRoot":"","sources":["../../src/lib/automation-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"automation-types.js","sourceRoot":"","sources":["../../src/lib/automation-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service.d.ts","sourceRoot":"","sources":["../../src/lib/data-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EACV,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EACrD,kBAAkB,EAAE,iBAAiB,EACtC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"data-service.d.ts","sourceRoot":"","sources":["../../src/lib/data-service.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/data-service.js
CHANGED
|
@@ -24,6 +24,25 @@ function formatApiValidationErrors(errorResponse) {
|
|
|
24
24
|
? `\nValidation errors:\n${errorMessages.join('\n')}`
|
|
25
25
|
: 'Validation failed';
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Extracts a readable API error message from common backend error shapes.
|
|
29
|
+
*/
|
|
30
|
+
function formatApiErrorTitle(errorResponse) {
|
|
31
|
+
const data = errorResponse?.data;
|
|
32
|
+
if (typeof data?.title === 'string' && data.title.trim()) {
|
|
33
|
+
return data.title.trim();
|
|
34
|
+
}
|
|
35
|
+
if (typeof data?.detail === 'string' && data.detail.trim()) {
|
|
36
|
+
return data.detail.trim();
|
|
37
|
+
}
|
|
38
|
+
if (typeof data?.message === 'string' && data.message.trim()) {
|
|
39
|
+
return data.message.trim();
|
|
40
|
+
}
|
|
41
|
+
if (Array.isArray(data?.errors) && data.errors.length > 0) {
|
|
42
|
+
return String(data.errors[0]);
|
|
43
|
+
}
|
|
44
|
+
return 'Unknown validation error';
|
|
45
|
+
}
|
|
27
46
|
/**
|
|
28
47
|
* Formats authentication errors with helpful guidance
|
|
29
48
|
*/
|
|
@@ -626,11 +645,18 @@ class LeadCMSDataService {
|
|
|
626
645
|
if (error.response?.status === 401) {
|
|
627
646
|
throw formatAuthenticationError(error);
|
|
628
647
|
}
|
|
629
|
-
if (error.response?.status === 422
|
|
630
|
-
const
|
|
631
|
-
const
|
|
648
|
+
if (error.response?.status === 422) {
|
|
649
|
+
const hasValidationMap = Boolean(error.response?.data?.errors);
|
|
650
|
+
const validationMessage = hasValidationMap
|
|
651
|
+
? formatApiValidationErrors(error.response)
|
|
652
|
+
: formatApiErrorTitle(error.response);
|
|
653
|
+
const enhancedError = hasValidationMap
|
|
654
|
+
? new Error(`Validation failed${validationMessage}`)
|
|
655
|
+
: new Error(`Validation failed: ${validationMessage}`);
|
|
632
656
|
enhancedError.status = 422;
|
|
633
|
-
|
|
657
|
+
if (hasValidationMap) {
|
|
658
|
+
enhancedError.validationErrors = error.response.data.errors;
|
|
659
|
+
}
|
|
634
660
|
throw enhancedError;
|
|
635
661
|
}
|
|
636
662
|
console.error('[API] Failed to create comment:', error.message);
|
|
@@ -668,11 +694,18 @@ class LeadCMSDataService {
|
|
|
668
694
|
if (error.response?.status === 401) {
|
|
669
695
|
throw formatAuthenticationError(error);
|
|
670
696
|
}
|
|
671
|
-
if (error.response?.status === 422
|
|
672
|
-
const
|
|
673
|
-
const
|
|
697
|
+
if (error.response?.status === 422) {
|
|
698
|
+
const hasValidationMap = Boolean(error.response?.data?.errors);
|
|
699
|
+
const validationMessage = hasValidationMap
|
|
700
|
+
? formatApiValidationErrors(error.response)
|
|
701
|
+
: formatApiErrorTitle(error.response);
|
|
702
|
+
const enhancedError = hasValidationMap
|
|
703
|
+
? new Error(`Validation failed${validationMessage}`)
|
|
704
|
+
: new Error(`Validation failed: ${validationMessage}`);
|
|
674
705
|
enhancedError.status = 422;
|
|
675
|
-
|
|
706
|
+
if (hasValidationMap) {
|
|
707
|
+
enhancedError.validationErrors = error.response.data.errors;
|
|
708
|
+
}
|
|
676
709
|
throw enhancedError;
|
|
677
710
|
}
|
|
678
711
|
console.error('[API] Failed to update comment:', error.message);
|
|
@@ -1000,7 +1033,9 @@ class LeadCMSDataService {
|
|
|
1000
1033
|
if (!this.baseURL) {
|
|
1001
1034
|
throw new Error('LeadCMS URL is not configured.');
|
|
1002
1035
|
}
|
|
1003
|
-
const
|
|
1036
|
+
const url = new URL(`${this.baseURL}/api/sequences`);
|
|
1037
|
+
url.searchParams.set('filter[include]', 'steps');
|
|
1038
|
+
const response = await axios.get(url.toString(), { headers: this.getApiHeaders() });
|
|
1004
1039
|
return Array.isArray(response.data) ? response.data : [];
|
|
1005
1040
|
}
|
|
1006
1041
|
catch (error) {
|
|
@@ -1028,7 +1063,6 @@ class LeadCMSDataService {
|
|
|
1028
1063
|
...s,
|
|
1029
1064
|
id: s.id ?? i + 1,
|
|
1030
1065
|
sequenceId: 0,
|
|
1031
|
-
position: s.position ?? i,
|
|
1032
1066
|
type: s.type ?? 'Email',
|
|
1033
1067
|
})),
|
|
1034
1068
|
};
|
|
@@ -1077,7 +1111,6 @@ class LeadCMSDataService {
|
|
|
1077
1111
|
...s,
|
|
1078
1112
|
id: s.id ?? ('id' in s ? s.id : i + 1),
|
|
1079
1113
|
sequenceId: id,
|
|
1080
|
-
position: s.position ?? ('position' in s ? s.position : i),
|
|
1081
1114
|
type: s.type ?? 'Email',
|
|
1082
1115
|
})),
|
|
1083
1116
|
};
|