@sonisoft/now-sdk-ext-core 1.0.0-alpha.31 → 1.0.0-alpha.33

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 (57) hide show
  1. package/dist/auth/IAuthenticationHandler.d.ts +1 -0
  2. package/dist/auth/NowSDKAuthenticationHandler.d.ts +1 -0
  3. package/dist/auth/NowSDKAuthenticationHandler.js +3 -0
  4. package/dist/auth/NowSDKAuthenticationHandler.js.map +1 -1
  5. package/dist/comm/http/HTTPRequest.d.ts +2 -0
  6. package/dist/comm/http/RequestHandler.d.ts +1 -0
  7. package/dist/comm/http/RequestHandler.js +38 -4
  8. package/dist/comm/http/RequestHandler.js.map +1 -1
  9. package/dist/comm/http/ServiceNowProcessorRequest.d.ts +3 -0
  10. package/dist/comm/http/ServiceNowProcessorRequest.js +7 -4
  11. package/dist/comm/http/ServiceNowProcessorRequest.js.map +1 -1
  12. package/dist/comm/http/ServiceNowRequest.d.ts +1 -0
  13. package/dist/comm/http/ServiceNowRequest.js +8 -0
  14. package/dist/comm/http/ServiceNowRequest.js.map +1 -1
  15. package/dist/index.d.ts +9 -0
  16. package/dist/index.js +9 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/sn/Application.d.ts +19 -0
  19. package/dist/sn/Application.js +154 -0
  20. package/dist/sn/Application.js.map +1 -0
  21. package/dist/sn/ProgressWorker.d.ts +33 -0
  22. package/dist/sn/ProgressWorker.js +24 -0
  23. package/dist/sn/ProgressWorker.js.map +1 -0
  24. package/dist/sn/application/ApplicationDetailModel.d.ts +71 -0
  25. package/dist/sn/application/ApplicationDetailModel.js +72 -0
  26. package/dist/sn/application/ApplicationDetailModel.js.map +1 -0
  27. package/dist/sn/application/ApplicationManager.d.ts +26 -0
  28. package/dist/sn/application/ApplicationManager.js +92 -0
  29. package/dist/sn/application/ApplicationManager.js.map +1 -0
  30. package/dist/sn/application/BatchDefinition.d.ts +16 -0
  31. package/dist/sn/application/BatchDefinition.js +60 -0
  32. package/dist/sn/application/BatchDefinition.js.map +1 -0
  33. package/dist/sn/application/BatchInstallation.d.ts +8 -0
  34. package/dist/sn/application/BatchInstallation.js +20 -0
  35. package/dist/sn/application/BatchInstallation.js.map +1 -0
  36. package/dist/sn/atf/ATFTest.d.ts +27 -0
  37. package/dist/sn/atf/ATFTest.js +3 -0
  38. package/dist/sn/atf/ATFTest.js.map +1 -0
  39. package/dist/sn/atf/ATFTestExecutor.d.ts +25 -0
  40. package/dist/sn/atf/ATFTestExecutor.js +80 -0
  41. package/dist/sn/atf/ATFTestExecutor.js.map +1 -0
  42. package/dist/sn/atf/ATFTestStep.d.ts +0 -0
  43. package/dist/sn/atf/ATFTestStep.js +1 -0
  44. package/dist/sn/atf/ATFTestStep.js.map +1 -0
  45. package/dist/sn/atf/ATFTestSuite.d.ts +0 -0
  46. package/dist/sn/atf/ATFTestSuite.js +1 -0
  47. package/dist/sn/atf/ATFTestSuite.js.map +1 -0
  48. package/dist/sn/atf/TestFactory.d.ts +2 -0
  49. package/dist/sn/atf/TestFactory.js +3 -0
  50. package/dist/sn/atf/TestFactory.js.map +1 -0
  51. package/dist/sn/atf/TestStepFactory.d.ts +0 -0
  52. package/dist/sn/atf/TestStepFactory.js +1 -0
  53. package/dist/sn/atf/TestStepFactory.js.map +1 -0
  54. package/dist/sn/atf/TestSuiteFactory.d.ts +0 -0
  55. package/dist/sn/atf/TestSuiteFactory.js +1 -0
  56. package/dist/sn/atf/TestSuiteFactory.js.map +1 -0
  57. package/package.json +3 -2
@@ -8,4 +8,5 @@ export interface IAuthenticationHandler {
8
8
  setLoggedIn(loggedIn: Boolean): any;
9
9
  getToken(): string;
10
10
  getCookies(): ICookieStore;
11
+ getSession(): any;
11
12
  }
@@ -17,4 +17,5 @@ export declare class NowSDKAuthenticationHandler implements IAuthenticationHandl
17
17
  setLoggedIn(loggedIn: Boolean): void;
18
18
  getToken(): string;
19
19
  getCookies(): ICookieStore;
20
+ getSession(): any;
20
21
  }
@@ -52,5 +52,8 @@ export class NowSDKAuthenticationHandler {
52
52
  getCookies() {
53
53
  return this._session.getCookies();
54
54
  }
55
+ getSession() {
56
+ return this._session;
57
+ }
55
58
  }
56
59
  //# sourceMappingURL=NowSDKAuthenticationHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NowSDKAuthenticationHandler.js","sourceRoot":"","sources":["../../src/auth/NowSDKAuthenticationHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAKxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAGxF,MAAM,OAAO,2BAA2B;IAE5B,eAAe,CAAiB;IAEhC,WAAW,GAAW,KAAK,CAAC;IAE5B,QAAQ,CAAK;IAEb,OAAO,CAAK;IAEZ,SAAS,CAAoB;IAErC,YAAmB,QAA2B;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,IAAI,OAAO,GAAQ,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,KAAK;QAEf,IAAG,CAAC;YACA,IAAI,IAAI,GAAG,EAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC,CAAC;YACpD,IAAI,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAG,OAAO,EAAC,CAAC;gBACR,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;iBAAI,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC;QACnB,CAAC;QAAA,OAAM,CAAC,EAAC,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAEM,iBAAiB,CAAC,cAA8B;QACnD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IAC1C,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEM,WAAW,CAAC,QAAgB;QAC/B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;IAChC,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;CACJ"}
