@sonisoft/now-sdk-ext-core 6.7.0 → 6.8.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.
Files changed (35) hide show
  1. package/dist/comm/http/FormHtmlParser.d.ts +2 -2
  2. package/dist/comm/http/FormHtmlParser.js +26 -9
  3. package/dist/comm/http/FormHtmlParser.js.map +1 -1
  4. package/dist/comm/http/FormRecordWriter.d.ts +30 -16
  5. package/dist/comm/http/FormRecordWriter.js +135 -40
  6. package/dist/comm/http/FormRecordWriter.js.map +1 -1
  7. package/dist/comm/http/HTTPRequest.d.ts +4 -0
  8. package/dist/comm/http/RequestHandler.d.ts +1 -0
  9. package/dist/comm/http/RequestHandler.js +34 -22
  10. package/dist/comm/http/RequestHandler.js.map +1 -1
  11. package/dist/comm/http/internal/FormTransportModels.d.ts +26 -0
  12. package/dist/comm/http/internal/FormTransportModels.js +2 -0
  13. package/dist/comm/http/internal/FormTransportModels.js.map +1 -0
  14. package/dist/index.d.ts +5 -1
  15. package/dist/index.js +5 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/sn/metadata/MetadataFormWriter.d.ts +13 -0
  18. package/dist/sn/metadata/MetadataFormWriter.js +264 -0
  19. package/dist/sn/metadata/MetadataFormWriter.js.map +1 -0
  20. package/dist/sn/metadata/MetadataModels.d.ts +44 -0
  21. package/dist/sn/metadata/MetadataModels.js +2 -0
  22. package/dist/sn/metadata/MetadataModels.js.map +1 -0
  23. package/dist/sn/metadata/MetadataScopeError.d.ts +5 -0
  24. package/dist/sn/metadata/MetadataScopeError.js +10 -0
  25. package/dist/sn/metadata/MetadataScopeError.js.map +1 -0
  26. package/dist/sn/metadata/MetadataVerificationError.d.ts +11 -0
  27. package/dist/sn/metadata/MetadataVerificationError.js +20 -0
  28. package/dist/sn/metadata/MetadataVerificationError.js.map +1 -0
  29. package/dist/sn/metadata/internal/MetadataPreferences.d.ts +12 -0
  30. package/dist/sn/metadata/internal/MetadataPreferences.js +27 -0
  31. package/dist/sn/metadata/internal/MetadataPreferences.js.map +1 -0
  32. package/dist/sn/metadata/internal/MetadataReader.d.ts +9 -0
  33. package/dist/sn/metadata/internal/MetadataReader.js +55 -0
  34. package/dist/sn/metadata/internal/MetadataReader.js.map +1 -0
  35. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { FormSnapshot } from "./FormRecordModels.js";
1
+ import type { FormTransportLoadOptions, FormTransportSnapshot } from "./internal/FormTransportModels.js";
2
2
  /**
3
3
  * Parse a form page.
4
4
  *
@@ -6,7 +6,7 @@ import { FormSnapshot } from "./FormRecordModels.js";
6
6
  * @param table The table the form belongs to
7
7
  * @throws Error when the page is not a form for `table` (e.g. a login page or an error page)
8
8
  */
9
- export declare function parseFormHtml(html: string, table: string): FormSnapshot;
9
+ export declare function parseFormHtml(html: string, table: string, options?: FormTransportLoadOptions): FormTransportSnapshot;
10
10
  /**
11
11
  * Split `<table>.<varField>.var__m_<model>.<element>` into its parts.
12
12
  * Returns undefined for ordinary (possibly dot-walked) field names.
@@ -18,7 +18,9 @@ const TOKENS = new Set([
18
18
  * @param table The table the form belongs to
19
19
  * @throws Error when the page is not a form for `table` (e.g. a login page or an error page)
20
20
  */
