snow-flow 10.0.1-dev.433 → 10.0.1-dev.435
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/package.json
CHANGED
|
@@ -62,63 +62,32 @@ async function addTriggerViaGraphQL(
|
|
|
62
62
|
): Promise<{ success: boolean; triggerId?: string; steps?: any; error?: string }> {
|
|
63
63
|
const steps: any = {};
|
|
64
64
|
|
|
65
|
-
const triggerMap: Record<string, { type: string; name: string; triggerType: string
|
|
66
|
-
'record_created': { type: 'record_create', name: 'Created', triggerType: 'Record',
|
|
67
|
-
|
|
68
|
-
'
|
|
69
|
-
|
|
70
|
-
'record_create_or_update': { type: 'record_create_or_update', name: 'Created or Updated', triggerType: 'Record',
|
|
71
|
-
defNames: ['sn_fd.trigger.record_create_or_update', 'global.sn_fd.trigger.record_create_or_update'] },
|
|
72
|
-
'scheduled': { type: 'scheduled', name: 'Scheduled', triggerType: 'Scheduled',
|
|
73
|
-
defNames: ['sn_fd.trigger.scheduled', 'global.sn_fd.trigger.scheduled'] },
|
|
65
|
+
const triggerMap: Record<string, { type: string; name: string; triggerType: string }> = {
|
|
66
|
+
'record_created': { type: 'record_create', name: 'Created', triggerType: 'Record' },
|
|
67
|
+
'record_updated': { type: 'record_update', name: 'Updated', triggerType: 'Record' },
|
|
68
|
+
'record_create_or_update': { type: 'record_create_or_update', name: 'Created or Updated', triggerType: 'Record' },
|
|
69
|
+
'scheduled': { type: 'scheduled', name: 'Scheduled', triggerType: 'Scheduled' },
|
|
74
70
|
};
|
|
75
71
|
|
|
76
72
|
const config = triggerMap[triggerType] || triggerMap['record_create_or_update'];
|
|
77
73
|
|
|
74
|
+
// Trigger definitions live in sys_hub_trigger_definition, keyed by `type` field
|
|
78
75
|
let trigDefId: string | null = null;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
trigDefId = resp.data.result?.[0]?.sys_id || null;
|
|
88
|
-
if (trigDefId) break;
|
|
89
|
-
} catch (_) {}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
if (!trigDefId) {
|
|
93
|
-
for (const defTable of defTables) {
|
|
94
|
-
if (trigDefId) break;
|
|
95
|
-
try {
|
|
96
|
-
const resp = await client.get('/api/now/table/' + defTable, {
|
|
97
|
-
params: {
|
|
98
|
-
sysparm_query: 'internal_nameLIKEsn_fd.trigger.' + config.type,
|
|
99
|
-
sysparm_fields: 'sys_id,internal_name,name', sysparm_limit: 10
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
for (const r of (resp.data.result || [])) {
|
|
103
|
-
const iname = r.internal_name || '';
|
|
104
|
-
if (iname.indexOf('trigger') > -1 && iname.indexOf(config.type) > -1) { trigDefId = r.sys_id; break; }
|
|
105
|
-
}
|
|
106
|
-
} catch (_) {}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
76
|
+
try {
|
|
77
|
+
const resp = await client.get('/api/now/table/sys_hub_trigger_definition', {
|
|
78
|
+
params: { sysparm_query: 'type=' + config.type, sysparm_fields: 'sys_id,type,name', sysparm_limit: 1 }
|
|
79
|
+
});
|
|
80
|
+
trigDefId = resp.data.result?.[0]?.sys_id || null;
|
|
81
|
+
steps.def_lookup_primary = resp.data.result?.[0] || null;
|
|
82
|
+
} catch (_) {}
|
|
83
|
+
// Fallback: search by name
|
|
109
84
|
if (!trigDefId) {
|
|
110
85
|
try {
|
|
111
|
-
const resp = await client.get('/api/now/table/
|
|
112
|
-
params: {
|
|
113
|
-
sysparm_query: 'internal_nameLIKEtrigger^internal_nameLIKE' + config.type,
|
|
114
|
-
sysparm_fields: 'sys_id,internal_name,name', sysparm_limit: 10
|
|
115
|
-
}
|
|
86
|
+
const resp = await client.get('/api/now/table/sys_hub_trigger_definition', {
|
|
87
|
+
params: { sysparm_query: 'name=' + config.name, sysparm_fields: 'sys_id,type,name', sysparm_limit: 1 }
|
|
116
88
|
});
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const iname = r.internal_name || '';
|
|
120
|
-
if (iname.indexOf(config.type) > -1) { trigDefId = r.sys_id; break; }
|
|
121
|
-
}
|
|
89
|
+
trigDefId = resp.data.result?.[0]?.sys_id || null;
|
|
90
|
+
steps.def_lookup_fallback = resp.data.result?.[0] || null;
|
|
122
91
|
} catch (_) {}
|
|
123
92
|
}
|
|
124
93
|
if (!trigDefId) return { success: false, error: 'Trigger definition not found for: ' + triggerType, steps };
|
|
@@ -204,10 +173,14 @@ async function addActionViaGraphQL(
|
|
|
204
173
|
for (const name of candidates) {
|
|
205
174
|
try {
|
|
206
175
|
const resp = await client.get('/api/now/table/sys_hub_action_type_definition', {
|
|
207
|
-
params: { sysparm_query: 'internal_name=' + name, sysparm_fields: 'sys_id', sysparm_limit: 1 }
|
|
176
|
+
params: { sysparm_query: 'internal_name=' + name, sysparm_fields: 'sys_id,internal_name,name', sysparm_limit: 1 }
|
|
208
177
|
});
|
|
209
|
-
|
|
210
|
-
if (
|
|
178
|
+
const found = resp.data.result?.[0];
|
|
179
|
+
if (found?.sys_id) {
|
|
180
|
+
actionDefId = found.sys_id;
|
|
181
|
+
steps.def_lookup = { id: found.sys_id, internal_name: found.internal_name, name: found.name, matched_query: name };
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
211
184
|
} catch (_) {}
|
|
212
185
|
}
|
|
213
186
|
if (!actionDefId) {
|
|
@@ -215,14 +188,16 @@ async function addActionViaGraphQL(
|
|
|
215
188
|
const resp = await client.get('/api/now/table/sys_hub_action_type_definition', {
|
|
216
189
|
params: {
|
|
217
190
|
sysparm_query: 'internal_nameLIKE' + actionType + '^ORnameLIKE' + actionType,
|
|
218
|
-
sysparm_fields: 'sys_id,internal_name', sysparm_limit: 5
|
|
191
|
+
sysparm_fields: 'sys_id,internal_name,name', sysparm_limit: 5
|
|
219
192
|
}
|
|
220
193
|
});
|
|
221
|
-
|
|
194
|
+
const results = resp.data.result || [];
|
|
195
|
+
steps.def_lookup_fallback_candidates = results.map((r: any) => ({ sys_id: r.sys_id, internal_name: r.internal_name, name: r.name }));
|
|
196
|
+
actionDefId = results[0]?.sys_id || null;
|
|
197
|
+
if (actionDefId) steps.def_lookup = { id: actionDefId, internal_name: results[0].internal_name, name: results[0].name, matched_query: 'LIKE ' + actionType };
|
|
222
198
|
} catch (_) {}
|
|
223
199
|
}
|
|
224
200
|
if (!actionDefId) return { success: false, error: 'Action definition not found for: ' + actionType, steps };
|
|
225
|
-
steps.def_lookup = { id: actionDefId };
|
|
226
201
|
|
|
227
202
|
const uuid = generateUUID();
|
|
228
203
|
const actionResponseFields = 'actions { inserts { sysId uiUniqueIdentifier __typename } updates deletes __typename }';
|