@veloceapps/api 11.0.0-27 → 11.0.0-29

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 (88) hide show
  1. package/esm2020/src/index.mjs +1 -10
  2. package/esm2020/src/lib/api.module.mjs +1 -28
  3. package/esm2020/v2/api-v2.module.mjs +36 -20
  4. package/esm2020/v2/services/cache-api.service.mjs +22 -0
  5. package/esm2020/v2/services/configuration-processors-api.service.mjs +2 -2
  6. package/esm2020/v2/services/configuration-settings-api.service.mjs +89 -0
  7. package/esm2020/v2/services/context-definition-admin-api.service.mjs +65 -0
  8. package/esm2020/v2/services/endpoints-admin-api.service.mjs +79 -0
  9. package/esm2020/v2/services/flows-api.service.mjs +29 -0
  10. package/esm2020/v2/services/function-groups-admin-api.service.mjs +62 -0
  11. package/esm2020/v2/services/functions-admin-api.service.mjs +97 -0
  12. package/esm2020/v2/services/index.mjs +18 -10
  13. package/esm2020/v2/services/orchestrations-admin-api.service.mjs +87 -0
  14. package/esm2020/v2/services/orchestrations-api.service.mjs +23 -0
  15. package/esm2020/v2/services/pcm-api.service.mjs +29 -0
  16. package/esm2020/v2/services/picklists-admin-api.service.mjs +41 -0
  17. package/esm2020/v2/services/products-admin-api.service.mjs +90 -0
  18. package/esm2020/v2/services/sales-transactions-api.service.mjs +2 -2
  19. package/esm2020/v2/services/salesforce-api.service.mjs +83 -0
  20. package/esm2020/v2/services/scripts-admin-api.service.mjs +10 -2
  21. package/esm2020/v2/services/shopping-cart-settings-api.service.mjs +28 -0
  22. package/esm2020/v2/services/ui-definitions-admin-api.service.mjs +68 -0
  23. package/esm2020/v2/services/ui-templates-admin-api.service.mjs +286 -0
  24. package/esm2020/v2/services/veloce-objects-api.service.mjs +90 -0
  25. package/esm2020/v2/types/dto/configuration-settings-dto.types.mjs +22 -0
  26. package/esm2020/v2/types/index.mjs +2 -1
  27. package/esm2020/v2/types/pcm.types.mjs +2 -0
  28. package/esm2020/v2/types/search-request.types.mjs +2 -0
  29. package/fesm2015/veloceapps-api-v2.mjs +647 -189
  30. package/fesm2015/veloceapps-api-v2.mjs.map +1 -1
  31. package/fesm2015/veloceapps-api.mjs +16 -585
  32. package/fesm2015/veloceapps-api.mjs.map +1 -1
  33. package/fesm2020/veloceapps-api-v2.mjs +706 -192
  34. package/fesm2020/veloceapps-api-v2.mjs.map +1 -1
  35. package/fesm2020/veloceapps-api.mjs +16 -641
  36. package/fesm2020/veloceapps-api.mjs.map +1 -1
  37. package/package.json +1 -1
  38. package/src/index.d.ts +0 -9
  39. package/v2/services/cache-api.service.d.ts +11 -0
  40. package/{src/lib → v2}/services/configuration-settings-api.service.d.ts +1 -2
  41. package/v2/services/{context-definition-api.service.d.ts → context-definition-admin-api.service.d.ts} +3 -3
  42. package/{src/lib/services/endpoints-api.service.d.ts → v2/services/endpoints-admin-api.service.d.ts} +3 -4
  43. package/v2/services/function-groups-admin-api.service.d.ts +18 -0
  44. package/v2/services/functions-admin-api.service.d.ts +22 -0
  45. package/v2/services/index.d.ts +17 -9
  46. package/v2/services/orchestrations-admin-api.service.d.ts +21 -0
  47. package/v2/services/orchestrations-api.service.d.ts +12 -0
  48. package/{src/lib/services/picklists-api.service.d.ts → v2/services/picklists-admin-api.service.d.ts} +3 -3
  49. package/v2/services/products-admin-api.service.d.ts +21 -0
  50. package/v2/services/scripts-admin-api.service.d.ts +2 -1
  51. package/v2/services/{ui-definitions-api.service.d.ts → ui-definitions-admin-api.service.d.ts} +3 -3
  52. package/v2/services/{ui-templates-api.service.d.ts → ui-templates-admin-api.service.d.ts} +3 -3
  53. package/{src/lib → v2}/services/veloce-objects-api.service.d.ts +3 -3
  54. package/v2/types/index.d.ts +1 -0
  55. package/v2/types/search-request.types.d.ts +8 -0
  56. package/esm2020/src/lib/services/configuration-settings-api.service.mjs +0 -96
  57. package/esm2020/src/lib/services/endpoints-api.service.mjs +0 -80
  58. package/esm2020/src/lib/services/flows-api.service.mjs +0 -29
  59. package/esm2020/src/lib/services/pcm-api.service.mjs +0 -29
  60. package/esm2020/src/lib/services/picklists-api.service.mjs +0 -41
  61. package/esm2020/src/lib/services/product-api.service.mjs +0 -153
  62. package/esm2020/src/lib/services/salesforce-api.service.mjs +0 -83
  63. package/esm2020/src/lib/services/shopping-cart-settings-api.service.mjs +0 -28
  64. package/esm2020/src/lib/services/veloce-objects-api.service.mjs +0 -90
  65. package/esm2020/src/lib/types/dto/configuration-settings-dto.types.mjs +0 -22
  66. package/esm2020/src/lib/types/pcm.types.mjs +0 -2
  67. package/esm2020/v2/services/context-definition-api.service.mjs +0 -65
  68. package/esm2020/v2/services/procedures-admin-api.service.mjs +0 -82
  69. package/esm2020/v2/services/procedures-api.service.mjs +0 -44
  70. package/esm2020/v2/services/rule-groups-admin-api.service.mjs +0 -62
  71. package/esm2020/v2/services/rules-admin-api.service.mjs +0 -95
  72. package/esm2020/v2/services/rules-api.service.mjs +0 -36
  73. package/esm2020/v2/services/scripts-api.service.mjs +0 -23
  74. package/esm2020/v2/services/ui-definitions-api.service.mjs +0 -68
  75. package/esm2020/v2/services/ui-templates-api.service.mjs +0 -286
  76. package/src/lib/services/product-api.service.d.ts +0 -31
  77. package/v2/services/procedures-admin-api.service.d.ts +0 -23
  78. package/v2/services/procedures-api.service.d.ts +0 -15
  79. package/v2/services/rule-groups-admin-api.service.d.ts +0 -18
  80. package/v2/services/rules-admin-api.service.d.ts +0 -22
  81. package/v2/services/rules-api.service.d.ts +0 -11
  82. package/v2/services/scripts-api.service.d.ts +0 -11
  83. /package/{src/lib → v2}/services/flows-api.service.d.ts +0 -0
  84. /package/{src/lib → v2}/services/pcm-api.service.d.ts +0 -0
  85. /package/{src/lib → v2}/services/salesforce-api.service.d.ts +0 -0
  86. /package/{src/lib → v2}/services/shopping-cart-settings-api.service.d.ts +0 -0
  87. /package/{src/lib → v2}/types/dto/configuration-settings-dto.types.d.ts +0 -0
  88. /package/{src/lib → v2}/types/pcm.types.d.ts +0 -0