21
- export function parseFormHtml(html, table) {
21
+ export function parseFormHtml(html, table, options = {}) {
22
+ const renderedInputs = {};
23
+ const pageTokens = [];
22
24
  const prefix = `${table}.`;
23
25
  const tokens = {};
24
26
  const actions = {};
@@ -39,6 +41,10 @@ export function parseFormHtml(html, table) {
39
41
  target = attrs.value;
40
42
  if (TOKENS.has(name))
41
43
  tokens[name] = attrs.value ?? "";
44
+ if (options.captureRenderedInputs && name)
45
+ renderedInputs[name] = attrs.value ?? "";
46
+ if (options.tokenSource === "page" && name === "sysparm_ck")
47
+ pageTokens.push(attrs.value ?? "");
42
48
  if (!keep(name))
43
49
  return;
44
50
  const type = (attrs.type || "text").toLowerCase();
@@ -50,11 +56,11 @@ export function parseFormHtml(html, table) {
50
56
  return;
51
57
  }
52
58
  case "textarea":
53
- if (keep(attrs.name))
59
+ if (keep(attrs.name) || (options.captureRenderedInputs && attrs.name))
54
60
  textarea = { name: attrs.name, text: "" };
55
61
  return;
56
62
  case "select":
57
- if (keep(attrs.name))
63
+ if (keep(attrs.name) || (options.captureRenderedInputs && attrs.name))
58
64
  select = { name: attrs.name, options: [] };
59
65
  return;
60
66
  case "option":
@@ -85,7 +91,10 @@ export function parseFormHtml(html, table) {
85
91
  },
86
92
  onclosetag(tag) {
87
93
  if (tag === "textarea" && textarea) {
88
- controls.set(textarea.name, { name: textarea.name, value: textarea.text });
94
+ if (options.captureRenderedInputs)
95
+ renderedInputs[textarea.name] = textarea.text;
96
+ if (keep(textarea.name))
97
+ controls.set(textarea.name, { name: textarea.name, value: textarea.text });
89
98
  textarea = null;
90
99
  }
91
100
  else if (tag === "option" && select && option) {
@@ -94,11 +103,14 @@ export function parseFormHtml(html, table) {
94
103
  }
95
104
  else if (tag === "select" && select) {
96
105
  const chosen = select.options.find(o => o.selected) ?? select.options[0];
97
- controls.set(select.name, {
98
- name: select.name,
99
- value: chosen ? chosen.value : "",
100
- choices: select.options.map(o => ({ value: o.value, label: o.label })),
101
- });
106
+ if (options.captureRenderedInputs)
107
+ renderedInputs[select.name] = chosen?.value ?? "";
108
+ if (keep(select.name))
109
+ controls.set(select.name, {
110
+ name: select.name,
111
+ value: chosen ? chosen.value : "",
112
+ choices: select.options.map(o => ({ value: o.value, label: o.label })),
113
+ });
102
114
  select = null;
103
115
  }
104
116
  },
@@ -123,6 +135,9 @@ export function parseFormHtml(html, table) {
123
135
  else
124
136
  fields[control.name] = control;
125
137
  }
138
+ if (options.tokenSource === "page" && (!pageTokens.length || pageTokens.some(token => !token || token !== pageTokens[0]))) {
139
+ throw new Error("csrf_token_unavailable");
140
+ }
126
141
  const sysId = tokens.sys_uniqueValue;
127
142
  return {
128
143
  table,
@@ -134,6 +149,8 @@ export function parseFormHtml(html, table) {
134
149
  actions,
135
150
  fields,
136
151
  variables,
152
+ ...(options.captureRenderedInputs ? { renderedInputs } : {}),
153
+ ...(options.tokenSource === "page" ? { pageToken: pageTokens[0] } : {}),
137
154
  };
138
155
  }
139
156
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FormHtmlParser.js","sourceRoot":"","sources":["../../../src/comm/http/FormHtmlParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormHtmlParser.js","sourceRoot":"","sources":["../../../src/comm/http/FormHtmlParser.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { FormTransportLoadOptions, FormTransportSubmitOptions, FormTransportSnapshot, FormTransportResult } from "./internal/FormTransportModels.js";
1
2
  import { ServiceNowInstance } from "../../sn/ServiceNowInstance.js";
2
3
  import { FormControl, FormDurationInput, FormLoadOptions, FormSnapshot, FormValueInput, FormWriteOptions, FormWriteResult } from "./FormRecordModels.js";
3
4
  /**
@@ -19,7 +20,7 @@ import { FormControl, FormDurationInput, FormLoadOptions, FormSnapshot, FormValu
19
20
  * Only the values you pass are posted. The instance fills in everything else the same
20
21
  * way the form would: variable defaults on insert, current values on update.
21
22
  */
22
- export declare class FormRecordWriter {
23
+ declare class FormTransport {
23
24
  private _logger;
24
25
  private _instance;
25
26
  constructor(instance: ServiceNowInstance);
@@ -31,6 +32,33 @@ export declare class FormRecordWriter {
31
32
  * @param options View and, for new records, the initial query
32
33
  * @throws Error when the page is not the expected form, or the record does not exist
33
34
  */
35
+ loadForm(table: string, sysId?: string, options?: FormTransportLoadOptions): Promise<FormTransportSnapshot>;
36
+ /**
37
+ * Submit a form you already loaded. Use this to inspect the form's variables (names,
38
+ * types, choices) before deciding what to write.
39
+ */
40
+ submit(snapshot: FormTransportSnapshot, action: string, options?: FormTransportSubmitOptions): Promise<FormTransportResult>;
41
+ /** Validate caller values without submitting the form. */
42
+ validate(snapshot: FormSnapshot, options: FormWriteOptions): void;
43
+ /**
44
+ * Turn caller values into posted form parameters, validating variables against the
45
+ * form so a misspelt element fails loudly instead of being silently ignored.
46
+ */
47
+ private buildFields;
48
+ private variablesFor;
49
+ requireExists(table: string, sysId: string): Promise<void>;
50
+ private guardedLanding;
51
+ private request;
52
+ private requireTable;
53
+ private text;
54
+ private sanitizeError;
55
+ }
56
+ /** Shared internal transport. Excluded from the package barrel. */
57
+ export declare function createFormTransport(instance: ServiceNowInstance): FormTransport;
58
+ /** Write ordinary records through classic forms with the established defaults. */
59
+ export declare class FormRecordWriter {
60
+ private _transport;
61
+ constructor(instance: ServiceNowInstance);
34
62
  loadForm(table: string, sysId?: string, options?: FormLoadOptions): Promise<FormSnapshot>;
35
63
  /**
36
64
  * Insert a record through its form.
@@ -53,22 +81,7 @@ export declare class FormRecordWriter {
53
81
  * @throws FormSubmitError when the instance does not accept the submit
54
82
  */
55
83
  update(table: string, sysId: string, options?: FormWriteOptions): Promise<FormWriteResult>;
56
- /**
57
- * Submit a form you already loaded. Use this to inspect the form's variables (names,
58
- * types, choices) before deciding what to write.
59
- */
60
84
  submit(snapshot: FormSnapshot, action: "sysverb_insert" | "sysverb_update", options?: FormWriteOptions): Promise<FormWriteResult>;
61
- /**
62
- * Turn caller values into posted form parameters, validating variables against the
63
- * form so a misspelt element fails loudly instead of being silently ignored.
64
- */
65
- private buildFields;
66
- private variablesFor;
67
- private requireExists;
68
- private request;
69
- private requireTable;
70
- private text;
71
- private sanitizeError;
72
85
  }
73
86
  /**
74
87
  * Encode a caller value the way the form posts it.
@@ -83,3 +96,4 @@ export declare function encodeFormValue(value: FormValueInput, control?: FormCon
83
96
  * converted here.
84
97
  */
85
98
  export declare function encodeDuration(value: number | string | FormDurationInput): string;
99
+ export {};
@@ -1,3 +1,4 @@
1
+ import { isPolicyRefusal } from "../../policy/PolicyRefusal.js";
1
2
  import { InvalidParameterException } from "../../exception/InvalidParameterException.js";
2
3
  import { FormSubmitError } from "../../exception/FormSubmitError.js";
3
4
  import { READ_ONLY } from "../../policy/PolicyTypes.js";
@@ -28,7 +29,7 @@ const GOTO_URL = "modal_dialog_form_response.do?sysparm_returned_action=$action&
28
29
  * Only the values you pass are posted. The instance fills in everything else the same
29
30
  * way the form would: variable defaults on insert, current values on update.
30
31
  */
31
- export class FormRecordWriter {
32
+ class FormTransport {
32
33
  _logger = new Logger("FormRecordWriter");
33
34
  _instance;
34
35
  constructor(instance) {
@@ -47,7 +48,7 @@ export class FormRecordWriter {
47
48
  if (sysId !== "-1" && !SYS_ID.test(sysId)) {
48
49
  throw new InvalidParameterException("sysId must be -1 or a 32-character sys_id");
49
50
  }
50
- const query = { sys_id: sysId };
51
+ const query = { ...options.query, sys_id: sysId };
51
52
  if (options.view)
52
53
  query.sysparm_view = options.view;
53
54
  if (options.initialQuery)
@@ -55,81 +56,68 @@ export class FormRecordWriter {
55
56
  try {
56
57
  const response = await this.request().get({
57
58
  method: "GET", path: `/${table}.do`, headers: null, body: null, query,
58
- requires: READ_ONLY, responseFormat: "text",
59
+ requires: READ_ONLY, responseFormat: "text", sensitive: options.sensitive,
60
+ ...(options.sensitive ? { redirect: "manual" } : {}),
59
61
  });
60
- const snapshot = parseFormHtml(this.text(response.data), table);
62
+ const snapshot = parseFormHtml(this.text(response.data), table, options);
61
63
  if (sysId !== "-1" && (snapshot.isNewRecord || snapshot.sysId !== sysId)) {
62
64
  throw new Error(`Record ${table}/${sysId} was not found or is not readable`);
63
65
  }
64
66
  return snapshot;
65
67
  }
66
68
  catch (error) {
69
+ if (options.sensitive && !isPolicyRefusal(error) && !(error instanceof FormSubmitError)) {
70
+ const code = error instanceof Error && ["csrf_token_unavailable", "csrf_rejected"].includes(error.message) ? error.message : "Form request failed";
71
+ throw new Error(code);
72
+ }
67
73
  throw this.sanitizeError(error);
68
74
  }
69
75
  }
70
- /**
71
- * Insert a record through its form.
72
- *
73
- * @param table Table name
74
- * @param options Field values, variable values, view and initial query
75
- * @returns The new record's sys_id and any info messages
76
- * @throws InvalidParameterException for unknown variables or invalid choice values
77
- * @throws FormSubmitError when the instance does not accept the submit
78
- */
79
- async insert(table, options = {}) {
80
- const snapshot = await this.loadForm(table, "-1", options);
81
- const result = await this.submit(snapshot, "sysverb_insert", options);
82
- await this.requireExists(table, result.sysId);
83
- return result;
84
- }
85
- /**
86
- * Update a record through its form. Fields and variables you do not pass keep their
87
- * current values.
88
- *
89
- * @param table Table name
90
- * @param sysId Record sys_id
91
- * @param options Field values, variable values and view
92
- * @throws InvalidParameterException for unknown variables or invalid choice values
93
- * @throws FormSubmitError when the instance does not accept the submit
94
- */
95
- async update(table, sysId, options = {}) {
96
- if (!SYS_ID.test(sysId ?? ""))
97
- throw new InvalidParameterException("sysId must be a 32-character sys_id");
98
- const snapshot = await this.loadForm(table, sysId, { view: options.view });
99
- return await this.submit(snapshot, "sysverb_update", options);
100
- }
101
76
  /**
102
77
  * Submit a form you already loaded. Use this to inspect the form's variables (names,
103
78
  * types, choices) before deciding what to write.
104
79
  */
105
80
  async submit(snapshot, action, options = {}) {
106
81
  const table = snapshot.table;
107
- const posted = this.buildFields(snapshot, options);
82
+ let posted;
83
+ try {
84
+ posted = this.buildFields(snapshot, options);
85
+ }
86
+ catch (error) {
87
+ if (options.sensitive)
88
+ throw new InvalidParameterException("Invalid form field or variable value");
89
+ throw error;
90
+ }
108
91
  try {
109
92
  const session = (await this.request().getUserSession());
110
- if (!session?.userToken) {
93
+ if (options.tokenSource === "page" ? !snapshot.pageToken : !session?.userToken) {
111
94
  throw new Error("An authenticated ServiceNow session token is required to submit a form");
112
95
  }
113
96
  const fields = {
97
+ ...(options.postAllRenderedInputs ? snapshot.renderedInputs : {}),
114
98
  sys_target: table,
115
99
  sys_uniqueName: "sys_id",
116
100
  sys_uniqueValue: snapshot.sysId,
117
101
  sys_row: snapshot.isNewRecord ? "-1" : "0",
118
102
  sys_modCount: snapshot.modCount,
119
103
  onLoad_sys_updated_on: snapshot.updatedOn,
120
- sys_action: snapshot.actions[action] ?? action,
121
- sysparm_ck: session.userToken,
104
+ sys_action: options.actionValue ?? snapshot.actions[action] ?? action,
105
+ sysparm_ck: options.tokenSource === "page" ? snapshot.pageToken : session.userToken,
122
106
  sysparm_encoded_record: snapshot.encodedRecord,
123
107
  sysparm_goto_url: GOTO_URL,
124
108
  isFormPage: "true",
125
109
  ...(options.view ? { sysparm_view: options.view } : {}),
126
110
  ...posted,
111
+ ...options.extraFields,
127
112
  };
128
113
  this._logger.info(`Submitting ${action} for ${table}/${snapshot.sysId}`);
129
114
  const response = await this.request().post({
130
115
  method: "POST", path: `/${table}.do`, headers: null, query: null, body: null,
131
- fields, responseFormat: "text",
116
+ fields, responseFormat: "text", redirect: options.redirect, sensitive: options.sensitive,
132
117
  });
118
+ if (options.landing === "guarded") {
119
+ return await this.guardedLanding(snapshot, action, response.status, response.headers, this.text(response.data), fields);
120
+ }
133
121
  const html = this.text(response.data);
134
122
  const accepted = parseFormResponse(html);
135
123
  const messages = parseFormMessages(html);
@@ -139,9 +127,22 @@ export class FormRecordWriter {
139
127
  return { sysId: accepted.sysId, action, messages: messages.info };
140
128
  }
141
129
  catch (error) {
130
+ if (options.sensitive && !isPolicyRefusal(error) && !(error instanceof FormSubmitError)) {
131
+ const code = error instanceof Error && ["csrf_token_unavailable", "csrf_rejected"].includes(error.message) ? error.message : "Form request failed";
132
+ throw new Error(code);
133
+ }
142
134
  throw this.sanitizeError(error);
143
135
  }
144
136
  }
137
+ /** Validate caller values without submitting the form. */
138
+ validate(snapshot, options) {
139
+ try {
140
+ this.buildFields(snapshot, options);
141
+ }
142
+ catch {
143
+ throw new InvalidParameterException("Invalid form field or variable value");
144
+ }
145
+ }
145
146
  /**
146
147
  * Turn caller values into posted form parameters, validating variables against the
147
148
  * form so a misspelt element fails loudly instead of being silently ignored.
@@ -201,6 +202,54 @@ export class FormRecordWriter {
201
202
  throw new FormSubmitError(table, `The ${table} form reported an insert, but record ${sysId} does not exist`);
202
203
  }
203
204
  }
205
+ async guardedLanding(snapshot, action, status, headers, html, fields) {
206
+ const session = await this.request().getUserSession();
207
+ const withheld = new Set([...Object.values(fields), session.userToken ?? "",
208
+ ...(session.cookie?.getCookiesSync(String(session.instanceUrl)) ?? []).map(cookie => cookie.value)]);
209
+ for (const value of [...withheld])
210
+ for (const line of value.split(/[\r\n]+/))
211
+ if (line)
212
+ withheld.add(line);
213
+ const clean = (text) => {
214
+ text = text.replace(/\s+/g, " ").trim();
215
+ for (const value of [...withheld].filter(Boolean).sort((a, b) => b.length - a.length)) {
216
+ text = text.split(value.replace(/\s+/g, " ").trim()).join("[redacted]");
217
+ text = text.split(encodeURIComponent(value)).join("[redacted]");
218
+ }
219
+ text = redactMessage(text).replace(/https?:\/\/\S+/g, "[url]").replace(/[A-Za-z0-9_+/=.-]{24,}/g, "[redacted]");
220
+ return /(?:Class\.create|\.prototype|function\s*\(|[{};]|<script)/i.test(text)
221
+ ? "[message withheld: script content]" : text.slice(0, 200);
222
+ };
223
+ const messages = parseFormMessages(html);
224
+ const location = headers.location ?? headers.Location;
225
+ if (status >= 300 && status < 400 && location) {
226
+ const origin = new URL(String(session.instanceUrl));
227
+ const url = new URL(location, origin);
228
+ if (url.pathname === "/security_interceptor.do")
229
+ throw new Error("csrf_rejected");
230
+ const allowed = new Set(["sys_id", "sysparm_transaction_scope", "sysparm_isdevstudio", "sysparm_nameofstack", "sysparm_view", "sysparm_referring_url"]);
231
+ const unexpectedDestination = url.origin !== origin.origin || url.username || url.password || url.hash ||
232
+ url.pathname !== `/${snapshot.table}.do`;
233
+ const parameters = [...url.searchParams.keys()];
234
+ const unexpectedParameters = parameters.some(key => !allowed.has(key) || url.searchParams.getAll(key).length !== 1);
235
+ const unexpectedScope = url.searchParams.has("sysparm_transaction_scope") &&
236
+ url.searchParams.get("sysparm_transaction_scope") !== fields.sysparm_transaction_scope;
237
+ const unexpectedRecord = !url.searchParams.has("sys_id") ||
238
+ ![snapshot.sysId, "-1"].includes(url.searchParams.get("sys_id"));
239
+ if (unexpectedDestination || unexpectedParameters || unexpectedScope || unexpectedRecord) {
240
+ throw new FormSubmitError(snapshot.table, "Unexpected form redirect");
241
+ }
242
+ const landing = await this.request().get({ path: url.pathname,
243
+ query: Object.fromEntries(url.searchParams), headers: null, body: null,
244
+ requires: READ_ONLY, responseFormat: "text", sensitive: true, redirect: "manual" });
245
+ if (landing.status >= 300)
246
+ throw new FormSubmitError(snapshot.table, "Unexpected landing redirect");
247
+ const parsed = parseFormMessages(this.text(landing.data));
248
+ messages.errors.push(...parsed.errors);
249
+ messages.info.push(...parsed.info);
250
+ }
251
+ return { sysId: snapshot.sysId, action, messages: messages.info.map(clean), errors: messages.errors.map(clean) };
252
+ }
204
253
  request() {
205
254
  // One session for the form load, the submit and the follow-up read: the submit's
206
255
  // token must belong to the session that loaded the form.
@@ -219,6 +268,52 @@ export class FormRecordWriter {
219
268
  return stripSecretsFromError(error);
220
269
  }
221
270
  }
271
+ /** Shared internal transport. Excluded from the package barrel. */
272
+ export function createFormTransport(instance) {
273
+ return new FormTransport(instance);
274
+ }
275
+ /** Write ordinary records through classic forms with the established defaults. */
276
+ export class FormRecordWriter {
277
+ _transport;
278
+ constructor(instance) { this._transport = createFormTransport(instance); }
279
+ loadForm(table, sysId = "-1", options = {}) {
280
+ return this._transport.loadForm(table, sysId, options);
281
+ }
282
+ /**
283
+ * Insert a record through its form.
284
+ *
285
+ * @param table Table name
286
+ * @param options Field values, variable values, view and initial query
287
+ * @returns The new record's sys_id and any info messages
288
+ * @throws InvalidParameterException for unknown variables or invalid choice values
289
+ * @throws FormSubmitError when the instance does not accept the submit
290
+ */
291
+ async insert(table, options = {}) {
292
+ const snapshot = await this.loadForm(table, "-1", options);
293
+ const result = await this.submit(snapshot, "sysverb_insert", options);
294
+ await this._transport.requireExists(table, result.sysId);
295
+ return result;
296
+ }
297
+ /**
298
+ * Update a record through its form. Fields and variables you do not pass keep their
299
+ * current values.
300
+ *
301
+ * @param table Table name
302
+ * @param sysId Record sys_id
303
+ * @param options Field values, variable values and view
304
+ * @throws InvalidParameterException for unknown variables or invalid choice values
305
+ * @throws FormSubmitError when the instance does not accept the submit
306
+ */
307
+ async update(table, sysId, options = {}) {
308
+ if (!SYS_ID.test(sysId ?? ""))
309
+ throw new InvalidParameterException("sysId must be a 32-character sys_id");
310
+ const snapshot = await this.loadForm(table, sysId, { view: options.view });
311
+ return await this.submit(snapshot, "sysverb_update", options);
312
+ }
313
+ async submit(snapshot, action, options = {}) {
314
+ return await this._transport.submit(snapshot, action, options);
315
+ }
316
+ }
222
317
  /**
223
318
  * Encode a caller value the way the form posts it.
224
319
  *
@@ -1 +1 @@
1
- {"version":3,"file":"FormRecordWriter.js","sourceRoot":"","sources":["../../../src/comm/http/FormRecordWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormRecordWriter.js","sourceRoot":"","sources":["../../../src/comm/http/FormRecordWriter.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ export interface HTTPRequest {
9
9
  json?: object | null;
10
10
  /** Keep successful HTML/XML responses as text without attempting JSON parsing. */
11
11
  responseFormat?: "json" | "text";
12
+ /** Opt in to returning redirects to the caller. Defaults to fetch's follow behavior. */
13
+ redirect?: "follow" | "manual";
14
+ /** Exclude payloads, query values and raw errors from request diagnostics. */
15
+ sensitive?: boolean;
12
16
  /**
13
17
  * What permission this request needs, when the HTTP verb would get it wrong.
14
18
  *
@@ -67,5 +67,6 @@ export declare class RequestHandler implements IRequestHandler {
67
67
  get<T>(request: HTTPRequest): Promise<IHttpResponse<T>>;
68
68
  delete<T>(request: HTTPRequest): Promise<IHttpResponse<T>>;
69
69
  private getRequestConfig;
70
+ private diagnostic;
70
71
  private getQueryString;
71
72
  }