@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.
- package/CHANGELOG.md +1 -1
- package/package.json +6 -10
- package/src/index.js +22 -26
- package/src/lib/Queue.js +14 -20
- package/src/lib/api-base.js +6 -14
- package/src/lib/api.js +45 -52
- package/src/lib/asset.interface.js +1 -5
- package/src/lib/asset.service.js +23 -44
- package/src/lib/assettypes.service.js +15 -25
- package/src/lib/content.interface.js +5 -14
- package/src/lib/content.service.js +35 -61
- package/src/lib/data.interface.js +2 -11
- package/src/lib/data.service.js +27 -44
- package/src/lib/endpoint.interface.js +1 -5
- package/src/lib/endpoint.service.js +7 -15
- package/src/lib/events.interface.js +1 -5
- package/src/lib/events.service.js +7 -15
- package/src/lib/flow-deployment.interface.js +1 -5
- package/src/lib/flow-deployment.service.js +28 -57
- package/src/lib/flow-function.interface.js +1 -5
- package/src/lib/flow-function.service.js +9 -19
- package/src/lib/flow-module.interface.js +1 -5
- package/src/lib/flow-module.service.js +9 -19
- package/src/lib/flow.interface.js +1 -5
- package/src/lib/flow.service.js +16 -26
- package/src/lib/http.service.d.ts +1 -2
- package/src/lib/http.service.js +70 -100
- package/src/lib/label.interface.js +1 -5
- package/src/lib/label.service.js +8 -16
- package/src/lib/mock/api-base.mock.js +9 -16
- package/src/lib/mock/api.mock.d.ts +24 -22
- package/src/lib/mock/api.mock.js +198 -204
- package/src/lib/mock/asset.mock.service.js +41 -54
- package/src/lib/mock/assetTypes.mock.service.js +30 -44
- package/src/lib/mock/content.mock.service.js +40 -44
- package/src/lib/mock/data.mock.service.js +43 -48
- package/src/lib/mock/endpoint.mock.service.js +8 -16
- package/src/lib/mock/events.mock.service.js +7 -15
- package/src/lib/mock/flow-deployment.mock.service.js +39 -80
- package/src/lib/mock/flow-functions.mock.service.js +23 -32
- package/src/lib/mock/flow-modules.mock.service.js +9 -17
- package/src/lib/mock/flow.mock.service.js +32 -43
- package/src/lib/mock/http.mock.service.d.ts +28 -0
- package/src/lib/mock/http.mock.service.js +39 -0
- package/src/lib/mock/index.d.ts +1 -0
- package/src/lib/mock/index.js +14 -17
- package/src/lib/mock/label.mock.service.js +8 -16
- package/src/lib/mock/notification.mock.service.js +7 -15
- package/src/lib/mock/secret.mock.service.js +15 -23
- package/src/lib/mock/task.mock.service.js +15 -23
- package/src/lib/mock/timeseries.mock.service.js +46 -87
- package/src/lib/mock/trash.mock.service.js +17 -27
- package/src/lib/mock/user.mock.service.js +9 -16
- package/src/lib/mock/vault.mock.service.js +8 -16
- package/src/lib/notification.interface.js +1 -5
- package/src/lib/notification.service.js +7 -15
- package/src/lib/proxy.service.js +10 -18
- package/src/lib/resource.interface.js +1 -5
- package/src/lib/schema.interface.js +1 -5
- package/src/lib/secret.interface.js +1 -5
- package/src/lib/secret.service.js +14 -22
- package/src/lib/storage.interface.js +1 -5
- package/src/lib/task.interface.js +1 -5
- package/src/lib/task.service.js +14 -22
- package/src/lib/timeseries.interface.js +1 -5
- package/src/lib/timeseries.service.js +69 -96
- package/src/lib/token-set.js +6 -14
- package/src/lib/trash.service.js +8 -22
- package/src/lib/user-settings.interface.js +1 -5
- package/src/lib/user.service.js +10 -17
- package/src/lib/vault.interface.js +1 -5
- package/src/lib/vault.service.js +9 -22
- package/src/index.js.map +0 -1
- package/src/lib/Queue.js.map +0 -1
- package/src/lib/api-base.js.map +0 -1
- package/src/lib/api.js.map +0 -1
- package/src/lib/asset.interface.js.map +0 -1
- package/src/lib/asset.service.js.map +0 -1
- package/src/lib/assettypes.service.js.map +0 -1
- package/src/lib/content.interface.js.map +0 -1
- package/src/lib/content.service.js.map +0 -1
- package/src/lib/data.interface.js.map +0 -1
- package/src/lib/data.service.js.map +0 -1
- package/src/lib/endpoint.interface.js.map +0 -1
- package/src/lib/endpoint.service.js.map +0 -1
- package/src/lib/events.interface.js.map +0 -1
- package/src/lib/events.service.js.map +0 -1
- package/src/lib/flow-deployment.interface.js.map +0 -1
- package/src/lib/flow-deployment.service.js.map +0 -1
- package/src/lib/flow-function.interface.js.map +0 -1
- package/src/lib/flow-function.service.js.map +0 -1
- package/src/lib/flow-module.interface.js.map +0 -1
- package/src/lib/flow-module.service.js.map +0 -1
- package/src/lib/flow.interface.js.map +0 -1
- package/src/lib/flow.service.js.map +0 -1
- package/src/lib/http.service.js.map +0 -1
- package/src/lib/label.interface.js.map +0 -1
- package/src/lib/label.service.js.map +0 -1
- package/src/lib/mock/api-base.mock.js.map +0 -1
- package/src/lib/mock/api.mock.js.map +0 -1
- package/src/lib/mock/asset.mock.service.js.map +0 -1
- package/src/lib/mock/assetTypes.mock.service.js.map +0 -1
- package/src/lib/mock/content.mock.service.js.map +0 -1
- package/src/lib/mock/data.mock.service.js.map +0 -1
- package/src/lib/mock/endpoint.mock.service.js.map +0 -1
- package/src/lib/mock/events.mock.service.js.map +0 -1
- package/src/lib/mock/flow-deployment.mock.service.js.map +0 -1
- package/src/lib/mock/flow-functions.mock.service.js.map +0 -1
- package/src/lib/mock/flow-modules.mock.service.js.map +0 -1
- package/src/lib/mock/flow.mock.service.js.map +0 -1
- package/src/lib/mock/index.js.map +0 -1
- package/src/lib/mock/label.mock.service.js.map +0 -1
- package/src/lib/mock/notification.mock.service.js.map +0 -1
- package/src/lib/mock/secret.mock.service.js.map +0 -1
- package/src/lib/mock/task.mock.service.js.map +0 -1
- package/src/lib/mock/timeseries.mock.service.js.map +0 -1
- package/src/lib/mock/trash.mock.service.js.map +0 -1
- package/src/lib/mock/user.mock.service.js.map +0 -1
- package/src/lib/mock/vault.mock.service.js.map +0 -1
- package/src/lib/notification.interface.js.map +0 -1
- package/src/lib/notification.service.js.map +0 -1
- package/src/lib/proxy.service.js.map +0 -1
- package/src/lib/resource.interface.js.map +0 -1
- package/src/lib/schema.interface.js.map +0 -1
- package/src/lib/secret.interface.js.map +0 -1
- package/src/lib/secret.service.js.map +0 -1
- package/src/lib/storage.interface.js.map +0 -1
- package/src/lib/task.interface.js.map +0 -1
- package/src/lib/task.service.js.map +0 -1
- package/src/lib/timeseries.interface.js.map +0 -1
- package/src/lib/timeseries.service.js.map +0 -1
- package/src/lib/token-set.js.map +0 -1
- package/src/lib/trash.service.js.map +0 -1
- package/src/lib/user-settings.interface.js.map +0 -1
- package/src/lib/user.service.js.map +0 -1
- package/src/lib/vault.interface.js.map +0 -1
- package/src/lib/vault.service.js.map +0 -1
|
@@ -1,123 +1,96 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 =
|
|
19
|
-
(0,
|
|
11
|
+
BaseService = tslib_1.__decorate([
|
|
12
|
+
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
20
13
|
], BaseService);
|
|
21
|
-
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
package/src/lib/token-set.js
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
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
|
-
|
|
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;
|
package/src/lib/trash.service.js
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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;
|
package/src/lib/user.service.js
CHANGED
|
@@ -1,25 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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,
|
|
13
|
+
const decode = (0, jwt_decode_1.jwtDecode)(token);
|
|
21
14
|
return decode.realm_access.roles;
|
|
22
|
-
}
|
|
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;
|
package/src/lib/vault.service.js
CHANGED
|
@@ -1,27 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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"}
|
package/src/lib/Queue.js.map
DELETED
|
@@ -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"}
|
package/src/lib/api-base.js.map
DELETED
|
@@ -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"}
|
package/src/lib/api.js.map
DELETED
|
@@ -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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"}
|