@hahnpro/hpc-api 2024.4.0-1 → 2025.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/README.md +502 -6
- package/package.json +7 -4
- package/src/index.js +27 -20
- package/src/index.js.map +1 -0
- package/src/lib/Queue.js +21 -10
- package/src/lib/Queue.js.map +1 -0
- package/src/lib/api-base.js +15 -3
- package/src/lib/api-base.js.map +1 -0
- package/src/lib/api.js +53 -42
- package/src/lib/api.js.map +1 -0
- package/src/lib/asset.interface.js +6 -1
- package/src/lib/asset.interface.js.map +1 -0
- package/src/lib/asset.service.js +45 -20
- package/src/lib/asset.service.js.map +1 -0
- package/src/lib/assettypes.service.js +26 -12
- package/src/lib/assettypes.service.js.map +1 -0
- package/src/lib/content.interface.js +15 -3
- package/src/lib/content.interface.js.map +1 -0
- package/src/lib/content.service.js +62 -32
- package/src/lib/content.service.js.map +1 -0
- package/src/lib/data.interface.js +13 -1
- package/src/lib/data.interface.js.map +1 -0
- package/src/lib/data.service.js +45 -24
- package/src/lib/data.service.js.map +1 -0
- package/src/lib/endpoint.interface.js +6 -1
- package/src/lib/endpoint.interface.js.map +1 -0
- package/src/lib/endpoint.service.js +16 -4
- package/src/lib/endpoint.service.js.map +1 -0
- package/src/lib/events.interface.js +6 -1
- package/src/lib/events.interface.js.map +1 -0
- package/src/lib/events.service.js +16 -4
- package/src/lib/events.service.js.map +1 -0
- package/src/lib/flow-deployment.interface.js +6 -1
- package/src/lib/flow-deployment.interface.js.map +1 -0
- package/src/lib/flow-deployment.service.js +58 -25
- package/src/lib/flow-deployment.service.js.map +1 -0
- package/src/lib/flow-function.interface.js +6 -1
- package/src/lib/flow-function.interface.js.map +1 -0
- package/src/lib/flow-function.service.js +20 -6
- package/src/lib/flow-function.service.js.map +1 -0
- package/src/lib/flow-module.interface.js +6 -1
- package/src/lib/flow-module.interface.js.map +1 -0
- package/src/lib/flow-module.service.js +20 -6
- package/src/lib/flow-module.service.js.map +1 -0
- package/src/lib/flow.interface.js +6 -1
- package/src/lib/flow.interface.js.map +1 -0
- package/src/lib/flow.service.js +27 -13
- package/src/lib/flow.service.js.map +1 -0
- package/src/lib/http.service.js +101 -66
- package/src/lib/http.service.js.map +1 -0
- package/src/lib/label.interface.js +6 -1
- package/src/lib/label.interface.js.map +1 -0
- package/src/lib/label.service.js +17 -5
- package/src/lib/label.service.js.map +1 -0
- package/src/lib/mock/api-base.mock.js +17 -6
- package/src/lib/mock/api-base.mock.js.map +1 -0
- package/src/lib/mock/api.mock.js +204 -193
- package/src/lib/mock/api.mock.js.map +1 -0
- package/src/lib/mock/asset.mock.service.js +55 -38
- package/src/lib/mock/asset.mock.service.js.map +1 -0
- package/src/lib/mock/assetTypes.mock.service.js +45 -27
- package/src/lib/mock/assetTypes.mock.service.js.map +1 -0
- package/src/lib/mock/content.mock.service.js +45 -37
- package/src/lib/mock/content.mock.service.js.map +1 -0
- package/src/lib/mock/data.mock.service.js +49 -40
- package/src/lib/mock/data.mock.service.js.map +1 -0
- package/src/lib/mock/endpoint.mock.service.js +17 -5
- package/src/lib/mock/endpoint.mock.service.js.map +1 -0
- package/src/lib/mock/events.mock.service.js +16 -4
- package/src/lib/mock/events.mock.service.js.map +1 -0
- package/src/lib/mock/flow-deployment.mock.service.js +81 -36
- package/src/lib/mock/flow-deployment.mock.service.js.map +1 -0
- package/src/lib/mock/flow-functions.mock.service.js +33 -20
- package/src/lib/mock/flow-functions.mock.service.js.map +1 -0
- package/src/lib/mock/flow-modules.mock.service.js +18 -6
- package/src/lib/mock/flow-modules.mock.service.js.map +1 -0
- package/src/lib/mock/flow.mock.service.js +44 -29
- package/src/lib/mock/flow.mock.service.js.map +1 -0
- package/src/lib/mock/index.js +18 -11
- package/src/lib/mock/index.js.map +1 -0
- package/src/lib/mock/label.mock.service.js +17 -5
- package/src/lib/mock/label.mock.service.js.map +1 -0
- package/src/lib/mock/notification.mock.service.js +16 -4
- package/src/lib/mock/notification.mock.service.js.map +1 -0
- package/src/lib/mock/secret.mock.service.js +24 -12
- package/src/lib/mock/secret.mock.service.js.map +1 -0
- package/src/lib/mock/task.mock.service.js +24 -12
- package/src/lib/mock/task.mock.service.js.map +1 -0
- package/src/lib/mock/timeseries.mock.service.js +88 -43
- package/src/lib/mock/timeseries.mock.service.js.map +1 -0
- package/src/lib/mock/trash.mock.service.js +28 -14
- package/src/lib/mock/trash.mock.service.js.map +1 -0
- package/src/lib/mock/user.mock.service.js +17 -6
- package/src/lib/mock/user.mock.service.js.map +1 -0
- package/src/lib/mock/vault.mock.service.js +17 -5
- package/src/lib/mock/vault.mock.service.js.map +1 -0
- package/src/lib/notification.interface.js +6 -1
- package/src/lib/notification.interface.js.map +1 -0
- package/src/lib/notification.service.js +16 -4
- package/src/lib/notification.service.js.map +1 -0
- package/src/lib/proxy.service.js +19 -7
- package/src/lib/proxy.service.js.map +1 -0
- package/src/lib/resource.interface.js +6 -1
- package/src/lib/resource.interface.js.map +1 -0
- package/src/lib/schema.interface.js +6 -1
- package/src/lib/schema.interface.js.map +1 -0
- package/src/lib/secret.interface.js +6 -1
- package/src/lib/secret.interface.js.map +1 -0
- package/src/lib/secret.service.js +23 -11
- package/src/lib/secret.service.js.map +1 -0
- package/src/lib/storage.interface.js +6 -1
- package/src/lib/storage.interface.js.map +1 -0
- package/src/lib/task.interface.js +6 -1
- package/src/lib/task.interface.js.map +1 -0
- package/src/lib/task.service.js +23 -11
- package/src/lib/task.service.js.map +1 -0
- package/src/lib/timeseries.interface.js +6 -1
- package/src/lib/timeseries.interface.js.map +1 -0
- package/src/lib/timeseries.service.js +97 -66
- package/src/lib/timeseries.service.js.map +1 -0
- package/src/lib/token-set.js +15 -3
- package/src/lib/token-set.js.map +1 -0
- package/src/lib/trash.service.js +23 -5
- package/src/lib/trash.service.js.map +1 -0
- package/src/lib/user-settings.interface.js +6 -1
- package/src/lib/user-settings.interface.js.map +1 -0
- package/src/lib/user.service.js +18 -7
- package/src/lib/user.service.js.map +1 -0
- package/src/lib/vault.interface.js +6 -1
- package/src/lib/vault.interface.js.map +1 -0
- package/src/lib/vault.service.js +23 -6
- package/src/lib/vault.service.js.map +1 -0
package/src/lib/task.service.js
CHANGED
|
@@ -1,19 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "TaskService", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return TaskService;
|
|
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 {
|
|
7
17
|
};
|
|
8
|
-
BaseService =
|
|
9
|
-
mix(DataService, TrashService)
|
|
18
|
+
BaseService = _ts_decorate._([
|
|
19
|
+
(0, _tsmixer.mix)(_dataservice.DataService, _trashservice.TrashService)
|
|
10
20
|
], BaseService);
|
|
11
|
-
|
|
12
|
-
constructor(httpClient)
|
|
21
|
+
let TaskService = class TaskService extends BaseService {
|
|
22
|
+
constructor(httpClient){
|
|
13
23
|
super(httpClient, '/tasks');
|
|
14
24
|
}
|
|
15
25
|
// we may not need this method (already have the addOne method from DataService)
|
|
16
26
|
createTaskAttachedToAsset(dto, options = {}) {
|
|
17
27
|
return this.httpClient.post(this.basePath, dto, options);
|
|
18
28
|
}
|
|
19
|
-
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=task.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../lib/hpc-api/src/lib/task.service.ts"],"sourcesContent":["import { mix } from 'ts-mixer';\n\nimport { APIBase } from './api-base';\nimport { DataService } from './data.service';\nimport { HttpClient, TokenOption } from './http.service';\nimport { Task } from './task.interface';\nimport { TrashService } from './trash.service';\n\ninterface BaseService extends DataService<Task>, TrashService<Task> {}\n@mix(DataService, TrashService)\nclass BaseService extends APIBase {}\n\nexport class TaskService extends BaseService {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/tasks');\n }\n\n // we may not need this method (already have the addOne method from DataService)\n createTaskAttachedToAsset(dto: any, options: TokenOption = {}) {\n return this.httpClient.post<Task>(this.basePath, dto, options);\n }\n}\n"],"names":["TaskService","BaseService","APIBase","constructor","httpClient","createTaskAttachedToAsset","dto","options","post","basePath"],"mappings":";;;;+BAYaA;;;eAAAA;;;;yBAZO;yBAEI;6BACI;8BAGC;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,gFAAgF;IAChFC,0BAA0BC,GAAQ,EAAEC,UAAuB,CAAC,CAAC,EAAE;QAC7D,OAAO,IAAI,CAACH,UAAU,CAACI,IAAI,CAAO,IAAI,CAACC,QAAQ,EAAEH,KAAKC;IACxD;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../lib/hpc-api/src/lib/timeseries.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,92 +1,123 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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 {
|
|
7
17
|
};
|
|
8
|
-
BaseService =
|
|
9
|
-
mix(DataService, TrashService)
|
|
18
|
+
BaseService = _ts_decorate._([
|
|
19
|
+
(0, _tsmixer.mix)(_dataservice.DataService, _trashservice.TrashService)
|
|
10
20
|
], BaseService);
|
|
11
|
-
|
|
12
|
-
constructor(httpClient)
|
|
21
|
+
let TimeSeriesService = class TimeSeriesService extends BaseService {
|
|
22
|
+
constructor(httpClient){
|
|
13
23
|
super(httpClient, '/tsm');
|
|
14
24
|
}
|
|
15
25
|
addValue(id, value, options = {}) {
|
|
16
26
|
return this.httpClient.post(`${this.basePath}/${id}`, value, options);
|
|
17
27
|
}
|
|
18
28
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
addAssetTimeSeriesValues(assetId, name, readPermissions, readWritePermissions, values, options = {}) {
|
|
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 = {}) {
|
|
34
43
|
const dto = {
|
|
35
44
|
name,
|
|
36
45
|
readPermissions,
|
|
37
46
|
readWritePermissions,
|
|
38
|
-
values
|
|
47
|
+
values
|
|
39
48
|
};
|
|
40
49
|
return this.httpClient.post(`${this.basePath}/assets/${assetId}`, dto, options);
|
|
41
50
|
}
|
|
42
51
|
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}));
|
|
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
|
+
}));
|
|
74
82
|
return this.httpClient.post(`${this.basePath}/assets/${assetId}/bulk`, dtos, options);
|
|
75
83
|
}
|
|
76
84
|
getMostRecentValue(id, before, options = {}) {
|
|
77
|
-
const params = before ? {
|
|
78
|
-
|
|
85
|
+
const params = before ? {
|
|
86
|
+
before: before.toISOString()
|
|
87
|
+
} : {};
|
|
88
|
+
return this.httpClient.get(`${this.basePath}/${id}/recent`, {
|
|
89
|
+
params,
|
|
90
|
+
...options
|
|
91
|
+
});
|
|
79
92
|
}
|
|
80
93
|
getValues(id, from, limit, group, options = {}) {
|
|
81
|
-
const params = {
|
|
82
|
-
|
|
94
|
+
const params = {
|
|
95
|
+
limit,
|
|
96
|
+
group
|
|
97
|
+
};
|
|
98
|
+
return this.httpClient.get(`${this.basePath}/${id}/${from}`, {
|
|
99
|
+
params,
|
|
100
|
+
...options
|
|
101
|
+
});
|
|
83
102
|
}
|
|
84
103
|
getValuesOfPeriod(id, from, to, group, options = {}) {
|
|
85
|
-
const params = {
|
|
86
|
-
|
|
104
|
+
const params = {
|
|
105
|
+
group
|
|
106
|
+
};
|
|
107
|
+
return this.httpClient.get(`${this.basePath}/${id}/${from}/${to}`, {
|
|
108
|
+
params,
|
|
109
|
+
...options
|
|
110
|
+
});
|
|
87
111
|
}
|
|
88
112
|
getManyByAsset(assetId, names, options = {}) {
|
|
89
|
-
const params = Array.isArray(names) ? {
|
|
90
|
-
|
|
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
|
+
});
|
|
91
120
|
}
|
|
92
|
-
}
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
//# sourceMappingURL=timeseries.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../lib/hpc-api/src/lib/timeseries.service.ts"],"sourcesContent":["import { mix } from 'ts-mixer';\n\nimport { APIBase } from './api-base';\nimport { Paginated } from './data.interface';\nimport { DataService } from './data.service';\nimport { HttpClient, TokenOption } from './http.service';\nimport { TimeSeries, TimeSeriesValue, TS_GROUPS } from './timeseries.interface';\nimport { TrashService } from './trash.service';\n\ninterface BaseService extends DataService<TimeSeries>, TrashService<TimeSeries> {}\n@mix(DataService, TrashService)\nclass BaseService extends APIBase {}\n\nexport class TimeSeriesService extends BaseService {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/tsm');\n }\n\n public addValue(id: string, value: { [timestamp: string]: any }, options: TokenOption = {}) {\n return this.httpClient.post<void>(`${this.basePath}/${id}`, value, options);\n }\n\n /**\n * Adds time series values to an asset by the name of the time series.\n * If the time series does not exist, it is created.\n * @param assetId - The ID of the asset to which the time series values are added.\n * @param name - The name of the time series.\n * @param readPermissions - an array of permissions that allow the user to read the time series.\n * @param readWritePermissions - an array of permissions that allow the user to read and write the time series.\n * @param values - The time series values are specified as an object with the following structure:\n * {\n * [timestamp: string]: any, // The timestamp and value pairs\n * ...\n * }\n * @param options\n * @returns a promise that resolves to the time series that was added.\n */\n public addAssetTimeSeriesValues(\n assetId: string,\n name: string,\n readPermissions: string[],\n readWritePermissions: string[],\n values: { [timestamp: string]: any },\n options: TokenOption = {},\n ) {\n const dto = {\n name,\n readPermissions,\n readWritePermissions,\n values,\n };\n return this.httpClient.post<TimeSeries>(`${this.basePath}/assets/${assetId}`, dto, options);\n }\n\n /**\n * Adds multiple time series values to an asset by the name of the time series.\n * If the time series does not exist, it is created.\n * If the operation is successful, the value property contains the time series that was added.\n * If the operation fails, the reason property contains the error that caused the operation to fail.\n * @param assetId - The ID of the asset to which the time series values are added.\n * @param readPermissions - an array of permissions that allow the user to read the time series.\n * @param readWritePermissions - an array of permissions that allow the user to read and write the time series.\n * @param timeSeries - The time series values are specified as an object with the following structure:\n * {\n * [timeSeriesName: string]: { // The name of the time series\n * [timestamp: string]: any, // The timestamp and value pairs\n * ...\n * },\n * ...\n * }\n * @param options\n * @returns a promise that resolves to an array of objects containing the results of the operation.\n * Each object has the following structure:\n * {\n * status: \"fulfilled\" | \"rejected\",\n * value?: TimeSeries,\n * reason?: Error,\n * }\n */\n public addManyAssetTimeSeriesValues(\n assetId: string,\n readPermissions: string[],\n readWritePermissions: string[],\n timeSeries: { [timeSeriesName: string]: { [timestamp: string]: any } },\n options: TokenOption = {},\n ) {\n const dtos = Object.entries(timeSeries).map(([name, values]) => ({\n name,\n readPermissions,\n readWritePermissions,\n values,\n }));\n\n return this.httpClient.post<PromiseSettledResult<TimeSeries>[]>(`${this.basePath}/assets/${assetId}/bulk`, dtos, options);\n }\n\n public getMostRecentValue(id: string, before?: Date, options: TokenOption = {}): Promise<TimeSeriesValue> {\n const params = before ? { before: before.toISOString() } : {};\n return this.httpClient.get<TimeSeriesValue>(`${this.basePath}/${id}/recent`, { params, ...options });\n }\n\n public getValues(id: string, from: number, limit?: number, group?: TS_GROUPS, options: TokenOption = {}) {\n const params = { limit, group };\n return this.httpClient.get<TimeSeriesValue[]>(`${this.basePath}/${id}/${from}`, { params, ...options });\n }\n\n public getValuesOfPeriod(id: string, from: number, to: number, group?: TS_GROUPS, options: TokenOption = {}) {\n const params = { group };\n return this.httpClient.get<TimeSeriesValue[]>(`${this.basePath}/${id}/${from}/${to}`, { params, ...options });\n }\n\n public getManyByAsset(assetId: string, names?: string[], options: TokenOption = {}): Promise<Paginated<TimeSeries[]>> {\n const params = Array.isArray(names) ? { names: names.join() } : {};\n return this.httpClient.get<Paginated<TimeSeries[]>>(`${this.basePath}/asset/${assetId}`, { params, ...options });\n }\n}\n"],"names":["TimeSeriesService","BaseService","APIBase","constructor","httpClient","addValue","id","value","options","post","basePath","addAssetTimeSeriesValues","assetId","name","readPermissions","readWritePermissions","values","dto","addManyAssetTimeSeriesValues","timeSeries","dtos","Object","entries","map","getMostRecentValue","before","params","toISOString","get","getValues","from","limit","group","getValuesOfPeriod","to","getManyByAsset","names","Array","isArray","join"],"mappings":";;;;+BAaaA;;;eAAAA;;;;yBAbO;yBAEI;6BAEI;8BAGC;AAG7B,IAAA,AACMC,cADN,MACMA,oBAAoBC,gBAAO;AAAE;;;;AAE5B,IAAA,AAAMF,oBAAN,MAAMA,0BAA0BC;IACrCE,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;IAEOC,SAASC,EAAU,EAAEC,KAAmC,EAAEC,UAAuB,CAAC,CAAC,EAAE;QAC1F,OAAO,IAAI,CAACJ,UAAU,CAACK,IAAI,CAAO,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAEJ,IAAI,EAAEC,OAAOC;IACrE;IAEA;;;;;;;;;;;;;;GAcC,GACD,AAAOG,yBACLC,OAAe,EACfC,IAAY,EACZC,eAAyB,EACzBC,oBAA8B,EAC9BC,MAAoC,EACpCR,UAAuB,CAAC,CAAC,EACzB;QACA,MAAMS,MAAM;YACVJ;YACAC;YACAC;YACAC;QACF;QACA,OAAO,IAAI,CAACZ,UAAU,CAACK,IAAI,CAAa,GAAG,IAAI,CAACC,QAAQ,CAAC,QAAQ,EAAEE,SAAS,EAAEK,KAAKT;IACrF;IAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBC,GACD,AAAOU,6BACLN,OAAe,EACfE,eAAyB,EACzBC,oBAA8B,EAC9BI,UAAsE,EACtEX,UAAuB,CAAC,CAAC,EACzB;QACA,MAAMY,OAAOC,OAAOC,OAAO,CAACH,YAAYI,GAAG,CAAC,CAAC,CAACV,MAAMG,OAAO,GAAM,CAAA;gBAC/DH;gBACAC;gBACAC;gBACAC;YACF,CAAA;QAEA,OAAO,IAAI,CAACZ,UAAU,CAACK,IAAI,CAAqC,GAAG,IAAI,CAACC,QAAQ,CAAC,QAAQ,EAAEE,QAAQ,KAAK,CAAC,EAAEQ,MAAMZ;IACnH;IAEOgB,mBAAmBlB,EAAU,EAAEmB,MAAa,EAAEjB,UAAuB,CAAC,CAAC,EAA4B;QACxG,MAAMkB,SAASD,SAAS;YAAEA,QAAQA,OAAOE,WAAW;QAAG,IAAI,CAAC;QAC5D,OAAO,IAAI,CAACvB,UAAU,CAACwB,GAAG,CAAkB,GAAG,IAAI,CAAClB,QAAQ,CAAC,CAAC,EAAEJ,GAAG,OAAO,CAAC,EAAE;YAAEoB;YAAQ,GAAGlB,OAAO;QAAC;IACpG;IAEOqB,UAAUvB,EAAU,EAAEwB,IAAY,EAAEC,KAAc,EAAEC,KAAiB,EAAExB,UAAuB,CAAC,CAAC,EAAE;QACvG,MAAMkB,SAAS;YAAEK;YAAOC;QAAM;QAC9B,OAAO,IAAI,CAAC5B,UAAU,CAACwB,GAAG,CAAoB,GAAG,IAAI,CAAClB,QAAQ,CAAC,CAAC,EAAEJ,GAAG,CAAC,EAAEwB,MAAM,EAAE;YAAEJ;YAAQ,GAAGlB,OAAO;QAAC;IACvG;IAEOyB,kBAAkB3B,EAAU,EAAEwB,IAAY,EAAEI,EAAU,EAAEF,KAAiB,EAAExB,UAAuB,CAAC,CAAC,EAAE;QAC3G,MAAMkB,SAAS;YAAEM;QAAM;QACvB,OAAO,IAAI,CAAC5B,UAAU,CAACwB,GAAG,CAAoB,GAAG,IAAI,CAAClB,QAAQ,CAAC,CAAC,EAAEJ,GAAG,CAAC,EAAEwB,KAAK,CAAC,EAAEI,IAAI,EAAE;YAAER;YAAQ,GAAGlB,OAAO;QAAC;IAC7G;IAEO2B,eAAevB,OAAe,EAAEwB,KAAgB,EAAE5B,UAAuB,CAAC,CAAC,EAAoC;QACpH,MAAMkB,SAASW,MAAMC,OAAO,CAACF,SAAS;YAAEA,OAAOA,MAAMG,IAAI;QAAG,IAAI,CAAC;QACjE,OAAO,IAAI,CAACnC,UAAU,CAACwB,GAAG,CAA0B,GAAG,IAAI,CAAClB,QAAQ,CAAC,OAAO,EAAEE,SAAS,EAAE;YAAEc;YAAQ,GAAGlB,OAAO;QAAC;IAChH;AACF"}
|
package/src/lib/token-set.js
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
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
|
+
});
|
|
1
11
|
const TOKEN_EXPIRATION_BUFFER = 20; // 20 seconds
|
|
2
|
-
|
|
3
|
-
constructor(access_token, expires_in, provided = false)
|
|
12
|
+
let TokenSet = class TokenSet {
|
|
13
|
+
constructor(access_token, expires_in, provided = false){
|
|
4
14
|
this._accessToken = access_token;
|
|
5
15
|
this._expiresAt = Math.floor(Date.now() / 1000) + Number(expires_in);
|
|
6
16
|
this._provided = provided;
|
|
@@ -20,4 +30,6 @@ export class TokenSet {
|
|
|
20
30
|
isExpired() {
|
|
21
31
|
return this.expiresIn <= (this.provided ? 0 : TOKEN_EXPIRATION_BUFFER); // Use the entire time of provided token to avoid throwing 'expired' error early
|
|
22
32
|
}
|
|
23
|
-
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=token-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../lib/hpc-api/src/lib/token-set.ts"],"sourcesContent":["const TOKEN_EXPIRATION_BUFFER = 20; // 20 seconds\n\nexport class TokenSet {\n private readonly _accessToken: string;\n private readonly _expiresAt: number;\n private readonly _provided: boolean;\n\n constructor(access_token: string, expires_in: number, provided = false) {\n this._accessToken = access_token;\n this._expiresAt = Math.floor(Date.now() / 1000) + Number(expires_in);\n this._provided = provided;\n }\n\n get accessToken(): string {\n return this._accessToken;\n }\n\n get expiresAt(): number {\n return this._expiresAt;\n }\n\n get expiresIn(): number {\n return Math.max(this.expiresAt - Math.ceil(Date.now() / 1000), 0);\n }\n\n get provided(): boolean {\n return this._provided;\n }\n\n public isExpired(): boolean {\n return this.expiresIn <= (this.provided ? 0 : TOKEN_EXPIRATION_BUFFER); // Use the entire time of provided token to avoid throwing 'expired' error early\n }\n}\n"],"names":["TokenSet","TOKEN_EXPIRATION_BUFFER","constructor","access_token","expires_in","provided","_accessToken","_expiresAt","Math","floor","Date","now","Number","_provided","accessToken","expiresAt","expiresIn","max","ceil","isExpired"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAFb,MAAMC,0BAA0B,IAAI,aAAa;AAE1C,IAAA,AAAMD,WAAN,MAAMA;IAKXE,YAAYC,YAAoB,EAAEC,UAAkB,EAAEC,WAAW,KAAK,CAAE;QACtE,IAAI,CAACC,YAAY,GAAGH;QACpB,IAAI,CAACI,UAAU,GAAGC,KAAKC,KAAK,CAACC,KAAKC,GAAG,KAAK,QAAQC,OAAOR;QACzD,IAAI,CAACS,SAAS,GAAGR;IACnB;IAEA,IAAIS,cAAsB;QACxB,OAAO,IAAI,CAACR,YAAY;IAC1B;IAEA,IAAIS,YAAoB;QACtB,OAAO,IAAI,CAACR,UAAU;IACxB;IAEA,IAAIS,YAAoB;QACtB,OAAOR,KAAKS,GAAG,CAAC,IAAI,CAACF,SAAS,GAAGP,KAAKU,IAAI,CAACR,KAAKC,GAAG,KAAK,OAAO;IACjE;IAEA,IAAIN,WAAoB;QACtB,OAAO,IAAI,CAACQ,SAAS;IACvB;IAEOM,YAAqB;QAC1B,OAAO,IAAI,CAACH,SAAS,IAAK,CAAA,IAAI,CAACX,QAAQ,GAAG,IAAIJ,uBAAsB,GAAI,gFAAgF;IAC1J;AACF"}
|
package/src/lib/trash.service.js
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 {
|
|
3
13
|
trashRestoreAll() {
|
|
4
14
|
return this.httpClient.put(`${this.basePath}/trash/restore`, {});
|
|
5
15
|
}
|
|
@@ -7,11 +17,19 @@ export class TrashService extends APIBase {
|
|
|
7
17
|
return this.httpClient.put(`${this.basePath}/trash/restore/${id}`, {});
|
|
8
18
|
}
|
|
9
19
|
emptyTrash(offset) {
|
|
10
|
-
return this.httpClient.delete(`${this.basePath}/trash/clean`, {
|
|
20
|
+
return this.httpClient.delete(`${this.basePath}/trash/clean`, {
|
|
21
|
+
params: {
|
|
22
|
+
offset
|
|
23
|
+
}
|
|
24
|
+
});
|
|
11
25
|
}
|
|
12
26
|
getTrash(params = {}) {
|
|
13
27
|
params.limit = params.limit || 0;
|
|
14
28
|
params.page = params.page || 1;
|
|
15
|
-
return this.httpClient.get(`${this.basePath}/trash`, {
|
|
29
|
+
return this.httpClient.get(`${this.basePath}/trash`, {
|
|
30
|
+
params
|
|
31
|
+
});
|
|
16
32
|
}
|
|
17
|
-
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=trash.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../lib/hpc-api/src/lib/trash.service.ts"],"sourcesContent":["import { APIBase } from './api-base';\nimport { Paginated, RequestParameter } from './data.interface';\n\nexport class TrashService<T> extends APIBase {\n public trashRestoreAll(): Promise<T[]> {\n return this.httpClient.put<T[]>(`${this.basePath}/trash/restore`, {});\n }\n\n public trashRestoreOne(id: string): Promise<T> {\n return this.httpClient.put<T>(`${this.basePath}/trash/restore/${id}`, {});\n }\n\n public emptyTrash(offset: number): Promise<{ acknowledged: boolean; deletedCount: number }> {\n return this.httpClient.delete(`${this.basePath}/trash/clean`, { params: { offset } });\n }\n\n public getTrash(params: RequestParameter = {}): Promise<Paginated<T[]>> {\n params.limit = params.limit || 0;\n params.page = params.page || 1;\n return this.httpClient.get(`${this.basePath}/trash`, { params });\n }\n}\n"],"names":["TrashService","APIBase","trashRestoreAll","httpClient","put","basePath","trashRestoreOne","id","emptyTrash","offset","delete","params","getTrash","limit","page","get"],"mappings":";;;;+BAGaA;;;eAAAA;;;yBAHW;AAGjB,IAAA,AAAMA,eAAN,MAAMA,qBAAwBC,gBAAO;IACnCC,kBAAgC;QACrC,OAAO,IAAI,CAACC,UAAU,CAACC,GAAG,CAAM,GAAG,IAAI,CAACC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;IACrE;IAEOC,gBAAgBC,EAAU,EAAc;QAC7C,OAAO,IAAI,CAACJ,UAAU,CAACC,GAAG,CAAI,GAAG,IAAI,CAACC,QAAQ,CAAC,eAAe,EAAEE,IAAI,EAAE,CAAC;IACzE;IAEOC,WAAWC,MAAc,EAA4D;QAC1F,OAAO,IAAI,CAACN,UAAU,CAACO,MAAM,CAAC,GAAG,IAAI,CAACL,QAAQ,CAAC,YAAY,CAAC,EAAE;YAAEM,QAAQ;gBAAEF;YAAO;QAAE;IACrF;IAEOG,SAASD,SAA2B,CAAC,CAAC,EAA2B;QACtEA,OAAOE,KAAK,GAAGF,OAAOE,KAAK,IAAI;QAC/BF,OAAOG,IAAI,GAAGH,OAAOG,IAAI,IAAI;QAC7B,OAAO,IAAI,CAACX,UAAU,CAACY,GAAG,CAAC,GAAG,IAAI,CAACV,QAAQ,CAAC,MAAM,CAAC,EAAE;YAAEM;QAAO;IAChE;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../lib/hpc-api/src/lib/user-settings.interface.ts"],"names":[],"mappings":""}
|
package/src/lib/user.service.js
CHANGED
|
@@ -1,16 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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){
|
|
4
14
|
this.httpClient = httpClient;
|
|
5
15
|
this.basePath = '/user';
|
|
6
16
|
}
|
|
7
17
|
async getCurrentUserRoles() {
|
|
8
18
|
try {
|
|
9
19
|
const token = await this.httpClient.getAccessToken();
|
|
10
|
-
const decode = jwtDecode(token);
|
|
20
|
+
const decode = (0, _jwtdecode.jwtDecode)(token);
|
|
11
21
|
return decode.realm_access.roles;
|
|
12
|
-
}
|
|
13
|
-
catch (err) {
|
|
22
|
+
} catch (err) {
|
|
14
23
|
return null;
|
|
15
24
|
}
|
|
16
25
|
}
|
|
@@ -23,4 +32,6 @@ export class UserService {
|
|
|
23
32
|
deleteUserSettings(options = {}) {
|
|
24
33
|
return this.httpClient.delete(this.basePath, options);
|
|
25
34
|
}
|
|
26
|
-
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=user.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../lib/hpc-api/src/lib/user.service.ts"],"sourcesContent":["import { jwtDecode } from 'jwt-decode';\n\nimport { HttpClient, TokenOption } from './http.service';\nimport { UserSettings } from './user-settings.interface';\n\nexport class UserService {\n private readonly basePath: string;\n constructor(private httpClient: HttpClient) {\n this.basePath = '/user';\n }\n\n async getCurrentUserRoles(): Promise<string[]> {\n try {\n const token = await this.httpClient.getAccessToken();\n const decode = jwtDecode(token) as { realm_access: { roles: string[] } };\n return decode.realm_access.roles;\n } catch (err) {\n return null;\n }\n }\n\n public getUserSettings(options: TokenOption = {}): Promise<UserSettings> {\n return this.httpClient.get(this.basePath, options);\n }\n\n public updateUserSettings(settings: UserSettings, options: TokenOption = {}): Promise<UserSettings> {\n return this.httpClient.put(this.basePath, settings, options);\n }\n\n public deleteUserSettings(options: TokenOption = {}): Promise<UserSettings> {\n return this.httpClient.delete(this.basePath, options);\n }\n}\n"],"names":["UserService","constructor","httpClient","basePath","getCurrentUserRoles","token","getAccessToken","decode","jwtDecode","realm_access","roles","err","getUserSettings","options","get","updateUserSettings","settings","put","deleteUserSettings","delete"],"mappings":";;;;+BAKaA;;;eAAAA;;;2BALa;AAKnB,IAAA,AAAMA,cAAN,MAAMA;IAEXC,YAAY,AAAQC,UAAsB,CAAE;aAAxBA,aAAAA;QAClB,IAAI,CAACC,QAAQ,GAAG;IAClB;IAEA,MAAMC,sBAAyC;QAC7C,IAAI;YACF,MAAMC,QAAQ,MAAM,IAAI,CAACH,UAAU,CAACI,cAAc;YAClD,MAAMC,SAASC,IAAAA,oBAAS,EAACH;YACzB,OAAOE,OAAOE,YAAY,CAACC,KAAK;QAClC,EAAE,OAAOC,KAAK;YACZ,OAAO;QACT;IACF;IAEOC,gBAAgBC,UAAuB,CAAC,CAAC,EAAyB;QACvE,OAAO,IAAI,CAACX,UAAU,CAACY,GAAG,CAAC,IAAI,CAACX,QAAQ,EAAEU;IAC5C;IAEOE,mBAAmBC,QAAsB,EAAEH,UAAuB,CAAC,CAAC,EAAyB;QAClG,OAAO,IAAI,CAACX,UAAU,CAACe,GAAG,CAAC,IAAI,CAACd,QAAQ,EAAEa,UAAUH;IACtD;IAEOK,mBAAmBL,UAAuB,CAAC,CAAC,EAAyB;QAC1E,OAAO,IAAI,CAACX,UAAU,CAACiB,MAAM,CAAC,IAAI,CAAChB,QAAQ,EAAEU;IAC/C;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../lib/hpc-api/src/lib/vault.interface.ts"],"names":[],"mappings":""}
|
package/src/lib/vault.service.js
CHANGED
|
@@ -1,10 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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){
|
|
4
14
|
super(httpClient, '/vault/secrets');
|
|
5
15
|
}
|
|
6
16
|
getSecret(name, version, options = {}) {
|
|
7
|
-
const params = version ? {
|
|
8
|
-
|
|
17
|
+
const params = version ? {
|
|
18
|
+
version
|
|
19
|
+
} : {};
|
|
20
|
+
return this.httpClient.get(`${this.basePath}/${name}/secret`, {
|
|
21
|
+
params,
|
|
22
|
+
...options
|
|
23
|
+
});
|
|
9
24
|
}
|
|
10
|
-
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=vault.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../lib/hpc-api/src/lib/vault.service.ts"],"sourcesContent":["import { DataService } from './data.service';\nimport { HttpClient, TokenOption } from './http.service';\nimport { VaultSecret } from './vault.interface';\n\nexport class VaultService extends DataService<VaultSecret> {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/vault/secrets');\n }\n\n public getSecret(name: string, version?: number, options: TokenOption = {}): Promise<string> {\n const params = version ? { version } : {};\n return this.httpClient.get<string>(`${this.basePath}/${name}/secret`, { params, ...options });\n }\n}\n"],"names":["VaultService","DataService","constructor","httpClient","getSecret","name","version","options","params","get","basePath"],"mappings":";;;;+BAIaA;;;eAAAA;;;6BAJe;AAIrB,IAAA,AAAMA,eAAN,MAAMA,qBAAqBC,wBAAW;IAC3CC,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;IAEOC,UAAUC,IAAY,EAAEC,OAAgB,EAAEC,UAAuB,CAAC,CAAC,EAAmB;QAC3F,MAAMC,SAASF,UAAU;YAAEA;QAAQ,IAAI,CAAC;QACxC,OAAO,IAAI,CAACH,UAAU,CAACM,GAAG,CAAS,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAEL,KAAK,OAAO,CAAC,EAAE;YAAEG;YAAQ,GAAGD,OAAO;QAAC;IAC7F;AACF"}
|