1
+ {"version":3,"file":"NowSDKAuthenticationHandler.js","sourceRoot":"","sources":["../../src/auth/NowSDKAuthenticationHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAKxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAGxF,MAAM,OAAO,2BAA2B;IAE5B,eAAe,CAAiB;IAEhC,WAAW,GAAW,KAAK,CAAC;IAE5B,QAAQ,CAAK;IAEb,OAAO,CAAK;IAEZ,SAAS,CAAoB;IAErC,YAAmB,QAA2B;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,IAAI,OAAO,GAAQ,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,KAAK;QAEf,IAAG,CAAC;YACA,IAAI,IAAI,GAAG,EAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC,CAAC;YACpD,IAAI,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAG,OAAO,EAAC,CAAC;gBACR,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;iBAAI,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC;QACnB,CAAC;QAAA,OAAM,CAAC,EAAC,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAEM,iBAAiB,CAAC,cAA8B;QACnD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IAC1C,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEM,WAAW,CAAC,QAAgB;QAC/B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;IAChC,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ"}
@@ -4,4 +4,6 @@ export interface HTTPRequest {
4
4
  body: any | null;
5
5
  query: object | null;
6
6
  method?: string | null;
7
+ fields?: object | null;
8
+ json?: object | null;
7
9
  }
@@ -17,6 +17,7 @@ export declare class RequestHandler implements IRequestHandler {
17
17
  */
18
18
  constructor(authHandler: IAuthenticationHandler);
19
19
  setSession(session: any): void;
20
+ isValidXmlString(xmlString: any): boolean;
20
21
  private doRequest;
21
22
  post<T>(request: HTTPRequest): Promise<IHttpResponse<T>>;
22
23
  put<T>(request: HTTPRequest): Promise<IHttpResponse<T>>;
@@ -1,6 +1,7 @@
1
1
  import { HttpResponse } from './HttpResponse.js';
2
2
  import { Logger } from '../../util/Logger.js';
3
- import { makeRequest } from "@servicenow/sdk-cli-core/dist/http/index.js";
3
+ import { makeRequest, parseResponseBody } from "@servicenow/sdk-cli-core/dist/http/index.js";
4
+ import { DOMParser } from 'xmldom';
4
5
  //axios.defaults.withCredentials = true;
5
6
  export class RequestHandler {
6
7
  _logger = new Logger("RequestHandler");
@@ -37,6 +38,24 @@ export class RequestHandler {
37
38
  // config.headers["Cookie"] = await this.getCookieString();
38
39
  // return this.httpClient.request(config);
39
40
  // }
41
+ isValidXmlString(xmlString) {
42
+ try {
43
+ const parser = new DOMParser();
44
+ const xmlDoc = parser.parseFromString(xmlString, "application/xml");
45
+ // Check for parsing errors
46
+ const parserError = xmlDoc.getElementsByTagName("parsererror");
47
+ if (parserError.length > 0) {
48
+ // XML is not well-formed, contains parsing errors
49
+ return false;
50
+ }
51
+ // If no parsererror element is found, the XML is well-formed
52
+ return true;
53
+ }
54
+ catch (e) {
55
+ // An unexpected error occurred during parsing
56
+ return false;
57
+ }
58
+ }
40
59
  async doRequest(request) {
41
60
  let response = null;
42
61
  let { config } = await this.getRequestConfig(request);
@@ -48,10 +67,15 @@ export class RequestHandler {
48
67
  // rest: { method: request.method }
49
68
  // }
50
69
  let resp = await makeRequest(config);
51
- let responseBodyReader = resp.body.getReader();
52
- let responseBody = await responseBodyReader.read();
53
- let responseBodyString = new TextDecoder().decode(responseBody.value);
70
+ if (!resp.ok) {
71
+ (parseResponseBody)(resp.clone());
72
+ }
73
+ // let responseBodyReader = resp.body.getReader();
74
+ // let responseBody = await responseBodyReader.read();
75
+ let responseBodyString = await resp.text();
54
76
  if (responseBodyString) {
77
+ //const xml = await ( parseXml)(responseBodyString);
78
+ //const answer = xml['xml']['@_answer'];
55
79
  let data = null;
56
80
  try {
57
81
  data = JSON.parse(responseBodyString);
@@ -62,6 +86,10 @@ export class RequestHandler {
62
86
  }
63
87
  response = new HttpResponse(data);
64
88
  response.data = data;
89
+ response.body = responseBodyString;
90
+ }
91
+ else {
92
+ response = new HttpResponse(null);
65
93
  }
66
94
  response.status = resp.status;
67
95
  response.statusText = resp.statusText;
@@ -178,6 +206,12 @@ export class RequestHandler {
178
206
  if (request.body) {
179
207
  config.body = request.body;
180
208
  }
209
+ if (request.fields) {
210
+ config.fields = request.fields;
211
+ }
212
+ if (request.json) {
213
+ config.json = request.json;
214
+ }
181
215
  config.params = request.query;
182
216
  config.baseHeaders = request.headers;
183
217
  config.path = request.path;
@@ -1 +1 @@
1
- {"version":3,"file":"RequestHandler.js","sourceRoot":"","sources":["../../../src/comm/http/RequestHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RequestHandler.js","sourceRoot":"","sources":["../../../src/comm/http/RequestHandler.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { IHttpResponse } from "./IHttpResponse.js";
2
+ import { ServiceNowInstance } from "../../sn/ServiceNowInstance.js";
2
3
  export declare class ServiceNowProcessorRequest {
4
+ _instance: ServiceNowInstance;
5
+ constructor(instance: ServiceNowInstance);
3
6
  private _headers;
4
7
  execute(processor: string, processorMethod: string, scope: string, processorArgs: object): Promise<string>;
5
8
  doXmlHttpRequest(processor: string, processorMethod: string, scope: string, processorArgs: object): Promise<IHttpResponse<unknown>>;
@@ -1,8 +1,11 @@
1
1
  import { ServiceNowRequest } from "../../comm/http/ServiceNowRequest.js";
2
- import * as qs from 'qs';
3
2
  import { XMLHTTP_PROCESSOR_ENDPOINT } from '../../constants/ServiceNow.js';
4
3
  import { Parser } from 'xml2js';
5
4
  export class ServiceNowProcessorRequest {
5
+ _instance;
6
+ constructor(instance) {
7
+ this._instance = instance;
8
+ }
6
9
  _headers = {
7
10
  "Content-Type": "application/x-www-form-urlencoded"
8
11
  };
@@ -32,9 +35,9 @@ export class ServiceNowProcessorRequest {
32
35
  for (var prop in processorArgs) {
33
36
  dataObj[prop] = processorArgs[prop];
34
37
  }
35
- let data = qs.stringify(dataObj);
36
- let req = new ServiceNowRequest(null);
37
- let request = { path: XMLHTTP_PROCESSOR_ENDPOINT, headers: this._headers, query: null, body: data };
38
+ //let data = qs.stringify(dataObj);
39
+ let req = new ServiceNowRequest(this._instance);
40
+ let request = { method: 'POST', path: XMLHTTP_PROCESSOR_ENDPOINT, headers: this._headers, query: null, fields: dataObj, body: null };
38
41
  resp = await req.post(request);
39
42
  }
40
43
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceNowProcessorRequest.js","sourceRoot":"","sources":["../../../src/comm/http/ServiceNowProcessorRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,MAAM,OAAO,0BAA0B;IAE3B,QAAQ,GAAU;QACtB,cAAc,EAAC,mCAAmC;KACrD,CAAC;IAEK,KAAK,CAAC,OAAO,CAAC,SAAgB,EAAE,eAAsB,EAAE,KAAY,EAAE,aAAoB;QAC7F,IAAI,MAAM,GAAU,IAAI,CAAC;QACzB,IAAI,IAAI,GAA2B,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACjH,IAAG,IAAI,CAAC,MAAM,IAAI,GAAG,EAAC,CAAC;YACnB,IAAI,IAAI,GAAU,IAAI,CAAC,IAAc,CAAC;YACtC,IAAG,OAAO,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC;gBAEpE,IAAI,MAAM,GAAU,IAAI,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,EAAE,MAAM;oBAC1C,IAAI,MAAM,GAAU,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;oBACxC,MAAM,GAAG,MAAM,CAAC;oBAChB,sBAAsB;gBAC1B,CAAC,CAAC,CAAC;YAEP,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAgB,EAAE,eAAsB,EAAE,KAAY,EAAE,aAAoB;QAC/F,IAAI,IAAI,GAA0B,IAAI,CAAC;QAEvC,IAAG,CAAC;YACA,IAAI,OAAO,GAAyB,EAAE,CAAC;YACvC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACtC,OAAO,CAAC,YAAY,GAAG,eAAe,CAAC;YACvC,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;YAE9B,KAAI,IAAI,IAAI,IAAI,aAAa,EAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAEjC,IAAI,GAAG,GAAqB,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,OAAO,GAAe,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,EAAC,CAAC;YAC9G,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAA,OAAM,GAAG,EAAC,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAGD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
1
+ {"version":3,"file":"ServiceNowProcessorRequest.js","sourceRoot":"","sources":["../../../src/comm/http/ServiceNowProcessorRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMhC,MAAM,OAAO,0BAA0B;IAEnC,SAAS,CAAoB;IAE7B,YAAmB,QAA2B;QAC1C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAGO,QAAQ,GAAU;QACtB,cAAc,EAAC,mCAAmC;KACrD,CAAC;IAEK,KAAK,CAAC,OAAO,CAAC,SAAgB,EAAE,eAAsB,EAAE,KAAY,EAAE,aAAoB;QAC7F,IAAI,MAAM,GAAU,IAAI,CAAC;QACzB,IAAI,IAAI,GAA2B,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACjH,IAAG,IAAI,CAAC,MAAM,IAAI,GAAG,EAAC,CAAC;YACnB,IAAI,IAAI,GAAU,IAAI,CAAC,IAAc,CAAC;YACtC,IAAG,OAAO,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC;gBAEpE,IAAI,MAAM,GAAU,IAAI,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,EAAE,MAAM;oBAC1C,IAAI,MAAM,GAAU,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;oBACxC,MAAM,GAAG,MAAM,CAAC;oBAChB,sBAAsB;gBAC1B,CAAC,CAAC,CAAC;YAEP,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAgB,EAAE,eAAsB,EAAE,KAAY,EAAE,aAAoB;QAC/F,IAAI,IAAI,GAA0B,IAAI,CAAC;QAEvC,IAAG,CAAC;YACA,IAAI,OAAO,GAAyB,EAAE,CAAC;YACvC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACtC,OAAO,CAAC,YAAY,GAAG,eAAe,CAAC;YACvC,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;YAE9B,KAAI,IAAI,IAAI,IAAI,aAAa,EAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;YAED,mCAAmC;YAEnC,IAAI,GAAG,GAAqB,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,OAAO,GAAe,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAC,OAAO,EAAE,IAAI,EAAC,IAAI,EAAC,CAAC;YAC7I,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAA,OAAM,GAAG,EAAC,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAGD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -13,6 +13,7 @@ export declare class ServiceNowRequest {
13
13
  post<T>(request: HTTPRequest): Promise<IHttpResponse<T>>;
14
14
  get<T>(request: HTTPRequest): Promise<IHttpResponse<T>>;
15
15
  delete<T>(request: HTTPRequest): Promise<IHttpResponse<T>>;
16
+ getUserSession(): Promise<any>;
16
17
  private ensureLoggedIn;
17
18
  isLoggedIn(): Boolean;
18
19
  getAuth(): IAuthenticationHandler;
@@ -58,6 +58,14 @@ export class ServiceNowRequest {
58
58
  await this.ensureLoggedIn();
59
59
  return await this._requestHandler.delete(request);
60
60
  }
61
+ async getUserSession() {
62
+ if (this.isLoggedIn()) {
63
+ return this.auth.getSession();
64
+ }
65
+ else {
66
+ return this.auth.doLogin();
67
+ }
68
+ }
61
69
  async ensureLoggedIn() {
62
70
  await this.auth.doLogin();
63
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceNowRequest.js","sourceRoot":"","sources":["../../../src/comm/http/ServiceNowRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServiceNowRequest.js","sourceRoot":"","sources":["../../../src/comm/http/ServiceNowRequest.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,8 +9,10 @@ export * from './exception/FileExistsException.js';
9
9
  export * from './exception/InvalidParameterException.js';
10
10
  export * from './exception/PathException.js';
11
11
  export * from './model/types.js';
12
+ export * from './sn/Application.js';
12
13
  export * from './sn/BackgroundScriptExecutor.js';
13
14
  export * from './sn/IServiceNowInstance.js';
15
+ export * from './sn/ProgressWorker.js';
14
16
  export * from './sn/ServiceNowInstance.js';
15
17
  export * from './sn/SNRequestBase.js';
16
18
  export * from './util/AppUtil.js';
@@ -30,6 +32,13 @@ export * from './comm/http/ServiceNowProcessorRequest.js';
30
32
  export * from './comm/http/ServiceNowRequest.js';
31
33
  export * from './comm/http/TableAPIRequest.js';
32
34
  export * from './comm/ws/ATFMessageHandler.js';
35
+ export * from './sn/application/ApplicationDetailModel.js';
36
+ export * from './sn/application/ApplicationManager.js';
37
+ export * from './sn/application/BatchDefinition.js';
38
+ export * from './sn/application/BatchInstallation.js';
39
+ export * from './sn/atf/ATFTest.js';
40
+ export * from './sn/atf/ATFTestExecutor.js';
41
+ export * from './sn/atf/TestFactory.js';
33
42
  export * from './sn/user/UserRequest.js';
34
43
  export * from './sn/user/factory/UserFactory.js';
35
44
  export * from './sn/user/model/IUser.js';
package/dist/index.js CHANGED
@@ -9,8 +9,10 @@ export * from './exception/FileExistsException.js';
9
9
  export * from './exception/InvalidParameterException.js';
10
10
  export * from './exception/PathException.js';
11
11
  export * from './model/types.js';
12
+ export * from './sn/Application.js';
12
13
  export * from './sn/BackgroundScriptExecutor.js';
13
14
  export * from './sn/IServiceNowInstance.js';
15
+ export * from './sn/ProgressWorker.js';
14
16
  export * from './sn/ServiceNowInstance.js';
15
17
  export * from './sn/SNRequestBase.js';
16
18
  export * from './util/AppUtil.js';
@@ -30,6 +32,13 @@ export * from './comm/http/ServiceNowProcessorRequest.js';
30
32
  export * from './comm/http/ServiceNowRequest.js';
31
33
  export * from './comm/http/TableAPIRequest.js';
32
34
  export * from './comm/ws/ATFMessageHandler.js';
35
+ export * from './sn/application/ApplicationDetailModel.js';
36
+ export * from './sn/application/ApplicationManager.js';
37
+ export * from './sn/application/BatchDefinition.js';
38
+ export * from './sn/application/BatchInstallation.js';
39
+ export * from './sn/atf/ATFTest.js';
40
+ export * from './sn/atf/ATFTestExecutor.js';
41
+ export * from './sn/atf/TestFactory.js';
33
42
  export * from './sn/user/UserRequest.js';
34
43
  export * from './sn/user/factory/UserFactory.js';
35
44
  export * from './sn/user/model/IUser.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { ServiceNowRequest } from "../comm/http/ServiceNowRequest.js";
2
+ import { ServiceNowInstance } from "./ServiceNowInstance.js";
3
+ import { Logger } from "../util/Logger.js";
4
+ export declare class Application {
5
+ snRequest: ServiceNowRequest;
6
+ instance: ServiceNowInstance;
7
+ _scope: string;
8
+ _applicationId: string;
9
+ _logger: Logger;
10
+ constructor(instance: ServiceNowInstance, scope: string, applicationId: string);
11
+ changeApplication(): Promise<boolean>;
12
+ convertToStoreApp(): Promise<boolean>;
13
+ uninstall(): Promise<boolean>;
14
+ uninstallApplication(userSession: any, appID: any, scopeId: any, sys_class_name: any, logger: any): Promise<void>;
15
+ private monitorMutexRelease;
16
+ private uninstallScopedApp;
17
+ private verifyAppUninstall;
18
+ private getAppAndSummary;
19
+ }
@@ -0,0 +1,154 @@
1
+ import { parseXml, getScopeMetadataFromInstance, getNowTableRequest, monitorUninstallWorkerCompletion, getAppAndSummary } from "@servicenow/sdk-cli-core/dist/util/index.js";
2
+ import { makeRequest, parseResponseBody } from "@servicenow/sdk-cli-core/dist/http/index.js";
3
+ import { ServiceNowRequest } from "../comm/http/ServiceNowRequest.js";
4
+ import { Logger } from "../util/Logger.js";
5
+ export class Application {
6
+ snRequest;
7
+ instance;
8
+ _scope;
9
+ _applicationId;
10
+ _logger = new Logger("Application");
11
+ constructor(instance, scope, applicationId) {
12
+ this._scope = scope;
13
+ this._applicationId = applicationId;
14
+ this.instance = instance;
15
+ this.snRequest = new ServiceNowRequest(this.instance);
16
+ }
17
+ async changeApplication() {
18
+ let userSession = await this.snRequest.getUserSession();
19
+ const fd = new FormData();
20
+ fd.append("sysparm_processor", "com.snc.apps.AppsAjaxProcessor");
21
+ fd.append("sysparm_function", "changeApplication");
22
+ fd.append("sysparm_ck", userSession.userToken ?? '');
23
+ fd.append("sysparm_value", this._applicationId);
24
+ const params = new URLSearchParams(fd);
25
+ const request = {
26
+ method: 'POST',
27
+ path: '/xmlhttp.do',
28
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
29
+ query: null,
30
+ body: params
31
+ };
32
+ const response = await this.snRequest.post(request);
33
+ if (response.status == 200) {
34
+ return true;
35
+ }
36
+ else {
37
+ return false;
38
+ }
39
+ // const r = await (makeRequest)({
40
+ // auth: userSession,
41
+ // method: 'POST',
42
+ // path: '/xmlhttp.do',
43
+ // fields: params,
44
+ // });
45
+ // if (!r.ok) {
46
+ // (parseResponseBody)(r.clone());
47
+ // }
48
+ }
49
+ async convertToStoreApp() {
50
+ let userSession = await this.snRequest.getUserSession();
51
+ const fd = new FormData();
52
+ fd.append("sysparm_processor", "com.snc.apps.AppsAjaxProcessor");
53
+ fd.append("sysparm_function", "convertToStoreApp");
54
+ fd.append("sysparm_ck", userSession.userToken ?? '');
55
+ fd.append("sysparm_sys_id", this._applicationId);
56
+ fd.append("sysparm_name", "start");
57
+ fd.append("sysparm_scope", "global");
58
+ const params = new URLSearchParams(fd);
59
+ const request = {
60
+ method: 'POST',
61
+ path: '/xmlhttp.do',
62
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
63
+ query: null,
64
+ body: params
65
+ };
66
+ const response = await this.snRequest.post(request);
67
+ if (response.status == 200) {
68
+ return true;
69
+ }
70
+ else {
71
+ return false;
72
+ }
73
+ }
74
+ async uninstall() {
75
+ let userSession = await this.snRequest.getUserSession();
76
+ const { appID, sys_class_name, upgrade_finished } = await this.getAppAndSummary();
77
+ await this.uninstallApplication(userSession, appID, this._scope, sys_class_name, this._logger);
78
+ return true;
79
+ }
80
+ async uninstallApplication(userSession, appID, scopeId, sys_class_name, logger) {
81
+ const uninstallStoreApp = sys_class_name === 'sys_store_app';
82
+ const progressID = await this.uninstallScopedApp(userSession, appID, uninstallStoreApp);
83
+ if (!(await (monitorUninstallWorkerCompletion)(userSession, progressID, this._logger))) {
84
+ throw new Error();
85
+ }
86
+ if (!(await this.monitorMutexRelease(userSession, this._logger))) {
87
+ throw new Error();
88
+ }
89
+ await this.verifyAppUninstall(scopeId, userSession, uninstallStoreApp);
90
+ }
91
+ async monitorMutexRelease(auth, logger) {
92
+ let attempt = 0;
93
+ // eslint-disable-next-line no-constant-condition
94
+ while (true) {
95
+ const r = await (getNowTableRequest)(auth, 'sys_mutex', {
96
+ sysparm_fields: 'sys_id',
97
+ sysparm_query: 'name=Update-Mutex^acquiredISNOTEMPTY',
98
+ }, logger);
99
+ if (!r || (r && r.length < 1)) {
100
+ logger.debug('Update-Mutex released: proceeding with install');
101
+ return true;
102
+ }
103
+ // Query instance once per second
104
+ await new Promise((resolve) => setTimeout(resolve, 1000));
105
+ attempt += 1;
106
+ if (attempt === 30) {
107
+ logger.error('Update-Mutex was not released within appropriate time\n\t' +
108
+ 'Either this operation is taking a while or another CICD operation may be underway on the instance.\n\t' +
109
+ 'Please try again when sys_mutex table indicates Update-Mutex is released');
110
+ return false;
111
+ }
112
+ // Log tracker status every 15 seconds if tracker hasn't completed
113
+ if (attempt % 15 === 0) {
114
+ logger.debug('Uninstall pending, waiting on Update-Mutex release');
115
+ }
116
+ }
117
+ }
118
+ async uninstallScopedApp(auth, appID, isStoreApp) {
119
+ const params = {
120
+ sysparm_processor: 'com.snc.apps.AppsAjaxProcessor',
121
+ sysparm_function: isStoreApp ? 'uninstallApplication' : 'deleteApplication',
122
+ sysparm_sys_id: appID,
123
+ sysparm_fluent_app: 'true',
124
+ sysparm_delete_all: 'true',
125
+ sysparm_ck: auth.userToken ?? '',
126
+ };
127
+ const r = await (makeRequest)({
128
+ auth,
129
+ method: 'POST',
130
+ path: '/xmlhttp.do',
131
+ fields: params,
132
+ });
133
+ if (!r.ok) {
134
+ (parseResponseBody)(r.clone());
135
+ }
136
+ const xml = await (parseXml)(await r.text());
137
+ return xml['xml']['@_answer'];
138
+ }
139
+ async verifyAppUninstall(scopeId, auth, uninstallStoreApp) {
140
+ const scopeMetadata = await (getScopeMetadataFromInstance)(scopeId, auth);
141
+ if (scopeMetadata && scopeMetadata.sys_id) {
142
+ if (uninstallStoreApp && scopeMetadata.active === 'false') {
143
+ return;
144
+ }
145
+ throw new Error();
146
+ }
147
+ }
148
+ async getAppAndSummary() {
149
+ let userSession = await this.snRequest.getUserSession();
150
+ const { appID, sys_class_name, upgrade_finished } = await (getAppAndSummary)(this._applicationId, this._scope, userSession);
151
+ return { appID, sys_class_name, upgrade_finished };
152
+ }
153
+ }
154
+ //# sourceMappingURL=Application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/sn/Application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { ServiceNowRequest } from "../comm/http/ServiceNowRequest.js";
2
+ import { ServiceNowInstance } from "./ServiceNowInstance.js";
3
+ export declare class ProgressWorker {
4
+ _req: ServiceNowRequest;
5
+ _instance: ServiceNowInstance;
6
+ constructor(instance: ServiceNowInstance);
7
+ getProgress(progressId: string): Promise<ProgressResult>;
8
+ }
9
+ export type ProgressResultResponse = {
10
+ "result": ProgressResult;
11
+ };
12
+ export type ProgressLinks = {
13
+ "progress": ProgressLink;
14
+ "results": ProgressLink;
15
+ };
16
+ export type ProgressLink = {
17
+ "id": string;
18
+ "url": string;
19
+ };
20
+ export type ProgressResult = {
21
+ "links": ProgressLinks;
22
+ "status": string;
23
+ "status_label": string;
24
+ "status_message": string;
25
+ "status_detail": string;
26
+ "error": string;
27
+ "percent_complete": number;
28
+ };
29
+ export declare enum ProgressStatus {
30
+ "PENDING" = "0",
31
+ "RUNNING" = "1",
32
+ "FAILED" = "3"
33
+ }
@@ -0,0 +1,24 @@
1
+ import { ServiceNowRequest } from "../comm/http/ServiceNowRequest.js";
2
+ export class ProgressWorker {
3
+ _req;
4
+ _instance;
5
+ constructor(instance) {
6
+ this._instance = instance;
7
+ this._req = new ServiceNowRequest(instance);
8
+ }
9
+ async getProgress(progressId) {
10
+ let request = { path: "/api/sn_cicd/progress/" + progressId, headers: null, query: null, body: null };
11
+ let resp = await this._req.get(request);
12
+ if (resp.status == 200) {
13
+ return resp.bodyObject.result;
14
+ }
15
+ return null;
16
+ }
17
+ }
18
+ export var ProgressStatus;
19
+ (function (ProgressStatus) {
20
+ ProgressStatus["PENDING"] = "0";
21
+ ProgressStatus["RUNNING"] = "1";
22
+ ProgressStatus["FAILED"] = "3";
23
+ })(ProgressStatus || (ProgressStatus = {}));
24
+ //# sourceMappingURL=ProgressWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressWorker.js","sourceRoot":"","sources":["../../src/sn/ProgressWorker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAInE,MAAM,OAAO,cAAc;IAEvB,IAAI,CAAmB;IAGvB,SAAS,CAAoB;IAC7B,YAAmB,QAA2B;QAC1C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,UAAiB;QACtC,IAAI,OAAO,GAAe,EAAE,IAAI,EAAE,wBAAwB,GAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,EAAC,CAAC;QAC9G,IAAI,IAAI,GAAyC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAyB,OAAO,CAAC,CAAC;QACtG,IAAG,IAAI,CAAC,MAAM,IAAI,GAAG,EAAC,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA4BD,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,+BAAe,CAAA;IACf,+BAAe,CAAA;IACf,8BAAc,CAAA;AAClB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
@@ -0,0 +1,71 @@
1
+ export declare class ApplicationDetailModelResponse {
2
+ result: ApplicationInstanceDetailModel;
3
+ }
4
+ export declare class ApplicationInstanceDetailModel {
5
+ app_info_on_instance: ApplicationDetailModel;
6
+ }
7
+ export declare class ApplicationDetailModel {
8
+ logo: string;
9
+ short_description: string;
10
+ needs_app_engine_licensing: boolean;
11
+ custom_table_count: string;
12
+ name: string;
13
+ vendor: string;
14
+ vendor_prefix: string;
15
+ link: string;
16
+ scope: string;
17
+ compatibilities: string;
18
+ active: boolean;
19
+ price_type: string;
20
+ lob: string[];
21
+ source: string;
22
+ shared_internally: boolean;
23
+ indicators: string[];
24
+ display_message: string;
25
+ upload_info: string;
26
+ products: string[];
27
+ install_date: string;
28
+ update_date: string;
29
+ version: string;
30
+ version_display: string;
31
+ assigned_version: string;
32
+ latest_version: string;
33
+ latest_version_display: string;
34
+ demo_data: string;
35
+ sys_id: string;
36
+ sys_updated_on: string;
37
+ sys_created_on: string;
38
+ can_edit_in_studio: boolean;
39
+ can_open_in_studio: boolean;
40
+ is_customized_app: boolean;
41
+ can_install_or_upgrade_customization: boolean;
42
+ customized_version_info: any;
43
+ is_store_app: boolean;
44
+ store_link: string;
45
+ isSubscriptionApplicable: boolean;
46
+ publish_date_display: string;
47
+ isAppstorePlugin: boolean;
48
+ uninstall_blocked: boolean;
49
+ sys_code: string;
50
+ can_install_or_upgrade: boolean;
51
+ isInstalled: boolean;
52
+ isInstalledAndUpdateAvailable: boolean;
53
+ isCustomizationUpdateAvailable: boolean;
54
+ installed_as_dependency: boolean;
55
+ app_schedule_details: any;
56
+ dependencies: any;
57
+ contains_plugins: boolean;
58
+ optional_apps_available: boolean;
59
+ install_tracker_id: string;
60
+ versions: any[];
61
+ new_guided_setup_id: string;
62
+ upgradeHistoryId: string;
63
+ upgradeDetailsInfo: any;
64
+ installationInfo: any;
65
+ installedFilesQuery: any;
66
+ customizedFilesQuery: any;
67
+ userDateFormat: string;
68
+ time_taken: number;
69
+ sys_created_on_display: string;
70
+ sys_updated_on_display: string;
71
+ }
@@ -0,0 +1,72 @@
1
+ export class ApplicationDetailModelResponse {
2
+ result;
3
+ }
4
+ export class ApplicationInstanceDetailModel {
5
+ app_info_on_instance;
6
+ }
7
+ export class ApplicationDetailModel {
8
+ logo;
9
+ short_description;
10
+ needs_app_engine_licensing;
11
+ custom_table_count;
12
+ name;
13
+ vendor;
14
+ vendor_prefix;
15
+ link;
16
+ scope;
17
+ compatibilities;
18
+ active;
19
+ price_type;
20
+ lob;
21
+ source;
22
+ shared_internally;
23
+ indicators;
24
+ display_message;
25
+ upload_info;
26
+ products;
27
+ install_date;
28
+ update_date;
29
+ version;
30
+ version_display;
31
+ assigned_version;
32
+ latest_version;
33
+ latest_version_display;
34
+ demo_data;
35
+ sys_id;
36
+ sys_updated_on;
37
+ sys_created_on;
38
+ can_edit_in_studio;
39
+ can_open_in_studio;
40
+ is_customized_app;
41
+ can_install_or_upgrade_customization;
42
+ customized_version_info;
43
+ is_store_app;
44
+ store_link;
45
+ isSubscriptionApplicable;
46
+ publish_date_display;
47
+ isAppstorePlugin;
48
+ uninstall_blocked;
49
+ sys_code;
50
+ can_install_or_upgrade;
51
+ isInstalled;
52
+ isInstalledAndUpdateAvailable;
53
+ isCustomizationUpdateAvailable;
54
+ installed_as_dependency;
55
+ app_schedule_details;
56
+ dependencies;
57
+ contains_plugins;
58
+ optional_apps_available;
59
+ install_tracker_id;
60
+ versions;
61
+ new_guided_setup_id;
62
+ upgradeHistoryId;
63
+ upgradeDetailsInfo;
64
+ installationInfo;
65
+ installedFilesQuery;
66
+ customizedFilesQuery;
67
+ userDateFormat;
68
+ time_taken;
69
+ sys_created_on_display;
70
+ sys_updated_on_display;
71
+ }
72
+ //# sourceMappingURL=ApplicationDetailModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationDetailModel.js","sourceRoot":"","sources":["../../../src/sn/application/ApplicationDetailModel.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,8BAA8B;IACvC,MAAM,CAAgC;CACzC;AAED,MAAM,OAAO,8BAA8B;IACvC,oBAAoB,CAAwB;CAC/C;AAGD,MAAM,OAAO,sBAAsB;IAE/B,IAAI,CAAQ;IACZ,iBAAiB,CAAQ;IACzB,0BAA0B,CAAS;IACnC,kBAAkB,CAAQ;IAC1B,IAAI,CAAQ;IACZ,MAAM,CAAQ;IACd,aAAa,CAAQ;IACrB,IAAI,CAAQ;IACZ,KAAK,CAAQ;IACb,eAAe,CAAQ;IACvB,MAAM,CAAS;IACf,UAAU,CAAQ;IAClB,GAAG,CAAU;IACb,MAAM,CAAQ;IAEd,iBAAiB,CAAS;IAC1B,UAAU,CAAU;IACpB,eAAe,CAAQ;IACvB,WAAW,CAAQ;IACnB,QAAQ,CAAU;IAClB,YAAY,CAAQ;IACpB,WAAW,CAAQ;IACnB,OAAO,CAAQ;IACf,eAAe,CAAQ;IACvB,gBAAgB,CAAQ;IACxB,cAAc,CAAQ;IACtB,sBAAsB,CAAQ;IAC9B,SAAS,CAAQ;IACjB,MAAM,CAAQ;IACd,cAAc,CAAQ;IACtB,cAAc,CAAQ;IAEtB,kBAAkB,CAAS;IAC3B,kBAAkB,CAAS;IAC3B,iBAAiB,CAAS;IAC1B,oCAAoC,CAAS;IAC7C,uBAAuB,CAAK;IAC5B,YAAY,CAAS;IACrB,UAAU,CAAQ;IAElB,wBAAwB,CAAS;IACjC,oBAAoB,CAAQ;IAC5B,gBAAgB,CAAS;IACzB,iBAAiB,CAAS;IAC1B,QAAQ,CAAQ;IAChB,sBAAsB,CAAS;IAC/B,WAAW,CAAS;IAEpB,6BAA6B,CAAS;IACtC,8BAA8B,CAAS;IACvC,uBAAuB,CAAS;IAChC,oBAAoB,CAAK;IACzB,YAAY,CAAK;IACjB,gBAAgB,CAAS;IACzB,uBAAuB,CAAS;IAChC,kBAAkB,CAAQ;IAC1B,QAAQ,CAAO;IACf,mBAAmB,CAAQ;IAC3B,gBAAgB,CAAQ;IACxB,kBAAkB,CAAK;IACvB,gBAAgB,CAAK;IACrB,mBAAmB,CAAK;IACxB,oBAAoB,CAAK;IACzB,cAAc,CAAQ;IACtB,UAAU,CAAQ;IAElB,sBAAsB,CAAQ;IAC9B,sBAAsB,CAAQ;CAgIjC"}
@@ -0,0 +1,26 @@
1
+ import { ServiceNowInstance } from "../ServiceNowInstance.js";
2
+ import { Logger } from "../../util/Logger.js";
3
+ import { ServiceNowRequest } from "../../comm/http/ServiceNowRequest.js";
4
+ import { ApplicationDetailModel } from "./ApplicationDetailModel.js";
5
+ export declare class ApplicationManager {
6
+ BATCH_API_URL: string;
7
+ APP_DETAILS_API_URL: string;
8
+ APP_UPDATES_LIST_API_URL: string;
9
+ BATCH_INSTALL_TIMEOUT: number;
10
+ _logger: Logger;
11
+ _req: ServiceNowRequest;
12
+ constructor(instance: ServiceNowInstance);
13
+ private _instance;
14
+ installBatch(batchDefinitionPath: string): Promise<boolean>;
15
+ private getInstallableApplicationPackages;
16
+ getApplicationDetails(appID: string): Promise<ApplicationDetailModel>;
17
+ private waitForBatchInstallCompletion;
18
+ private executeBatchInstallRequest;
19
+ private getBatchProgress;
20
+ }
21
+ export declare class BatchInstallResultResponse {
22
+ result: BatchInstallResult;
23
+ }
24
+ export declare class BatchInstallResult {
25
+ links: any;
26
+ }
@@ -0,0 +1,92 @@
1
+ import { Logger } from "../../util/Logger.js";
2
+ import { ServiceNowRequest } from "../../comm/http/ServiceNowRequest.js";
3
+ import * as fs from 'fs';
4
+ import { ProgressStatus, ProgressWorker } from "../ProgressWorker.js";
5
+ export class ApplicationManager {
6
+ BATCH_API_URL = "/api/sn_cicd/app/batch/install";
7
+ APP_DETAILS_API_URL = "/api/sn_appclient/appmanager/app/{appID}";
8
+ APP_UPDATES_LIST_API_URL = "/api/sn_appclient/appmanager/apps?search_key={searchKey}&sysparm_limit={limit}&tab_context=updates";
9
+ BATCH_INSTALL_TIMEOUT = 1000 * 60 * 30;
10
+ _logger = new Logger("ApplicationManager");
11
+ _req;
12
+ constructor(instance) {
13
+ this._instance = instance;
14
+ this._req = new ServiceNowRequest(instance);
15
+ }
16
+ _instance;
17
+ async installBatch(batchDefinitionPath) {
18
+ let batchDefinitionRequest = fs.readFileSync(batchDefinitionPath, 'utf8');
19
+ console.log(batchDefinitionRequest);
20
+ const batchInstall = JSON.parse(batchDefinitionRequest);
21
+ //let installablePackages = await this.getInstallableApplicationPackages(batchInstall);
22
+ // console.log(installablePackages);
23
+ //batchInstall.packages = installablePackages;
24
+ let batchDefinitionJson = JSON.stringify(batchInstall);
25
+ console.log(batchDefinitionJson);
26
+ let result = await this.executeBatchInstallRequest(batchInstall);
27
+ console.log(result);
28
+ console.log(result.result.links);
29
+ if (result.result.links.progress) {
30
+ await this.waitForBatchInstallCompletion(result.result);
31
+ }
32
+ return true;
33
+ }
34
+ async getInstallableApplicationPackages(batchInstall) {
35
+ batchInstall.packages.forEach(async (appPackage) => {
36
+ let appDetails = await this.getApplicationDetails(appPackage.id);
37
+ console.log(appDetails);
38
+ if (appDetails.version == appPackage.requested_version) {
39
+ batchInstall.packages.splice(batchInstall.packages.indexOf(appPackage), 1);
40
+ }
41
+ });
42
+ return batchInstall.packages;
43
+ }
44
+ async getApplicationDetails(appID) {
45
+ let request = { method: 'GET', path: this.APP_DETAILS_API_URL.replace("{appID}", appID), headers: null, query: null, body: null };
46
+ let resp = await this._req.get(request);
47
+ if (resp.status == 200) {
48
+ return resp.bodyObject.result.app_info_on_instance;
49
+ }
50
+ return null;
51
+ }
52
+ async waitForBatchInstallCompletion(batchInstallResult) {
53
+ let startTime = Date.now();
54
+ let progressResult = await this.getBatchProgress(batchInstallResult);
55
+ console.log(progressResult);
56
+ while (progressResult.percent_complete < 100 && (Date.now() - startTime) < this.BATCH_INSTALL_TIMEOUT) {
57
+ await new Promise(resolve => setTimeout(resolve, 5000));
58
+ progressResult = await this.getBatchProgress(batchInstallResult);
59
+ console.log(progressResult);
60
+ }
61
+ if (progressResult.percent_complete < 100) {
62
+ throw new Error("Batch install timed out");
63
+ }
64
+ if (progressResult.error) {
65
+ throw new Error(progressResult.error);
66
+ }
67
+ if (progressResult.status == ProgressStatus.FAILED) {
68
+ throw new Error(progressResult.status_label + " : " + progressResult.status_message);
69
+ }
70
+ return true;
71
+ }
72
+ async executeBatchInstallRequest(batchDefinitionRequest) {
73
+ let request = { method: 'POST', path: this.BATCH_API_URL, headers: { 'Content-Type': 'application/json' }, query: null, json: batchDefinitionRequest, body: null };
74
+ let resp = await this._req.post(request);
75
+ if (resp.status == 200) {
76
+ return resp.bodyObject;
77
+ }
78
+ return null;
79
+ }
80
+ async getBatchProgress(batchInstallResult) {
81
+ let progressWorker = new ProgressWorker(this._instance);
82
+ let progressResult = await progressWorker.getProgress(batchInstallResult.links.progress.id);
83
+ return progressResult;
84
+ }
85
+ }
86
+ export class BatchInstallResultResponse {
87
+ result;
88
+ }
89
+ export class BatchInstallResult {
90
+ links;
91
+ }
92
+ //# sourceMappingURL=ApplicationManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationManager.js","sourceRoot":"","sources":["../../../src/sn/application/ApplicationManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnE,MAAM,OAAO,kBAAkB;IAC3B,aAAa,GAAG,gCAAgC,CAAC;IACjD,mBAAmB,GAAG,0CAA0C,CAAC;IACjE,wBAAwB,GAAG,oGAAoG,CAAC;IAEhI,qBAAqB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAE;IACxC,OAAO,GAAU,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAElD,IAAI,CAAmB;IAIvB,YAAmB,QAA2B;QAC1C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEO,SAAS,CAAoB;IAE/B,KAAK,CAAC,YAAY,CAAC,mBAA0B;QAEnD,IAAI,sBAAsB,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAsB,CAAC;QAE7E,uFAAuF;QACxF,oCAAoC;QACnC,8CAA8C;QAC9C,IAAI,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;QAGD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAAC,YAA8B;QAC7E,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC/C,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,IAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,iBAAiB,EAAC,CAAC;gBACnD,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAIM,KAAK,CAAC,qBAAqB,CAAC,KAAY;QAC9C,IAAI,OAAO,GAAe,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,EAAC,CAAC;QAC5I,IAAI,IAAI,GAAiD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiC,OAAO,CAAC,CAAC;QACtH,IAAG,IAAI,CAAC,MAAM,IAAI,GAAG,EAAC,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,kBAAqC;QAChF,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE5B,OAAM,cAAc,CAAC,gBAAgB,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAC,CAAC;YAClG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;QAED,IAAG,cAAc,CAAC,gBAAgB,GAAG,GAAG,EAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;QAED,IAAG,cAAc,CAAC,KAAK,EAAC,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,IAAG,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,EAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAGO,KAAK,CAAC,0BAA0B,CAAC,sBAA6B;QAErE,IAAI,OAAO,GAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,sBAAsB,EAAE,IAAI,EAAC,IAAI,EAAC,CAAC;QAC5K,IAAI,IAAI,GAA6C,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAA6B,OAAO,CAAC,CAAC;QAC/G,IAAG,IAAI,CAAC,MAAM,IAAI,GAAG,EAAC,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,kBAAqC;QACnE,IAAI,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,cAAc,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5F,OAAO,cAAc,CAAC;IACvB,CAAC;CACH;AAED,MAAM,OAAO,0BAA0B;IACnC,MAAM,CAAoB;CAC7B;AAED,MAAM,OAAO,kBAAkB;IAC3B,KAAK,CAAK;CACb"}
@@ -0,0 +1,16 @@
1
+ export declare class BatchDefinition {
2
+ #private;
3
+ get id(): string;
4
+ get load_demo_data(): boolean;
5
+ get notes(): string;
6
+ get requested_customization_version(): string;
7
+ get requested_version(): string;
8
+ get type(): string;
9
+ set id(value: string);
10
+ set load_demo_data(value: boolean);
11
+ set notes(value: string);
12
+ set requested_customization_version(value: string);
13
+ set requested_version(value: string);
14
+ toJSON(): object;
15
+ constructor(id: string, load_demo_data: boolean, notes: string, requested_customization_version: string, requested_version: string, type: string);
16
+ }
@@ -0,0 +1,60 @@
1
+ export class BatchDefinition {
2
+ #id;
3
+ #load_demo_data;
4
+ #notes;
5
+ #requested_customization_version;
6
+ #requested_version;
7
+ #type;
8
+ get id() {
9
+ return this.#id;
10
+ }
11
+ get load_demo_data() {
12
+ return this.#load_demo_data;
13
+ }
14
+ get notes() {
15
+ return this.#notes;
16
+ }
17
+ get requested_customization_version() {
18
+ return this.#requested_customization_version;
19
+ }
20
+ get requested_version() {
21
+ return this.#requested_version;
22
+ }
23
+ get type() {
24
+ return this.#type;
25
+ }
26
+ set id(value) {
27
+ this.#id = value;
28
+ }
29
+ set load_demo_data(value) {
30
+ this.#load_demo_data = value;
31
+ }
32
+ set notes(value) {
33
+ this.#notes = value;
34
+ }
35
+ set requested_customization_version(value) {
36
+ this.#requested_customization_version = value;
37
+ }
38
+ set requested_version(value) {
39
+ this.#requested_version = value;
40
+ }
41
+ toJSON() {
42
+ return {
43
+ id: this.#id,
44
+ load_demo_data: this.#load_demo_data,
45
+ notes: this.#notes,
46
+ requested_customization_version: this.#requested_customization_version,
47
+ requested_version: this.#requested_version,
48
+ type: this.#type
49
+ };
50
+ }
51
+ constructor(id, load_demo_data, notes, requested_customization_version, requested_version, type) {
52
+ this.#id = id;
53
+ this.#load_demo_data = load_demo_data;
54
+ this.#notes = notes;
55
+ this.#requested_customization_version = requested_customization_version;
56
+ this.#requested_version = requested_version;
57
+ this.#type = type;
58
+ }
59
+ }
60
+ //# sourceMappingURL=BatchDefinition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchDefinition.js","sourceRoot":"","sources":["../../../src/sn/application/BatchDefinition.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,eAAe;IAGrB,GAAG,CAAQ;IACX,eAAe,CAAS;IACxB,MAAM,CAAQ;IACd,gCAAgC,CAAQ;IACxC,kBAAkB,CAAQ;IAC1B,KAAK,CAAQ;IAEd,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,+BAA+B;QACxC,OAAO,IAAI,CAAC,gCAAgC,CAAC;IAC/C,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,EAAE,CAAC,KAAa;QACzB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,IAAW,cAAc,CAAC,KAAc;QACtC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAW,KAAK,CAAC,KAAa;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,+BAA+B,CAAC,KAAa;QACtD,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;IAChD,CAAC;IAED,IAAW,iBAAiB,CAAC,KAAa;QACxC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAGO,MAAM;QACZ,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,GAAG;YACZ,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,+BAA+B,EAAE,IAAI,CAAC,gCAAgC;YACtE,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,IAAI,EAAE,IAAI,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC;IAGD,YAAmB,EAAS,EAAE,cAAsB,EAAE,KAAY,EAAE,+BAAsC,EAAE,iBAAwB,EAAE,IAAW;QAC/I,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,gCAAgC,GAAG,+BAA+B,CAAC;QACxE,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CACN"}
@@ -0,0 +1,8 @@
1
+ import { BatchDefinition } from "./BatchDefinition.js";
2
+ export declare class BatchInstallation {
3
+ #private;
4
+ get name(): string;
5
+ get packages(): BatchDefinition[];
6
+ set packages(value: BatchDefinition[]);
7
+ toJSON(): object;
8
+ }
@@ -0,0 +1,20 @@
1
+ export class BatchInstallation {
2
+ #name;
3
+ #packages;
4
+ get name() {
5
+ return this.#name;
6
+ }
7
+ get packages() {
8
+ return this.#packages;
9
+ }
10
+ set packages(value) {
11
+ this.#packages = value;
12
+ }
13
+ toJSON() {
14
+ return {
15
+ name: this.#name,
16
+ packages: this.#packages.map(p => p.toJSON())
17
+ };
18
+ }
19
+ }
20
+ //# sourceMappingURL=BatchInstallation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchInstallation.js","sourceRoot":"","sources":["../../../src/sn/application/BatchInstallation.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,iBAAiB;IAE1B,KAAK,CAAQ;IACb,SAAS,CAAmB;IAE5B,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,QAAQ,CAAC,KAAwB;QACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,MAAM;QACF,OAAO;YACH,IAAI,EAAC,IAAI,CAAC,KAAK;YACf,QAAQ,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/C,CAAA;IACL,CAAC;CAIJ"}
@@ -0,0 +1,27 @@
1
+ import { ReferenceLink } from "../../model/types.js";
2
+ export type Test = {
3
+ "sys_mod_count": string;
4
+ "active": string;
5
+ "description": string;
6
+ "sys_updated_on": string;
7
+ "sys_tags": string;
8
+ "sys_class_name": string;
9
+ "remember": string;
10
+ "sys_id": string;
11
+ "sys_package": ReferenceLink;
12
+ "enable_parameterized_testing": string;
13
+ "sys_update_name": string;
14
+ "sys_updated_by": string;
15
+ "fail_on_server_error": string;
16
+ "sys_created_on": string;
17
+ "name": string;
18
+ "sys_name": string;
19
+ "sys_scope": ReferenceLink;
20
+ "copied_from": string;
21
+ "sn_atf_tg_generated": string;
22
+ "parameters": string;
23
+ "sys_created_by": string;
24
+ "sys_policy": string;
25
+ };
26
+ export declare class ATFTest {
27
+ }
@@ -0,0 +1,3 @@
1
+ export class ATFTest {
2
+ }
3
+ //# sourceMappingURL=ATFTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ATFTest.js","sourceRoot":"","sources":["../../../src/sn/atf/ATFTest.ts"],"names":[],"mappings":"AA8BA,MAAM,OAAO,OAAO;CAInB"}
@@ -0,0 +1,25 @@
1
+ import { ServiceNowRequest } from "../../comm/http/ServiceNowRequest.js";
2
+ import { ReferenceLink } from "../../model/types.js";
3
+ import { ServiceNowInstance } from "../ServiceNowInstance.js";
4
+ export declare class ATFTestExecutor {
5
+ _req: ServiceNowRequest;
6
+ _instance: ServiceNowInstance;
7
+ constructor(instance: ServiceNowInstance);
8
+ executeTest(testId: string): Promise<TestResult>;
9
+ private waitForTestCompletion;
10
+ private doGetTestProgress;
11
+ private getTestProgress;
12
+ private getTestResult;
13
+ }
14
+ export type TestResult = {
15
+ "end_time_millis": string;
16
+ "execution_tracker": ReferenceLink;
17
+ "test_name": string;
18
+ "test": ReferenceLink;
19
+ "rollback_context": ReferenceLink;
20
+ "root_tracker_id": ReferenceLink;
21
+ "output": string;
22
+ "sys_id": string;
23
+ "run_time": string;
24
+ "status": string;
25
+ };
@@ -0,0 +1,80 @@
1
+ import { ServiceNowProcessorRequest } from "../../comm/http/ServiceNowProcessorRequest.js";
2
+ import { ServiceNowRequest } from "../../comm/http/ServiceNowRequest.js";
3
+ export class ATFTestExecutor {
4
+ _req = new ServiceNowRequest();
5
+ _instance;
6
+ constructor(instance) {
7
+ this._instance = instance;
8
+ this._req = new ServiceNowRequest(instance);
9
+ }
10
+ async executeTest(testId) {
11
+ let dataObj = {
12
+ 'sysparm_want_session_messages': 'true',
13
+ 'sysparm_ajax_processor_ut_test_id': testId,
14
+ 'sysparm_ajax_processor_test_runner_session_id': '',
15
+ 'sysparm_ajax_processor_is_pausing_enabled': '',
16
+ 'sysparm_ajax_processor_pause_before_rollback': '',
17
+ 'sysparm_ajax_processor_use_cloud_runner': '',
18
+ 'sysparm_ajax_processor_performance_run': '',
19
+ 'ni.nolog.x_referer': 'ignore',
20
+ 'x_referer': 'sys_atf_test.do%3Fsys_id%3D817a3214835b4210a9f8aec0deaad3f4%26sysparm_view%3D%26sysparm_domain%3Dnull%26sysparm_domain_scope%3Dnull'
21
+ };
22
+ let proc = new ServiceNowProcessorRequest(this._instance);
23
+ let result = await proc.execute("TestExecutorAjax", "start", "global", dataObj);
24
+ //In this case, result is the progress worker id.
25
+ if (result != null) {
26
+ let resultId = await this.waitForTestCompletion(result);
27
+ if (resultId) {
28
+ let testResult = await this.getTestResult(resultId);
29
+ if (testResult)
30
+ return testResult;
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+ async waitForTestCompletion(progressId) {
36
+ let pr = await this.doGetTestProgress(progressId);
37
+ //console.log("Percent Complete: " + pr.percent_complete);
38
+ while (pr.percent_complete != null && pr.percent_complete < 100) {
39
+ await new Promise(resolve => setTimeout(resolve, 500));
40
+ pr = await this.doGetTestProgress(progressId);
41
+ //console.log("Percent Complete: " + pr.percent_complete);
42
+ }
43
+ if (pr && pr.percent_complete == 100 && pr.links.results && pr.links.results.id) {
44
+ return pr.links.results.id;
45
+ }
46
+ return null;
47
+ }
48
+ async doGetTestProgress(progressId) {
49
+ let data = await this.getTestProgress(progressId);
50
+ try {
51
+ if (data.result) {
52
+ return data.result;
53
+ }
54
+ }
55
+ catch (err) {
56
+ return null;
57
+ }
58
+ return null;
59
+ }
60
+ async getTestProgress(progressId) {
61
+ let request = { path: "/api/sn_cicd/progress/" + progressId, headers: null, query: null, body: null };
62
+ let resp = await this._req.get(request);
63
+ if (resp.status == 200) {
64
+ return resp.bodyObject;
65
+ }
66
+ return null;
67
+ }
68
+ async getTestResult(testResultId) {
69
+ let request = { path: "/api/now/table/sys_atf_test_result?sysparm_query=sys_id=" + testResultId, headers: null, query: null, body: null };
70
+ let resp = await this._req.get(request);
71
+ if (resp.status == 200) {
72
+ let tableResp = resp.bodyObject;
73
+ if (tableResp.result && tableResp.result.length > 0) {
74
+ return tableResp.result[0];
75
+ }
76
+ }
77
+ return null;
78
+ }
79
+ }
80
+ //# sourceMappingURL=ATFTestExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ATFTestExecutor.js","sourceRoot":"","sources":["../../../src/sn/atf/ATFTestExecutor.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=ATFTestStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ATFTestStep.js","sourceRoot":"","sources":["../../../src/sn/atf/ATFTestStep.ts"],"names":[],"mappings":""}
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=ATFTestSuite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ATFTestSuite.js","sourceRoot":"","sources":["../../../src/sn/atf/ATFTestSuite.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare class TestFactory {
2
+ }
@@ -0,0 +1,3 @@
1
+ export class TestFactory {
2
+ }
3
+ //# sourceMappingURL=TestFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestFactory.js","sourceRoot":"","sources":["../../../src/sn/atf/TestFactory.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,WAAW;CAEvB"}
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=TestStepFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestStepFactory.js","sourceRoot":"","sources":["../../../src/sn/atf/TestStepFactory.ts"],"names":[],"mappings":""}
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=TestSuiteFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestSuiteFactory.js","sourceRoot":"","sources":["../../../src/sn/atf/TestSuiteFactory.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonisoft/now-sdk-ext-core",
3
- "version": "1.0.0-alpha.31",
3
+ "version": "1.0.0-alpha.33",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "",
@@ -42,11 +42,11 @@
42
42
  "@servicenow/glide": "^26.0.1",
43
43
  "@servicenow/sdk": "3.0.2",
44
44
  "@servicenow/sdk-build": "3.0.2",
45
+ "@servicenow/sdk-build-core": "3.0.2",
45
46
  "@servicenow/sdk-cli": "3.0.2",
46
47
  "@servicenow/sdk-cli-core": "3.0.2",
47
48
  "@servicenow/sdk-core": "3.0.2",
48
49
  "@servicenow/sdk-project": "3.0.2",
49
- "@servicenow/sdk-build-core": "3.0.2",
50
50
  "@ts-morph/common": "^0.24.0",
51
51
  "@types/mock-fs": "^4.13.4",
52
52
  "@types/node-gzip": "^1.1.3",
@@ -77,6 +77,7 @@
77
77
  "winston": "3.14.2",
78
78
  "ws": "^8.18.0",
79
79
  "xml2js": "^0.6.2",
80
+ "xmldom": "^0.6.0",
80
81
  "zod": "^3.23.8"
81
82
  },
82
83
  "devDependencies": {