@hahnpro/hpc-api 2025.2.0 → 2025.2.2

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 (137) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/package.json +6 -10
  3. package/src/index.js +22 -26
  4. package/src/lib/Queue.js +14 -20
  5. package/src/lib/api-base.js +6 -14
  6. package/src/lib/api.js +45 -52
  7. package/src/lib/asset.interface.js +1 -5
  8. package/src/lib/asset.service.js +23 -44
  9. package/src/lib/assettypes.service.js +15 -25
  10. package/src/lib/content.interface.js +5 -14
  11. package/src/lib/content.service.js +35 -61
  12. package/src/lib/data.interface.js +2 -11
  13. package/src/lib/data.service.js +27 -44
  14. package/src/lib/endpoint.interface.js +1 -5
  15. package/src/lib/endpoint.service.js +7 -15
  16. package/src/lib/events.interface.js +1 -5
  17. package/src/lib/events.service.js +7 -15
  18. package/src/lib/flow-deployment.interface.js +1 -5
  19. package/src/lib/flow-deployment.service.js +28 -57
  20. package/src/lib/flow-function.interface.js +1 -5
  21. package/src/lib/flow-function.service.js +9 -19
  22. package/src/lib/flow-module.interface.js +1 -5
  23. package/src/lib/flow-module.service.js +9 -19
  24. package/src/lib/flow.interface.js +1 -5
  25. package/src/lib/flow.service.js +16 -26
  26. package/src/lib/http.service.d.ts +1 -2
  27. package/src/lib/http.service.js +70 -100
  28. package/src/lib/label.interface.js +1 -5
  29. package/src/lib/label.service.js +8 -16
  30. package/src/lib/mock/api-base.mock.js +9 -16
  31. package/src/lib/mock/api.mock.d.ts +24 -22
  32. package/src/lib/mock/api.mock.js +198 -204
  33. package/src/lib/mock/asset.mock.service.js +41 -54
  34. package/src/lib/mock/assetTypes.mock.service.js +30 -44
  35. package/src/lib/mock/content.mock.service.js +40 -44
  36. package/src/lib/mock/data.mock.service.js +43 -48
  37. package/src/lib/mock/endpoint.mock.service.js +8 -16
  38. package/src/lib/mock/events.mock.service.js +7 -15
  39. package/src/lib/mock/flow-deployment.mock.service.js +39 -80
  40. package/src/lib/mock/flow-functions.mock.service.js +23 -32
  41. package/src/lib/mock/flow-modules.mock.service.js +9 -17
  42. package/src/lib/mock/flow.mock.service.js +32 -43
  43. package/src/lib/mock/http.mock.service.d.ts +28 -0
  44. package/src/lib/mock/http.mock.service.js +39 -0
  45. package/src/lib/mock/index.d.ts +1 -0
  46. package/src/lib/mock/index.js +14 -17
  47. package/src/lib/mock/label.mock.service.js +8 -16
  48. package/src/lib/mock/notification.mock.service.js +7 -15
  49. package/src/lib/mock/secret.mock.service.js +15 -23
  50. package/src/lib/mock/task.mock.service.js +15 -23
  51. package/src/lib/mock/timeseries.mock.service.js +46 -87
  52. package/src/lib/mock/trash.mock.service.js +17 -27
  53. package/src/lib/mock/user.mock.service.js +9 -16
  54. package/src/lib/mock/vault.mock.service.js +8 -16
  55. package/src/lib/notification.interface.js +1 -5
  56. package/src/lib/notification.service.js +7 -15
  57. package/src/lib/proxy.service.js +10 -18
  58. package/src/lib/resource.interface.js +1 -5
  59. package/src/lib/schema.interface.js +1 -5
  60. package/src/lib/secret.interface.js +1 -5
  61. package/src/lib/secret.service.js +14 -22
  62. package/src/lib/storage.interface.js +1 -5
  63. package/src/lib/task.interface.js +1 -5
  64. package/src/lib/task.service.js +14 -22
  65. package/src/lib/timeseries.interface.js +1 -5
  66. package/src/lib/timeseries.service.js +69 -96
  67. package/src/lib/token-set.js +6 -14
  68. package/src/lib/trash.service.js +8 -22
  69. package/src/lib/user-settings.interface.js +1 -5
  70. package/src/lib/user.service.js +10 -17
  71. package/src/lib/vault.interface.js +1 -5
  72. package/src/lib/vault.service.js +9 -22
  73. package/src/index.js.map +0 -1
  74. package/src/lib/Queue.js.map +0 -1
  75. package/src/lib/api-base.js.map +0 -1
  76. package/src/lib/api.js.map +0 -1
  77. package/src/lib/asset.interface.js.map +0 -1
  78. package/src/lib/asset.service.js.map +0 -1
  79. package/src/lib/assettypes.service.js.map +0 -1
  80. package/src/lib/content.interface.js.map +0 -1
  81. package/src/lib/content.service.js.map +0 -1
  82. package/src/lib/data.interface.js.map +0 -1
  83. package/src/lib/data.service.js.map +0 -1
  84. package/src/lib/endpoint.interface.js.map +0 -1
  85. package/src/lib/endpoint.service.js.map +0 -1
  86. package/src/lib/events.interface.js.map +0 -1
  87. package/src/lib/events.service.js.map +0 -1
  88. package/src/lib/flow-deployment.interface.js.map +0 -1
  89. package/src/lib/flow-deployment.service.js.map +0 -1
  90. package/src/lib/flow-function.interface.js.map +0 -1
  91. package/src/lib/flow-function.service.js.map +0 -1
  92. package/src/lib/flow-module.interface.js.map +0 -1
  93. package/src/lib/flow-module.service.js.map +0 -1
  94. package/src/lib/flow.interface.js.map +0 -1
  95. package/src/lib/flow.service.js.map +0 -1
  96. package/src/lib/http.service.js.map +0 -1
  97. package/src/lib/label.interface.js.map +0 -1
  98. package/src/lib/label.service.js.map +0 -1
  99. package/src/lib/mock/api-base.mock.js.map +0 -1
  100. package/src/lib/mock/api.mock.js.map +0 -1
  101. package/src/lib/mock/asset.mock.service.js.map +0 -1
  102. package/src/lib/mock/assetTypes.mock.service.js.map +0 -1
  103. package/src/lib/mock/content.mock.service.js.map +0 -1
  104. package/src/lib/mock/data.mock.service.js.map +0 -1
  105. package/src/lib/mock/endpoint.mock.service.js.map +0 -1
  106. package/src/lib/mock/events.mock.service.js.map +0 -1
  107. package/src/lib/mock/flow-deployment.mock.service.js.map +0 -1
  108. package/src/lib/mock/flow-functions.mock.service.js.map +0 -1
  109. package/src/lib/mock/flow-modules.mock.service.js.map +0 -1
  110. package/src/lib/mock/flow.mock.service.js.map +0 -1
  111. package/src/lib/mock/index.js.map +0 -1
  112. package/src/lib/mock/label.mock.service.js.map +0 -1
  113. package/src/lib/mock/notification.mock.service.js.map +0 -1
  114. package/src/lib/mock/secret.mock.service.js.map +0 -1
  115. package/src/lib/mock/task.mock.service.js.map +0 -1
  116. package/src/lib/mock/timeseries.mock.service.js.map +0 -1
  117. package/src/lib/mock/trash.mock.service.js.map +0 -1
  118. package/src/lib/mock/user.mock.service.js.map +0 -1
  119. package/src/lib/mock/vault.mock.service.js.map +0 -1
  120. package/src/lib/notification.interface.js.map +0 -1
  121. package/src/lib/notification.service.js.map +0 -1
  122. package/src/lib/proxy.service.js.map +0 -1
  123. package/src/lib/resource.interface.js.map +0 -1
  124. package/src/lib/schema.interface.js.map +0 -1
  125. package/src/lib/secret.interface.js.map +0 -1
  126. package/src/lib/secret.service.js.map +0 -1
  127. package/src/lib/storage.interface.js.map +0 -1
  128. package/src/lib/task.interface.js.map +0 -1
  129. package/src/lib/task.service.js.map +0 -1
  130. package/src/lib/timeseries.interface.js.map +0 -1
  131. package/src/lib/timeseries.service.js.map +0 -1
  132. package/src/lib/token-set.js.map +0 -1
  133. package/src/lib/trash.service.js.map +0 -1
  134. package/src/lib/user-settings.interface.js.map +0 -1
  135. package/src/lib/user.service.js.map +0 -1
  136. package/src/lib/vault.interface.js.map +0 -1
  137. package/src/lib/vault.service.js.map +0 -1
