@sonisoft/now-sdk-ext-core 6.8.0 → 6.9.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/comm/http/FormRecordWriter.js +18 -0
- package/dist/comm/http/FormRecordWriter.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/policy/ScanScript.js +3 -0
- package/dist/policy/ScanScript.js.map +1 -1
- package/dist/sn/metadata/FormLayoutWriter.d.ts +22 -0
- package/dist/sn/metadata/FormLayoutWriter.js +237 -0
- package/dist/sn/metadata/FormLayoutWriter.js.map +1 -0
- package/dist/sn/metadata/MetadataFormWriter.d.ts +0 -1
- package/dist/sn/metadata/MetadataFormWriter.js +45 -35
- package/dist/sn/metadata/MetadataFormWriter.js.map +1 -1
- package/dist/sn/metadata/MetadataModels.d.ts +58 -0
- package/dist/sn/metadata/MetadataScopeError.d.ts +14 -2
- package/dist/sn/metadata/MetadataScopeError.js +23 -1
- package/dist/sn/metadata/MetadataScopeError.js.map +1 -1
- package/dist/sn/metadata/internal/MetadataScope.d.ts +12 -0
- package/dist/sn/metadata/internal/MetadataScope.js +48 -0
- package/dist/sn/metadata/internal/MetadataScope.js.map +1 -0
- package/dist/sn/metadata/internal/MetadataUpdateNames.d.ts +8 -0
- package/dist/sn/metadata/internal/MetadataUpdateNames.js +28 -0
- package/dist/sn/metadata/internal/MetadataUpdateNames.js.map +1 -0
- package/dist/sn/metadata/internal/SlushbucketPage.d.ts +20 -0
- package/dist/sn/metadata/internal/SlushbucketPage.js +67 -0
- package/dist/sn/metadata/internal/SlushbucketPage.js.map +1 -0
- package/dist/sn/updateset/UpdateSetManager.js +30 -3
- package/dist/sn/updateset/UpdateSetManager.js.map +1 -1
- package/dist/sn/updateset/WorkingSetManager.d.ts +53 -0
- package/dist/sn/updateset/WorkingSetManager.js +275 -0
- package/dist/sn/updateset/WorkingSetManager.js.map +1 -0
- package/dist/sn/updateset/WorkingSetModels.d.ts +77 -0
- package/dist/sn/updateset/WorkingSetModels.js +12 -0
- package/dist/sn/updateset/WorkingSetModels.js.map +1 -0
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { CSRFTokenHelper } from "../../util/CSRFTokenHelper.js";
|
|
|
3
3
|
import { ServiceNowRequest } from "../../comm/http/ServiceNowRequest.js";
|
|
4
4
|
import { TableAPIRequest } from "../../comm/http/TableAPIRequest.js";
|
|
5
5
|
import { BackgroundScriptExecutor } from "../BackgroundScriptExecutor.js";
|
|
6
|
+
import { WorkingSetManager } from "./WorkingSetManager.js";
|
|
6
7
|
/**
|
|
7
8
|
* UpdateSetManager provides operations for managing ServiceNow update sets.
|
|
8
9
|
* Supports setting/getting the current update set, listing, creating,
|
|
@@ -72,10 +73,15 @@ export class UpdateSetManager {
|
|
|
72
73
|
if (resp.status === 200 && resp.bodyObject?.result?.currentUpdateSet) {
|
|
73
74
|
const current = resp.bodyObject.result.currentUpdateSet;
|
|
74
75
|
this._logger.info(`Current update set: ${current.name}`);
|
|
76
|
+
// The picker reports only name and sys_id; read the real state and application.
|
|
77
|
+
const record = await this._tableAPI.get(`${UpdateSetManager.UPDATE_SET_TABLE}/${current.sysId}`, { sysparm_fields: 'sys_id,name,state,application' });
|
|
78
|
+
const row = record?.status === 200 ? record.bodyObject?.result : undefined;
|
|
79
|
+
const application = typeof row?.application === 'object' ? row.application?.value : row?.application;
|
|
75
80
|
return {
|
|
76
81
|
sys_id: current.sysId,
|
|
77
82
|
name: current.name,
|
|
78
|
-
state:
|
|
83
|
+
state: row?.state ?? '',
|
|
84
|
+
...(application ? { application } : {})
|
|
79
85
|
};
|
|
80
86
|
}
|
|
81
87
|
throw new Error(`Failed to get current update set. Status: ${resp.status}`);
|
|
@@ -118,6 +124,15 @@ export class UpdateSetManager {
|
|
|
118
124
|
if (!options.name || options.name.trim().length === 0) {
|
|
119
125
|
throw new Error('Update set name is required');
|
|
120
126
|
}
|
|
127
|
+
// The Table API drops sys_update_set.application (its create ACL), so a set requested for an
|
|
128
|
+
// application is created through WorkingSetManager, which writes and verifies it.
|
|
129
|
+
if (options.application && (!options.state || options.state === 'in progress')) {
|
|
130
|
+
const created = await new WorkingSetManager(this._instance).createUpdateSet({
|
|
131
|
+
application: options.application, name: options.name, description: options.description
|
|
132
|
+
});
|
|
133
|
+
this._logger.info(`Created update set: ${created.name} with sys_id: ${created.sysId} in ${created.application}`);
|
|
134
|
+
return { sys_id: created.sysId, name: created.name, state: created.state, application: created.application, description: options.description };
|
|
135
|
+
}
|
|
121
136
|
this._logger.info(`Creating update set: ${options.name}`);
|
|
122
137
|
const body = {
|
|
123
138
|
name: options.name,
|
|
@@ -152,6 +167,10 @@ export class UpdateSetManager {
|
|
|
152
167
|
if (!options.recordSysIds && !options.timeRange && !options.sourceUpdateSet) {
|
|
153
168
|
throw new Error('At least one selection criteria is required: recordSysIds, timeRange, or sourceUpdateSet');
|
|
154
169
|
}
|
|
170
|
+
if (options.timeRange && !options.recordSysIds && !options.sourceUpdateSet) {
|
|
171
|
+
// A time range alone selects every capture on the instance in that window, from every user and set.
|
|
172
|
+
throw new Error('timeRange requires sourceUpdateSet or recordSysIds');
|
|
173
|
+
}
|
|
155
174
|
this._logger.info(`Moving records to update set: ${targetUpdateSetId}`);
|
|
156
175
|
const result = {
|
|
157
176
|
moved: 0,
|
|
@@ -205,7 +224,13 @@ export class UpdateSetManager {
|
|
|
205
224
|
options.onProgress(`Moving record ${record.sys_id} (${record.name || record.type || 'unknown'})`);
|
|
206
225
|
}
|
|
207
226
|
const putResp = await this._tableAPI.put(UpdateSetManager.UPDATE_XML_TABLE, record.sys_id, { update_set: targetUpdateSetId });
|
|
208
|
-
|
|
227
|
+
// The platform's move rule can abort a cross-scope move without an error status: read it back.
|
|
228
|
+
const after = putResp && (putResp.status === 200 || putResp.status === 201)
|
|
229
|
+
? await this._tableAPI.get(`${UpdateSetManager.UPDATE_XML_TABLE}/${record.sys_id}`, { sysparm_fields: 'sys_id,update_set' })
|
|
230
|
+
: undefined;
|
|
231
|
+
const landed = after?.bodyObject?.result?.update_set;
|
|
232
|
+
const landedId = typeof landed === 'object' ? landed?.value : landed;
|
|
233
|
+
if (landedId === targetUpdateSetId) {
|
|
209
234
|
result.moved++;
|
|
210
235
|
result.records.push({
|
|
211
236
|
sys_id: record.sys_id,
|
|
@@ -224,7 +249,9 @@ export class UpdateSetManager {
|
|
|
224
249
|
});
|
|
225
250
|
result.errors.push({
|
|
226
251
|
sys_id: record.sys_id,
|
|
227
|
-
error:
|
|
252
|
+
error: putResp && (putResp.status === 200 || putResp.status === 201)
|
|
253
|
+
? 'Move not applied: the record is not in the target update set (a cross-scope move is aborted by the platform)'
|
|
254
|
+
: `Unexpected status: ${putResp?.status ?? 'unknown'}`
|
|
228
255
|
});
|
|
229
256
|
}
|
|
230
257
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateSetManager.js","sourceRoot":"","sources":["../../../src/sn/updateset/UpdateSetManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UpdateSetManager.js","sourceRoot":"","sources":["../../../src/sn/updateset/UpdateSetManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ServiceNowInstance } from '../ServiceNowInstance.js';
|
|
2
|
+
import type { CompleteUpdateSetOptions, CreateScopedUpdateSetOptions, MoveCaptureOptions, MoveCaptureResult, UpdateSetSummary, UseUpdateSetOptions, UseUpdateSetResult, WorkingSet, RestoreWorkingSetResult } from './WorkingSetModels.js';
|
|
3
|
+
/**
|
|
4
|
+
* Update-set lifecycle for changes in any application, including installed Store applications and
|
|
5
|
+
* Global: create a set that really belongs to the application, make it the user's working set in
|
|
6
|
+
* every later session, move one capture into it, complete it, and restore the previous working set.
|
|
7
|
+
*
|
|
8
|
+
* Every step reads its outcome back and throws {@link WorkingSetError} rather than report success
|
|
9
|
+
* it did not observe. Only creating a set and saving the working-set preferences run as background
|
|
10
|
+
* scripts: the Table API drops sys_update_set.application, and no API persists apps.current_app.
|
|
11
|
+
*/
|
|
12
|
+
export declare class WorkingSetManager {
|
|
13
|
+
private readonly _instance;
|
|
14
|
+
private readonly _request;
|
|
15
|
+
private readonly _reader;
|
|
16
|
+
constructor(_instance: ServiceNowInstance);
|
|
17
|
+
/** The authenticated user's current application and update set. */
|
|
18
|
+
getWorkingSet(): Promise<WorkingSet>;
|
|
19
|
+
/** Read one update set. */
|
|
20
|
+
getUpdateSet(sysId: string): Promise<UpdateSetSummary>;
|
|
21
|
+
/** Create an In progress set whose application is verified to be the requested one. */
|
|
22
|
+
createUpdateSet(options: CreateScopedUpdateSetOptions): Promise<UpdateSetSummary>;
|
|
23
|
+
/**
|
|
24
|
+
* Make an In progress set the user's working set in every later session: apps.current_app,
|
|
25
|
+
* sys_update_set and updateSetForScope<application> are saved and read back. A Default is
|
|
26
|
+
* refused unless `allowDefault` (for restoring a previous context only).
|
|
27
|
+
*/
|
|
28
|
+
useUpdateSet(sysId: string, options?: UseUpdateSetOptions): Promise<UseUpdateSetResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Put back a working set returned by {@link useUpdateSet}. When its set has closed since, the
|
|
31
|
+
* application's single In progress Default is used instead and reported as the fallback.
|
|
32
|
+
*/
|
|
33
|
+
restoreWorkingSet(previous: WorkingSet): Promise<RestoreWorkingSetResult>;
|
|
34
|
+
/**
|
|
35
|
+
* Move one capture between two In progress sets of the same application, as the platform's
|
|
36
|
+
* "Handle updates moving between sets" rule allows, and read the move back. Refused before the
|
|
37
|
+
* move when the scopes differ, the target is a Default, the target already holds a capture of
|
|
38
|
+
* the same record, or a newer capture of the same record exists elsewhere.
|
|
39
|
+
*/
|
|
40
|
+
moveCapture(options: MoveCaptureOptions): Promise<MoveCaptureResult>;
|
|
41
|
+
/**
|
|
42
|
+
* Mark a set Complete after checking that it holds exactly `expectedCaptures` rows, all of the
|
|
43
|
+
* set's own application, one per record, and that no other user is working in it. Reads the
|
|
44
|
+
* state back. The caller restores its own working set afterwards ({@link restoreWorkingSet}).
|
|
45
|
+
*/
|
|
46
|
+
completeUpdateSet(sysId: string, options: CompleteUpdateSetOptions): Promise<UpdateSetSummary>;
|
|
47
|
+
private user;
|
|
48
|
+
/** The value a set of this application carries in sys_update_set.application. */
|
|
49
|
+
private application;
|
|
50
|
+
private persist;
|
|
51
|
+
/** Run a global background script with JSON parameters `P`; `out(value)` returns one JSON result. */
|
|
52
|
+
private script;
|
|
53
|
+
}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import { SessionManager } from '../../comm/http/SessionManager.js';
|
|
2
|
+
import { BackgroundScriptExecutor } from '../BackgroundScriptExecutor.js';
|
|
3
|
+
import { MetadataReader } from '../metadata/internal/MetadataReader.js';
|
|
4
|
+
import { WorkingSetError } from './WorkingSetModels.js';
|
|
5
|
+
const ID = /^[a-f0-9]{32}$/;
|
|
6
|
+
const MARKER = 'NEX_WORKING_SET_RESULT=';
|
|
7
|
+
/**
|
|
8
|
+
* Update-set lifecycle for changes in any application, including installed Store applications and
|
|
9
|
+
* Global: create a set that really belongs to the application, make it the user's working set in
|
|
10
|
+
* every later session, move one capture into it, complete it, and restore the previous working set.
|
|
11
|
+
*
|
|
12
|
+
* Every step reads its outcome back and throws {@link WorkingSetError} rather than report success
|
|
13
|
+
* it did not observe. Only creating a set and saving the working-set preferences run as background
|
|
14
|
+
* scripts: the Table API drops sys_update_set.application, and no API persists apps.current_app.
|
|
15
|
+
*/
|
|
16
|
+
export class WorkingSetManager {
|
|
17
|
+
_instance;
|
|
18
|
+
_request;
|
|
19
|
+
_reader;
|
|
20
|
+
constructor(_instance) {
|
|
21
|
+
this._instance = _instance;
|
|
22
|
+
this._request = SessionManager.getInstance().getRequest(_instance);
|
|
23
|
+
this._reader = new MetadataReader(this._request);
|
|
24
|
+
}
|
|
25
|
+
/** The authenticated user's current application and update set. */
|
|
26
|
+
async getWorkingSet() {
|
|
27
|
+
const user = await this.user();
|
|
28
|
+
const rows = await this._reader.rows('sys_user_preference', `user=${user}^nameINapps.current_app,sys_update_set`, 'sys_id,user,name,value');
|
|
29
|
+
const value = (name) => {
|
|
30
|
+
const values = [...new Set(rows.filter(row => row.user === user && row.name === name).map(row => row.value))];
|
|
31
|
+
if (values.length > 1)
|
|
32
|
+
throw new WorkingSetError('evidence_unavailable');
|
|
33
|
+
return values[0] ?? '';
|
|
34
|
+
};
|
|
35
|
+
return { application: value('apps.current_app'), updateSet: value('sys_update_set') };
|
|
36
|
+
}
|
|
37
|
+
/** Read one update set. */
|
|
38
|
+
async getUpdateSet(sysId) {
|
|
39
|
+
if (!ID.test(sysId ?? ''))
|
|
40
|
+
throw new WorkingSetError('invalid_input');
|
|
41
|
+
const row = await this._reader.exact('sys_update_set', sysId, 'name,state,application,is_default');
|
|
42
|
+
if (!row)
|
|
43
|
+
throw new WorkingSetError('update_set_not_found');
|
|
44
|
+
return summary(row);
|
|
45
|
+
}
|
|
46
|
+
/** Create an In progress set whose application is verified to be the requested one. */
|
|
47
|
+
async createUpdateSet(options) {
|
|
48
|
+
const name = options?.name?.trim() ?? '';
|
|
49
|
+
if (!name || name.length > 80 || /\p{Cc}/u.test(name) || /\p{Cc}/u.test(options.description ?? ''))
|
|
50
|
+
throw new WorkingSetError('invalid_input');
|
|
51
|
+
const application = await this.application(options.application);
|
|
52
|
+
// The duplicate check runs with addQuery inside the script: the caller's name never becomes encoded-query text,
|
|
53
|
+
// where '^' would split it and a javascript: term would run on the server.
|
|
54
|
+
const created = await this.script(`
|
|
55
|
+
var open = new GlideRecord('sys_update_set');
|
|
56
|
+
open.addQuery('name', P.name);
|
|
57
|
+
open.addQuery('application', P.application);
|
|
58
|
+
open.addQuery('state', 'in progress');
|
|
59
|
+
open.setLimit(1);
|
|
60
|
+
open.query();
|
|
61
|
+
if (open.hasNext()) { out({ exists: true }); return; }
|
|
62
|
+
var set = new GlideRecord('sys_update_set');
|
|
63
|
+
set.initialize();
|
|
64
|
+
set.setValue('name', P.name);
|
|
65
|
+
set.setValue('state', 'in progress');
|
|
66
|
+
set.setValue('application', P.application);
|
|
67
|
+
if (P.description) set.setValue('description', P.description);
|
|
68
|
+
var id = set.insert();
|
|
69
|
+
out({ sys_id: id ? '' + id : '' });`, { name, application, description: options.description ?? '' });
|
|
70
|
+
if (created.exists === true)
|
|
71
|
+
throw new WorkingSetError('update_set_exists');
|
|
72
|
+
const createdId = typeof created.sys_id === 'string' ? created.sys_id : '';
|
|
73
|
+
if (!ID.test(createdId))
|
|
74
|
+
throw new WorkingSetError('create_not_applied');
|
|
75
|
+
const set = await this.getUpdateSet(createdId);
|
|
76
|
+
if (set.application !== application || set.state !== 'in progress' || set.name !== name) {
|
|
77
|
+
throw new WorkingSetError('application_not_applied', { updateSet: set.sysId, application: set.application });
|
|
78
|
+
}
|
|
79
|
+
return set;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Make an In progress set the user's working set in every later session: apps.current_app,
|
|
83
|
+
* sys_update_set and updateSetForScope<application> are saved and read back. A Default is
|
|
84
|
+
* refused unless `allowDefault` (for restoring a previous context only).
|
|
85
|
+
*/
|
|
86
|
+
async useUpdateSet(sysId, options = {}) {
|
|
87
|
+
const set = await this.getUpdateSet(sysId);
|
|
88
|
+
if (set.state !== 'in progress')
|
|
89
|
+
throw new WorkingSetError('update_set_closed', { updateSet: set.sysId, state: set.state });
|
|
90
|
+
if (set.isDefault && !options.allowDefault)
|
|
91
|
+
throw new WorkingSetError('default_update_set', { updateSet: set.sysId });
|
|
92
|
+
const previous = await this.getWorkingSet();
|
|
93
|
+
try {
|
|
94
|
+
return { previous, current: await this.persist(set.application, set.sysId), updateSet: set };
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
// The preferences may already have changed: the caller needs the pair to put back.
|
|
98
|
+
if (error instanceof WorkingSetError)
|
|
99
|
+
throw new WorkingSetError(error.code, { ...error.detail, previous });
|
|
100
|
+
throw new WorkingSetError('working_set_not_applied', { updateSet: set.sysId, previous });
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Put back a working set returned by {@link useUpdateSet}. When its set has closed since, the
|
|
105
|
+
* application's single In progress Default is used instead and reported as the fallback.
|
|
106
|
+
*/
|
|
107
|
+
async restoreWorkingSet(previous) {
|
|
108
|
+
// A user with no saved preference reads back as '': the platform's own default is Global and its Default set.
|
|
109
|
+
const requested = previous?.application === '' ? 'global' : previous?.application;
|
|
110
|
+
const application = requested === 'global' || ID.test(requested ?? '') ? requested : undefined;
|
|
111
|
+
const updateSet = previous?.updateSet ?? '';
|
|
112
|
+
if (!application || (updateSet !== '' && !ID.test(updateSet)))
|
|
113
|
+
throw new WorkingSetError('invalid_input');
|
|
114
|
+
let set;
|
|
115
|
+
if (updateSet) {
|
|
116
|
+
try {
|
|
117
|
+
set = await this.getUpdateSet(updateSet);
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
if (!(error instanceof WorkingSetError && error.code === 'update_set_not_found'))
|
|
121
|
+
throw error;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (set && set.application !== application)
|
|
125
|
+
throw new WorkingSetError('scope_mismatch', { application, updateSet: set.sysId });
|
|
126
|
+
if (set?.state === 'in progress')
|
|
127
|
+
return { restored: await this.persist(application, set.sysId) };
|
|
128
|
+
const defaults = await this._reader.rows('sys_update_set', `application=${application}^is_default=true^state=in progress`, 'sys_id,application');
|
|
129
|
+
if (defaults.length !== 1 || defaults[0].application !== application)
|
|
130
|
+
throw new WorkingSetError('no_single_default', { application });
|
|
131
|
+
return { restored: await this.persist(application, defaults[0].sys_id), fallback: 'application_default' };
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Move one capture between two In progress sets of the same application, as the platform's
|
|
135
|
+
* "Handle updates moving between sets" rule allows, and read the move back. Refused before the
|
|
136
|
+
* move when the scopes differ, the target is a Default, the target already holds a capture of
|
|
137
|
+
* the same record, or a newer capture of the same record exists elsewhere.
|
|
138
|
+
*/
|
|
139
|
+
async moveCapture(options) {
|
|
140
|
+
const { capture, sourceSet, targetSet } = options ?? {};
|
|
141
|
+
if (![capture, sourceSet, targetSet].every(id => ID.test(id ?? '')) || sourceSet === targetSet)
|
|
142
|
+
throw new WorkingSetError('invalid_input');
|
|
143
|
+
if (/[^\p{L}\p{N} .,:;()/_-]/u.test(options.reason ?? '') || !options.reason?.trim())
|
|
144
|
+
throw new WorkingSetError('invalid_input');
|
|
145
|
+
const row = await this._reader.exact('sys_update_xml', capture, 'name,update_set,application,sys_recorded_at,comments');
|
|
146
|
+
if (!row || row.update_set !== sourceSet)
|
|
147
|
+
throw new WorkingSetError('capture_not_in_source', { capture });
|
|
148
|
+
const [source, target] = [await this.getUpdateSet(sourceSet), await this.getUpdateSet(targetSet)];
|
|
149
|
+
if (source.state !== 'in progress' || target.state !== 'in progress')
|
|
150
|
+
throw new WorkingSetError('update_set_closed', { updateSet: source.state !== 'in progress' ? source.sysId : target.sysId });
|
|
151
|
+
if (target.isDefault)
|
|
152
|
+
throw new WorkingSetError('default_update_set', { updateSet: target.sysId });
|
|
153
|
+
if (target.application !== row.application)
|
|
154
|
+
throw new WorkingSetError('scope_mismatch', { application: row.application, updateSet: target.sysId });
|
|
155
|
+
const same = await this._reader.rows('sys_update_xml', `name=${row.name}`, 'sys_id,name,update_set,sys_recorded_at');
|
|
156
|
+
if (same.some(other => other.name !== row.name))
|
|
157
|
+
throw new WorkingSetError('evidence_unavailable');
|
|
158
|
+
if (same.some(other => other.update_set === targetSet))
|
|
159
|
+
throw new WorkingSetError('duplicate_capture', { updateSet: targetSet });
|
|
160
|
+
if (same.some(other => other.sys_id !== capture && other.sys_recorded_at >= row.sys_recorded_at))
|
|
161
|
+
throw new WorkingSetError('newer_capture_exists', { capture });
|
|
162
|
+
const comments = [row.comments, `Moved to ${target.name}: ${options.reason.trim()}`].filter(Boolean).join('\n');
|
|
163
|
+
const response = await this._request.put({ path: `/api/now/table/sys_update_xml/${capture}`, method: 'PUT',
|
|
164
|
+
headers: { 'Content-Type': 'application/json', Accept: 'application/json' }, query: { sysparm_fields: 'sys_id' },
|
|
165
|
+
body: null, json: { update_set: targetSet, comments } });
|
|
166
|
+
const after = await this._reader.exact('sys_update_xml', capture, 'update_set,application');
|
|
167
|
+
if (after?.update_set !== targetSet)
|
|
168
|
+
throw new WorkingSetError('move_not_applied', { capture, status: response?.status });
|
|
169
|
+
return { capture, name: row.name, application: row.application, from: source, to: target };
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Mark a set Complete after checking that it holds exactly `expectedCaptures` rows, all of the
|
|
173
|
+
* set's own application, one per record, and that no other user is working in it. Reads the
|
|
174
|
+
* state back. The caller restores its own working set afterwards ({@link restoreWorkingSet}).
|
|
175
|
+
*/
|
|
176
|
+
async completeUpdateSet(sysId, options) {
|
|
177
|
+
if (!Number.isSafeInteger(options?.expectedCaptures) || options.expectedCaptures < 0)
|
|
178
|
+
throw new WorkingSetError('invalid_input');
|
|
179
|
+
const set = await this.getUpdateSet(sysId);
|
|
180
|
+
if (set.state !== 'in progress')
|
|
181
|
+
throw new WorkingSetError('update_set_closed', { updateSet: set.sysId, state: set.state });
|
|
182
|
+
if (set.isDefault)
|
|
183
|
+
throw new WorkingSetError('default_update_set', { updateSet: set.sysId });
|
|
184
|
+
const rows = await this._reader.rows('sys_update_xml', `update_set=${sysId}`, 'sys_id,name,update_set,application');
|
|
185
|
+
if (rows.some(row => row.update_set !== sysId))
|
|
186
|
+
throw new WorkingSetError('evidence_unavailable');
|
|
187
|
+
if (rows.length !== options.expectedCaptures)
|
|
188
|
+
throw new WorkingSetError('capture_count_mismatch', { expected: options.expectedCaptures, actual: rows.length });
|
|
189
|
+
const strays = rows.filter(row => row.application !== set.application);
|
|
190
|
+
if (strays.length)
|
|
191
|
+
throw new WorkingSetError('mixed_scope_capture', { captures: strays.map(row => row.sys_id) });
|
|
192
|
+
const names = rows.map(row => row.name);
|
|
193
|
+
if (new Set(names).size !== names.length)
|
|
194
|
+
throw new WorkingSetError('duplicate_capture', { updateSet: sysId });
|
|
195
|
+
const user = await this.user();
|
|
196
|
+
// Another user's current set, or the set remembered for the application, both still capture into it.
|
|
197
|
+
const users = await this._reader.rows('sys_user_preference', `name=sys_update_set^ORnameSTARTSWITHupdateSetForScope^value=${sysId}`, 'sys_id,user,name,value');
|
|
198
|
+
if (users.some(row => row.user !== user))
|
|
199
|
+
throw new WorkingSetError('update_set_in_use', { updateSet: sysId });
|
|
200
|
+
await this._request.put({ path: `/api/now/table/sys_update_set/${sysId}`, method: 'PUT',
|
|
201
|
+
headers: { 'Content-Type': 'application/json', Accept: 'application/json' }, query: { sysparm_fields: 'sys_id' },
|
|
202
|
+
body: null, json: { state: 'complete' } });
|
|
203
|
+
const completed = await this.getUpdateSet(sysId);
|
|
204
|
+
if (completed.state !== 'complete')
|
|
205
|
+
throw new WorkingSetError('complete_not_applied', { updateSet: sysId, state: completed.state });
|
|
206
|
+
// A capture that arrived between the checks and the state change is in the completed set: say so.
|
|
207
|
+
const final = await this._reader.rows('sys_update_xml', `update_set=${sysId}`, 'sys_id,update_set');
|
|
208
|
+
if (final.length !== rows.length || final.some(row => !rows.some(checked => checked.sys_id === row.sys_id))) {
|
|
209
|
+
throw new WorkingSetError('capture_count_mismatch', { updateSet: sysId, state: completed.state, expected: rows.length, actual: final.length });
|
|
210
|
+
}
|
|
211
|
+
return completed;
|
|
212
|
+
}
|
|
213
|
+
async user() {
|
|
214
|
+
const users = await this._reader.rows('sys_user', 'sys_id=javascript:gs.getUserID()', 'sys_id');
|
|
215
|
+
if (users.length !== 1 || !ID.test(users[0].sys_id))
|
|
216
|
+
throw new WorkingSetError('evidence_unavailable');
|
|
217
|
+
return users[0].sys_id;
|
|
218
|
+
}
|
|
219
|
+
/** The value a set of this application carries in sys_update_set.application. */
|
|
220
|
+
async application(ref) {
|
|
221
|
+
if (ref === 'global')
|
|
222
|
+
return 'global';
|
|
223
|
+
if (!ID.test(ref ?? '') && !/^[a-z0-9_]{1,40}$/i.test(ref ?? ''))
|
|
224
|
+
throw new WorkingSetError('invalid_input');
|
|
225
|
+
// A scope name must resolve to exactly one active application; scope strings are not unique.
|
|
226
|
+
const scopes = ID.test(ref) ? await this._reader.rows('sys_scope', `sys_id=${ref}`, 'sys_id,scope')
|
|
227
|
+
: await this._reader.rows('sys_scope', `scope=${ref}^active=true`, 'sys_id,scope');
|
|
228
|
+
if (scopes.length !== 1)
|
|
229
|
+
throw new WorkingSetError(scopes.length ? 'invalid_input' : 'application_not_found', ID.test(ref) ? { application: ref } : undefined);
|
|
230
|
+
return scopes[0].scope === 'global' ? 'global' : scopes[0].sys_id;
|
|
231
|
+
}
|
|
232
|
+
async persist(application, updateSet) {
|
|
233
|
+
await this.script(`
|
|
234
|
+
gs.getUser().savePreference('apps.current_app', P.application);
|
|
235
|
+
gs.setCurrentApplicationId(P.application);
|
|
236
|
+
new GlideUpdateSet().set(P.updateSet);
|
|
237
|
+
out({ ok: true });`, { application, updateSet });
|
|
238
|
+
const after = await this.getWorkingSet();
|
|
239
|
+
const user = await this.user();
|
|
240
|
+
const scoped = await this._reader.rows('sys_user_preference', `user=${user}^name=updateSetForScope${application}`, 'sys_id,user,name,value');
|
|
241
|
+
if (after.application !== application || after.updateSet !== updateSet || !scoped.length || scoped.some(row => row.value !== updateSet)) {
|
|
242
|
+
throw new WorkingSetError('working_set_not_applied', { application: after.application, updateSet: after.updateSet });
|
|
243
|
+
}
|
|
244
|
+
return after;
|
|
245
|
+
}
|
|
246
|
+
/** Run a global background script with JSON parameters `P`; `out(value)` returns one JSON result. */
|
|
247
|
+
async script(body, params) {
|
|
248
|
+
const literal = JSON.stringify(params).replace(/[\u2028\u2029<>]/g, c => `\\u${c.charCodeAt(0).toString(16).padStart(4, '0')}`);
|
|
249
|
+
const script = `(function () {
|
|
250
|
+
var P = ${literal};
|
|
251
|
+
function out(value) { gs.print('${MARKER}' + JSON.stringify(value)); }
|
|
252
|
+
${body}
|
|
253
|
+
})();`;
|
|
254
|
+
const result = await new BackgroundScriptExecutor(this._instance, 'global').executeScript(script, 'global', this._instance);
|
|
255
|
+
const lines = [...(result.scriptResults ?? []).map(line => line.line), ...(result.consoleResult ?? [])];
|
|
256
|
+
const line = lines.map(decode).find(text => text.includes(MARKER));
|
|
257
|
+
if (!line)
|
|
258
|
+
throw new WorkingSetError('script_result_unavailable');
|
|
259
|
+
try {
|
|
260
|
+
return JSON.parse(line.slice(line.indexOf(MARKER) + MARKER.length));
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
throw new WorkingSetError('script_result_unavailable');
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
function decode(text) {
|
|
268
|
+
return String(text ?? '').replace(/<BR\/?>/gi, '').replace(/"/g, '"').replace(/'/g, "'")
|
|
269
|
+
.replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&').trim();
|
|
270
|
+
}
|
|
271
|
+
function summary(row) {
|
|
272
|
+
return { sysId: row.sys_id, name: row.name, state: row.state, application: row.application,
|
|
273
|
+
isDefault: row.is_default === 'true' || row.is_default === '1' };
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=WorkingSetManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkingSetManager.js","sourceRoot":"","sources":["../../../src/sn/updateset/WorkingSetManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/** The user's working set: apps.current_app and sys_update_set. `global` or a sys_scope sys_id. */
|
|
2
|
+
export interface WorkingSet {
|
|
3
|
+
application: string;
|
|
4
|
+
updateSet: string;
|
|
5
|
+
}
|
|
6
|
+
export interface UpdateSetSummary {
|
|
7
|
+
sysId: string;
|
|
8
|
+
name: string;
|
|
9
|
+
state: string;
|
|
10
|
+
/** sys_update_set.application: `global`, or the application's sys_scope sys_id. */
|
|
11
|
+
application: string;
|
|
12
|
+
isDefault: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface CreateScopedUpdateSetOptions {
|
|
15
|
+
/**
|
|
16
|
+
* `global`, the sys_scope sys_id of any application (including an installed Store application),
|
|
17
|
+
* or a scope name that resolves to exactly one active application.
|
|
18
|
+
*/
|
|
19
|
+
application: string;
|
|
20
|
+
/** At most 80 characters. A second In progress set with the same name in the application is refused. */
|
|
21
|
+
name: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface UseUpdateSetOptions {
|
|
25
|
+
/** Permit an application's Default set. Only for restoring a previous context: never develop in a Default. */
|
|
26
|
+
allowDefault?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface UseUpdateSetResult {
|
|
29
|
+
/** Pass to restoreWorkingSet when the work is done. */
|
|
30
|
+
previous: WorkingSet;
|
|
31
|
+
current: WorkingSet;
|
|
32
|
+
updateSet: UpdateSetSummary;
|
|
33
|
+
}
|
|
34
|
+
export interface RestoreWorkingSetResult {
|
|
35
|
+
restored: WorkingSet;
|
|
36
|
+
/** The previous set had closed; the application's Default was made current instead. */
|
|
37
|
+
fallback?: 'application_default';
|
|
38
|
+
}
|
|
39
|
+
export interface MoveCaptureOptions {
|
|
40
|
+
/** sys_update_xml sys_id. */
|
|
41
|
+
capture: string;
|
|
42
|
+
sourceSet: string;
|
|
43
|
+
targetSet: string;
|
|
44
|
+
/** Appended to the capture's comments. Letters, digits and simple punctuation only. */
|
|
45
|
+
reason: string;
|
|
46
|
+
}
|
|
47
|
+
export interface MoveCaptureResult {
|
|
48
|
+
capture: string;
|
|
49
|
+
name: string;
|
|
50
|
+
application: string;
|
|
51
|
+
from: UpdateSetSummary;
|
|
52
|
+
to: UpdateSetSummary;
|
|
53
|
+
}
|
|
54
|
+
export interface CompleteUpdateSetOptions {
|
|
55
|
+
/** The number of captures the caller expects in the set. Completion is refused on any other count. */
|
|
56
|
+
expectedCaptures: number;
|
|
57
|
+
}
|
|
58
|
+
export type WorkingSetErrorCode = 'invalid_input' | 'evidence_unavailable' | 'update_set_not_found' | 'update_set_exists' | 'application_not_found' | 'create_not_applied' | 'application_not_applied' | 'update_set_closed' | 'default_update_set' | 'working_set_not_applied' | 'no_single_default' | 'capture_not_in_source' | 'scope_mismatch' | 'duplicate_capture' | 'newer_capture_exists' | 'move_not_applied' | 'capture_count_mismatch' | 'mixed_scope_capture' | 'update_set_in_use' | 'complete_not_applied' | 'script_result_unavailable';
|
|
59
|
+
/** Identifiers and counts that explain a refusal; never names, descriptions or payloads. */
|
|
60
|
+
export interface WorkingSetErrorDetail {
|
|
61
|
+
updateSet?: string;
|
|
62
|
+
application?: string;
|
|
63
|
+
capture?: string;
|
|
64
|
+
captures?: string[];
|
|
65
|
+
state?: string;
|
|
66
|
+
expected?: number;
|
|
67
|
+
actual?: number;
|
|
68
|
+
status?: number;
|
|
69
|
+
/** The working set before a change that did not read back: pass it to restoreWorkingSet. */
|
|
70
|
+
previous?: WorkingSet;
|
|
71
|
+
}
|
|
72
|
+
/** An update-set lifecycle step was refused, or its outcome did not read back as required. */
|
|
73
|
+
export declare class WorkingSetError extends Error {
|
|
74
|
+
readonly code: WorkingSetErrorCode;
|
|
75
|
+
readonly detail?: WorkingSetErrorDetail;
|
|
76
|
+
constructor(code: WorkingSetErrorCode, detail?: WorkingSetErrorDetail);
|
|
77
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** An update-set lifecycle step was refused, or its outcome did not read back as required. */
|
|
2
|
+
export class WorkingSetError extends Error {
|
|
3
|
+
code;
|
|
4
|
+
detail;
|
|
5
|
+
constructor(code, detail) {
|
|
6
|
+
super(`Update set operation failed: ${code}`);
|
|
7
|
+
this.code = code;
|
|
8
|
+
this.detail = detail;
|
|
9
|
+
this.name = 'WorkingSetError';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=WorkingSetModels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkingSetModels.js","sourceRoot":"","sources":["../../../src/sn/updateset/WorkingSetModels.ts"],"names":[],"mappings":"AA8EA,8FAA8F;AAC9F,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACH;IAA2C;IAA9E,YAAmC,IAAyB,EAAkB,MAA8B;QACxG,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;QADf,SAAI,GAAJ,IAAI,CAAqB;QAAkB,WAAM,GAAN,MAAM,CAAwB;QAExG,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAClC,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sonisoft/now-sdk-ext-core",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.9.0",
|
|
4
4
|
"description": "Comprehensive TypeScript library extending ServiceNow SDK with application management, ATF testing, real-time log monitoring, AMB event subscriptions, and automation tools",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"servicenow",
|