@@ -0,0 +1,83 @@
1
+ import { HttpParams } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@veloceapps/core";
5
+ export class SalesforceApiService {
6
+ constructor(httpService) {
7
+ this.httpService = httpService;
8
+ this.SERVICE_URL = '/services/v2/proxy';
9
+ }
10
+ query(searchRequest, objectName, options) {
11
+ return this.httpService.api({
12
+ method: 'post',
13
+ body: { ...searchRequest, count: searchRequest.count || 100 },
14
+ url: `${this.SERVICE_URL}/query/${objectName}`,
15
+ ...options,
16
+ });
17
+ }
18
+ queryObjects(search, options) {
19
+ let params = new HttpParams();
20
+ if (search) {
21
+ params = params.append('search', search);
22
+ }
23
+ return this.httpService.api({
24
+ url: `${this.SERVICE_URL}/query`,
25
+ params,
26
+ ...options,
27
+ });
28
+ }
29
+ search(req, options) {
30
+ return this.httpService.api({
31
+ url: `${this.SERVICE_URL}/rest/search`,
32
+ params: { q: req.searchString },
33
+ ...options,
34
+ });
35
+ }
36
+ describeObject(objectName, options) {
37
+ const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;
38
+ return this.httpService.api({ url: methodUrl, ...options });
39
+ }
40
+ describeField(objectName, fieldName, options) {
41
+ const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields/${fieldName}`;
42
+ return this.httpService.api({ url: methodUrl, ...options });
43
+ }
44
+ describe2(objectName, fields, options) {
45
+ const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;
46
+ return this.httpService.api({ method: 'post', url: methodUrl, body: fields, ...options });
47
+ }
48
+ apexGetRequest(path, params, options) {
49
+ // this line is needed because HttpParams instance from Integration behaves wrong in studio instance of Angular
50
+ const httpParams = new HttpParams({ fromString: params.toString() });
51
+ return this.httpService.api({ url: `${this.SERVICE_URL}/apex${path}`, params: httpParams, ...options });
52
+ }
53
+ apexPostRequest(path, body, options) {
54
+ return this.httpService.api({
55
+ method: 'post',
56
+ body,
57
+ url: `${this.SERVICE_URL}/apex${path}`,
58
+ ...options,
59
+ });
60
+ }
61
+ restGetRequest(path, params, options) {
62
+ const httpParams = new HttpParams({ fromString: params.toString() });
63
+ return this.httpService.api({ url: `${this.SERVICE_URL}/rest${path}`, params: httpParams, ...options });
64
+ }
65
+ getGlobalPicklists() {
66
+ return this.httpService.api({
67
+ method: 'get',
68
+ url: `${this.SERVICE_URL}/globalvalueset`,
69
+ });
70
+ }
71
+ getGlobalPicklistValues(id) {
72
+ return this.httpService.api({
73
+ method: 'get',
74
+ url: `${this.SERVICE_URL}/globalvalueset/${id}/values`,
75
+ });
76
+ }
77
+ }
78
+ SalesforceApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesforceApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
79
+ SalesforceApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesforceApiService });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesforceApiService, decorators: [{
81
+ type: Injectable
82
+ }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNmb3JjZS1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3YyL3NlcnZpY2VzL3NhbGVzZm9yY2UtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWEzQyxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQW9CLFdBQTRCO1FBQTVCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUYvQixnQkFBVyxHQUFHLG9CQUFvQixDQUFDO0lBRUQsQ0FBQztJQUU3QyxLQUFLLENBQ1YsYUFBNEIsRUFDNUIsVUFBa0IsRUFDbEIsT0FBd0M7UUFFeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztZQUMxQixNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxFQUFFLEdBQUcsYUFBYSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxJQUFJLEdBQUcsRUFBRTtZQUM3RCxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxVQUFVLFVBQVUsRUFBRTtZQUM5QyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQWUsRUFBRSxPQUF3QztRQUMzRSxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzFDO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztZQUMxQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxRQUFRO1lBQ2hDLE1BQU07WUFDTixHQUFHLE9BQU87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Q0FBQztJQUNMLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxFQUFVO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7WUFDMUIsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxtQkFBbUIsRUFBRSxTQUFTO1NBQ3ZELENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQXpHVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJhc2VIdHRwU2VydmljZSxcbiAgR2xvYmFsUGlja2xpc3QsXG4gIEdsb2JhbFBpY2tsaXN0VmFsdWUsXG4gIEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyxcbiAgU2FsZXNmb3JjZUZpZWxkLFxuICBTYWxlc2ZvcmNlT2JqZWN0LFxuICBTZWFyY2hSZXF1ZXN0LFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNhbGVzZm9yY2VBcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBTRVJWSUNFX1VSTCA9ICcvc2VydmljZXMvdjIvcHJveHknO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEJhc2VIdHRwU2VydmljZSkge31cblxuICBwdWJsaWMgcXVlcnk8VD4oXG4gICAgc2VhcmNoUmVxdWVzdDogU2VhcmNoUmVxdWVzdCxcbiAgICBvYmplY3ROYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyxcbiAgKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBib2R5OiB7IC4uLnNlYXJjaFJlcXVlc3QsIGNvdW50OiBzZWFyY2hSZXF1ZXN0LmNvdW50IHx8IDEwMCB9LFxuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9xdWVyeS8ke29iamVjdE5hbWV9YCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcXVlcnlPYmplY3RzKHNlYXJjaD86IHN0cmluZywgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyk6IE9ic2VydmFibGU8U2FsZXNmb3JjZU9iamVjdFtdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKHNlYXJjaCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoJywgc2VhcmNoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9xdWVyeWAsXG4gICAgICBwYXJhbXMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaDxUID0gYW55PihcbiAgICByZXE6IHsgc2VhcmNoU3RyaW5nOiBzdHJpbmcgfSxcbiAgICBvcHRpb25zPzogSHR0cFJlcXVlc3RDb25maWd1cmFibGVPcHRpb25zLFxuICApOiBPYnNlcnZhYmxlPHsgc2VhcmNoUmVjb3JkczogVFtdIH0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9yZXN0L3NlYXJjaGAsXG4gICAgICBwYXJhbXM6IHsgcTogcmVxLnNlYXJjaFN0cmluZyB9LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkZXNjcmliZU9iamVjdChvYmplY3ROYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwUmVxdWVzdENvbmZpZ3VyYWJsZU9wdGlvbnMpOiBPYnNlcnZhYmxlPFNhbGVzZm9yY2VGaWVsZFtdPiB7XG4gICAgY29uc3QgbWV0aG9kVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH0vZGVzY3JpYmUvJHtvYmplY3ROYW1lfS9maWVsZHNgO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBtZXRob2RVcmwsIC4uLm9wdGlvbnMgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVzY3JpYmVGaWVsZChcbiAgICBvYmplY3ROYW1lOiBzdHJpbmcsXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyxcbiAgKTogT2JzZXJ2YWJsZTxTYWxlc2ZvcmNlRmllbGQ+IHtcbiAgICBjb25zdCBtZXRob2RVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9kZXNjcmliZS8ke29iamVjdE5hbWV9L2ZpZWxkcy8ke2ZpZWxkTmFtZX1gO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBtZXRob2RVcmwsIC4uLm9wdGlvbnMgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVzY3JpYmUyPFQ+KG9iamVjdE5hbWU6IHN0cmluZywgZmllbGRzOiBzdHJpbmdbXSwgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IG1ldGhvZFVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9L2Rlc2NyaWJlLyR7b2JqZWN0TmFtZX0vZmllbGRzYDtcblxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IG1ldGhvZFVybCwgYm9keTogZmllbGRzLCAuLi5vcHRpb25zIH0pO1xuICB9XG5cbiAgcHVibGljIGFwZXhHZXRSZXF1ZXN0PFQ+KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBwYXJhbXM6IEh0dHBQYXJhbXMgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIG9wdGlvbnM/OiBIdHRwUmVxdWVzdENvbmZpZ3VyYWJsZU9wdGlvbnMsXG4gICk6IE9ic2VydmFibGU8VD4ge1xuICAgIC8vIHRoaXMgbGluZSBpcyBuZWVkZWQgYmVjYXVzZSBIdHRwUGFyYW1zIGluc3RhbmNlIGZyb20gSW50ZWdyYXRpb24gYmVoYXZlcyB3cm9uZyBpbiBzdHVkaW8gaW5zdGFuY2Ugb2YgQW5ndWxhclxuICAgIGNvbnN0IGh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7IGZyb21TdHJpbmc6IHBhcmFtcy50b1N0cmluZygpIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9hcGV4JHtwYXRofWAsIHBhcmFtczogaHR0cFBhcmFtcywgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhcGV4UG9zdFJlcXVlc3Q8VCwgUz4ocGF0aDogc3RyaW5nLCBib2R5OiBTLCBvcHRpb25zPzogSHR0cFJlcXVlc3RDb25maWd1cmFibGVPcHRpb25zKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keSxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vYXBleCR7cGF0aH1gLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZXN0R2V0UmVxdWVzdDxUPihcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgcGFyYW1zOiBIdHRwUGFyYW1zIHwgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBvcHRpb25zPzogSHR0cFJlcXVlc3RDb25maWd1cmFibGVPcHRpb25zLFxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoeyBmcm9tU3RyaW5nOiBwYXJhbXMudG9TdHJpbmcoKSB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoeyB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9L3Jlc3Qke3BhdGh9YCwgcGFyYW1zOiBodHRwUGFyYW1zLCAuLi5vcHRpb25zIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEdsb2JhbFBpY2tsaXN0cygpOiBPYnNlcnZhYmxlPEdsb2JhbFBpY2tsaXN0W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vZ2xvYmFsdmFsdWVzZXRgLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEdsb2JhbFBpY2tsaXN0VmFsdWVzKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEdsb2JhbFBpY2tsaXN0VmFsdWVbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9nbG9iYWx2YWx1ZXNldC8ke2lkfS92YWx1ZXNgLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -6,7 +6,7 @@ import * as i1 from "@veloceapps/core";
6
6
  export class ScriptsAdminApiService {
7
7
  constructor(baseHttpService) {
8
8
  this.baseHttpService = baseHttpService;
9
- this.serviceUrl = '/v2/admin/scripts';
9
+ this.serviceUrl = '/admin/v2/functions/scripts';
10
10
  this.fetchScripts$ = () => {
11
11
  return this.baseHttpService.api({ url: `${this.serviceUrl}` });
12
12
  };
@@ -65,6 +65,14 @@ export class ScriptsAdminApiService {
65
65
  method: 'patch',
66
66
  });
67
67
  };
68
+ this.execute$ = (body) => {
69
+ return this.baseHttpService.api({
70
+ url: `${this.serviceUrl}/execute`,
71
+ method: 'post',
72
+ body,
73
+ errorHandler: () => null,
74
+ });
75
+ };
68
76
  }
69
77
  }
70
78
  ScriptsAdminApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScriptsAdminApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -72,4 +80,4 @@ ScriptsAdminApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0
72
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScriptsAdminApiService, decorators: [{
73
81
  type: Injectable
74
82
  }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0cy1hZG1pbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3YyL3NlcnZpY2VzL3NjcmlwdHMtYWRtaW4tYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFJckMsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFGbkMsZUFBVSxHQUFXLG1CQUFtQixDQUFDO1FBSW5ELGtCQUFhLEdBQUcsR0FBeUIsRUFBRTtZQUNoRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFXLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUM7UUFFSyxtQkFBYyxHQUFHLENBQUMsVUFBc0IsRUFBRSxJQUFhLEVBQUUsS0FBYyxFQUF3QixFQUFFO1lBQ3RHLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDOUIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQzVCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDeEM7WUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtnQkFDN0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQzthQUMxQztZQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDbEgsQ0FBQyxDQUFDO1FBRUssaUJBQVksR0FBRyxDQUFDLEVBQVUsRUFBNkIsRUFBRTtZQUM5RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFnQixFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLENBQUMsQ0FBQztRQUVLLGtCQUFhLEdBQUcsQ0FBQyxNQUFpQixFQUFzQixFQUFFO1lBQy9ELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQVM7Z0JBQ3RDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3pCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUksRUFBRSxNQUFNO2FBQ2IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUssc0JBQWlCLEdBQUcsQ0FBQyxNQUFjLEVBQTZCLEVBQUU7WUFDdkUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBZ0I7Z0JBQzdDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRTtnQkFDdEMsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsSUFBSSxFQUFFLE1BQU07YUFDYixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFSyx5QkFBb0IsR0FBRyxDQUFDLE1BQXFCLEVBQTZCLEVBQUU7WUFDakYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBZ0I7Z0JBQzdDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRTtnQkFDdEMsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsSUFBSSxFQUFFLE1BQU07YUFDYixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFSyxpQkFBWSxHQUFHLENBQUMsWUFBMEIsRUFBc0IsRUFBRTtZQUN2RSxPQUFPLElBQUksQ0FBQyxlQUFlO2lCQUN4QixHQUFHLENBQUM7Z0JBQ0gsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxZQUFZLENBQUMsRUFBRSxRQUFRO2dCQUNsRCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxJQUFJLEVBQUUsWUFBWTthQUNuQixDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUM7UUFFSyxrQkFBYSxHQUFHLENBQUMsRUFBVSxFQUFzQixFQUFFO1lBQ3hELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQVM7Z0JBQ3RDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFO2dCQUMvQixNQUFNLEVBQUUsUUFBUTthQUNqQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFSyxtQkFBYyxHQUFHLENBQUMsRUFBVSxFQUFzQixFQUFFO1lBQ3pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQVM7Z0JBQ3RDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxVQUFVO2dCQUN2QyxNQUFNLEVBQUUsT0FBTzthQUNoQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7SUFuRXFELENBQUM7O21IQUg3QyxzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VIdHRwU2VydmljZSwgRXhwcmVzc2lvbiwgTmV3U2NyaXB0LCBTY3JpcHQsIFNjcmlwdERldGFpbHMgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENsb25lUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzL2Nsb25lLXJlcXVlc3QudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2NyaXB0c0FkbWluQXBpU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZVVybDogc3RyaW5nID0gJy92Mi9hZG1pbi9zY3JpcHRzJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhc2VIdHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBmZXRjaFNjcmlwdHMkID0gKCk6IE9ic2VydmFibGU8U2NyaXB0W10+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFNjcmlwdFtdPih7IHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfWAgfSk7XG4gIH07XG5cbiAgcHVibGljIHNlYXJjaFNjcmlwdHMkID0gKGV4cHJlc3Npb246IEV4cHJlc3Npb24sIHNraXA/OiBudW1iZXIsIGNvdW50PzogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY3JpcHRbXT4gPT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmICh0eXBlb2Ygc2tpcCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NraXAnLCAnJyArIHNraXApO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGNvdW50ID09PSAnbnVtYmVyJykge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnY291bnQnLCAnJyArIGNvdW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vc2VhcmNoYCwgcGFyYW1zLCBib2R5OiBleHByZXNzaW9uIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaFNjcmlwdCQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8U2NyaXB0RGV0YWlscz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8U2NyaXB0RGV0YWlscz4oeyB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH1gIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBjcmVhdGVTY3JpcHQkID0gKHNjcmlwdDogTmV3U2NyaXB0KTogT2JzZXJ2YWJsZTxTY3JpcHQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFNjcmlwdD4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9YCxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keTogc2NyaXB0LFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVTY3JpcHRNZXRhJCA9IChzY3JpcHQ6IFNjcmlwdCk6IE9ic2VydmFibGU8U2NyaXB0RGV0YWlscz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8U2NyaXB0RGV0YWlscz4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7c2NyaXB0LmlkfWAsXG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgYm9keTogc2NyaXB0LFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVTY3JpcHREZXRhaWxzJCA9IChzY3JpcHQ6IFNjcmlwdERldGFpbHMpOiBPYnNlcnZhYmxlPFNjcmlwdERldGFpbHM+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFNjcmlwdERldGFpbHM+KHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3NjcmlwdC5pZH1gLFxuICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgIGJvZHk6IHNjcmlwdCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgY2xvbmVTY3JpcHQkID0gKGNsb25lUmVxdWVzdDogQ2xvbmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtjbG9uZVJlcXVlc3QuaWR9L2Nsb25lYCxcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIGJvZHk6IGNsb25lUmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuY2xvbmVkUmVjb3JkSWQpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVtb3ZlU2NyaXB0JCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPHN0cmluZz4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9YCxcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHJlc3RvcmVTY3JpcHQkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8c3RyaW5nPih7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH0vcmVzdG9yZWAsXG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgfSk7XG4gIH07XG59XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0cy1hZG1pbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3YyL3NlcnZpY2VzL3NjcmlwdHMtYWRtaW4tYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFJckMsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFGbkMsZUFBVSxHQUFXLDZCQUE2QixDQUFDO1FBSTdELGtCQUFhLEdBQUcsR0FBeUIsRUFBRTtZQUNoRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFXLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUM7UUFFSyxtQkFBYyxHQUFHLENBQUMsVUFBc0IsRUFBRSxJQUFhLEVBQUUsS0FBYyxFQUF3QixFQUFFO1lBQ3RHLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDOUIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQzVCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDeEM7WUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtnQkFDN0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQzthQUMxQztZQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENB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N0Msc0JBQXNCO3VIQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlSHR0cFNlcnZpY2UsIEV4cHJlc3Npb24sIE5ld1NjcmlwdCwgU2NyaXB0LCBTY3JpcHREZXRhaWxzLCBTY3JpcHRFeGVjdXRlUmVxdWVzdCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2xvbmVSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMvY2xvbmUtcmVxdWVzdC50eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTY3JpcHRzQWRtaW5BcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlVXJsOiBzdHJpbmcgPSAnL2FkbWluL3YyL2Z1bmN0aW9ucy9zY3JpcHRzJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhc2VIdHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBmZXRjaFNjcmlwdHMkID0gKCk6IE9ic2VydmFibGU8U2NyaXB0W10+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFNjcmlwdFtdPih7IHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfWAgfSk7XG4gIH07XG5cbiAgcHVibGljIHNlYXJjaFNjcmlwdHMkID0gKGV4cHJlc3Npb246IEV4cHJlc3Npb24sIHNraXA/OiBudW1iZXIsIGNvdW50PzogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY3JpcHRbXT4gPT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmICh0eXBlb2Ygc2tpcCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NraXAnLCAnJyArIHNraXApO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGNvdW50ID09PSAnbnVtYmVyJykge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnY291bnQnLCAnJyArIGNvdW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vc2VhcmNoYCwgcGFyYW1zLCBib2R5OiBleHByZXNzaW9uIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaFNjcmlwdCQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8U2NyaXB0RGV0YWlscz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8U2NyaXB0RGV0YWlscz4oeyB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH1gIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBjcmVhdGVTY3JpcHQkID0gKHNjcmlwdDogTmV3U2NyaXB0KTogT2JzZXJ2YWJsZTxTY3JpcHQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFNjcmlwdD4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9YCxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keTogc2NyaXB0LFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVTY3JpcHRNZXRhJCA9IChzY3JpcHQ6IFNjcmlwdCk6IE9ic2VydmFibGU8U2NyaXB0RGV0YWlscz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8U2NyaXB0RGV0YWlscz4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7c2NyaXB0LmlkfWAsXG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgYm9keTogc2NyaXB0LFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVTY3JpcHREZXRhaWxzJCA9IChzY3JpcHQ6IFNjcmlwdERldGFpbHMpOiBPYnNlcnZhYmxlPFNjcmlwdERldGFpbHM+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFNjcmlwdERldGFpbHM+KHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3NjcmlwdC5pZH1gLFxuICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgIGJvZHk6IHNjcmlwdCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgY2xvbmVTY3JpcHQkID0gKGNsb25lUmVxdWVzdDogQ2xvbmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtjbG9uZVJlcXVlc3QuaWR9L2Nsb25lYCxcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIGJvZHk6IGNsb25lUmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuY2xvbmVkUmVjb3JkSWQpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVtb3ZlU2NyaXB0JCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPHN0cmluZz4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9YCxcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHJlc3RvcmVTY3JpcHQkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8c3RyaW5nPih7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH0vcmVzdG9yZWAsXG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGV4ZWN1dGUkID0gKGJvZHk6IFNjcmlwdEV4ZWN1dGVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9leGVjdXRlYCxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keSxcbiAgICAgIGVycm9ySGFuZGxlcjogKCkgPT4gbnVsbCxcbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { parseJsonSafely } from '@veloceapps/core';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./configuration-settings-api.service";
6
+ export class ShoppingCartSettingsApiService {
7
+ constructor(configurationSettingsApiService) {
8
+ this.configurationSettingsApiService = configurationSettingsApiService;
9
+ this.shoppingCartSettingsKey = 'shopping-cart';
10
+ }
11
+ getSetting(id) {
12
+ return this.fetchSettings().pipe(map((settings) => parseJsonSafely(settings?.value, [])), map(settings => settings.find(setting => setting.id == id)));
13
+ }
14
+ fetchSettings() {
15
+ return this.configurationSettingsApiService.fetchSetting(this.shoppingCartSettingsKey, { skipErrorHandler: true });
16
+ }
17
+ getSettingsMap() {
18
+ return this.fetchSettings().pipe(map((settings) => parseJsonSafely(settings?.value, [])), map((settings) => settings.reduce((acc, setting) => {
19
+ return { ...acc, [setting.id]: setting.properties };
20
+ }, {})));
21
+ }
22
+ }
23
+ ShoppingCartSettingsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ShoppingCartSettingsApiService, deps: [{ token: i1.ConfigurationSettingsApiService }], target: i0.ɵɵFactoryTarget.Injectable });
24
+ ShoppingCartSettingsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ShoppingCartSettingsApiService });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ShoppingCartSettingsApiService, decorators: [{
26
+ type: Injectable
27
+ }], ctorParameters: function () { return [{ type: i1.ConfigurationSettingsApiService }]; } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcHBpbmctY2FydC1zZXR0aW5ncy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3YyL3NlcnZpY2VzL3Nob3BwaW5nLWNhcnQtc2V0dGluZ3MtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXlCLGVBQWUsRUFBNkMsTUFBTSxrQkFBa0IsQ0FBQztBQUVySCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUlyQyxNQUFNLE9BQU8sOEJBQThCO0lBR3pDLFlBQW9CLCtCQUFnRTtRQUFoRSxvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWlDO1FBRm5FLDRCQUF1QixHQUFHLGVBQWUsQ0FBQztJQUU0QixDQUFDO0lBRWpGLFVBQVUsQ0FBQyxFQUFVO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDOUIsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUF5QixFQUFFLENBQUMsZUFBZSxDQUF3QixRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ3JHLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQzVELENBQUM7SUFDSixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQzlCLEdBQUcsQ0FBQyxDQUFDLFFBQXNDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBd0IsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUM1RyxHQUFHLENBQUMsQ0FBQyxRQUErQixFQUFFLEVBQUUsQ0FDdEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUMvQixPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RELENBQUMsRUFBRSxFQUEwQixDQUFDLENBQy9CLENBQ0YsQ0FBQztJQUNKLENBQUM7OzJIQXpCVSw4QkFBOEI7K0hBQTlCLDhCQUE4QjsyRkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNldHRpbmdzLCBwYXJzZUpzb25TYWZlbHksIFNob3BwaW5nQ2FydFNldHRpbmcsIFNob3BwaW5nQ2FydFNldHRpbmdzIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2V0dGluZ3NBcGlTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXNldHRpbmdzLWFwaS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNob3BwaW5nQ2FydFNldHRpbmdzQXBpU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2hvcHBpbmdDYXJ0U2V0dGluZ3NLZXkgPSAnc2hvcHBpbmctY2FydCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWd1cmF0aW9uU2V0dGluZ3NBcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uU2V0dGluZ3NBcGlTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBnZXRTZXR0aW5nKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNob3BwaW5nQ2FydFNldHRpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaFNldHRpbmdzKCkucGlwZShcbiAgICAgIG1hcCgoc2V0dGluZ3MpOiBTaG9wcGluZ0NhcnRTZXR0aW5nW10gPT4gcGFyc2VKc29uU2FmZWx5PFNob3BwaW5nQ2FydFNldHRpbmdbXT4oc2V0dGluZ3M/LnZhbHVlLCBbXSkpLFxuICAgICAgbWFwKHNldHRpbmdzID0+IHNldHRpbmdzLmZpbmQoc2V0dGluZyA9PiBzZXR0aW5nLmlkID09IGlkKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaFNldHRpbmdzKCk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvblNldHRpbmdzIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TZXR0aW5nc0FwaVNlcnZpY2UuZmV0Y2hTZXR0aW5nKHRoaXMuc2hvcHBpbmdDYXJ0U2V0dGluZ3NLZXksIHsgc2tpcEVycm9ySGFuZGxlcjogdHJ1ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZXR0aW5nc01hcCgpOiBPYnNlcnZhYmxlPFNob3BwaW5nQ2FydFNldHRpbmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hTZXR0aW5ncygpLnBpcGUoXG4gICAgICBtYXAoKHNldHRpbmdzOiBDb25maWd1cmF0aW9uU2V0dGluZ3MgfCBudWxsKSA9PiBwYXJzZUpzb25TYWZlbHk8U2hvcHBpbmdDYXJ0U2V0dGluZ1tdPihzZXR0aW5ncz8udmFsdWUsIFtdKSksXG4gICAgICBtYXAoKHNldHRpbmdzOiBTaG9wcGluZ0NhcnRTZXR0aW5nW10pID0+XG4gICAgICAgIHNldHRpbmdzLnJlZHVjZSgoYWNjLCBzZXR0aW5nKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBbc2V0dGluZy5pZF06IHNldHRpbmcucHJvcGVydGllcyB9O1xuICAgICAgICB9LCB7fSBhcyBTaG9wcGluZ0NhcnRTZXR0aW5ncyksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,68 @@
1
+ import { HttpParams } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { map } from 'rxjs';
4
+ import { newUiDefinitionToDTO, uiDefinitionFromDTO, uiDefinitionToDTO } from '../utils/ui-definition.utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@veloceapps/core";
7
+ export class UIDefinitionsAdminApiService {
8
+ constructor(baseHttpService) {
9
+ this.baseHttpService = baseHttpService;
10
+ this.serviceUrl = '/admin/v2/uidefinitions';
11
+ }
12
+ fetchAll$(params) {
13
+ let httpParams = new HttpParams();
14
+ if (params?.productId != null) {
15
+ httpParams = httpParams.set('productId', params.productId);
16
+ }
17
+ if (params?.defaultUIDefinitionId != null) {
18
+ httpParams = httpParams.set('defaultUIDefinitionId', params.defaultUIDefinitionId);
19
+ }
20
+ return this.baseHttpService
21
+ .api({
22
+ method: 'get',
23
+ url: this.serviceUrl,
24
+ params: httpParams,
25
+ })
26
+ .pipe(map(containers => containers.map(uiDefinitionFromDTO)));
27
+ }
28
+ fetch$(id) {
29
+ return this.baseHttpService
30
+ .api({
31
+ method: 'get',
32
+ url: `${this.serviceUrl}/${id}`,
33
+ })
34
+ .pipe(map(container => uiDefinitionFromDTO({ ...container, id })));
35
+ }
36
+ create$(uiDefinitionContainer) {
37
+ const dto = newUiDefinitionToDTO(uiDefinitionContainer);
38
+ return this.baseHttpService
39
+ .api({
40
+ method: 'post',
41
+ url: this.serviceUrl,
42
+ body: dto,
43
+ })
44
+ .pipe(map(container => uiDefinitionFromDTO(container)));
45
+ }
46
+ update$(uiDefinitionContainer) {
47
+ const dto = uiDefinitionToDTO(uiDefinitionContainer);
48
+ return this.baseHttpService
49
+ .api({
50
+ method: 'put',
51
+ url: `${this.serviceUrl}/${uiDefinitionContainer.id}`,
52
+ body: dto,
53
+ })
54
+ .pipe(map(container => uiDefinitionFromDTO(container)));
55
+ }
56
+ delete$(id) {
57
+ return this.baseHttpService.api({
58
+ method: 'delete',
59
+ url: `${this.serviceUrl}/${id}`,
60
+ });
61
+ }
62
+ }
63
+ UIDefinitionsAdminApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UIDefinitionsAdminApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
64
+ UIDefinitionsAdminApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UIDefinitionsAdminApiService });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UIDefinitionsAdminApiService, decorators: [{
66
+ type: Injectable
67
+ }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbnMtYWRtaW4tYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS92Mi9zZXJ2aWNlcy91aS1kZWZpbml0aW9ucy1hZG1pbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFHNUcsTUFBTSxPQUFPLDRCQUE0QjtJQUd2QyxZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFGbkMsZUFBVSxHQUFXLHlCQUF5QixDQUFDO0lBRVQsQ0FBQztJQUVqRCxTQUFTLENBQUMsTUFHaEI7UUFDQyxJQUFJLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLElBQUksTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLEVBQUU7WUFDN0IsVUFBVSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1RDtRQUNELElBQUksTUFBTSxFQUFFLHFCQUFxQixJQUFJLElBQUksRUFBRTtZQUN6QyxVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUNwRjtRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWU7YUFDeEIsR0FBRyxDQUE2QjtZQUMvQixNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUNwQixNQUFNLEVBQUUsVUFBVTtTQUNuQixDQUFDO2FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxFQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGVBQWU7YUFDeEIsR0FBRyxDQUFDO1lBQ0gsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRTtTQUNoQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsR0FBRyxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLE9BQU8sQ0FBQyxxQkFBK0M7UUFDNUQsTUFBTSxHQUFHLEdBQUcsb0JBQW9CLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV4RCxPQUFPLElBQUksQ0FBQyxlQUFlO2FBQ3hCLEdBQUcsQ0FBMkI7WUFDN0IsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDcEIsSUFBSSxFQUFFLEdBQUc7U0FDVixDQUFDO2FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sT0FBTyxDQUFDLHFCQUE0QztRQUN6RCxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXJELE9BQU8sSUFBSSxDQUFDLGVBQWU7YUFDeEIsR0FBRyxDQUEyQjtZQUM3QixNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUkscUJBQXFCLENBQUMsRUFBRSxFQUFFO1lBQ3JELElBQUksRUFBRSxHQUFHO1NBQ1YsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLE9BQU8sQ0FBQyxFQUFVO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7WUFDOUIsTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7eUhBaEVVLDRCQUE0Qjs2SEFBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUh0dHBTZXJ2aWNlLCBOZXdVSURlZmluaXRpb25Db250YWluZXIsIFVJRGVmaW5pdGlvbkNvbnRhaW5lciB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVSURlZmluaXRpb25Db250YWluZXJEVE8gfSBmcm9tICcuLi90eXBlcy9kdG8vdWktZGVmaW5pdGlvbi1kdG8udHlwZXMnO1xuaW1wb3J0IHsgbmV3VWlEZWZpbml0aW9uVG9EVE8sIHVpRGVmaW5pdGlvbkZyb21EVE8sIHVpRGVmaW5pdGlvblRvRFRPIH0gZnJvbSAnLi4vdXRpbHMvdWktZGVmaW5pdGlvbi51dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVSURlZmluaXRpb25zQWRtaW5BcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlVXJsOiBzdHJpbmcgPSAnL2FkbWluL3YyL3VpZGVmaW5pdGlvbnMnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZUh0dHBTZXJ2aWNlOiBCYXNlSHR0cFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGZldGNoQWxsJChwYXJhbXM/OiB7XG4gICAgcHJvZHVjdElkPzogc3RyaW5nO1xuICAgIGRlZmF1bHRVSURlZmluaXRpb25JZD86IHN0cmluZztcbiAgfSk6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uQ29udGFpbmVyW10+IHtcbiAgICBsZXQgaHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKHBhcmFtcz8ucHJvZHVjdElkICE9IG51bGwpIHtcbiAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldCgncHJvZHVjdElkJywgcGFyYW1zLnByb2R1Y3RJZCk7XG4gICAgfVxuICAgIGlmIChwYXJhbXM/LmRlZmF1bHRVSURlZmluaXRpb25JZCAhPSBudWxsKSB7XG4gICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5zZXQoJ2RlZmF1bHRVSURlZmluaXRpb25JZCcsIHBhcmFtcy5kZWZhdWx0VUlEZWZpbml0aW9uSWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaTxVSURlZmluaXRpb25Db250YWluZXJEVE9bXT4oe1xuICAgICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgICB1cmw6IHRoaXMuc2VydmljZVVybCxcbiAgICAgICAgcGFyYW1zOiBodHRwUGFyYW1zLFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChjb250YWluZXJzID0+IGNvbnRhaW5lcnMubWFwKHVpRGVmaW5pdGlvbkZyb21EVE8pKSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2gkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVJRGVmaW5pdGlvbkNvbnRhaW5lcj4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAsXG4gICAgICB9KVxuICAgICAgLnBpcGUobWFwKGNvbnRhaW5lciA9PiB1aURlZmluaXRpb25Gcm9tRFRPKHsgLi4uY29udGFpbmVyLCBpZCB9KSkpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZSQodWlEZWZpbml0aW9uQ29udGFpbmVyOiBOZXdVSURlZmluaXRpb25Db250YWluZXIpOiBPYnNlcnZhYmxlPFVJRGVmaW5pdGlvbkNvbnRhaW5lcj4ge1xuICAgIGNvbnN0IGR0byA9IG5ld1VpRGVmaW5pdGlvblRvRFRPKHVpRGVmaW5pdGlvbkNvbnRhaW5lcik7XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8VUlEZWZpbml0aW9uQ29udGFpbmVyRFRPPih7XG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICB1cmw6IHRoaXMuc2VydmljZVVybCxcbiAgICAgICAgYm9keTogZHRvLFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChjb250YWluZXIgPT4gdWlEZWZpbml0aW9uRnJvbURUTyhjb250YWluZXIpKSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlJCh1aURlZmluaXRpb25Db250YWluZXI6IFVJRGVmaW5pdGlvbkNvbnRhaW5lcik6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uQ29udGFpbmVyPiB7XG4gICAgY29uc3QgZHRvID0gdWlEZWZpbml0aW9uVG9EVE8odWlEZWZpbml0aW9uQ29udGFpbmVyKTtcblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaTxVSURlZmluaXRpb25Db250YWluZXJEVE8+KHtcbiAgICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dWlEZWZpbml0aW9uQ29udGFpbmVyLmlkfWAsXG4gICAgICAgIGJvZHk6IGR0byxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAoY29udGFpbmVyID0+IHVpRGVmaW5pdGlvbkZyb21EVE8oY29udGFpbmVyKSkpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZSQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,286 @@
1
+ import { HttpParams } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { catchError, forkJoin, map, noop, of, switchMap } from 'rxjs';
4
+ import { fromUIComponentStoryDTO } from '../utils/ui-template.utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@veloceapps/core";
7
+ export class UITemplatesAdminApiService {
8
+ constructor(baseHttpService) {
9
+ this.baseHttpService = baseHttpService;
10
+ this.serviceUrl = '/admin/v2/uitemplates';
11
+ this.fetchTemplates$ = (name) => {
12
+ let params = new HttpParams();
13
+ if (name) {
14
+ params = params.append('name', name);
15
+ }
16
+ return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });
17
+ };
18
+ this.createTemplate$ = (template) => {
19
+ return this.baseHttpService.api({
20
+ method: 'post',
21
+ url: `${this.serviceUrl}`,
22
+ body: template,
23
+ });
24
+ };
25
+ this.updateTemplate$ = (template) => {
26
+ return this.baseHttpService.api({
27
+ method: 'put',
28
+ url: `${this.serviceUrl}/${template.id}`,
29
+ body: template,
30
+ });
31
+ };
32
+ this.duplicateTemplate$ = (template, cloneRequest) => {
33
+ return this.baseHttpService
34
+ .api({
35
+ url: `${this.serviceUrl}/${template.id}/clone`,
36
+ method: 'post',
37
+ body: cloneRequest,
38
+ })
39
+ .pipe(map(response => response.clonedRecordId));
40
+ };
41
+ this.removeTemplate$ = (id) => {
42
+ return this.baseHttpService.api({
43
+ method: 'delete',
44
+ url: `${this.serviceUrl}/${id}`,
45
+ });
46
+ };
47
+ this.restoreTemplate$ = (id) => {
48
+ return this.baseHttpService.api({
49
+ method: 'patch',
50
+ url: `${this.serviceUrl}/${id}`,
51
+ });
52
+ };
53
+ this.searchTemplates$ = (data) => {
54
+ return this.baseHttpService.api({
55
+ method: 'post',
56
+ url: `${this.serviceUrl}/search`,
57
+ params: data.params,
58
+ body: data.expression,
59
+ });
60
+ };
61
+ this.fetchComponents$ = (templateId, name) => {
62
+ let params = new HttpParams();
63
+ if (name) {
64
+ params = params.append('name', name);
65
+ }
66
+ return this.baseHttpService.api({
67
+ url: `${this.serviceUrl}/${templateId}/components`,
68
+ params,
69
+ });
70
+ };
71
+ this.fetchComponent$ = (templateId, componentId) => {
72
+ return this.baseHttpService.api({
73
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}`,
74
+ });
75
+ };
76
+ this.createComponent$ = (component) => {
77
+ return this.baseHttpService.api({
78
+ method: 'post',
79
+ url: `${this.serviceUrl}/${component.uiTemplateId}/components`,
80
+ body: component,
81
+ });
82
+ };
83
+ this.updateComponent$ = (component) => {
84
+ return this.baseHttpService.api({
85
+ method: 'put',
86
+ url: `${this.serviceUrl}/${component.uiTemplateId}/components/${component.id}`,
87
+ body: component,
88
+ });
89
+ };
90
+ this.duplicateComponent$ = (component, cloneRequest) => {
91
+ return this.baseHttpService
92
+ .api({
93
+ url: `${this.serviceUrl}/${component.uiTemplateId}/components/${component.id}/clone`,
94
+ method: 'post',
95
+ body: cloneRequest,
96
+ })
97
+ .pipe(map(response => response.clonedRecordId));
98
+ };
99
+ this.removeComponent$ = (templateId, componentId) => {
100
+ return this.baseHttpService.api({
101
+ method: 'delete',
102
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}`,
103
+ });
104
+ };
105
+ this.restoreComponent$ = (templateId, componentId) => {
106
+ return this.baseHttpService.api({
107
+ method: 'patch',
108
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}`,
109
+ });
110
+ };
111
+ this.searchComponents$ = (templateId, data) => {
112
+ return this.baseHttpService.api({
113
+ method: 'post',
114
+ url: `${this.serviceUrl}/${templateId}/components/search`,
115
+ params: data.params,
116
+ body: data.expression,
117
+ });
118
+ };
119
+ this.fetchStoryAttachment = (templateId, componentId, storyId, type) => {
120
+ return this.baseHttpService
121
+ .api({
122
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}/attachments/${type}/file`,
123
+ responseType: 'text',
124
+ errorHandler: noop,
125
+ })
126
+ .pipe(catchError(() => of('')));
127
+ };
128
+ this.convertToComponentStory$ = (templateId, componentId, storyDto) => {
129
+ return forkJoin([
130
+ this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'html'),
131
+ this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'js'),
132
+ this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'css'),
133
+ this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'json'),
134
+ ]).pipe(map(([html, js, css, json]) => ({ html, js, css, json })), map(attachments => fromUIComponentStoryDTO(storyDto, attachments)));
135
+ };
136
+ this.fetchStories$ = (templateId, componentId, name) => {
137
+ let params = new HttpParams();
138
+ if (name) {
139
+ params = params.append('name', name);
140
+ }
141
+ return this.baseHttpService
142
+ .api({
143
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories`,
144
+ params,
145
+ })
146
+ .pipe(switchMap(dtos => {
147
+ if (!dtos.length) {
148
+ return of([]);
149
+ }
150
+ return forkJoin(dtos.map(dto => this.convertToComponentStory$(templateId, componentId, dto)));
151
+ }));
152
+ };
153
+ this.fetchStory$ = (templateId, componentId, storyId) => {
154
+ return this.baseHttpService
155
+ .api({
156
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,
157
+ })
158
+ .pipe(switchMap(dto => this.convertToComponentStory$(templateId, componentId, dto)));
159
+ };
160
+ this.createComponentStory$ = (templateId, story) => {
161
+ return this.baseHttpService.api({
162
+ method: 'post',
163
+ url: `${this.serviceUrl}/${templateId}/components/${story.uiComponentId}/stories`,
164
+ body: story,
165
+ });
166
+ };
167
+ this.updateComponentStory$ = (templateId, story) => {
168
+ const { script, template, styles, section, ...rest } = story;
169
+ return this.baseHttpService
170
+ .api({
171
+ method: 'put',
172
+ url: `${this.serviceUrl}/${templateId}/components/${story.uiComponentId}/stories/${story.id}`,
173
+ body: rest,
174
+ })
175
+ .pipe(map(dto => fromUIComponentStoryDTO(dto, { html: template, js: script, css: styles, json: section })));
176
+ };
177
+ this.duplicateComponentStory$ = (story, cloneRequest) => {
178
+ return this.baseHttpService
179
+ .api({
180
+ url: `${this.serviceUrl}/${story.template}/components/${story.uiComponentId}/stories/${story.id}/clone`,
181
+ method: 'post',
182
+ body: cloneRequest,
183
+ })
184
+ .pipe(map(response => response.clonedRecordId));
185
+ };
186
+ this.deleteComponentStory$ = (templateId, componentId, storyId) => {
187
+ return this.baseHttpService.api({
188
+ method: 'delete',
189
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,
190
+ });
191
+ };
192
+ this.restoreComponentStory$ = (templateId, componentId, storyId) => {
193
+ return this.baseHttpService.api({
194
+ method: 'patch',
195
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,
196
+ });
197
+ };
198
+ this.uploadStoryAttachments$ = (templateId, componentId, storyId, attachments) => {
199
+ const formData = new FormData();
200
+ if (attachments.html != null) {
201
+ formData.append('html', new Blob([attachments.html]), 'story-template.html');
202
+ }
203
+ if (attachments.css != null) {
204
+ formData.append('css', new Blob([attachments.css]), 'story-styles.css');
205
+ }
206
+ if (attachments.js != null) {
207
+ formData.append('js', new Blob([attachments.js]), 'story-script.js');
208
+ }
209
+ if (attachments.json != null) {
210
+ formData.append('json', new Blob([attachments.json]), 'story-section.json');
211
+ }
212
+ return this.baseHttpService.upload({
213
+ method: 'post',
214
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}/attachments`,
215
+ body: formData,
216
+ });
217
+ };
218
+ this.fetchComponentAttachments$ = (templateId, component) => {
219
+ return forkJoin([
220
+ this.fetchComponentAttachmentFile$(templateId, component.id, 'html'),
221
+ this.fetchComponentAttachmentFile$(templateId, component.id, 'js'),
222
+ this.fetchComponentAttachmentFile$(templateId, component.id, 'css'),
223
+ this.fetchComponentAttachmentFile$(templateId, component.id, 'json'),
224
+ ]).pipe(map(([html, js, css, json]) => ({ html, js, css, json })));
225
+ };
226
+ this.fetchComponentsAttachments$ = (templateId) => {
227
+ return this.fetchComponents$(templateId).pipe(switchMap(components => {
228
+ return forkJoin(components.map(component => this.fetchComponentAttachments$(templateId, component)));
229
+ }));
230
+ };
231
+ this.fetchComponentAttachmentFile$ = (templateId, componentId, attachmentType) => {
232
+ return this.baseHttpService
233
+ .api({
234
+ method: 'get',
235
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/attachments/${attachmentType}/file`,
236
+ responseType: 'text',
237
+ errorHandler: noop,
238
+ })
239
+ .pipe(catchError(() => of('')));
240
+ };
241
+ this.uploadComponentAttachments$ = (templateId, componentId, attachments) => {
242
+ const formData = new FormData();
243
+ if (attachments.html != null) {
244
+ formData.append('html', new Blob([attachments.html]), 'template.html');
245
+ }
246
+ if (attachments.css != null) {
247
+ formData.append('css', new Blob([attachments.css]), 'styles.css');
248
+ }
249
+ if (attachments.js != null) {
250
+ formData.append('js', new Blob([attachments.js]), 'script.js');
251
+ }
252
+ if (attachments.json != null) {
253
+ formData.append('json', new Blob([attachments.json]), 'section.json');
254
+ }
255
+ return this.baseHttpService.upload({
256
+ method: 'post',
257
+ url: `${this.serviceUrl}/${templateId}/components/${componentId}/attachments`,
258
+ body: formData,
259
+ });
260
+ };
261
+ }
262
+ getTemplateThumbnailUrl(templateId) {
263
+ return `${this.serviceUrl}/${templateId}/thumbnail/file`;
264
+ }
265
+ attachTemplateThumbnail$(templateId, file) {
266
+ const data = new FormData();
267
+ data.append('thumb', file);
268
+ return this.baseHttpService.upload({
269
+ method: 'post',
270
+ url: `${this.serviceUrl}/${templateId}/thumbnail`,
271
+ body: data,
272
+ });
273
+ }
274
+ removeTemplateThumbnail$(templateId) {
275
+ return this.baseHttpService.api({
276
+ method: 'delete',
277
+ url: `${this.serviceUrl}/${templateId}/thumbnail`,
278
+ });
279
+ }
280
+ }
281
+ UITemplatesAdminApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UITemplatesAdminApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
282
+ UITemplatesAdminApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UITemplatesAdminApiService });
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UITemplatesAdminApiService, decorators: [{
284
+ type: Injectable
285
+ }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGVtcGxhdGVzLWFkbWluLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvdjIvc2VydmljZXMvdWktdGVtcGxhdGVzLWFkbWluLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBR3JFLE1BQU0sT0FBTywwQkFBMEI7SUFHckMsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRm5DLGVBQVUsR0FBVyx1QkFBdUIsQ0FBQztRQUl2RCxvQkFBZSxHQUFHLENBQUMsSUFBYSxFQUE0QixFQUFFO1lBQ25FLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDOUIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ3RDO1lBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBZSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQztRQUVLLG9CQUFlLEdBQUcsQ0FBQyxRQUF1QixFQUEwQixFQUFFO1lBQzNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQWE7Z0JBQzFDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcs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QUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsVUFBa0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztZQUM5QixNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsWUFBWTtTQUNsRCxDQUFDLENBQUM7SUFDTCxDQUFDOzt1SEEvUlUsMEJBQTBCOzJIQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCYXNlSHR0cFNlcnZpY2UsXG4gIENvbXBvbmVudEF0dGFjaG1lbnRzLFxuICBDb21wb25lbnRTdG9yeSxcbiAgQ29tcG9uZW50U3RvcnlBdHRhY2htZW50cyxcbiAgRXhwcmVzc2lvbixcbiAgTmV3Q29tcG9uZW50U3RvcnksXG4gIE5ld1RlbXBsYXRlQ29tcG9uZW50LFxuICBOZXdVSVRlbXBsYXRlLFxuICBUZW1wbGF0ZUF0dGFjaG1lbnRUeXBlLFxuICBUZW1wbGF0ZUNvbXBvbmVudCxcbiAgVUlUZW1wbGF0ZSxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZvcmtKb2luLCBtYXAsIG5vb3AsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsb25lUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzL2Nsb25lLXJlcXVlc3QudHlwZXMnO1xuaW1wb3J0IHsgVUlDb21wb25lbnRTdG9yeURUTyB9IGZyb20gJy4uL3R5cGVzL2R0by91aS10ZW1wbGF0ZS1kdG8udHlwZXMnO1xuaW1wb3J0IHsgZnJvbVVJQ29tcG9uZW50U3RvcnlEVE8gfSBmcm9tICcuLi91dGlscy91aS10ZW1wbGF0ZS51dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVSVRlbXBsYXRlc0FkbWluQXBpU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZVVybDogc3RyaW5nID0gJy9hZG1pbi92Mi91aXRlbXBsYXRlcyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlSHR0cFNlcnZpY2U6IEJhc2VIdHRwU2VydmljZSkge31cblxuICBwdWJsaWMgZmV0Y2hUZW1wbGF0ZXMkID0gKG5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVJVGVtcGxhdGVbXT4gPT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChuYW1lKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCduYW1lJywgbmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxVSVRlbXBsYXRlW10+KHsgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9YCwgcGFyYW1zIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBjcmVhdGVUZW1wbGF0ZSQgPSAodGVtcGxhdGU6IE5ld1VJVGVtcGxhdGUpOiBPYnNlcnZhYmxlPFVJVGVtcGxhdGU+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFVJVGVtcGxhdGU+KHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9YCxcbiAgICAgIGJvZHk6IHRlbXBsYXRlLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVUZW1wbGF0ZSQgPSAodGVtcGxhdGU6IFVJVGVtcGxhdGUpOiBPYnNlcnZhYmxlPFVJVGVtcGxhdGU+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFVJVGVtcGxhdGU+KHtcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZS5pZH1gLFxuICAgICAgYm9keTogdGVtcGxhdGUsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGR1cGxpY2F0ZVRlbXBsYXRlJCA9ICh0ZW1wbGF0ZTogVUlUZW1wbGF0ZSwgY2xvbmVSZXF1ZXN0OiBDbG9uZVJlcXVlc3QpOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlLmlkfS9jbG9uZWAsXG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICBib2R5OiBjbG9uZVJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmNsb25lZFJlY29yZElkKSk7XG4gIH07XG5cbiAgcHVibGljIHJlbW92ZVRlbXBsYXRlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9YCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgcmVzdG9yZVRlbXBsYXRlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH1gLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBzZWFyY2hUZW1wbGF0ZXMkID0gKGRhdGE6IHtcbiAgICBwYXJhbXM/OiBEaWN0aW9uYXJ5PHN0cmluZz47XG4gICAgZXhwcmVzc2lvbj86IEV4cHJlc3Npb247XG4gIH0pOiBPYnNlcnZhYmxlPFVJVGVtcGxhdGVbXT4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vc2VhcmNoYCxcbiAgICAgIHBhcmFtczogZGF0YS5wYXJhbXMsXG4gICAgICBib2R5OiBkYXRhLmV4cHJlc3Npb24sXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGZldGNoQ29tcG9uZW50cyQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBuYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudFtdPiA9PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ25hbWUnLCBuYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFRlbXBsYXRlQ29tcG9uZW50W10+KHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHNgLFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaENvbXBvbmVudCQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBjb21wb25lbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8VGVtcGxhdGVDb21wb25lbnQ+KHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnRJZH1gLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBjcmVhdGVDb21wb25lbnQkID0gKGNvbXBvbmVudDogTmV3VGVtcGxhdGVDb21wb25lbnQpOiBPYnNlcnZhYmxlPFRlbXBsYXRlQ29tcG9uZW50PiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxUZW1wbGF0ZUNvbXBvbmVudD4oe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtjb21wb25lbnQudWlUZW1wbGF0ZUlkfS9jb21wb25lbnRzYCxcbiAgICAgIGJvZHk6IGNvbXBvbmVudCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgdXBkYXRlQ29tcG9uZW50JCA9IChjb21wb25lbnQ6IFRlbXBsYXRlQ29tcG9uZW50KTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8VGVtcGxhdGVDb21wb25lbnQ+KHtcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtjb21wb25lbnQudWlUZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50LmlkfWAsXG4gICAgICBib2R5OiBjb21wb25lbnQsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGR1cGxpY2F0ZUNvbXBvbmVudCQgPSAoY29tcG9uZW50OiBUZW1wbGF0ZUNvbXBvbmVudCwgY2xvbmVSZXF1ZXN0OiBDbG9uZVJlcXVlc3QpOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2NvbXBvbmVudC51aVRlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnQuaWR9L2Nsb25lYCxcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIGJvZHk6IGNsb25lUmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuY2xvbmVkUmVjb3JkSWQpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVtb3ZlQ29tcG9uZW50JCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcsIGNvbXBvbmVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9YCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgcmVzdG9yZUNvbXBvbmVudCQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBjb21wb25lbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9YCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgc2VhcmNoQ29tcG9uZW50cyQgPSAoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIGRhdGE6IHsgcGFyYW1zPzogRGljdGlvbmFyeTxzdHJpbmc+OyBleHByZXNzaW9uPzogRXhwcmVzc2lvbiB9LFxuICApOiBPYnNlcnZhYmxlPFRlbXBsYXRlQ29tcG9uZW50W10+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy9zZWFyY2hgLFxuICAgICAgcGFyYW1zOiBkYXRhLnBhcmFtcyxcbiAgICAgIGJvZHk6IGRhdGEuZXhwcmVzc2lvbixcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgZmV0Y2hTdG9yeUF0dGFjaG1lbnQgPSAoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIGNvbXBvbmVudElkOiBzdHJpbmcsXG4gICAgc3RvcnlJZDogc3RyaW5nLFxuICAgIHR5cGU6IFRlbXBsYXRlQXR0YWNobWVudFR5cGUsXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPHN0cmluZz4oe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9L3N0b3JpZXMvJHtzdG9yeUlkfS9hdHRhY2htZW50cy8ke3R5cGV9L2ZpbGVgLFxuICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgICAgZXJyb3JIYW5kbGVyOiBub29wLFxuICAgICAgfSlcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YoJycpKSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9Db21wb25lbnRTdG9yeSQgPSAoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIGNvbXBvbmVudElkOiBzdHJpbmcsXG4gICAgc3RvcnlEdG86IFVJQ29tcG9uZW50U3RvcnlEVE8sXG4gICk6IE9ic2VydmFibGU8Q29tcG9uZW50U3Rvcnk+ID0+IHtcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgdGhpcy5mZXRjaFN0b3J5QXR0YWNobWVudCh0ZW1wbGF0ZUlkLCBjb21wb25lbnRJZCwgc3RvcnlEdG8uaWQsICdodG1sJyksXG4gICAgICB0aGlzLmZldGNoU3RvcnlBdHRhY2htZW50KHRlbXBsYXRlSWQsIGNvbXBvbmVudElkLCBzdG9yeUR0by5pZCwgJ2pzJyksXG4gICAgICB0aGlzLmZldGNoU3RvcnlBdHRhY2htZW50KHRlbXBsYXRlSWQsIGNvbXBvbmVudElkLCBzdG9yeUR0by5pZCwgJ2NzcycpLFxuICAgICAgdGhpcy5mZXRjaFN0b3J5QXR0YWNobWVudCh0ZW1wbGF0ZUlkLCBjb21wb25lbnRJZCwgc3RvcnlEdG8uaWQsICdqc29uJyksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2h0bWwsIGpzLCBjc3MsIGpzb25dKSA9PiAoeyBodG1sLCBqcywgY3NzLCBqc29uIH0pKSxcbiAgICAgIG1hcChhdHRhY2htZW50cyA9PiBmcm9tVUlDb21wb25lbnRTdG9yeURUTyhzdG9yeUR0bywgYXR0YWNobWVudHMpKSxcbiAgICApO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaFN0b3JpZXMkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgY29tcG9uZW50SWQ6IHN0cmluZywgbmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8Q29tcG9uZW50U3RvcnlbXT4gPT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChuYW1lKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCduYW1lJywgbmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPFVJQ29tcG9uZW50U3RvcnlEVE9bXT4oe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9L3N0b3JpZXNgLFxuICAgICAgICBwYXJhbXMsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChkdG9zID0+IHtcbiAgICAgICAgICBpZiAoIWR0b3MubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZm9ya0pvaW4oZHRvcy5tYXAoZHRvID0+IHRoaXMuY29udmVydFRvQ29tcG9uZW50U3RvcnkkKHRlbXBsYXRlSWQsIGNvbXBvbmVudElkLCBkdG8pKSk7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfTtcblxuICBwdWJsaWMgZmV0Y2hTdG9yeSQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBjb21wb25lbnRJZDogc3RyaW5nLCBzdG9yeUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbXBvbmVudFN0b3J5PiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPFVJQ29tcG9uZW50U3RvcnlEVE8+KHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9zdG9yaWVzLyR7c3RvcnlJZH1gLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHN3aXRjaE1hcChkdG8gPT4gdGhpcy5jb252ZXJ0VG9Db21wb25lbnRTdG9yeSQodGVtcGxhdGVJZCwgY29tcG9uZW50SWQsIGR0bykpKTtcbiAgfTtcblxuICBwdWJsaWMgY3JlYXRlQ29tcG9uZW50U3RvcnkkID0gKHRlbXBsYXRlSWQ6IHN0cmluZywgc3Rvcnk6IE5ld0NvbXBvbmVudFN0b3J5KTogT2JzZXJ2YWJsZTxDb21wb25lbnRTdG9yeT4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8Q29tcG9uZW50U3Rvcnk+KHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke3N0b3J5LnVpQ29tcG9uZW50SWR9L3N0b3JpZXNgLFxuICAgICAgYm9keTogc3RvcnksXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHVwZGF0ZUNvbXBvbmVudFN0b3J5JCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcsIHN0b3J5OiBDb21wb25lbnRTdG9yeSk6IE9ic2VydmFibGU8Q29tcG9uZW50U3Rvcnk+ID0+IHtcbiAgICBjb25zdCB7IHNjcmlwdCwgdGVtcGxhdGUsIHN0eWxlcywgc2VjdGlvbiwgLi4ucmVzdCB9ID0gc3Rvcnk7XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8VUlDb21wb25lbnRTdG9yeURUTz4oe1xuICAgICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7c3RvcnkudWlDb21wb25lbnRJZH0vc3Rvcmllcy8ke3N0b3J5LmlkfWAsXG4gICAgICAgIGJvZHk6IHJlc3QsXG4gICAgICB9KVxuICAgICAgLnBpcGUobWFwKGR0byA9PiBmcm9tVUlDb21wb25lbnRTdG9yeURUTyhkdG8sIHsgaHRtbDogdGVtcGxhdGUsIGpzOiBzY3JpcHQsIGNzczogc3R5bGVzLCBqc29uOiBzZWN0aW9uIH0pKSk7XG4gIH07XG5cbiAgcHVibGljIGR1cGxpY2F0ZUNvbXBvbmVudFN0b3J5JCA9IChzdG9yeTogQ29tcG9uZW50U3RvcnksIGNsb25lUmVxdWVzdDogQ2xvbmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtzdG9yeS50ZW1wbGF0ZX0vY29tcG9uZW50cy8ke3N0b3J5LnVpQ29tcG9uZW50SWR9L3N0b3JpZXMvJHtzdG9yeS5pZH0vY2xvbmVgLFxuICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgYm9keTogY2xvbmVSZXF1ZXN0LFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5jbG9uZWRSZWNvcmRJZCkpO1xuICB9O1xuXG4gIHB1YmxpYyBkZWxldGVDb21wb25lbnRTdG9yeSQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBjb21wb25lbnRJZDogc3RyaW5nLCBzdG9yeUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9L3N0b3JpZXMvJHtzdG9yeUlkfWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHJlc3RvcmVDb21wb25lbnRTdG9yeSQgPSAodGVtcGxhdGVJZDogc3RyaW5nLCBjb21wb25lbnRJZDogc3RyaW5nLCBzdG9yeUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3BhdGNoJyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke3RlbXBsYXRlSWR9L2NvbXBvbmVudHMvJHtjb21wb25lbnRJZH0vc3Rvcmllcy8ke3N0b3J5SWR9YCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgdXBsb2FkU3RvcnlBdHRhY2htZW50cyQgPSAoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIGNvbXBvbmVudElkOiBzdHJpbmcsXG4gICAgc3RvcnlJZDogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzOiBDb21wb25lbnRTdG9yeUF0dGFjaG1lbnRzLFxuICApOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGlmIChhdHRhY2htZW50cy5odG1sICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnaHRtbCcsIG5ldyBCbG9iKFthdHRhY2htZW50cy5odG1sXSksICdzdG9yeS10ZW1wbGF0ZS5odG1sJyk7XG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5jc3MgIT0gbnVsbCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdjc3MnLCBuZXcgQmxvYihbYXR0YWNobWVudHMuY3NzXSksICdzdG9yeS1zdHlsZXMuY3NzJyk7XG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5qcyAhPSBudWxsKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2pzJywgbmV3IEJsb2IoW2F0dGFjaG1lbnRzLmpzXSksICdzdG9yeS1zY3JpcHQuanMnKTtcbiAgICB9XG4gICAgaWYgKGF0dGFjaG1lbnRzLmpzb24gIT0gbnVsbCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdqc29uJywgbmV3IEJsb2IoW2F0dGFjaG1lbnRzLmpzb25dKSwgJ3N0b3J5LXNlY3Rpb24uanNvbicpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS51cGxvYWQoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9L3N0b3JpZXMvJHtzdG9yeUlkfS9hdHRhY2htZW50c2AsXG4gICAgICBib2R5OiBmb3JtRGF0YSxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgZ2V0VGVtcGxhdGVUaHVtYm5haWxVcmwodGVtcGxhdGVJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS90aHVtYm5haWwvZmlsZWA7XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoVGVtcGxhdGVUaHVtYm5haWwkKHRlbXBsYXRlSWQ6IHN0cmluZywgZmlsZTogRmlsZSkge1xuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBkYXRhLmFwcGVuZCgndGh1bWInLCBmaWxlKTtcblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS51cGxvYWQoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS90aHVtYm5haWxgLFxuICAgICAgYm9keTogZGF0YSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVUZW1wbGF0ZVRodW1ibmFpbCQodGVtcGxhdGVJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vdGh1bWJuYWlsYCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaENvbXBvbmVudEF0dGFjaG1lbnRzJCA9IChcbiAgICB0ZW1wbGF0ZUlkOiBzdHJpbmcsXG4gICAgY29tcG9uZW50OiBUZW1wbGF0ZUNvbXBvbmVudCxcbiAgKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50cz4gPT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihbXG4gICAgICB0aGlzLmZldGNoQ29tcG9uZW50QXR0YWNobWVudEZpbGUkKHRlbXBsYXRlSWQsIGNvbXBvbmVudC5pZCwgJ2h0bWwnKSxcbiAgICAgIHRoaXMuZmV0Y2hDb21wb25lbnRBdHRhY2htZW50RmlsZSQodGVtcGxhdGVJZCwgY29tcG9uZW50LmlkLCAnanMnKSxcbiAgICAgIHRoaXMuZmV0Y2hDb21wb25lbnRBdHRhY2htZW50RmlsZSQodGVtcGxhdGVJZCwgY29tcG9uZW50LmlkLCAnY3NzJyksXG4gICAgICB0aGlzLmZldGNoQ29tcG9uZW50QXR0YWNobWVudEZpbGUkKHRlbXBsYXRlSWQsIGNvbXBvbmVudC5pZCwgJ2pzb24nKSxcbiAgICBdKS5waXBlKG1hcCgoW2h0bWwsIGpzLCBjc3MsIGpzb25dKSA9PiAoeyBodG1sLCBqcywgY3NzLCBqc29uIH0pKSk7XG4gIH07XG5cbiAgcHVibGljIGZldGNoQ29tcG9uZW50c0F0dGFjaG1lbnRzJCA9ICh0ZW1wbGF0ZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbXBvbmVudEF0dGFjaG1lbnRzW10+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaENvbXBvbmVudHMkKHRlbXBsYXRlSWQpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoY29tcG9uZW50cyA9PiB7XG4gICAgICAgIHJldHVybiBmb3JrSm9pbihjb21wb25lbnRzLm1hcChjb21wb25lbnQgPT4gdGhpcy5mZXRjaENvbXBvbmVudEF0dGFjaG1lbnRzJCh0ZW1wbGF0ZUlkLCBjb21wb25lbnQpKSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgZmV0Y2hDb21wb25lbnRBdHRhY2htZW50RmlsZSQgPSAoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIGNvbXBvbmVudElkOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudFR5cGU6IFRlbXBsYXRlQXR0YWNobWVudFR5cGUsXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7dGVtcGxhdGVJZH0vY29tcG9uZW50cy8ke2NvbXBvbmVudElkfS9hdHRhY2htZW50cy8ke2F0dGFjaG1lbnRUeXBlfS9maWxlYCxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgIGVycm9ySGFuZGxlcjogbm9vcCxcbiAgICAgIH0pXG4gICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKCcnKSkpO1xuICB9O1xuXG4gIHB1YmxpYyB1cGxvYWRDb21wb25lbnRBdHRhY2htZW50cyQgPSAoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIGNvbXBvbmVudElkOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM6IENvbXBvbmVudEF0dGFjaG1lbnRzLFxuICApOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGlmIChhdHRhY2htZW50cy5odG1sICE9IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnaHRtbCcsIG5ldyBCbG9iKFthdHRhY2htZW50cy5odG1sXSksICd0ZW1wbGF0ZS5odG1sJyk7XG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5jc3MgIT0gbnVsbCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdjc3MnLCBuZXcgQmxvYihbYXR0YWNobWVudHMuY3NzXSksICdzdHlsZXMuY3NzJyk7XG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5qcyAhPSBudWxsKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2pzJywgbmV3IEJsb2IoW2F0dGFjaG1lbnRzLmpzXSksICdzY3JpcHQuanMnKTtcbiAgICB9XG4gICAgaWYgKGF0dGFjaG1lbnRzLmpzb24gIT0gbnVsbCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdqc29uJywgbmV3IEJsb2IoW2F0dGFjaG1lbnRzLmpzb25dKSwgJ3NlY3Rpb24uanNvbicpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS51cGxvYWQoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHt0ZW1wbGF0ZUlkfS9jb21wb25lbnRzLyR7Y29tcG9uZW50SWR9L2F0dGFjaG1lbnRzYCxcbiAgICAgIGJvZHk6IGZvcm1EYXRhLFxuICAgIH0pO1xuICB9O1xufVxuIl19