@@ -1,123 +1,96 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "TimeSeriesService", {
6
- enumerable: true,
7
- get: function() {
8
- return TimeSeriesService;
9
- }
10
- });
11
- const _ts_decorate = require("@swc/helpers/_/_ts_decorate");
12
- const _tsmixer = require("ts-mixer");
13
- const _apibase = require("./api-base");
14
- const _dataservice = require("./data.service");
15
- const _trashservice = require("./trash.service");
16
- let BaseService = class BaseService extends _apibase.APIBase {
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TimeSeriesService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ts_mixer_1 = require("ts-mixer");
6
+ const api_base_1 = require("./api-base");
7
+ const data_service_1 = require("./data.service");
8
+ const trash_service_1 = require("./trash.service");
9
+ let BaseService = class BaseService extends api_base_1.APIBase {
17
10
  };
18
- BaseService = _ts_decorate._([
19
- (0, _tsmixer.mix)(_dataservice.DataService, _trashservice.TrashService)
11
+ BaseService = tslib_1.__decorate([
12
+ (0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
20
13
  ], BaseService);
21
- let TimeSeriesService = class TimeSeriesService extends BaseService {
22
- constructor(httpClient){
14
+ class TimeSeriesService extends BaseService {
15
+ constructor(httpClient) {
23
16
  super(httpClient, '/tsm');
24
17
  }
25
18
  addValue(id, value, options = {}) {
26
19
  return this.httpClient.post(`${this.basePath}/${id}`, value, options);
27
20
  }
28
21
  /**
29
- * Adds time series values to an asset by the name of the time series.
30
- * If the time series does not exist, it is created.
31
- * @param assetId - The ID of the asset to which the time series values are added.
32
- * @param name - The name of the time series.
33
- * @param readPermissions - an array of permissions that allow the user to read the time series.
34
- * @param readWritePermissions - an array of permissions that allow the user to read and write the time series.
35
- * @param values - The time series values are specified as an object with the following structure:
36
- * {
37
- * [timestamp: string]: any, // The timestamp and value pairs
38
- * ...
39
- * }
40
- * @param options
41
- * @returns a promise that resolves to the time series that was added.
42
- */ addAssetTimeSeriesValues(assetId, name, readPermissions, readWritePermissions, values, options = {}) {
22
+ * Adds time series values to an asset by the name of the time series.
23
+ * If the time series does not exist, it is created.
24
+ * @param assetId - The ID of the asset to which the time series values are added.
25
+ * @param name - The name of the time series.
26
+ * @param readPermissions - an array of permissions that allow the user to read the time series.
27
+ * @param readWritePermissions - an array of permissions that allow the user to read and write the time series.
28
+ * @param values - The time series values are specified as an object with the following structure:
29
+ * {
30
+ * [timestamp: string]: any, // The timestamp and value pairs
31
+ * ...
32
+ * }
33
+ * @param options
34
+ * @returns a promise that resolves to the time series that was added.
35
+ */
36
+ addAssetTimeSeriesValues(assetId, name, readPermissions, readWritePermissions, values, options = {}) {
43
37
  const dto = {
44
38
  name,
45
39
  readPermissions,
46
40
  readWritePermissions,
47
- values
41
+ values,
48
42
  };
49
43
  return this.httpClient.post(`${this.basePath}/assets/${assetId}`, dto, options);
50
44
  }
51
45
  /**
52
- * Adds multiple time series values to an asset by the name of the time series.
53
- * If the time series does not exist, it is created.
54
- * If the operation is successful, the value property contains the time series that was added.
55
- * If the operation fails, the reason property contains the error that caused the operation to fail.
56
- * @param assetId - The ID of the asset to which the time series values are added.
57
- * @param readPermissions - an array of permissions that allow the user to read the time series.
58
- * @param readWritePermissions - an array of permissions that allow the user to read and write the time series.
59
- * @param timeSeries - The time series values are specified as an object with the following structure:
60
- * {
61
- * [timeSeriesName: string]: { // The name of the time series
62
- * [timestamp: string]: any, // The timestamp and value pairs
63
- * ...
64
- * },
65
- * ...
66
- * }
67
- * @param options
68
- * @returns a promise that resolves to an array of objects containing the results of the operation.
69
- * Each object has the following structure:
70
- * {
71
- * status: "fulfilled" | "rejected",
72
- * value?: TimeSeries,
73
- * reason?: Error,
74
- * }
75
- */ addManyAssetTimeSeriesValues(assetId, readPermissions, readWritePermissions, timeSeries, options = {}) {
76
- const dtos = Object.entries(timeSeries).map(([name, values])=>({
77
- name,
78
- readPermissions,
79
- readWritePermissions,
80
- values
81
- }));
46
+ * Adds multiple time series values to an asset by the name of the time series.
47
+ * If the time series does not exist, it is created.
48
+ * If the operation is successful, the value property contains the time series that was added.
49
+ * If the operation fails, the reason property contains the error that caused the operation to fail.
50
+ * @param assetId - The ID of the asset to which the time series values are added.
51
+ * @param readPermissions - an array of permissions that allow the user to read the time series.
52
+ * @param readWritePermissions - an array of permissions that allow the user to read and write the time series.
53
+ * @param timeSeries - The time series values are specified as an object with the following structure:
54
+ * {
55
+ * [timeSeriesName: string]: { // The name of the time series
56
+ * [timestamp: string]: any, // The timestamp and value pairs
57
+ * ...
58
+ * },
59
+ * ...
60
+ * }
61
+ * @param options
62
+ * @returns a promise that resolves to an array of objects containing the results of the operation.
63
+ * Each object has the following structure:
64
+ * {
65
+ * status: "fulfilled" | "rejected",
66
+ * value?: TimeSeries,
67
+ * reason?: Error,
68
+ * }
69
+ */
70
+ addManyAssetTimeSeriesValues(assetId, readPermissions, readWritePermissions, timeSeries, options = {}) {
71
+ const dtos = Object.entries(timeSeries).map(([name, values]) => ({
72
+ name,
73
+ readPermissions,
74
+ readWritePermissions,
75
+ values,
76
+ }));
82
77
  return this.httpClient.post(`${this.basePath}/assets/${assetId}/bulk`, dtos, options);
83
78
  }
84
79
  getMostRecentValue(id, before, options = {}) {
85
- const params = before ? {
86
- before: before.toISOString()
87
- } : {};
88
- return this.httpClient.get(`${this.basePath}/${id}/recent`, {
89
- params,
90
- ...options
91
- });
80
+ const params = before ? { before: before.toISOString() } : {};
81
+ return this.httpClient.get(`${this.basePath}/${id}/recent`, { params, ...options });
92
82
  }
93
83
  getValues(id, from, limit, group, options = {}) {
94
- const params = {
95
- limit,
96
- group
97
- };
98
- return this.httpClient.get(`${this.basePath}/${id}/${from}`, {
99
- params,
100
- ...options
101
- });
84
+ const params = { limit, group };
85
+ return this.httpClient.get(`${this.basePath}/${id}/${from}`, { params, ...options });
102
86
  }
103
87
  getValuesOfPeriod(id, from, to, group, options = {}) {
104
- const params = {
105
- group
106
- };
107
- return this.httpClient.get(`${this.basePath}/${id}/${from}/${to}`, {
108
- params,
109
- ...options
110
- });
88
+ const params = { group };
89
+ return this.httpClient.get(`${this.basePath}/${id}/${from}/${to}`, { params, ...options });
111
90
  }
112
91
  getManyByAsset(assetId, names, options = {}) {
113
- const params = Array.isArray(names) ? {
114
- names: names.join()
115
- } : {};
116
- return this.httpClient.get(`${this.basePath}/asset/${assetId}`, {
117
- params,
118
- ...options
119
- });
92
+ const params = Array.isArray(names) ? { names: names.join() } : {};
93
+ return this.httpClient.get(`${this.basePath}/asset/${assetId}`, { params, ...options });
120
94
  }
121
- };
122
-
123
- //# sourceMappingURL=timeseries.service.js.map
95
+ }
96
+ exports.TimeSeriesService = TimeSeriesService;
@@ -1,16 +1,9 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "TokenSet", {
6
- enumerable: true,
7
- get: function() {
8
- return TokenSet;
9
- }
10
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenSet = void 0;
11
4
  const TOKEN_EXPIRATION_BUFFER = 20; // 20 seconds
12
- let TokenSet = class TokenSet {
13
- constructor(access_token, expires_in, provided = false){
5
+ class TokenSet {
6
+ constructor(access_token, expires_in, provided = false) {
14
7
  this._accessToken = access_token;
15
8
  this._expiresAt = Math.floor(Date.now() / 1000) + Number(expires_in);
16
9
  this._provided = provided;
@@ -30,6 +23,5 @@ let TokenSet = class TokenSet {
30
23
  isExpired() {
31
24
  return this.expiresIn <= (this.provided ? 0 : TOKEN_EXPIRATION_BUFFER); // Use the entire time of provided token to avoid throwing 'expired' error early
32
25
  }
33
- };
34
-
35
- //# sourceMappingURL=token-set.js.map
26
+ }
27
+ exports.TokenSet = TokenSet;
@@ -1,15 +1,8 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "TrashService", {
6
- enumerable: true,
7
- get: function() {
8
- return TrashService;
9
- }
10
- });
11
- const _apibase = require("./api-base");
12
- let TrashService = class TrashService extends _apibase.APIBase {
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrashService = void 0;
4
+ const api_base_1 = require("./api-base");
5
+ class TrashService extends api_base_1.APIBase {
13
6
  trashRestoreAll() {
14
7
  return this.httpClient.put(`${this.basePath}/trash/restore`, {});
15
8
  }
@@ -17,19 +10,12 @@ let TrashService = class TrashService extends _apibase.APIBase {
17
10
  return this.httpClient.put(`${this.basePath}/trash/restore/${id}`, {});
18
11
  }
19
12
  emptyTrash(offset) {
20
- return this.httpClient.delete(`${this.basePath}/trash/clean`, {
21
- params: {
22
- offset
23
- }
24
- });
13
+ return this.httpClient.delete(`${this.basePath}/trash/clean`, { params: { offset } });
25
14
  }
26
15
  getTrash(params = {}) {
27
16
  params.limit = params.limit || 0;
28
17
  params.page = params.page || 1;
29
- return this.httpClient.get(`${this.basePath}/trash`, {
30
- params
31
- });
18
+ return this.httpClient.get(`${this.basePath}/trash`, { params });
32
19
  }
33
- };
34
-
35
- //# sourceMappingURL=trash.service.js.map
20
+ }
21
+ exports.TrashService = TrashService;
@@ -1,6 +1,2 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
-
6
- //# sourceMappingURL=user-settings.interface.js.map
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,25 +1,19 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "UserService", {
6
- enumerable: true,
7
- get: function() {
8
- return UserService;
9
- }
10
- });
11
- const _jwtdecode = require("jwt-decode");
12
- let UserService = class UserService {
13
- constructor(httpClient){
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserService = void 0;
4
+ const jwt_decode_1 = require("jwt-decode");
5
+ class UserService {
6
+ constructor(httpClient) {
14
7
  this.httpClient = httpClient;
15
8
  this.basePath = '/user';
16
9
  }
17
10
  async getCurrentUserRoles() {
18
11
  try {
19
12
  const token = await this.httpClient.getAccessToken();
20
- const decode = (0, _jwtdecode.jwtDecode)(token);
13
+ const decode = (0, jwt_decode_1.jwtDecode)(token);
21
14
  return decode.realm_access.roles;
22
- } catch (err) {
15
+ }
16
+ catch (err) {
23
17
  return null;
24
18
  }
25
19
  }
@@ -32,6 +26,5 @@ let UserService = class UserService {
32
26
  deleteUserSettings(options = {}) {
33
27
  return this.httpClient.delete(this.basePath, options);
34
28
  }
35
- };
36
-
37
- //# sourceMappingURL=user.service.js.map
29
+ }
30
+ exports.UserService = UserService;
@@ -1,6 +1,2 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
-
6
- //# sourceMappingURL=vault.interface.js.map
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,27 +1,14 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "VaultService", {
6
- enumerable: true,
7
- get: function() {
8
- return VaultService;
9
- }
10
- });
11
- const _dataservice = require("./data.service");
12
- let VaultService = class VaultService extends _dataservice.DataService {
13
- constructor(httpClient){
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VaultService = void 0;
4
+ const data_service_1 = require("./data.service");
5
+ class VaultService extends data_service_1.DataService {
6
+ constructor(httpClient) {
14
7
  super(httpClient, '/vault/secrets');
15
8
  }
16
9
  getSecret(name, version, options = {}) {
17
- const params = version ? {
18
- version
19
- } : {};
20
- return this.httpClient.get(`${this.basePath}/${name}/secret`, {
21
- params,
22
- ...options
23
- });
10
+ const params = version ? { version } : {};
11
+ return this.httpClient.get(`${this.basePath}/${name}/secret`, { params, ...options });
24
12
  }
25
- };
26
-
27
- //# sourceMappingURL=vault.service.js.map
13
+ }
14
+ exports.VaultService = VaultService;
package/src/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../lib/hpc-api/src/index.ts"],"sourcesContent":["export * from './lib/api';\nexport * from './lib/asset.interface';\nexport * from './lib/content.interface';\nexport * from './lib/data.interface';\nexport * from './lib/data.service';\nexport * from './lib/endpoint.interface';\nexport * from './lib/events.interface';\nexport * from './lib/flow.interface';\nexport * from './lib/flow-deployment.interface';\nexport * from './lib/flow-function.interface';\nexport * from './lib/http.service';\nexport * from './lib/label.interface';\nexport * from './lib/mock';\nexport * from './lib/notification.interface';\nexport * from './lib/resource.interface';\nexport * from './lib/schema.interface';\nexport * from './lib/secret.interface';\nexport * from './lib/task.interface';\nexport * from './lib/timeseries.interface';\nexport * from './lib/vault.interface';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/Queue.ts"],"sourcesContent":["import PQueue from 'p-queue';\n\nexport class Queue extends PQueue {\n private peak = 0;\n private total = 0;\n\n constructor(options: QueueOptions) {\n super(options);\n this.on('add', () => {\n this.peak = Math.max(this.peak, this.size);\n });\n this.on('active', () => {\n this.total++;\n });\n }\n\n getStats() {\n return {\n peak: this.peak,\n pending: this.pending,\n size: this.size,\n total: this.total,\n };\n }\n}\n\nexport interface QueueOptions {\n concurrency?: number;\n timeout?: number;\n throwOnTimeout?: boolean;\n}\n"],"names":["Queue","PQueue","constructor","options","peak","total","on","Math","max","size","getStats","pending"],"mappings":";;;;+BAEaA;;;eAAAA;;;;iEAFM;AAEZ,IAAA,AAAMA,QAAN,MAAMA,cAAcC,eAAM;IAI/BC,YAAYC,OAAqB,CAAE;QACjC,KAAK,CAACA,eAJAC,OAAO,QACPC,QAAQ;QAId,IAAI,CAACC,EAAE,CAAC,OAAO;YACb,IAAI,CAACF,IAAI,GAAGG,KAAKC,GAAG,CAAC,IAAI,CAACJ,IAAI,EAAE,IAAI,CAACK,IAAI;QAC3C;QACA,IAAI,CAACH,EAAE,CAAC,UAAU;YAChB,IAAI,CAACD,KAAK;QACZ;IACF;IAEAK,WAAW;QACT,OAAO;YACLN,MAAM,IAAI,CAACA,IAAI;YACfO,SAAS,IAAI,CAACA,OAAO;YACrBF,MAAM,IAAI,CAACA,IAAI;YACfJ,OAAO,IAAI,CAACA,KAAK;QACnB;IACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/api-base.ts"],"sourcesContent":["import { HttpClient } from './http.service';\n\nexport class APIBase {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly basePath: string,\n ) {}\n}\n"],"names":["APIBase","constructor","httpClient","basePath"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,IAAA,AAAMA,UAAN,MAAMA;IACXC,YACE,AAAmBC,UAAsB,EACzC,AAAmBC,QAAgB,CACnC;aAFmBD,aAAAA;aACAC,WAAAA;IAClB;AACL"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/api.ts"],"sourcesContent":["import { AssetService } from './asset.service';\nimport { AssetTypesService } from './assettypes.service';\nimport { ContentService } from './content.service';\nimport { EndpointService } from './endpoint.service';\nimport { EventsService } from './events.service';\nimport { FlowDeploymentService } from './flow-deployment.service';\nimport { FlowFunctionService } from './flow-function.service';\nimport { FlowModuleService } from './flow-module.service';\nimport { FlowService } from './flow.service';\nimport { HttpClient } from './http.service';\nimport { LabelService } from './label.service';\nimport { NotificationService } from './notification.service';\nimport { ProxyService } from './proxy.service';\nimport { SecretService } from './secret.service';\nimport { TaskService } from './task.service';\nimport { TimeSeriesService } from './timeseries.service';\nimport { UserService } from './user.service';\nimport { VaultService } from './vault.service';\n\nexport class API {\n public assets: AssetService;\n public assetTypes: AssetTypesService;\n public contents: ContentService;\n public endpoints: EndpointService;\n public events: EventsService;\n public flows: FlowService;\n public flowDeployments: FlowDeploymentService;\n public flowFunctions: FlowFunctionService;\n public flowModules: FlowModuleService;\n public labels: LabelService;\n public proxy: ProxyService;\n public secrets: SecretService;\n public tasks: TaskService;\n public timeSeries: TimeSeriesService;\n public users: UserService;\n public vault: VaultService;\n public notifications: NotificationService;\n\n constructor(\n public readonly httpClient?: HttpClient,\n context?: { tokenSubject?: string },\n ) {\n if (!httpClient) {\n // remove leading and trailing slashes\n const normalizePath = (value = '', defaultValue = '') => value.replace(/(?:^\\/+)|(?:\\/+$)/g, '') || defaultValue;\n\n let apiBaseUrl = process.env.API_BASE_URL || 'https://testing.hahnpro.com';\n if (!apiBaseUrl.startsWith('https') && !apiBaseUrl.startsWith('http')) {\n /* eslint-disable-next-line no-console */\n console.info('no protocol specified - using HTTPS');\n apiBaseUrl = `https://${apiBaseUrl}`;\n }\n const apiUrl = apiBaseUrl + '/' + normalizePath(process.env.API_BASE_PATH, 'api');\n const authBaseUrl = process.env.AUTH_BASE_URL || apiBaseUrl;\n const authUrl = authBaseUrl + '/' + normalizePath(process.env.AUTH_BASE_PATH, 'auth');\n const realm = process.env.AUTH_REALM || 'hpc';\n const client = process.env.API_USER || 'flow-executor-service';\n const secret = process.env.AUTH_SECRET;\n if (!secret) {\n throw new Error('\"API_BASE_URL\", \"API_USER\", \"AUTH_REALM\" and \"AUTH_SECRET\" environment variables must be set');\n }\n this.httpClient = new HttpClient(apiUrl, authUrl, realm, client, secret, context?.tokenSubject);\n }\n\n this.assets = new AssetService(this.httpClient);\n this.assetTypes = new AssetTypesService(this.httpClient);\n this.contents = new ContentService(this.httpClient);\n this.endpoints = new EndpointService(this.httpClient);\n this.events = new EventsService(this.httpClient);\n this.flows = new FlowService(this.httpClient);\n this.flowDeployments = new FlowDeploymentService(this.httpClient);\n this.flowFunctions = new FlowFunctionService(this.httpClient);\n this.flowModules = new FlowModuleService(this.httpClient);\n this.labels = new LabelService(this.httpClient);\n this.proxy = new ProxyService(this.httpClient);\n this.secrets = new SecretService(this.httpClient);\n this.tasks = new TaskService(this.httpClient);\n this.timeSeries = new TimeSeriesService(this.httpClient);\n this.users = new UserService(this.httpClient);\n this.vault = new VaultService(this.httpClient);\n this.notifications = new NotificationService(this.httpClient);\n }\n}\n"],"names":["API","constructor","httpClient","context","normalizePath","value","defaultValue","replace","apiBaseUrl","process","env","API_BASE_URL","startsWith","console","info","apiUrl","API_BASE_PATH","authBaseUrl","AUTH_BASE_URL","authUrl","AUTH_BASE_PATH","realm","AUTH_REALM","client","API_USER","secret","AUTH_SECRET","Error","HttpClient","tokenSubject","assets","AssetService","assetTypes","AssetTypesService","contents","ContentService","endpoints","EndpointService","events","EventsService","flows","FlowService","flowDeployments","FlowDeploymentService","flowFunctions","FlowFunctionService","flowModules","FlowModuleService","labels","LabelService","proxy","ProxyService","secrets","SecretService","tasks","TaskService","timeSeries","TimeSeriesService","users","UserService","vault","VaultService","notifications","NotificationService"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/asset.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/asset.service.ts"],"sourcesContent":["import FormData from 'form-data';\nimport { mix } from 'ts-mixer';\n\nimport { APIBase } from './api-base';\nimport { Asset, AssetRevision, Attachment, EventCause, EventLevelOverride } from './asset.interface';\nimport { Paginated, RequestParameter } from './data.interface';\nimport { DataService } from './data.service';\nimport { HttpClient, TokenOption } from './http.service';\nimport { TrashService } from './trash.service';\n\ninterface BaseService extends DataService<Asset>, TrashService<Asset> {}\n@mix(DataService, TrashService)\nclass BaseService extends APIBase {}\n\nexport class AssetService extends BaseService {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/assets');\n }\n\n public deleteOne(id: string, force = false, options: TokenOption = {}): Promise<any> {\n return this.httpClient.delete(`${this.basePath}/${id}`, { params: { force }, ...options });\n }\n\n public addAttachment = (id: string, form: FormData, options: TokenOption = {}): Promise<Asset> => {\n const headers = { ...form.getHeaders() };\n return this.httpClient.post<Asset>(`${this.basePath}/${id}/attachment`, form, {\n headers,\n maxBodyLength: Infinity,\n maxContentLength: Infinity,\n ...options,\n });\n };\n\n public getChildren(assetId: string, params: RequestParameter = {}, options: TokenOption = {}): Promise<Paginated<Asset[]>> {\n return this.getManyFiltered({ parent: assetId }, params, options);\n }\n\n public getAttachments(assetId: string, options: TokenOption = {}): Promise<Paginated<Attachment[]>> {\n return this.httpClient.get<Paginated<Attachment[]>>(`${this.basePath}/${assetId}/attachments`, options);\n }\n\n public getEventLevelOverride(ids: string[], causes: string[], options: TokenOption = {}): Promise<EventLevelOverride> {\n return this.httpClient.get<EventLevelOverride>(`${this.basePath}/eventcauses`, {\n params: { ids: ids.join(','), causes: causes.join(',') },\n ...options,\n });\n }\n\n public updateEventCausesAsset(id: string, dto: EventCause, options: TokenOption = {}): Promise<Asset> {\n return this.httpClient.put<Asset>(`${this.basePath}/${id}/eventcauses`, dto, options);\n }\n\n public getRevisions(assetId: string, options: TokenOption = {}): Promise<Paginated<AssetRevision[]>> {\n return this.httpClient.get<Paginated<AssetRevision[]>>(`${this.basePath}/${assetId}/revisions`, options);\n }\n\n public rollback(assetId: string, revisionId: string, options: TokenOption = {}): Promise<Asset> {\n return this.httpClient.put<Asset>(`${this.basePath}/${assetId}/rollback`, { revisionId }, options);\n }\n\n public deleteRevision(assetId: string, revisionId: string, options: TokenOption = {}): Promise<any> {\n return this.httpClient.delete(`${this.basePath}/${assetId}/revisions/${revisionId}`, options);\n }\n}\n"],"names":["AssetService","BaseService","APIBase","constructor","httpClient","addAttachment","id","form","options","headers","getHeaders","post","basePath","maxBodyLength","Infinity","maxContentLength","deleteOne","force","delete","params","getChildren","assetId","getManyFiltered","parent","getAttachments","get","getEventLevelOverride","ids","causes","join","updateEventCausesAsset","dto","put","getRevisions","rollback","revisionId","deleteRevision"],"mappings":";;;;+BAcaA;;;eAAAA;;;;yBAbO;yBAEI;6BAGI;8BAEC;AAG7B,IAAA,AACMC,cADN,MACMA,oBAAoBC,gBAAO;AAAE;;;;AAE5B,IAAA,AAAMF,eAAN,MAAMA,qBAAqBC;IAChCE,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY,iBAObC,gBAAgB,CAACC,IAAYC,MAAgBC,UAAuB,CAAC,CAAC;YAC3E,MAAMC,UAAU;gBAAE,GAAGF,KAAKG,UAAU,EAAE;YAAC;YACvC,OAAO,IAAI,CAACN,UAAU,CAACO,IAAI,CAAQ,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAEN,GAAG,WAAW,CAAC,EAAEC,MAAM;gBAC5EE;gBACAI,eAAeC;gBACfC,kBAAkBD;gBAClB,GAAGN,OAAO;YACZ;QACF;IAdA;IAEOQ,UAAUV,EAAU,EAAEW,QAAQ,KAAK,EAAET,UAAuB,CAAC,CAAC,EAAgB;QACnF,OAAO,IAAI,CAACJ,UAAU,CAACc,MAAM,CAAC,GAAG,IAAI,CAACN,QAAQ,CAAC,CAAC,EAAEN,IAAI,EAAE;YAAEa,QAAQ;gBAAEF;YAAM;YAAG,GAAGT,OAAO;QAAC;IAC1F;IAYOY,YAAYC,OAAe,EAAEF,SAA2B,CAAC,CAAC,EAAEX,UAAuB,CAAC,CAAC,EAA+B;QACzH,OAAO,IAAI,CAACc,eAAe,CAAC;YAAEC,QAAQF;QAAQ,GAAGF,QAAQX;IAC3D;IAEOgB,eAAeH,OAAe,EAAEb,UAAuB,CAAC,CAAC,EAAoC;QAClG,OAAO,IAAI,CAACJ,UAAU,CAACqB,GAAG,CAA0B,GAAG,IAAI,CAACb,QAAQ,CAAC,CAAC,EAAES,QAAQ,YAAY,CAAC,EAAEb;IACjG;IAEOkB,sBAAsBC,GAAa,EAAEC,MAAgB,EAAEpB,UAAuB,CAAC,CAAC,EAA+B;QACpH,OAAO,IAAI,CAACJ,UAAU,CAACqB,GAAG,CAAqB,GAAG,IAAI,CAACb,QAAQ,CAAC,YAAY,CAAC,EAAE;YAC7EO,QAAQ;gBAAEQ,KAAKA,IAAIE,IAAI,CAAC;gBAAMD,QAAQA,OAAOC,IAAI,CAAC;YAAK;YACvD,GAAGrB,OAAO;QACZ;IACF;IAEOsB,uBAAuBxB,EAAU,EAAEyB,GAAe,EAAEvB,UAAuB,CAAC,CAAC,EAAkB;QACpG,OAAO,IAAI,CAACJ,UAAU,CAAC4B,GAAG,CAAQ,GAAG,IAAI,CAACpB,QAAQ,CAAC,CAAC,EAAEN,GAAG,YAAY,CAAC,EAAEyB,KAAKvB;IAC/E;IAEOyB,aAAaZ,OAAe,EAAEb,UAAuB,CAAC,CAAC,EAAuC;QACnG,OAAO,IAAI,CAACJ,UAAU,CAACqB,GAAG,CAA6B,GAAG,IAAI,CAACb,QAAQ,CAAC,CAAC,EAAES,QAAQ,UAAU,CAAC,EAAEb;IAClG;IAEO0B,SAASb,OAAe,EAAEc,UAAkB,EAAE3B,UAAuB,CAAC,CAAC,EAAkB;QAC9F,OAAO,IAAI,CAACJ,UAAU,CAAC4B,GAAG,CAAQ,GAAG,IAAI,CAACpB,QAAQ,CAAC,CAAC,EAAES,QAAQ,SAAS,CAAC,EAAE;YAAEc;QAAW,GAAG3B;IAC5F;IAEO4B,eAAef,OAAe,EAAEc,UAAkB,EAAE3B,UAAuB,CAAC,CAAC,EAAgB;QAClG,OAAO,IAAI,CAACJ,UAAU,CAACc,MAAM,CAAC,GAAG,IAAI,CAACN,QAAQ,CAAC,CAAC,EAAES,QAAQ,WAAW,EAAEc,YAAY,EAAE3B;IACvF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/assettypes.service.ts"],"sourcesContent":["import { mix } from 'ts-mixer';\n\nimport { APIBase } from './api-base';\nimport { AssetType } from './asset.interface';\nimport { Paginated } from './data.interface';\nimport { DataService } from './data.service';\nimport { HttpClient, TokenOption } from './http.service';\nimport { TrashService } from './trash.service';\n\ninterface BaseService extends DataService<AssetType>, TrashService<AssetType> {}\n@mix(DataService, TrashService)\nclass BaseService extends APIBase {}\n\nexport class AssetTypesService extends BaseService {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/assettypes');\n }\n\n public getRevisions(id: string, options: TokenOption = {}): Promise<Paginated<AssetType[]>> {\n return this.httpClient.get<Paginated<AssetType[]>>(`${this.basePath}/${id}/revisions`, options);\n }\n\n public rollback(id: string, revisionId: string, options: TokenOption = {}): Promise<AssetType> {\n return this.httpClient.put<AssetType>(`${this.basePath}/${id}/rollback`, { revisionId }, options);\n }\n\n public deleteRevision(id: string, revisionId: string, options: TokenOption = {}): Promise<any> {\n return this.httpClient.delete(`${this.basePath}/${id}/revisions/${revisionId}`, options);\n }\n}\n"],"names":["AssetTypesService","BaseService","APIBase","constructor","httpClient","getRevisions","id","options","get","basePath","rollback","revisionId","put","deleteRevision","delete"],"mappings":";;;;+BAaaA;;;eAAAA;;;;yBAbO;yBAEI;6BAGI;8BAEC;AAG7B,IAAA,AACMC,cADN,MACMA,oBAAoBC,gBAAO;AAAE;;;;AAE5B,IAAA,AAAMF,oBAAN,MAAMA,0BAA0BC;IACrCE,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;IAEOC,aAAaC,EAAU,EAAEC,UAAuB,CAAC,CAAC,EAAmC;QAC1F,OAAO,IAAI,CAACH,UAAU,CAACI,GAAG,CAAyB,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAEH,GAAG,UAAU,CAAC,EAAEC;IACzF;IAEOG,SAASJ,EAAU,EAAEK,UAAkB,EAAEJ,UAAuB,CAAC,CAAC,EAAsB;QAC7F,OAAO,IAAI,CAACH,UAAU,CAACQ,GAAG,CAAY,GAAG,IAAI,CAACH,QAAQ,CAAC,CAAC,EAAEH,GAAG,SAAS,CAAC,EAAE;YAAEK;QAAW,GAAGJ;IAC3F;IAEOM,eAAeP,EAAU,EAAEK,UAAkB,EAAEJ,UAAuB,CAAC,CAAC,EAAgB;QAC7F,OAAO,IAAI,CAACH,UAAU,CAACU,MAAM,CAAC,GAAG,IAAI,CAACL,QAAQ,CAAC,CAAC,EAAEH,GAAG,WAAW,EAAEK,YAAY,EAAEJ;IAClF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/content.interface.ts"],"sourcesContent":["import { Storage } from './storage.interface';\n\nexport interface Content {\n id?: string;\n fileId: string;\n filename: string;\n mimetype: string;\n size: number;\n readPermissions: string[];\n readWritePermissions: string[];\n tags?: string[];\n assets?: string[];\n files?: Storage[];\n createdAt?: string;\n updatedAt?: string;\n deletedAt?: string;\n}\n\nexport enum ReturnType {\n TEXT,\n JSON,\n NODEBUFFER,\n BLOB,\n ARRAYBUFFER,\n NODESTREAM,\n}\n"],"names":["ReturnType"],"mappings":";;;;+BAkBYA;;;eAAAA;;;AAAL,IAAA,AAAKA,oCAAAA;;;;;;;WAAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/content.service.ts"],"sourcesContent":["import { Readable } from 'stream';\n\nimport FormData from 'form-data';\nimport { mix } from 'ts-mixer';\n\nimport { APIBase } from './api-base';\nimport { Content, ReturnType } from './content.interface';\nimport { DataService } from './data.service';\nimport { HttpClient, TokenOption } from './http.service';\nimport { TrashService } from './trash.service';\n\ninterface BaseService extends DataService<Content>, TrashService<Content> {}\n@mix(DataService, TrashService)\nclass BaseService extends APIBase {}\n\nexport class ContentService extends BaseService {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/contents');\n }\n\n upload = (form: FormData, options: TokenOption = {}): Promise<Content> => {\n const headers = { ...form.getHeaders() };\n return this.httpClient.post<Content>(`${this.basePath}`, form, {\n headers,\n maxBodyLength: Infinity,\n maxContentLength: Infinity,\n ...options,\n });\n };\n\n download(id: string, raw?: boolean, options?: TokenOption): Promise<Blob | ArrayBuffer>;\n\n download(id: string, returnType: ReturnType.TEXT, options?: TokenOption): Promise<string>;\n download(id: string, returnType: ReturnType.JSON, options?: TokenOption): Promise<Record<string, unknown>>;\n download(id: string, returnType: ReturnType.NODEBUFFER, options?: TokenOption): Promise<Buffer>;\n download(id: string, returnType: ReturnType.BLOB, options?: TokenOption): Promise<Blob>;\n download(id: string, returnType: ReturnType.ARRAYBUFFER, options?: TokenOption): Promise<ArrayBuffer>;\n download(id: string, returnType: ReturnType.NODESTREAM, options?: TokenOption): Promise<Readable>;\n\n async download(\n id: string,\n second: any,\n options: TokenOption = {},\n ): Promise<string | Record<string, unknown> | Buffer | Blob | ArrayBuffer | Readable> {\n let returnType: ReturnType;\n if (typeof second === 'boolean' || second == null) {\n returnType = second ? ReturnType.ARRAYBUFFER : ReturnType.BLOB;\n } else {\n returnType = second;\n }\n\n const url = `${this.basePath}/${id}/download`;\n switch (returnType) {\n case ReturnType.TEXT:\n return this.httpClient.get<string>(url, { responseType: 'text', ...options });\n case ReturnType.JSON:\n return this.httpClient.get<Record<string, unknown>>(url, { responseType: 'json', ...options });\n case ReturnType.NODEBUFFER:\n return Buffer.from(new Uint8Array(await this.httpClient.get<ArrayBuffer>(url, { responseType: 'arraybuffer', ...options })));\n case ReturnType.BLOB:\n return this.httpClient.get<Blob>(url, { responseType: 'blob', ...options });\n case ReturnType.ARRAYBUFFER:\n return this.httpClient.get<ArrayBuffer>(url, { responseType: 'arraybuffer', ...options });\n case ReturnType.NODESTREAM:\n return this.httpClient.get<Readable>(url, { responseType: 'stream', ...options });\n }\n }\n}\n"],"names":["ContentService","BaseService","APIBase","constructor","httpClient","upload","form","options","headers","getHeaders","post","basePath","maxBodyLength","Infinity","maxContentLength","download","id","second","returnType","ReturnType","ARRAYBUFFER","BLOB","url","TEXT","get","responseType","JSON","NODEBUFFER","Buffer","from","Uint8Array","NODESTREAM"],"mappings":";;;;+BAeaA;;;eAAAA;;;;yBAZO;yBAEI;kCACY;6BACR;8BAEC;AAG7B,IAAA,AACMC,cADN,MACMA,oBAAoBC,gBAAO;AAAE;;;;AAE5B,IAAA,AAAMF,iBAAN,MAAMA,uBAAuBC;IAClCE,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY,mBAGpBC,SAAS,CAACC,MAAgBC,UAAuB,CAAC,CAAC;YACjD,MAAMC,UAAU;gBAAE,GAAGF,KAAKG,UAAU,EAAE;YAAC;YACvC,OAAO,IAAI,CAACL,UAAU,CAACM,IAAI,CAAU,GAAG,IAAI,CAACC,QAAQ,EAAE,EAAEL,MAAM;gBAC7DE;gBACAI,eAAeC;gBACfC,kBAAkBD;gBAClB,GAAGN,OAAO;YACZ;QACF;IAVA;IAqBA,MAAMQ,SACJC,EAAU,EACVC,MAAW,EACXV,UAAuB,CAAC,CAAC,EAC2D;QACpF,IAAIW;QACJ,IAAI,OAAOD,WAAW,aAAaA,UAAU,MAAM;YACjDC,aAAaD,SAASE,4BAAU,CAACC,WAAW,GAAGD,4BAAU,CAACE,IAAI;QAChE,OAAO;YACLH,aAAaD;QACf;QAEA,MAAMK,MAAM,GAAG,IAAI,CAACX,QAAQ,CAAC,CAAC,EAAEK,GAAG,SAAS,CAAC;QAC7C,OAAQE;YACN,KAAKC,4BAAU,CAACI,IAAI;gBAClB,OAAO,IAAI,CAACnB,UAAU,CAACoB,GAAG,CAASF,KAAK;oBAAEG,cAAc;oBAAQ,GAAGlB,OAAO;gBAAC;YAC7E,KAAKY,4BAAU,CAACO,IAAI;gBAClB,OAAO,IAAI,CAACtB,UAAU,CAACoB,GAAG,CAA0BF,KAAK;oBAAEG,cAAc;oBAAQ,GAAGlB,OAAO;gBAAC;YAC9F,KAAKY,4BAAU,CAACQ,UAAU;gBACxB,OAAOC,OAAOC,IAAI,CAAC,IAAIC,WAAW,MAAM,IAAI,CAAC1B,UAAU,CAACoB,GAAG,CAAcF,KAAK;oBAAEG,cAAc;oBAAe,GAAGlB,OAAO;gBAAC;YAC1H,KAAKY,4BAAU,CAACE,IAAI;gBAClB,OAAO,IAAI,CAACjB,UAAU,CAACoB,GAAG,CAAOF,KAAK;oBAAEG,cAAc;oBAAQ,GAAGlB,OAAO;gBAAC;YAC3E,KAAKY,4BAAU,CAACC,WAAW;gBACzB,OAAO,IAAI,CAAChB,UAAU,CAACoB,GAAG,CAAcF,KAAK;oBAAEG,cAAc;oBAAe,GAAGlB,OAAO;gBAAC;YACzF,KAAKY,4BAAU,CAACY,UAAU;gBACxB,OAAO,IAAI,CAAC3B,UAAU,CAACoB,GAAG,CAAWF,KAAK;oBAAEG,cAAc;oBAAU,GAAGlB,OAAO;gBAAC;QACnF;IACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/data.interface.ts"],"sourcesContent":["import { TokenOption } from './http.service';\n\nexport interface Paginated<T> {\n docs: T;\n total: number;\n limit: number;\n page?: number;\n pages?: number;\n offset?: number;\n}\n\nexport interface RequestParameter {\n filter?: string;\n limit?: number;\n page?: number;\n populate?: string;\n sort?: string;\n}\n\ninterface TimePeriod {\n from: Date;\n to: Date;\n}\n\nexport function instanceOfTimePeriod(object: any): object is TimePeriod {\n return 'from' in object && 'to' in object;\n}\n\nexport type Filter = Record<string, string | string[] | TimePeriod>;\n\nexport interface DataInterface<T> {\n addOne(dto: any, options?: TokenOption): Promise<T>;\n addMany(dto: any[], options?: TokenOption & { [key: string]: any }): Promise<T[]>;\n getOne(id: string, options?: TokenOption & { [key: string]: any }): Promise<T>;\n getMany(params?: RequestParameter, options?: TokenOption): Promise<Paginated<T[]>>;\n getManyFiltered(filter: Filter, params?: RequestParameter, options?: TokenOption): Promise<Paginated<T[]>>;\n updateOne(id: string, dto: any, options?: TokenOption & { [key: string]: any }): Promise<T>;\n deleteOne(id: string, force: boolean, options?: TokenOption): Promise<any>;\n}\n"],"names":["instanceOfTimePeriod","object"],"mappings":";;;;+BAwBgBA;;;eAAAA;;;AAAT,SAASA,qBAAqBC,MAAW;IAC9C,OAAO,UAAUA,UAAU,QAAQA;AACrC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/data.service.ts"],"sourcesContent":["import { APIBase } from './api-base';\nimport { DataInterface, Filter, instanceOfTimePeriod, Paginated, RequestParameter } from './data.interface';\nimport { TokenOption } from './http.service';\n\nexport class DataService<T> extends APIBase implements DataInterface<T> {\n public addOne(dto: any, options: TokenOption = {}): Promise<T> {\n return this.httpClient.post<T>(this.basePath, dto, options);\n }\n\n public addMany(dto: any[], options: TokenOption = {}): Promise<T[]> {\n return this.httpClient.post<T[]>(`${this.basePath}/many`, dto, options);\n }\n\n public getOne(id: string, options: TokenOption & { [key: string]: any } = {}): Promise<T> {\n const params = options.populate ? { populate: options.populate } : {};\n return this.httpClient.get<T>(`${this.basePath}/${id}`, { params });\n }\n\n public getMany(params: RequestParameter = {}, options: TokenOption = {}): Promise<Paginated<T[]>> {\n params.limit = params.limit || 0;\n params.page = params.page || 1;\n return this.httpClient.get<Paginated<T[]>>(`${this.basePath}`, { params, ...options });\n }\n\n /**\n * Filters the elements by the passed properties. The object with these properties has to be of the form:\n * {\n * propertyName: string | string[] | { from: Date, to: Date },\n * ...\n * }.\n * @param filter The Object with the properties to filter by.\n * @param params Other request parameters.\n * @param options Parameters for authentication\n */\n public getManyFiltered(filter: Filter, params: RequestParameter = {}, options: TokenOption = {}): Promise<Paginated<T[]>> {\n params.filter = this.getFilterString(filter);\n return this.getMany(params, options);\n }\n\n public updateOne(id: string, dto: any, options: TokenOption & { [key: string]: any } = {}): Promise<T> {\n return this.httpClient.put<T>(`${this.basePath}/${id}`, dto, options);\n }\n\n public deleteOne(id: string, force = false, options: TokenOption = {}): Promise<any> {\n return this.httpClient.delete(`${this.basePath}/${id}`, { params: { force }, ...options });\n }\n\n private getFilterString(filter: Filter) {\n const filters: string[] = [];\n for (const [key, value] of Object.entries(filter)) {\n if (value != null && value !== '') {\n // filter out null and undefined values and empty strings\n if (typeof value === 'object' && instanceOfTimePeriod(value)) {\n filters.push(`${key}>=${value.from.toISOString()};${key}<=${value.to.toISOString()}`);\n } else if (Array.isArray(value)) {\n filters.push(`${key}=@${value.join(',')}`);\n } else {\n filters.push(`${key}==${value}`);\n }\n }\n }\n return filters.join(';');\n }\n}\n"],"names":["DataService","APIBase","addOne","dto","options","httpClient","post","basePath","addMany","getOne","id","params","populate","get","getMany","limit","page","getManyFiltered","filter","getFilterString","updateOne","put","deleteOne","force","delete","filters","key","value","Object","entries","instanceOfTimePeriod","push","from","toISOString","to","Array","isArray","join"],"mappings":";;;;+BAIaA;;;eAAAA;;;yBAJW;+BACiE;AAGlF,IAAA,AAAMA,cAAN,MAAMA,oBAAuBC,gBAAO;IAClCC,OAAOC,GAAQ,EAAEC,UAAuB,CAAC,CAAC,EAAc;QAC7D,OAAO,IAAI,CAACC,UAAU,CAACC,IAAI,CAAI,IAAI,CAACC,QAAQ,EAAEJ,KAAKC;IACrD;IAEOI,QAAQL,GAAU,EAAEC,UAAuB,CAAC,CAAC,EAAgB;QAClE,OAAO,IAAI,CAACC,UAAU,CAACC,IAAI,CAAM,GAAG,IAAI,CAACC,QAAQ,CAAC,KAAK,CAAC,EAAEJ,KAAKC;IACjE;IAEOK,OAAOC,EAAU,EAAEN,UAAgD,CAAC,CAAC,EAAc;QACxF,MAAMO,SAASP,QAAQQ,QAAQ,GAAG;YAAEA,UAAUR,QAAQQ,QAAQ;QAAC,IAAI,CAAC;QACpE,OAAO,IAAI,CAACP,UAAU,CAACQ,GAAG,CAAI,GAAG,IAAI,CAACN,QAAQ,CAAC,CAAC,EAAEG,IAAI,EAAE;YAAEC;QAAO;IACnE;IAEOG,QAAQH,SAA2B,CAAC,CAAC,EAAEP,UAAuB,CAAC,CAAC,EAA2B;QAChGO,OAAOI,KAAK,GAAGJ,OAAOI,KAAK,IAAI;QAC/BJ,OAAOK,IAAI,GAAGL,OAAOK,IAAI,IAAI;QAC7B,OAAO,IAAI,CAACX,UAAU,CAACQ,GAAG,CAAiB,GAAG,IAAI,CAACN,QAAQ,EAAE,EAAE;YAAEI;YAAQ,GAAGP,OAAO;QAAC;IACtF;IAEA;;;;;;;;;GASC,GACD,AAAOa,gBAAgBC,MAAc,EAAEP,SAA2B,CAAC,CAAC,EAAEP,UAAuB,CAAC,CAAC,EAA2B;QACxHO,OAAOO,MAAM,GAAG,IAAI,CAACC,eAAe,CAACD;QACrC,OAAO,IAAI,CAACJ,OAAO,CAACH,QAAQP;IAC9B;IAEOgB,UAAUV,EAAU,EAAEP,GAAQ,EAAEC,UAAgD,CAAC,CAAC,EAAc;QACrG,OAAO,IAAI,CAACC,UAAU,CAACgB,GAAG,CAAI,GAAG,IAAI,CAACd,QAAQ,CAAC,CAAC,EAAEG,IAAI,EAAEP,KAAKC;IAC/D;IAEOkB,UAAUZ,EAAU,EAAEa,QAAQ,KAAK,EAAEnB,UAAuB,CAAC,CAAC,EAAgB;QACnF,OAAO,IAAI,CAACC,UAAU,CAACmB,MAAM,CAAC,GAAG,IAAI,CAACjB,QAAQ,CAAC,CAAC,EAAEG,IAAI,EAAE;YAAEC,QAAQ;gBAAEY;YAAM;YAAG,GAAGnB,OAAO;QAAC;IAC1F;IAEQe,gBAAgBD,MAAc,EAAE;QACtC,MAAMO,UAAoB,EAAE;QAC5B,KAAK,MAAM,CAACC,KAAKC,MAAM,IAAIC,OAAOC,OAAO,CAACX,QAAS;YACjD,IAAIS,SAAS,QAAQA,UAAU,IAAI;gBACjC,yDAAyD;gBACzD,IAAI,OAAOA,UAAU,YAAYG,IAAAA,mCAAoB,EAACH,QAAQ;oBAC5DF,QAAQM,IAAI,CAAC,GAAGL,IAAI,EAAE,EAAEC,MAAMK,IAAI,CAACC,WAAW,GAAG,CAAC,EAAEP,IAAI,EAAE,EAAEC,MAAMO,EAAE,CAACD,WAAW,IAAI;gBACtF,OAAO,IAAIE,MAAMC,OAAO,CAACT,QAAQ;oBAC/BF,QAAQM,IAAI,CAAC,GAAGL,IAAI,EAAE,EAAEC,MAAMU,IAAI,CAAC,MAAM;gBAC3C,OAAO;oBACLZ,QAAQM,IAAI,CAAC,GAAGL,IAAI,EAAE,EAAEC,OAAO;gBACjC;YACF;QACF;QACA,OAAOF,QAAQY,IAAI,CAAC;IACtB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/endpoint.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/endpoint.service.ts"],"sourcesContent":["import { DataService } from './data.service';\nimport { Endpoint, EndpointLog, NotificationPayload } from './endpoint.interface';\nimport { HttpClient, TokenOption } from './http.service';\n\nexport class EndpointService extends DataService<Endpoint> {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/notification/endpoints');\n }\n\n sendNotification(endpointId: string, payload: NotificationPayload, options: TokenOption = {}): Promise<void> {\n return this.httpClient.post<void>(`${this.basePath}/${endpointId}`, payload, options);\n }\n\n readLastLogByGroup(endpointId: string, group: string, options: TokenOption = {}): Promise<EndpointLog> {\n return this.httpClient.get(`${this.basePath}/${endpointId}/logs/${group}/last`, options);\n }\n}\n"],"names":["EndpointService","DataService","constructor","httpClient","sendNotification","endpointId","payload","options","post","basePath","readLastLogByGroup","group","get"],"mappings":";;;;+BAIaA;;;eAAAA;;;6BAJe;AAIrB,IAAA,AAAMA,kBAAN,MAAMA,wBAAwBC,wBAAW;IAC9CC,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;IAEAC,iBAAiBC,UAAkB,EAAEC,OAA4B,EAAEC,UAAuB,CAAC,CAAC,EAAiB;QAC3G,OAAO,IAAI,CAACJ,UAAU,CAACK,IAAI,CAAO,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAEJ,YAAY,EAAEC,SAASC;IAC/E;IAEAG,mBAAmBL,UAAkB,EAAEM,KAAa,EAAEJ,UAAuB,CAAC,CAAC,EAAwB;QACrG,OAAO,IAAI,CAACJ,UAAU,CAACS,GAAG,CAAC,GAAG,IAAI,CAACH,QAAQ,CAAC,CAAC,EAAEJ,WAAW,MAAM,EAAEM,MAAM,KAAK,CAAC,EAAEJ;IAClF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/events.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/events.service.ts"],"sourcesContent":["import { DataService } from './data.service';\nimport { Event } from './events.interface';\nimport { HttpClient, TokenOption } from './http.service';\n\nexport class EventsService extends DataService<Event> {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/events');\n }\n\n getLastEventByAssetAndGroup(assetId: string, group: string, options: TokenOption = {}): Promise<Event> {\n return this.httpClient.get<Event>(`${this.basePath}/last/${assetId}/${group}`, options);\n }\n}\n"],"names":["EventsService","DataService","constructor","httpClient","getLastEventByAssetAndGroup","assetId","group","options","get","basePath"],"mappings":";;;;+BAIaA;;;eAAAA;;;6BAJe;AAIrB,IAAA,AAAMA,gBAAN,MAAMA,sBAAsBC,wBAAW;IAC5CC,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;IAEAC,4BAA4BC,OAAe,EAAEC,KAAa,EAAEC,UAAuB,CAAC,CAAC,EAAkB;QACrG,OAAO,IAAI,CAACJ,UAAU,CAACK,GAAG,CAAQ,GAAG,IAAI,CAACC,QAAQ,CAAC,MAAM,EAAEJ,QAAQ,CAAC,EAAEC,OAAO,EAAEC;IACjF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/flow-deployment.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/flow-deployment.service.ts"],"sourcesContent":["import { mix } from 'ts-mixer';\n\nimport { APIBase } from './api-base';\nimport { DataService } from './data.service';\nimport { FlowDeployment, FlowDeploymentMetrics, FlowDeploymentStatistic, FlowLog } from './flow-deployment.interface';\nimport { HttpClient, TokenOption } from './http.service';\nimport { ResourceReference } from './resource.interface';\nimport { TrashService } from './trash.service';\n\ninterface BaseService extends DataService<FlowDeployment>, TrashService<FlowDeployment> {}\n@mix(DataService, TrashService)\nclass BaseService extends APIBase {}\n\nexport class FlowDeploymentService extends BaseService {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/flow/deployments');\n }\n\n // workaround as flow-deployment-service does not have a POST /many endpoint\n public addMany(dto: any[], options: TokenOption = {}): Promise<FlowDeployment[]> {\n const reqs = dto.map((v) => this.addOne(v, options));\n return Promise.all(reqs);\n }\n\n public updateOne(id: string, dto: any, options: TokenOption & { force: boolean } = { force: false }): Promise<FlowDeployment> {\n return super.updateOne(id, dto, options);\n }\n\n public getDeploymentStatistics(id: string, options: TokenOption = {}): Promise<FlowDeploymentStatistic> {\n return this.httpClient.get<FlowDeploymentStatistic>(`${this.basePath}/${id}/statistics`, options);\n }\n\n public getDeploymentMetrics(id: string, range = '12h', interval = '5m', options: TokenOption = {}): Promise<FlowDeploymentMetrics> {\n const params = { range, interval };\n return this.httpClient.get<FlowDeploymentMetrics>(`${this.basePath}/${id}/metrics`, { params, ...options });\n }\n\n public getDeploymentLogs(id: string, options: TokenOption = {}): Promise<FlowLog[]> {\n return this.httpClient.get<FlowLog[]>(`${this.basePath}/${id}/logs`, options);\n }\n\n public resolveReferences(id: string, recursive = true, types?: string[], options: TokenOption = {}): Promise<ResourceReference[]> {\n const params = { recursive, types: types?.join(',') ?? undefined };\n return this.httpClient.get(`${this.basePath}/${id}/references`, { params, ...options });\n }\n\n public updateStatus(\n id: string,\n desiredStatus: 'running' | 'stopped' | 'deleted' | 'paused',\n options: TokenOption = {},\n ): Promise<FlowDeployment> {\n return this.httpClient.put<FlowDeployment>(`${this.basePath}/${id}/status`, { desiredStatus }, options);\n }\n\n public deleteOne(id: string, _force?: boolean, options: TokenOption = {}): Promise<FlowDeployment> {\n return this.updateStatus(id, 'deleted', options);\n }\n\n public async waitForRunningStatus(id: string, options: TokenOption = {}) {\n return new Promise<void>(async (resolve, reject) => {\n const esId = await this.subscribeToStatus(\n id,\n (event) => {\n if (\n event.type === 'message' &&\n ['running', 'deployment failed', 'deleted', 'generating failed', 'updating failed', 'upgrading failed'].includes(event.data)\n ) {\n this.httpClient.destroyEventSource(esId);\n if (event.data === 'running') {\n resolve();\n } else {\n reject(`Deployment in failed status: ${event.data}`);\n }\n }\n },\n (event) => reject(event),\n options,\n );\n });\n }\n\n public addOne(\n dto: {\n diagramId: string;\n name: string;\n properties?: Record<string, any>;\n readPermissions?: string[];\n readWritePermissions?: string[];\n tags?: string[];\n },\n options: TokenOption = {},\n ): Promise<FlowDeployment> {\n return super.addOne(dto, options);\n }\n\n public subscribeToStatus(\n id: string,\n listener: (event: MessageEvent<any>) => void,\n errorListener?: (event: MessageEvent) => void,\n options: TokenOption = {},\n ) {\n return this.httpClient.addEventSource(`${this.basePath}/${id}/status`, listener, errorListener, options);\n }\n\n public subscribeToLogs(\n id: string,\n listener: (event: MessageEvent<any>) => void,\n errorListener?: (event: MessageEvent) => void,\n options: TokenOption = {},\n ) {\n return this.httpClient.addEventSource(`${this.basePath}/${id}/logs/subscribe`, listener, errorListener, options);\n }\n}\n"],"names":["FlowDeploymentService","BaseService","APIBase","constructor","httpClient","addMany","dto","options","reqs","map","v","addOne","Promise","all","updateOne","id","force","getDeploymentStatistics","get","basePath","getDeploymentMetrics","range","interval","params","getDeploymentLogs","resolveReferences","recursive","types","join","undefined","updateStatus","desiredStatus","put","deleteOne","_force","waitForRunningStatus","resolve","reject","esId","subscribeToStatus","event","type","includes","data","destroyEventSource","listener","errorListener","addEventSource","subscribeToLogs"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/flow-function.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/flow-function.service.ts"],"sourcesContent":["import { Paginated } from './data.interface';\nimport { DataService } from './data.service';\nimport { FlowFunctionDto } from './flow-function.interface';\nimport { HttpClient, TokenOption } from './http.service';\n\nexport class FlowFunctionService extends DataService<FlowFunctionDto> {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/flow/functions');\n }\n\n // workaround as flow-functions-service does not have a POST /many endpoint\n public addMany(dto: any[], options: TokenOption = {}): Promise<FlowFunctionDto[]> {\n const reqs = dto.map((v) => this.addOne(v, options));\n return Promise.all(reqs);\n }\n\n public getRevisions(fqn: string, options: TokenOption = {}): Promise<Paginated<FlowFunctionDto[]>> {\n return this.httpClient.get<Paginated<FlowFunctionDto[]>>(`${this.basePath}/${fqn}/revisions`, options);\n }\n\n public rollback(fqn: string, revisionId: string, options: TokenOption = {}): Promise<FlowFunctionDto> {\n return this.httpClient.put<FlowFunctionDto>(`${this.basePath}/${fqn}/rollback`, { revisionId }, options);\n }\n\n public deleteRevision(fqn: string, revisionId: string, options: TokenOption = {}): Promise<any> {\n return this.httpClient.delete(`${this.basePath}/${fqn}/revisions/${revisionId}`, options);\n }\n}\n"],"names":["FlowFunctionService","DataService","constructor","httpClient","addMany","dto","options","reqs","map","v","addOne","Promise","all","getRevisions","fqn","get","basePath","rollback","revisionId","put","deleteRevision","delete"],"mappings":";;;;+BAKaA;;;eAAAA;;;6BAJe;AAIrB,IAAA,AAAMA,sBAAN,MAAMA,4BAA4BC,wBAAW;IAClDC,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;IAEA,2EAA2E;IACpEC,QAAQC,GAAU,EAAEC,UAAuB,CAAC,CAAC,EAA8B;QAChF,MAAMC,OAAOF,IAAIG,GAAG,CAAC,CAACC,IAAM,IAAI,CAACC,MAAM,CAACD,GAAGH;QAC3C,OAAOK,QAAQC,GAAG,CAACL;IACrB;IAEOM,aAAaC,GAAW,EAAER,UAAuB,CAAC,CAAC,EAAyC;QACjG,OAAO,IAAI,CAACH,UAAU,CAACY,GAAG,CAA+B,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAEF,IAAI,UAAU,CAAC,EAAER;IAChG;IAEOW,SAASH,GAAW,EAAEI,UAAkB,EAAEZ,UAAuB,CAAC,CAAC,EAA4B;QACpG,OAAO,IAAI,CAACH,UAAU,CAACgB,GAAG,CAAkB,GAAG,IAAI,CAACH,QAAQ,CAAC,CAAC,EAAEF,IAAI,SAAS,CAAC,EAAE;YAAEI;QAAW,GAAGZ;IAClG;IAEOc,eAAeN,GAAW,EAAEI,UAAkB,EAAEZ,UAAuB,CAAC,CAAC,EAAgB;QAC9F,OAAO,IAAI,CAACH,UAAU,CAACkB,MAAM,CAAC,GAAG,IAAI,CAACL,QAAQ,CAAC,CAAC,EAAEF,IAAI,WAAW,EAAEI,YAAY,EAAEZ;IACnF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/flow-module.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/flow-module.service.ts"],"sourcesContent":["import FormData from 'form-data';\n\nimport { DataService } from './data.service';\nimport { FlowModule } from './flow-module.interface';\nimport { HttpClient, TokenOption } from './http.service';\n\nexport class FlowModuleService extends DataService<FlowModule> {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/flow/modules');\n }\n\n public deleteArtifact(name: string, version: string, options: TokenOption = {}): Promise<FlowModule> {\n return this.httpClient.delete<FlowModule>(`${this.basePath}/${name}/${version}`, options);\n }\n\n public publish(form: FormData, options: TokenOption = {}) {\n const config = {\n headers: { ...form.getHeaders() },\n maxBodyLength: Infinity,\n maxContentLength: Infinity,\n ...options,\n };\n\n return this.httpClient.post(`${this.basePath}`, form, config);\n }\n\n public addOne(_dto: any): Promise<FlowModule> {\n throw new Error('not allowed: use publish instead');\n }\n\n public addMany(_dto: any[]): Promise<FlowModule[]> {\n throw new Error('not allowed: use publish instead');\n }\n}\n"],"names":["FlowModuleService","DataService","constructor","httpClient","deleteArtifact","name","version","options","delete","basePath","publish","form","config","headers","getHeaders","maxBodyLength","Infinity","maxContentLength","post","addOne","_dto","Error","addMany"],"mappings":";;;;+BAMaA;;;eAAAA;;;6BAJe;AAIrB,IAAA,AAAMA,oBAAN,MAAMA,0BAA0BC,wBAAW;IAChDC,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;IAEOC,eAAeC,IAAY,EAAEC,OAAe,EAAEC,UAAuB,CAAC,CAAC,EAAuB;QACnG,OAAO,IAAI,CAACJ,UAAU,CAACK,MAAM,CAAa,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAEJ,KAAK,CAAC,EAAEC,SAAS,EAAEC;IACnF;IAEOG,QAAQC,IAAc,EAAEJ,UAAuB,CAAC,CAAC,EAAE;QACxD,MAAMK,SAAS;YACbC,SAAS;gBAAE,GAAGF,KAAKG,UAAU,EAAE;YAAC;YAChCC,eAAeC;YACfC,kBAAkBD;YAClB,GAAGT,OAAO;QACZ;QAEA,OAAO,IAAI,CAACJ,UAAU,CAACe,IAAI,CAAC,GAAG,IAAI,CAACT,QAAQ,EAAE,EAAEE,MAAMC;IACxD;IAEOO,OAAOC,IAAS,EAAuB;QAC5C,MAAM,IAAIC,MAAM;IAClB;IAEOC,QAAQF,IAAW,EAAyB;QACjD,MAAM,IAAIC,MAAM;IAClB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/flow.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/flow.service.ts"],"sourcesContent":["import { mix } from 'ts-mixer';\n\nimport { APIBase } from './api-base';\nimport { Paginated, RequestParameter } from './data.interface';\nimport { DataService } from './data.service';\nimport { FlowDeployment } from './flow-deployment.interface';\nimport { FlowDiagram, FlowDto } from './flow.interface';\nimport { HttpClient, TokenOption } from './http.service';\nimport { TrashService } from './trash.service';\n\ninterface BaseService extends DataService<FlowDto>, TrashService<FlowDto> {}\n@mix(DataService, TrashService)\nclass BaseService extends APIBase {}\n\nexport class FlowService extends BaseService {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/flows');\n }\n\n // workaround as flow-service does not have a POST /many endpoint\n public addMany(dto: any[], options: TokenOption = {}): Promise<FlowDto[]> {\n const reqs = dto.map((v) => this.addOne(v, options));\n return Promise.all(reqs);\n }\n\n public getMany(params: RequestParameter = {}, options: TokenOption = {}): Promise<Paginated<FlowDto[]>> {\n params.populate = params.populate ? params.populate : 'none';\n return super.getMany(params, options);\n }\n\n public getOne(id: string, options: TokenOption & { [key: string]: any } = {}): Promise<FlowDto> {\n options.populate = options.populate ? options.populate : 'none';\n return super.getOne(id, options);\n }\n\n public getFlowWithDiagram(diagramId: string, options: TokenOption = {}): Promise<FlowDto> {\n return this.httpClient.get<FlowDto>(`${this.basePath}/diagram/${diagramId}`, options);\n }\n\n public getDiagramRevisions(id: string, options: TokenOption = {}): Promise<FlowDiagram[]> {\n return this.httpClient.get<FlowDiagram[]>(`${this.basePath}/${id}/diagram/revisions`, options);\n }\n\n public async isDeploymentOnLatestDiagramVersion(depl: FlowDeployment, options: TokenOption = {}): Promise<boolean> {\n const flowId = typeof depl.flow === 'string' ? depl.flow : depl.flow.id;\n const diagramId = typeof depl.diagram === 'string' ? depl.diagram : depl.diagram.id;\n const revisions = await this.getDiagramRevisions(flowId, options);\n return revisions[revisions.length - 1].id === diagramId;\n }\n\n public getRevisions(id: string, options: TokenOption = {}): Promise<Paginated<FlowDto[]>> {\n return this.httpClient.get<Paginated<FlowDto[]>>(`${this.basePath}/${id}/revisions`, options);\n }\n\n public rollback(id: string, revisionId: string, options: TokenOption = {}): Promise<FlowDto> {\n return this.httpClient.put<FlowDto>(`${this.basePath}/${id}/rollback`, { revisionId }, options);\n }\n\n public deleteRevision(id: string, revisionId: string, options: TokenOption = {}): Promise<any> {\n return this.httpClient.delete(`${this.basePath}/${id}/revisions/${revisionId}`, options);\n }\n}\n"],"names":["FlowService","BaseService","APIBase","constructor","httpClient","addMany","dto","options","reqs","map","v","addOne","Promise","all","getMany","params","populate","getOne","id","getFlowWithDiagram","diagramId","get","basePath","getDiagramRevisions","isDeploymentOnLatestDiagramVersion","depl","flowId","flow","diagram","revisions","length","getRevisions","rollback","revisionId","put","deleteRevision","delete"],"mappings":";;;;+BAcaA;;;eAAAA;;;;yBAdO;yBAEI;6BAEI;8BAIC;AAG7B,IAAA,AACMC,cADN,MACMA,oBAAoBC,gBAAO;AAAE;;;;AAE5B,IAAA,AAAMF,cAAN,MAAMA,oBAAoBC;IAC/BE,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;IAEA,iEAAiE;IAC1DC,QAAQC,GAAU,EAAEC,UAAuB,CAAC,CAAC,EAAsB;QACxE,MAAMC,OAAOF,IAAIG,GAAG,CAAC,CAACC,IAAM,IAAI,CAACC,MAAM,CAACD,GAAGH;QAC3C,OAAOK,QAAQC,GAAG,CAACL;IACrB;IAEOM,QAAQC,SAA2B,CAAC,CAAC,EAAER,UAAuB,CAAC,CAAC,EAAiC;QACtGQ,OAAOC,QAAQ,GAAGD,OAAOC,QAAQ,GAAGD,OAAOC,QAAQ,GAAG;QACtD,OAAO,KAAK,CAACF,QAAQC,QAAQR;IAC/B;IAEOU,OAAOC,EAAU,EAAEX,UAAgD,CAAC,CAAC,EAAoB;QAC9FA,QAAQS,QAAQ,GAAGT,QAAQS,QAAQ,GAAGT,QAAQS,QAAQ,GAAG;QACzD,OAAO,KAAK,CAACC,OAAOC,IAAIX;IAC1B;IAEOY,mBAAmBC,SAAiB,EAAEb,UAAuB,CAAC,CAAC,EAAoB;QACxF,OAAO,IAAI,CAACH,UAAU,CAACiB,GAAG,CAAU,GAAG,IAAI,CAACC,QAAQ,CAAC,SAAS,EAAEF,WAAW,EAAEb;IAC/E;IAEOgB,oBAAoBL,EAAU,EAAEX,UAAuB,CAAC,CAAC,EAA0B;QACxF,OAAO,IAAI,CAACH,UAAU,CAACiB,GAAG,CAAgB,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAEJ,GAAG,kBAAkB,CAAC,EAAEX;IACxF;IAEA,MAAaiB,mCAAmCC,IAAoB,EAAElB,UAAuB,CAAC,CAAC,EAAoB;QACjH,MAAMmB,SAAS,OAAOD,KAAKE,IAAI,KAAK,WAAWF,KAAKE,IAAI,GAAGF,KAAKE,IAAI,CAACT,EAAE;QACvE,MAAME,YAAY,OAAOK,KAAKG,OAAO,KAAK,WAAWH,KAAKG,OAAO,GAAGH,KAAKG,OAAO,CAACV,EAAE;QACnF,MAAMW,YAAY,MAAM,IAAI,CAACN,mBAAmB,CAACG,QAAQnB;QACzD,OAAOsB,SAAS,CAACA,UAAUC,MAAM,GAAG,EAAE,CAACZ,EAAE,KAAKE;IAChD;IAEOW,aAAab,EAAU,EAAEX,UAAuB,CAAC,CAAC,EAAiC;QACxF,OAAO,IAAI,CAACH,UAAU,CAACiB,GAAG,CAAuB,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAEJ,GAAG,UAAU,CAAC,EAAEX;IACvF;IAEOyB,SAASd,EAAU,EAAEe,UAAkB,EAAE1B,UAAuB,CAAC,CAAC,EAAoB;QAC3F,OAAO,IAAI,CAACH,UAAU,CAAC8B,GAAG,CAAU,GAAG,IAAI,CAACZ,QAAQ,CAAC,CAAC,EAAEJ,GAAG,SAAS,CAAC,EAAE;YAAEe;QAAW,GAAG1B;IACzF;IAEO4B,eAAejB,EAAU,EAAEe,UAAkB,EAAE1B,UAAuB,CAAC,CAAC,EAAgB;QAC7F,OAAO,IAAI,CAACH,UAAU,CAACgC,MAAM,CAAC,GAAG,IAAI,CAACd,QAAQ,CAAC,CAAC,EAAEJ,GAAG,WAAW,EAAEe,YAAY,EAAE1B;IAClF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/http.service.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, Method, RawAxiosRequestHeaders } from 'axios';\nimport { EventSource } from 'eventsource';\nimport { CompactSign, decodeJwt } from 'jose';\n\nimport { Queue } from './Queue';\nimport { TokenSet } from './token-set';\n\nexport type TokenOption = { token?: string };\nexport type Config = TokenOption & AxiosRequestConfig;\n\nexport class HttpClient {\n protected readonly axiosInstance: AxiosInstance;\n protected readonly authAxiosInstance: AxiosInstance;\n protected readonly requestQueue: Queue;\n private tokenSet: TokenSet;\n private exchangedTokenSet: TokenSet;\n private discoveredIssuers = new Map<string, Issuer>();\n\n public eventSourcesMap: Map<\n string,\n { eventSource: EventSource; listener: (event: MessageEvent) => void; errListener: (event: MessageEvent) => void }\n > = new Map();\n\n constructor(\n protected readonly baseURL: string,\n protected readonly authBaseURL: string,\n protected readonly realm: string,\n protected readonly clientId: string,\n protected readonly clientSecret: string,\n protected readonly tokenSubject?: string,\n ) {\n this.axiosInstance = axios.create({ baseURL, timeout: 60000 });\n this.authAxiosInstance = axios.create({ baseURL: authBaseURL || baseURL, timeout: 10000 });\n this.requestQueue = new Queue({ concurrency: 1, timeout: 70000, throwOnTimeout: true });\n }\n\n public getQueueStats = () => this.requestQueue?.getStats();\n\n public delete = <T>(url: string, config?: Config) => this.request<T>('DELETE', url, config);\n public get = <T>(url: string, config?: Config) => this.request<T>('GET', url, config);\n public post = <T>(url: string, data: any, config?: Config) => this.request<T>('POST', url, config, data);\n public put = <T>(url: string, data: any, config?: Config) => this.request<T>('PUT', url, config, data);\n\n protected request = <T>(method: Method, url: string, config: Config = {}, data?): Promise<T> => {\n return this.requestQueue.add(\n () =>\n new Promise((resolve, reject) => {\n const tokenP = config.token ? Promise.resolve(config.token) : this.getAccessToken();\n tokenP\n .then((token) => {\n const headers = { Authorization: `Bearer ${token}`, ...config.headers } as RawAxiosRequestHeaders;\n return this.axiosInstance.request<T>({ ...config, headers, method, url, data });\n })\n .then((response) => resolve(response.data))\n .catch(reject);\n }),\n ) as Promise<T>;\n };\n\n public async addEventSource(\n url: string,\n listener: (event: MessageEvent) => void,\n errorListener?: (event: MessageEvent) => void,\n options: TokenOption = {},\n ) {\n const id = generateUUID();\n const errListener = errorListener\n ? errorListener\n : (event) => {\n throw new Error(JSON.stringify(event, null, 2));\n };\n const token = options.token ? options.token : await this.getAccessToken();\n const es = new EventSource(`${this.baseURL}${url}`, {\n fetch: (input, init) =>\n fetch(input, {\n ...init,\n headers: {\n ...init.headers,\n Authorization: 'Bearer ' + token,\n },\n }),\n });\n es.addEventListener('message', listener);\n es.addEventListener('error', errListener);\n // the listeners have to be saved otherwise they cannot be removed\n this.eventSourcesMap.set(id, { eventSource: es, listener, errListener });\n return id;\n }\n\n public destroyEventSource(id: string) {\n if (!this.eventSourcesMap.has(id)) {\n return;\n }\n const es = this.eventSourcesMap.get(id);\n // close and unbind listeners so that the process quits cleanly\n es.eventSource.close();\n es.eventSource.removeEventListener('message', es.listener);\n es.eventSource.removeEventListener('error', es.errListener);\n this.eventSourcesMap.delete(id);\n }\n\n public destroyAllEventSources() {\n for (const key of this.eventSourcesMap.keys()) {\n this.destroyEventSource(key);\n }\n }\n\n public getAccessToken = async (forceRefresh = false): Promise<string> => {\n let accessToken: string;\n if (forceRefresh || !this.tokenSet || this.tokenSet.isExpired()) {\n if (this.tokenSet?.provided) {\n throw new Error('provided token is expired and cannot be refreshed, provide a new token.');\n }\n this.tokenSet = await this.requestAccessToken();\n accessToken = this.tokenSet.accessToken;\n } else {\n accessToken = this.tokenSet.accessToken;\n }\n\n if (this.tokenSubject) {\n if (forceRefresh || !this.exchangedTokenSet || this.exchangedTokenSet.isExpired()) {\n this.exchangedTokenSet = await this.exchangeAccessToken(accessToken);\n }\n return this.exchangedTokenSet.accessToken;\n } else {\n return accessToken;\n }\n };\n\n protected validateIssuer(issuer: Issuer): Issuer {\n if (\n !issuer.issuer ||\n !issuer.grant_types_supported?.includes('client_credentials') ||\n !issuer.token_endpoint_auth_methods_supported?.includes('client_secret_jwt')\n ) {\n throw new Error('Issuer does not support client_secret_jwt');\n }\n\n return issuer;\n }\n\n protected async discoverIssuer(uri: string): Promise<Issuer> {\n if (this.discoveredIssuers.has(uri)) {\n return this.discoveredIssuers.get(uri);\n }\n const wellKnownUri = `${uri}/.well-known/openid-configuration`;\n const issuerResponse = await this.authAxiosInstance.get(wellKnownUri, {\n responseType: 'json',\n headers: { Accept: 'application/json' },\n });\n const validIssuer = this.validateIssuer(issuerResponse.data);\n this.discoveredIssuers.set(uri, validIssuer);\n return validIssuer;\n }\n\n protected async requestAccessToken(additionalOpts = {}): Promise<TokenSet> {\n const issuer = await this.discoverIssuer(`${this.authBaseURL}/realms/${this.realm}`);\n\n const timestamp = Date.now() / 1000;\n const audience = [...new Set([issuer.issuer, issuer.token_endpoint].filter(Boolean))];\n\n const assertionPayload = {\n iat: timestamp,\n exp: timestamp + 60,\n jti: generateUUID(),\n iss: this.clientId,\n sub: this.clientId,\n aud: audience,\n };\n\n const supportedAlgos = issuer.token_endpoint_auth_signing_alg_values_supported;\n const alg =\n issuer.token_endpoint_auth_signing_alg ??\n (Array.isArray(supportedAlgos) && supportedAlgos.find((signAlg) => /^HS(?:256|384|512)/.test(signAlg)));\n\n if (!alg) {\n throw new Error('Issuer has to support HS256, HS384 or HS512');\n }\n\n const assertion = await new CompactSign(Buffer.from(JSON.stringify(assertionPayload)))\n .setProtectedHeader({ alg })\n .sign(new TextEncoder().encode(this.clientSecret));\n\n const opts = {\n client_id: this.clientId,\n client_assertion: assertion,\n client_assertion_type: 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer',\n grant_type: 'client_credentials',\n ...additionalOpts,\n };\n const authResponse = await this.authAxiosInstance.post(issuer.token_endpoint, new URLSearchParams(opts).toString(), {\n headers: { Accept: 'application/json', 'Content-Type': 'application/x-www-form-urlencoded' },\n });\n\n if (authResponse?.data?.access_token && authResponse.data.expires_in) {\n return new TokenSet(authResponse.data.access_token, authResponse.data.expires_in);\n } else {\n throw new Error('Invalid access token received');\n }\n }\n\n protected async exchangeAccessToken(accessToken: string): Promise<TokenSet> {\n if (!accessToken || !this.tokenSubject) {\n throw new Error('Could not exchange access token');\n }\n\n const opts = {\n grant_type: 'urn:ietf:params:oauth:grant-type:token-exchange',\n subject_token: accessToken,\n audience: this.clientId,\n requested_token_type: 'urn:ietf:params:oauth:token-type:access_token',\n requested_subject: this.tokenSubject,\n };\n return this.requestAccessToken(opts);\n }\n\n async provideExternalToken(token: string) {\n const issuer = await this.discoverIssuer(`${this.authBaseURL}/realms/${this.realm}`);\n\n const { iss: providedIssuer, exp } = decodeJwt(token);\n\n if (issuer.issuer !== providedIssuer) {\n throw new Error(\n `Provided token is not issued by currently configured issuer. Provided token issued by ${providedIssuer}, but ${issuer.issuer} is configured.`,\n );\n }\n\n this.tokenSet = new TokenSet(token, exp - Date.now() / 1000, true);\n }\n}\n\nfunction generateUUID(): string {\n if (typeof globalThis.crypto?.randomUUID === 'function') {\n return globalThis.crypto.randomUUID();\n }\n throw new Error('randomUUID() not available in this environment. Please upgrade to Node 20+ or a modern browser.');\n}\n\ninterface Issuer {\n issuer: string;\n token_endpoint: string;\n grant_types_supported: string[];\n token_endpoint_auth_methods_supported: string[];\n token_endpoint_auth_signing_alg?: string;\n token_endpoint_auth_signing_alg_values_supported: string[];\n}\n"],"names":["HttpClient","constructor","baseURL","authBaseURL","realm","clientId","clientSecret","tokenSubject","discoveredIssuers","Map","eventSourcesMap","getQueueStats","requestQueue","getStats","delete","url","config","request","get","post","data","put","method","add","Promise","resolve","reject","tokenP","token","getAccessToken","then","headers","Authorization","axiosInstance","response","catch","forceRefresh","accessToken","tokenSet","isExpired","provided","Error","requestAccessToken","exchangedTokenSet","exchangeAccessToken","axios","create","timeout","authAxiosInstance","Queue","concurrency","throwOnTimeout","addEventSource","listener","errorListener","options","id","generateUUID","errListener","event","JSON","stringify","es","EventSource","fetch","input","init","addEventListener","set","eventSource","destroyEventSource","has","close","removeEventListener","destroyAllEventSources","key","keys","validateIssuer","issuer","grant_types_supported","includes","token_endpoint_auth_methods_supported","discoverIssuer","uri","wellKnownUri","issuerResponse","responseType","Accept","validIssuer","additionalOpts","timestamp","Date","now","audience","Set","token_endpoint","filter","Boolean","assertionPayload","iat","exp","jti","iss","sub","aud","supportedAlgos","token_endpoint_auth_signing_alg_values_supported","alg","token_endpoint_auth_signing_alg","Array","isArray","find","signAlg","test","assertion","CompactSign","Buffer","from","setProtectedHeader","sign","TextEncoder","encode","opts","client_id","client_assertion","client_assertion_type","grant_type","authResponse","URLSearchParams","toString","access_token","expires_in","TokenSet","subject_token","requested_token_type","requested_subject","provideExternalToken","providedIssuer","decodeJwt","globalThis","crypto","randomUUID"],"mappings":"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"}