@hahnpro/hpc-api 6.0.0 → 2024.4.0-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/package.json +8 -24
- package/src/index.d.ts +20 -0
- package/src/index.js +20 -0
- package/{dist → src/lib}/Queue.js +2 -7
- package/src/lib/api-base.js +6 -0
- package/src/lib/api.js +60 -0
- package/src/lib/asset.interface.js +1 -0
- package/{dist → src/lib}/asset.service.js +21 -17
- package/src/lib/assettypes.service.js +24 -0
- package/{dist → src/lib}/content.interface.js +2 -5
- package/src/lib/content.service.js +49 -0
- package/src/lib/data.interface.js +3 -0
- package/{dist → src/lib}/data.service.js +18 -11
- package/src/lib/endpoint.interface.js +1 -0
- package/{dist → src/lib}/endpoint.service.d.ts +2 -2
- package/{dist → src/lib}/endpoint.service.js +2 -6
- package/src/lib/events.interface.js +1 -0
- package/src/lib/events.service.js +9 -0
- package/src/lib/flow-deployment.interface.js +1 -0
- package/src/lib/flow-deployment.service.js +68 -0
- package/src/lib/flow-function.interface.js +1 -0
- package/{dist → src/lib}/flow-function.service.js +3 -6
- package/src/lib/flow-module.interface.js +1 -0
- package/{dist → src/lib}/flow-module.service.js +8 -7
- package/src/lib/flow.interface.js +1 -0
- package/{dist → src/lib}/flow.service.js +15 -20
- package/src/lib/http.service.js +179 -0
- package/src/lib/label.interface.js +1 -0
- package/{dist → src/lib}/label.service.js +2 -6
- package/src/lib/mock/api-base.mock.js +7 -0
- package/src/lib/mock/api.mock.js +199 -0
- package/{dist → src/lib}/mock/asset.mock.service.js +30 -41
- package/{dist → src/lib}/mock/assetTypes.mock.service.js +19 -27
- package/{dist → src/lib}/mock/content.mock.service.js +21 -24
- package/src/lib/mock/data.mock.service.js +93 -0
- package/{dist → src/lib}/mock/endpoint.mock.service.js +2 -6
- package/src/lib/mock/events.mock.service.js +10 -0
- package/src/lib/mock/flow-deployment.mock.service.js +118 -0
- package/{dist → src/lib}/mock/flow-functions.mock.service.js +12 -21
- package/src/lib/mock/flow-modules.mock.service.js +20 -0
- package/src/lib/mock/flow.mock.service.js +81 -0
- package/src/lib/mock/index.js +11 -0
- package/src/lib/mock/label.mock.service.js +13 -0
- package/src/lib/mock/notification.mock.service.js +7 -0
- package/src/lib/mock/secret.mock.service.js +28 -0
- package/src/lib/mock/task.mock.service.js +32 -0
- package/{dist → src/lib}/mock/timeseries.mock.service.js +40 -49
- package/{dist → src/lib}/mock/trash.mock.service.js +8 -15
- package/src/lib/mock/user.mock.service.js +10 -0
- package/{dist → src/lib}/mock/vault.mock.service.js +2 -6
- package/src/lib/notification.interface.js +1 -0
- package/src/lib/notification.service.js +6 -0
- package/{dist → src/lib}/proxy.service.js +1 -5
- package/src/lib/resource.interface.js +1 -0
- package/src/lib/schema.interface.js +1 -0
- package/src/lib/secret.interface.js +1 -0
- package/src/lib/secret.service.js +15 -0
- package/src/lib/storage.interface.js +1 -0
- package/src/lib/task.interface.js +1 -0
- package/src/lib/task.service.js +19 -0
- package/src/lib/timeseries.interface.js +1 -0
- package/src/lib/timeseries.service.js +92 -0
- package/{dist → src/lib}/token-set.js +3 -7
- package/{dist → src/lib}/trash.service.js +2 -6
- package/src/lib/user-settings.interface.js +1 -0
- package/src/lib/user.service.js +26 -0
- package/src/lib/vault.interface.js +1 -0
- package/src/lib/vault.service.js +10 -0
- package/LICENSE +0 -21
- package/dist/api-base.js +0 -10
- package/dist/api.js +0 -62
- package/dist/asset.interface.js +0 -2
- package/dist/assettypes.service.js +0 -28
- package/dist/content.service.js +0 -50
- package/dist/data.interface.js +0 -6
- package/dist/endpoint.interface.js +0 -2
- package/dist/events.interface.js +0 -2
- package/dist/events.service.js +0 -13
- package/dist/flow-deployment.interface.js +0 -2
- package/dist/flow-deployment.service.js +0 -74
- package/dist/flow-function.interface.js +0 -2
- package/dist/flow-module.interface.js +0 -2
- package/dist/flow.interface.js +0 -2
- package/dist/http.service.js +0 -182
- package/dist/index.d.ts +0 -20
- package/dist/index.js +0 -23
- package/dist/label.interface.js +0 -2
- package/dist/mock/api-base.mock.js +0 -11
- package/dist/mock/api.mock.js +0 -128
- package/dist/mock/data.mock.service.js +0 -96
- package/dist/mock/events.mock.service.js +0 -14
- package/dist/mock/flow-deployment.mock.service.js +0 -142
- package/dist/mock/flow-modules.mock.service.js +0 -27
- package/dist/mock/flow.mock.service.js +0 -93
- package/dist/mock/index.js +0 -14
- package/dist/mock/label.mock.service.js +0 -17
- package/dist/mock/notification.mock.service.js +0 -11
- package/dist/mock/secret.mock.service.js +0 -31
- package/dist/mock/task.mock.service.js +0 -37
- package/dist/mock/user.mock.service.js +0 -14
- package/dist/notification.interface.js +0 -2
- package/dist/notification.service.js +0 -10
- package/dist/resource.interface.js +0 -2
- package/dist/schema.interface.js +0 -2
- package/dist/secret.interface.js +0 -2
- package/dist/secret.service.js +0 -19
- package/dist/storage.interface.js +0 -2
- package/dist/task.interface.js +0 -2
- package/dist/task.service.js +0 -22
- package/dist/timeseries.interface.js +0 -2
- package/dist/timeseries.service.js +0 -56
- package/dist/user-settings.interface.js +0 -2
- package/dist/user.service.js +0 -33
- package/dist/vault.interface.js +0 -2
- package/dist/vault.service.js +0 -14
- package/{dist → src/lib}/Queue.d.ts +0 -0
- package/{dist → src/lib}/api-base.d.ts +0 -0
- package/{dist → src/lib}/api.d.ts +6 -6
- package/{dist → src/lib}/asset.interface.d.ts +0 -0
- package/{dist → src/lib}/asset.service.d.ts +0 -0
- package/{dist → src/lib}/assettypes.service.d.ts +0 -0
- package/{dist → src/lib}/content.interface.d.ts +0 -0
- package/{dist → src/lib}/content.service.d.ts +1 -1
- package/{dist → src/lib}/data.interface.d.ts +0 -0
- package/{dist → src/lib}/data.service.d.ts +0 -0
- package/{dist → src/lib}/endpoint.interface.d.ts +0 -0
- package/{dist → src/lib}/events.interface.d.ts +0 -0
- package/{dist → src/lib}/events.service.d.ts +0 -0
- package/{dist → src/lib}/flow-deployment.interface.d.ts +1 -1
- package/{dist → src/lib}/flow-deployment.service.d.ts +0 -0
- package/{dist → src/lib}/flow-function.interface.d.ts +0 -0
- package/{dist → src/lib}/flow-function.service.d.ts +1 -1
- package/{dist → src/lib}/flow-module.interface.d.ts +0 -0
- package/{dist → src/lib}/flow-module.service.d.ts +1 -1
- package/{dist → src/lib}/flow.interface.d.ts +1 -1
- package/{dist → src/lib}/flow.service.d.ts +1 -1
- package/{dist → src/lib}/http.service.d.ts +0 -0
- package/{dist → src/lib}/label.interface.d.ts +0 -0
- package/{dist → src/lib}/label.service.d.ts +0 -0
- package/{dist → src/lib}/mock/api-base.mock.d.ts +0 -0
- package/{dist → src/lib}/mock/api.mock.d.ts +18 -18
- package/{dist → src/lib}/mock/asset.mock.service.d.ts +1 -1
- package/{dist → src/lib}/mock/assetTypes.mock.service.d.ts +0 -0
- package/{dist → src/lib}/mock/content.mock.service.d.ts +1 -1
- package/{dist → src/lib}/mock/data.mock.service.d.ts +0 -0
- package/{dist → src/lib}/mock/endpoint.mock.service.d.ts +0 -0
- package/{dist → src/lib}/mock/events.mock.service.d.ts +0 -0
- package/{dist → src/lib}/mock/flow-deployment.mock.service.d.ts +2 -2
- package/{dist → src/lib}/mock/flow-functions.mock.service.d.ts +1 -1
- package/{dist → src/lib}/mock/flow-modules.mock.service.d.ts +2 -2
- package/{dist → src/lib}/mock/flow.mock.service.d.ts +1 -1
- package/{dist → src/lib}/mock/index.d.ts +0 -0
- package/{dist → src/lib}/mock/label.mock.service.d.ts +1 -1
- package/{dist → src/lib}/mock/notification.mock.service.d.ts +1 -1
- package/{dist → src/lib}/mock/secret.mock.service.d.ts +1 -1
- package/{dist → src/lib}/mock/task.mock.service.d.ts +0 -0
- package/{dist → src/lib}/mock/timeseries.mock.service.d.ts +0 -0
- package/{dist → src/lib}/mock/trash.mock.service.d.ts +1 -1
- package/{dist → src/lib}/mock/user.mock.service.d.ts +0 -0
- package/{dist → src/lib}/mock/vault.mock.service.d.ts +1 -1
- package/{dist → src/lib}/notification.interface.d.ts +0 -0
- package/{dist → src/lib}/notification.service.d.ts +1 -1
- package/{dist → src/lib}/proxy.service.d.ts +0 -0
- package/{dist → src/lib}/resource.interface.d.ts +0 -0
- package/{dist → src/lib}/schema.interface.d.ts +0 -0
- package/{dist → src/lib}/secret.interface.d.ts +0 -0
- package/{dist → src/lib}/secret.service.d.ts +0 -0
- package/{dist → src/lib}/storage.interface.d.ts +0 -0
- package/{dist → src/lib}/task.interface.d.ts +0 -0
- package/{dist → src/lib}/task.service.d.ts +0 -0
- package/{dist → src/lib}/timeseries.interface.d.ts +0 -0
- package/{dist → src/lib}/timeseries.service.d.ts +0 -0
- package/{dist → src/lib}/token-set.d.ts +0 -0
- package/{dist → src/lib}/trash.service.d.ts +0 -0
- package/{dist → src/lib}/user-settings.interface.d.ts +0 -0
- package/{dist → src/lib}/user.service.d.ts +0 -0
- package/{dist → src/lib}/vault.interface.d.ts +0 -0
- package/{dist → src/lib}/vault.service.d.ts +1 -1
package/dist/events.interface.js
DELETED
package/dist/events.service.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EventsService = void 0;
|
|
4
|
-
const data_service_1 = require("./data.service");
|
|
5
|
-
class EventsService extends data_service_1.DataService {
|
|
6
|
-
constructor(httpClient) {
|
|
7
|
-
super(httpClient, '/events');
|
|
8
|
-
}
|
|
9
|
-
getLastEventByAssetAndGroup(assetId, group, options = {}) {
|
|
10
|
-
return this.httpClient.get(`${this.basePath}/last/${assetId}/${group}`, options);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.EventsService = EventsService;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FlowDeploymentService = 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 {
|
|
10
|
-
};
|
|
11
|
-
BaseService = tslib_1.__decorate([
|
|
12
|
-
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
13
|
-
], BaseService);
|
|
14
|
-
class FlowDeploymentService extends BaseService {
|
|
15
|
-
constructor(httpClient) {
|
|
16
|
-
super(httpClient, '/flow/deployments');
|
|
17
|
-
}
|
|
18
|
-
addMany(dto, options = {}) {
|
|
19
|
-
const reqs = dto.map((v) => this.addOne(v, options));
|
|
20
|
-
return Promise.all(reqs);
|
|
21
|
-
}
|
|
22
|
-
updateOne(id, dto, options = { force: false }) {
|
|
23
|
-
return super.updateOne(id, dto, options);
|
|
24
|
-
}
|
|
25
|
-
getDeploymentStatistics(id, options = {}) {
|
|
26
|
-
return this.httpClient.get(`${this.basePath}/${id}/statistics`, options);
|
|
27
|
-
}
|
|
28
|
-
getDeploymentMetrics(id, range = '12h', interval = '5m', options = {}) {
|
|
29
|
-
const params = { range, interval };
|
|
30
|
-
return this.httpClient.get(`${this.basePath}/${id}/metrics`, Object.assign({ params }, options));
|
|
31
|
-
}
|
|
32
|
-
getDeploymentLogs(id, options = {}) {
|
|
33
|
-
return this.httpClient.get(`${this.basePath}/${id}/logs`, options);
|
|
34
|
-
}
|
|
35
|
-
resolveReferences(id, recursive = true, types, options = {}) {
|
|
36
|
-
var _a;
|
|
37
|
-
const params = { recursive, types: (_a = types === null || types === void 0 ? void 0 : types.join(',')) !== null && _a !== void 0 ? _a : undefined };
|
|
38
|
-
return this.httpClient.get(`${this.basePath}/${id}/references`, Object.assign({ params }, options));
|
|
39
|
-
}
|
|
40
|
-
updateStatus(id, desiredStatus, options = {}) {
|
|
41
|
-
return this.httpClient.put(`${this.basePath}/${id}/status`, { desiredStatus }, options);
|
|
42
|
-
}
|
|
43
|
-
deleteOne(id, _force, options = {}) {
|
|
44
|
-
return this.updateStatus(id, 'deleted', options);
|
|
45
|
-
}
|
|
46
|
-
waitForRunningStatus(id_1) {
|
|
47
|
-
return tslib_1.__awaiter(this, arguments, void 0, function* (id, options = {}) {
|
|
48
|
-
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
const esId = yield this.subscribeToStatus(id, (event) => {
|
|
50
|
-
if (event.type === 'message' &&
|
|
51
|
-
['running', 'deployment failed', 'deleted', 'generating failed', 'updating failed', 'upgrading failed'].includes(event.data)) {
|
|
52
|
-
this.httpClient.destroyEventSource(esId);
|
|
53
|
-
if (event.data === 'running') {
|
|
54
|
-
resolve();
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
reject(`Deployment in failed status: ${event.data}`);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}, (event) => reject(event), options);
|
|
61
|
-
}));
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
addOne(dto, options = {}) {
|
|
65
|
-
return super.addOne(dto, options);
|
|
66
|
-
}
|
|
67
|
-
subscribeToStatus(id, listener, errorListener, options = {}) {
|
|
68
|
-
return this.httpClient.addEventSource(`${this.basePath}/${id}/status`, listener, errorListener, options);
|
|
69
|
-
}
|
|
70
|
-
subscribeToLogs(id, listener, errorListener, options = {}) {
|
|
71
|
-
return this.httpClient.addEventSource(`${this.basePath}/${id}/logs/subscribe`, listener, errorListener, options);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
exports.FlowDeploymentService = FlowDeploymentService;
|
package/dist/flow.interface.js
DELETED
package/dist/http.service.js
DELETED
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HttpClient = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
6
|
-
const eventsource_1 = tslib_1.__importDefault(require("eventsource"));
|
|
7
|
-
const jose_1 = require("jose");
|
|
8
|
-
const querystring_1 = require("querystring");
|
|
9
|
-
const uuid_1 = require("uuid");
|
|
10
|
-
const Queue_1 = require("./Queue");
|
|
11
|
-
const token_set_1 = require("./token-set");
|
|
12
|
-
class HttpClient {
|
|
13
|
-
constructor(baseURL, authBaseURL, realm, clientId, clientSecret, tokenSubject) {
|
|
14
|
-
this.baseURL = baseURL;
|
|
15
|
-
this.authBaseURL = authBaseURL;
|
|
16
|
-
this.realm = realm;
|
|
17
|
-
this.clientId = clientId;
|
|
18
|
-
this.clientSecret = clientSecret;
|
|
19
|
-
this.tokenSubject = tokenSubject;
|
|
20
|
-
this.discoveredIssuers = new Map();
|
|
21
|
-
this.eventSourcesMap = new Map();
|
|
22
|
-
this.getQueueStats = () => { var _a; return (_a = this.requestQueue) === null || _a === void 0 ? void 0 : _a.getStats(); };
|
|
23
|
-
this.delete = (url, config) => this.request('DELETE', url, config);
|
|
24
|
-
this.get = (url, config) => this.request('GET', url, config);
|
|
25
|
-
this.post = (url, data, config) => this.request('POST', url, config, data);
|
|
26
|
-
this.put = (url, data, config) => this.request('PUT', url, config, data);
|
|
27
|
-
this.request = (method, url, config = {}, data) => {
|
|
28
|
-
return this.requestQueue.add(() => new Promise((resolve, reject) => {
|
|
29
|
-
const tokenP = config.token ? Promise.resolve(config.token) : this.getAccessToken();
|
|
30
|
-
tokenP
|
|
31
|
-
.then((token) => {
|
|
32
|
-
const headers = Object.assign({ Authorization: `Bearer ${token}` }, config.headers);
|
|
33
|
-
return this.axiosInstance.request(Object.assign(Object.assign({}, config), { headers, method, url, data }));
|
|
34
|
-
})
|
|
35
|
-
.then((response) => resolve(response.data))
|
|
36
|
-
.catch(reject);
|
|
37
|
-
}));
|
|
38
|
-
};
|
|
39
|
-
this.getAccessToken = (...args_1) => tslib_1.__awaiter(this, [...args_1], void 0, function* (forceRefresh = false) {
|
|
40
|
-
var _a;
|
|
41
|
-
let accessToken;
|
|
42
|
-
if (forceRefresh || !this.tokenSet || this.tokenSet.isExpired()) {
|
|
43
|
-
if ((_a = this.tokenSet) === null || _a === void 0 ? void 0 : _a.provided) {
|
|
44
|
-
throw new Error('provided token is expired and cannot be refreshed, provide a new token.');
|
|
45
|
-
}
|
|
46
|
-
this.tokenSet = yield this.requestAccessToken();
|
|
47
|
-
accessToken = this.tokenSet.accessToken;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
accessToken = this.tokenSet.accessToken;
|
|
51
|
-
}
|
|
52
|
-
if (this.tokenSubject) {
|
|
53
|
-
if (forceRefresh || !this.exchangedTokenSet || this.exchangedTokenSet.isExpired()) {
|
|
54
|
-
this.exchangedTokenSet = yield this.exchangeAccessToken(accessToken);
|
|
55
|
-
}
|
|
56
|
-
return this.exchangedTokenSet.accessToken;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
return accessToken;
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
this.axiosInstance = axios_1.default.create({ baseURL, timeout: 60000 });
|
|
63
|
-
this.authAxiosInstance = axios_1.default.create({ baseURL: authBaseURL || baseURL, timeout: 10000 });
|
|
64
|
-
this.requestQueue = new Queue_1.Queue({ concurrency: 1, timeout: 70000, throwOnTimeout: true });
|
|
65
|
-
}
|
|
66
|
-
addEventSource(url_1, listener_1, errorListener_1) {
|
|
67
|
-
return tslib_1.__awaiter(this, arguments, void 0, function* (url, listener, errorListener, options = {}) {
|
|
68
|
-
const id = (0, uuid_1.v4)();
|
|
69
|
-
const errListener = errorListener
|
|
70
|
-
? errorListener
|
|
71
|
-
: (event) => {
|
|
72
|
-
throw new Error(JSON.stringify(event, null, 2));
|
|
73
|
-
};
|
|
74
|
-
const es = new eventsource_1.default(`${this.baseURL}${url}`, {
|
|
75
|
-
headers: { authorization: 'Bearer ' + options.token ? options.token : yield this.getAccessToken() },
|
|
76
|
-
});
|
|
77
|
-
es.addEventListener('message', listener);
|
|
78
|
-
es.addEventListener('error', errListener);
|
|
79
|
-
this.eventSourcesMap.set(id, { eventSource: es, listener, errListener });
|
|
80
|
-
return id;
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
destroyEventSource(id) {
|
|
84
|
-
if (!this.eventSourcesMap.has(id)) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
const es = this.eventSourcesMap.get(id);
|
|
88
|
-
es.eventSource.close();
|
|
89
|
-
es.eventSource.removeEventListener('message', es.listener);
|
|
90
|
-
es.eventSource.removeEventListener('error', es.errListener);
|
|
91
|
-
this.eventSourcesMap.delete(id);
|
|
92
|
-
}
|
|
93
|
-
destroyAllEventSources() {
|
|
94
|
-
for (const key of this.eventSourcesMap.keys()) {
|
|
95
|
-
this.destroyEventSource(key);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
validateIssuer(issuer) {
|
|
99
|
-
var _a, _b;
|
|
100
|
-
if (!issuer.issuer ||
|
|
101
|
-
!((_a = issuer.grant_types_supported) === null || _a === void 0 ? void 0 : _a.includes('client_credentials')) ||
|
|
102
|
-
!((_b = issuer.token_endpoint_auth_methods_supported) === null || _b === void 0 ? void 0 : _b.includes('client_secret_jwt'))) {
|
|
103
|
-
throw new Error('Issuer does not support client_secret_jwt');
|
|
104
|
-
}
|
|
105
|
-
return issuer;
|
|
106
|
-
}
|
|
107
|
-
discoverIssuer(uri) {
|
|
108
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
109
|
-
if (this.discoveredIssuers.has(uri)) {
|
|
110
|
-
return this.discoveredIssuers.get(uri);
|
|
111
|
-
}
|
|
112
|
-
const wellKnownUri = `${uri}/.well-known/openid-configuration`;
|
|
113
|
-
const issuerResponse = yield this.authAxiosInstance.get(wellKnownUri, {
|
|
114
|
-
responseType: 'json',
|
|
115
|
-
headers: { Accept: 'application/json' },
|
|
116
|
-
});
|
|
117
|
-
const validIssuer = this.validateIssuer(issuerResponse.data);
|
|
118
|
-
this.discoveredIssuers.set(uri, validIssuer);
|
|
119
|
-
return validIssuer;
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
requestAccessToken() {
|
|
123
|
-
return tslib_1.__awaiter(this, arguments, void 0, function* (additionalOpts = {}) {
|
|
124
|
-
var _a, _b;
|
|
125
|
-
const issuer = yield this.discoverIssuer(`${this.authBaseURL}/realms/${this.realm}`);
|
|
126
|
-
const timestamp = Date.now() / 1000;
|
|
127
|
-
const audience = [...new Set([issuer.issuer, issuer.token_endpoint].filter(Boolean))];
|
|
128
|
-
const assertionPayload = {
|
|
129
|
-
iat: timestamp,
|
|
130
|
-
exp: timestamp + 60,
|
|
131
|
-
jti: (0, uuid_1.v4)(),
|
|
132
|
-
iss: this.clientId,
|
|
133
|
-
sub: this.clientId,
|
|
134
|
-
aud: audience,
|
|
135
|
-
};
|
|
136
|
-
const supportedAlgos = issuer.token_endpoint_auth_signing_alg_values_supported;
|
|
137
|
-
const alg = (_a = issuer.token_endpoint_auth_signing_alg) !== null && _a !== void 0 ? _a : (Array.isArray(supportedAlgos) && supportedAlgos.find((signAlg) => /^HS(?:256|384|512)/.test(signAlg)));
|
|
138
|
-
if (!alg) {
|
|
139
|
-
throw new Error('Issuer has to support HS256, HS384 or HS512');
|
|
140
|
-
}
|
|
141
|
-
const assertion = yield new jose_1.CompactSign(Buffer.from(JSON.stringify(assertionPayload)))
|
|
142
|
-
.setProtectedHeader({ alg })
|
|
143
|
-
.sign(new TextEncoder().encode(this.clientSecret));
|
|
144
|
-
const opts = Object.assign({ client_id: this.clientId, client_assertion: assertion, client_assertion_type: 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer', grant_type: 'client_credentials' }, additionalOpts);
|
|
145
|
-
const authResponse = yield this.authAxiosInstance.post(issuer.token_endpoint, (0, querystring_1.stringify)(opts), {
|
|
146
|
-
headers: { Accept: 'application/json', 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
147
|
-
});
|
|
148
|
-
if (((_b = authResponse === null || authResponse === void 0 ? void 0 : authResponse.data) === null || _b === void 0 ? void 0 : _b.access_token) && authResponse.data.expires_in) {
|
|
149
|
-
return new token_set_1.TokenSet(authResponse.data.access_token, authResponse.data.expires_in);
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
throw new Error('Invalid access token received');
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
exchangeAccessToken(accessToken) {
|
|
157
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
158
|
-
if (!accessToken || !this.tokenSubject) {
|
|
159
|
-
throw new Error('Could not exchange access token');
|
|
160
|
-
}
|
|
161
|
-
const opts = {
|
|
162
|
-
grant_type: 'urn:ietf:params:oauth:grant-type:token-exchange',
|
|
163
|
-
subject_token: accessToken,
|
|
164
|
-
audience: this.clientId,
|
|
165
|
-
requested_token_type: 'urn:ietf:params:oauth:token-type:access_token',
|
|
166
|
-
requested_subject: this.tokenSubject,
|
|
167
|
-
};
|
|
168
|
-
return this.requestAccessToken(opts);
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
provideExternalToken(token) {
|
|
172
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
173
|
-
const issuer = yield this.discoverIssuer(`${this.authBaseURL}/realms/${this.realm}`);
|
|
174
|
-
const { iss: providedIssuer, exp } = (0, jose_1.decodeJwt)(token);
|
|
175
|
-
if (issuer.issuer !== providedIssuer) {
|
|
176
|
-
throw new Error(`Provided token is not issued by currently configured issuer. Provided token issued by ${providedIssuer}, but ${issuer.issuer} is configured.`);
|
|
177
|
-
}
|
|
178
|
-
this.tokenSet = new token_set_1.TokenSet(token, exp - Date.now() / 1000, true);
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
exports.HttpClient = HttpClient;
|
package/dist/index.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export * from './api';
|
|
2
|
-
export * from './asset.interface';
|
|
3
|
-
export * from './content.interface';
|
|
4
|
-
export * from './data.interface';
|
|
5
|
-
export * from './data.service';
|
|
6
|
-
export * from './endpoint.interface';
|
|
7
|
-
export * from './http.service';
|
|
8
|
-
export * from './label.interface';
|
|
9
|
-
export * from './secret.interface';
|
|
10
|
-
export * from './timeseries.interface';
|
|
11
|
-
export * from './task.interface';
|
|
12
|
-
export * from './events.interface';
|
|
13
|
-
export * from './mock';
|
|
14
|
-
export * from './flow-deployment.interface';
|
|
15
|
-
export * from './flow-function.interface';
|
|
16
|
-
export * from './flow.interface';
|
|
17
|
-
export * from './resource.interface';
|
|
18
|
-
export * from './schema.interface';
|
|
19
|
-
export * from './vault.interface';
|
|
20
|
-
export * from './notification.interface';
|
package/dist/index.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./api"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./asset.interface"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./content.interface"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./data.interface"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./data.service"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./endpoint.interface"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./http.service"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./label.interface"), exports);
|
|
12
|
-
tslib_1.__exportStar(require("./secret.interface"), exports);
|
|
13
|
-
tslib_1.__exportStar(require("./timeseries.interface"), exports);
|
|
14
|
-
tslib_1.__exportStar(require("./task.interface"), exports);
|
|
15
|
-
tslib_1.__exportStar(require("./events.interface"), exports);
|
|
16
|
-
tslib_1.__exportStar(require("./mock"), exports);
|
|
17
|
-
tslib_1.__exportStar(require("./flow-deployment.interface"), exports);
|
|
18
|
-
tslib_1.__exportStar(require("./flow-function.interface"), exports);
|
|
19
|
-
tslib_1.__exportStar(require("./flow.interface"), exports);
|
|
20
|
-
tslib_1.__exportStar(require("./resource.interface"), exports);
|
|
21
|
-
tslib_1.__exportStar(require("./schema.interface"), exports);
|
|
22
|
-
tslib_1.__exportStar(require("./vault.interface"), exports);
|
|
23
|
-
tslib_1.__exportStar(require("./notification.interface"), exports);
|
package/dist/label.interface.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.APIBaseMock = void 0;
|
|
4
|
-
const api_base_1 = require("../api-base");
|
|
5
|
-
class APIBaseMock extends api_base_1.APIBase {
|
|
6
|
-
constructor(data = []) {
|
|
7
|
-
super(null, null);
|
|
8
|
-
this.data = data;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
exports.APIBaseMock = APIBaseMock;
|
package/dist/mock/api.mock.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MockAPI = void 0;
|
|
4
|
-
const fs_1 = require("fs");
|
|
5
|
-
const path_1 = require("path");
|
|
6
|
-
const asset_mock_service_1 = require("./asset.mock.service");
|
|
7
|
-
const assetTypes_mock_service_1 = require("./assetTypes.mock.service");
|
|
8
|
-
const content_mock_service_1 = require("./content.mock.service");
|
|
9
|
-
const endpoint_mock_service_1 = require("./endpoint.mock.service");
|
|
10
|
-
const events_mock_service_1 = require("./events.mock.service");
|
|
11
|
-
const secret_mock_service_1 = require("./secret.mock.service");
|
|
12
|
-
const timeseries_mock_service_1 = require("./timeseries.mock.service");
|
|
13
|
-
const task_mock_service_1 = require("./task.mock.service");
|
|
14
|
-
const user_mock_service_1 = require("./user.mock.service");
|
|
15
|
-
const flow_mock_service_1 = require("./flow.mock.service");
|
|
16
|
-
const flow_deployment_mock_service_1 = require("./flow-deployment.mock.service");
|
|
17
|
-
const flow_functions_mock_service_1 = require("./flow-functions.mock.service");
|
|
18
|
-
const flow_modules_mock_service_1 = require("./flow-modules.mock.service");
|
|
19
|
-
const crypto_1 = require("crypto");
|
|
20
|
-
const label_mock_service_1 = require("./label.mock.service");
|
|
21
|
-
const vault_mock_service_1 = require("./vault.mock.service");
|
|
22
|
-
const notification_mock_service_1 = require("./notification.mock.service");
|
|
23
|
-
class MockAPI {
|
|
24
|
-
constructor(initData) {
|
|
25
|
-
this.httpClient = null;
|
|
26
|
-
this.proxy = null;
|
|
27
|
-
const { assets = [], assetRevisions = [], contents = [], endpoints = [], secrets = [], timeSeries = [], tasks = [], events = [], users, flows = [], flowRevisions = [], deployments = [], functions = [], functionRevisions = [], modules = [], diagrams = [], labels = [], vault = [], notifications = [], } = initData;
|
|
28
|
-
const assetTypes = assets
|
|
29
|
-
.map((v) => v.type)
|
|
30
|
-
.map((v) => {
|
|
31
|
-
var _a, _b;
|
|
32
|
-
return typeof v === 'string'
|
|
33
|
-
? v
|
|
34
|
-
: Object.assign(Object.assign({}, v), { readPermissions: v.readPermissions || [], readWritePermissions: v.readWritePermissions || [], typeSchema: (_a = v.typeSchema) !== null && _a !== void 0 ? _a : {}, uiSchema: (_b = v.uiSchema) !== null && _b !== void 0 ? _b : {} });
|
|
35
|
-
});
|
|
36
|
-
const assets1 = assets.map((v, index) => {
|
|
37
|
-
var _a, _b;
|
|
38
|
-
return (Object.assign(Object.assign({}, v), { readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [], type: assetTypes[index] }));
|
|
39
|
-
});
|
|
40
|
-
const assetRevisions1 = assetRevisions.map((v, index) => {
|
|
41
|
-
var _a, _b;
|
|
42
|
-
return (Object.assign(Object.assign({}, v), { readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [], type: assetTypes[index] }));
|
|
43
|
-
});
|
|
44
|
-
const contents1 = contents.map((v) => {
|
|
45
|
-
var _a, _b, _c, _d, _e;
|
|
46
|
-
return (Object.assign(Object.assign({}, v), { readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [], size: (_c = v.size) !== null && _c !== void 0 ? _c : 0, fileId: (_d = v.fileId) !== null && _d !== void 0 ? _d : '', mimetype: (_e = v.mimetype) !== null && _e !== void 0 ? _e : '' }));
|
|
47
|
-
});
|
|
48
|
-
const contentData = contents.map((v) => (v.data ? v.data : (0, fs_1.readFileSync)((0, path_1.join)(v.filePath, v.filename))));
|
|
49
|
-
const secrets1 = secrets.map((v) => {
|
|
50
|
-
var _a, _b;
|
|
51
|
-
return (Object.assign(Object.assign({}, v), { readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [] }));
|
|
52
|
-
});
|
|
53
|
-
const timeSeries1 = timeSeries.map((v) => {
|
|
54
|
-
var _a, _b, _c, _d, _e, _f;
|
|
55
|
-
return (Object.assign(Object.assign({}, v), { description: (_a = v.description) !== null && _a !== void 0 ? _a : '', readPermissions: (_b = v.readPermissions) !== null && _b !== void 0 ? _b : [], readWritePermissions: (_c = v.readWritePermissions) !== null && _c !== void 0 ? _c : [], maxBucketTimeRange: (_d = v.maxBucketTimeRange) !== null && _d !== void 0 ? _d : 0, maxDate: v.maxDate, minDate: v.minDate, autoDelData: (_e = v.autoDelData) !== null && _e !== void 0 ? _e : new Date(), autoDelBucket: (_f = v.autoDelBucket) !== null && _f !== void 0 ? _f : new Date() }));
|
|
56
|
-
});
|
|
57
|
-
const timeSeriesValues = timeSeries.map((v) => v.values);
|
|
58
|
-
const endpoint1 = endpoints.map((v) => {
|
|
59
|
-
var _a, _b;
|
|
60
|
-
return (Object.assign(Object.assign({}, v), { status: v.status, config: v.config, notificationCheckInterval: v.notificationCheckInterval, notificationPauseInterval: v.notificationPauseInterval, nbOfNotificationsBetweenPauseInterval: v.nbOfNotificationsBetweenPauseInterval, readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [] }));
|
|
61
|
-
});
|
|
62
|
-
const tasks1 = tasks.map((v) => {
|
|
63
|
-
var _a, _b, _c;
|
|
64
|
-
return (Object.assign(Object.assign({}, v), { id: v.id, readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [], subTasks: (_c = v.subTasks) !== null && _c !== void 0 ? _c : [] }));
|
|
65
|
-
});
|
|
66
|
-
const events1 = events.map((v) => {
|
|
67
|
-
var _a, _b;
|
|
68
|
-
return (Object.assign(Object.assign({}, v), { readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [], cause: v.cause, level: v.level }));
|
|
69
|
-
});
|
|
70
|
-
const diagrams1 = diagrams.map((v) => {
|
|
71
|
-
var _a;
|
|
72
|
-
return (Object.assign(Object.assign({}, v), { json: (_a = v.json) !== null && _a !== void 0 ? _a : '', author: 'nobody' }));
|
|
73
|
-
});
|
|
74
|
-
const flows1 = flows.map((v) => {
|
|
75
|
-
var _a, _b, _c;
|
|
76
|
-
return (Object.assign(Object.assign({}, v), { readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [], diagram: diagrams.find((v1) => v1.flow === v.id).id, name: `flow-${v.id}`, deployments: (_c = v.deployments) !== null && _c !== void 0 ? _c : [] }));
|
|
77
|
-
});
|
|
78
|
-
const flowRevisions1 = flowRevisions.map((v) => {
|
|
79
|
-
var _a, _b, _c;
|
|
80
|
-
return (Object.assign(Object.assign({}, v), { readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [], diagram: diagrams.find((v1) => v1.flow === v.originalId).id, name: `flow-${v.id}`, deployments: (_c = v.deployments) !== null && _c !== void 0 ? _c : [] }));
|
|
81
|
-
});
|
|
82
|
-
const deployments1 = deployments.map((v) => {
|
|
83
|
-
var _a, _b, _c, _d, _e;
|
|
84
|
-
return (Object.assign(Object.assign({}, v), { readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [], diagram: (_c = v.diagram) !== null && _c !== void 0 ? _c : '', artifact: (_d = v.artifact) !== null && _d !== void 0 ? _d : null, flowModel: (_e = v.flowModel) !== null && _e !== void 0 ? _e : { connections: [], elements: [] }, desiredStatus: 'running', actualStatus: 'generating queued', target: 'executor', name: `deployment-${v.id}` }));
|
|
85
|
-
});
|
|
86
|
-
const functions1 = functions.map((v) => {
|
|
87
|
-
var _a, _b;
|
|
88
|
-
return (Object.assign(Object.assign({}, v), { category: 'task', readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [], author: 'nobody' }));
|
|
89
|
-
});
|
|
90
|
-
const functionRevisions1 = functionRevisions.map((v) => {
|
|
91
|
-
var _a, _b;
|
|
92
|
-
return (Object.assign(Object.assign({}, v), { category: 'task', readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [], author: 'nobody' }));
|
|
93
|
-
});
|
|
94
|
-
const modules1 = modules.map((v, index) => {
|
|
95
|
-
var _a, _b, _c, _d;
|
|
96
|
-
return (Object.assign(Object.assign({}, v), { artifacts: (_a = modules[index].artifacts.map((art) => (Object.assign(Object.assign({}, art), { version: '0.0.0', id: (0, crypto_1.randomUUID)(), mimetype: '', size: 0, createdAt: '' + Date.now() })))) !== null && _a !== void 0 ? _a : [], author: 'nobody', functions: (_b = v.functions) !== null && _b !== void 0 ? _b : [], readPermissions: (_c = v.readPermissions) !== null && _c !== void 0 ? _c : [], readWritePermissions: (_d = v.readWritePermissions) !== null && _d !== void 0 ? _d : [] }));
|
|
97
|
-
});
|
|
98
|
-
const labels1 = labels.map((v) => {
|
|
99
|
-
var _a, _b, _c, _d;
|
|
100
|
-
return (Object.assign(Object.assign({}, v), { color: (_a = v.color) !== null && _a !== void 0 ? _a : '', description: (_b = v.description) !== null && _b !== void 0 ? _b : '', readPermissions: (_c = v.readPermissions) !== null && _c !== void 0 ? _c : [], readWritePermissions: (_d = v.readWritePermissions) !== null && _d !== void 0 ? _d : [] }));
|
|
101
|
-
});
|
|
102
|
-
const vaultSecrets1 = vault.map((v) => {
|
|
103
|
-
var _a, _b;
|
|
104
|
-
return (Object.assign(Object.assign({}, v), { readPermissions: (_a = v.readPermissions) !== null && _a !== void 0 ? _a : [], readWritePermissions: (_b = v.readWritePermissions) !== null && _b !== void 0 ? _b : [] }));
|
|
105
|
-
});
|
|
106
|
-
const notifications1 = notifications.map((v) => {
|
|
107
|
-
var _a, _b, _c;
|
|
108
|
-
return (Object.assign(Object.assign({}, v), { link: (_a = v.link) !== null && _a !== void 0 ? _a : '', description: (_b = v.description) !== null && _b !== void 0 ? _b : '', read: (_c = v.read) !== null && _c !== void 0 ? _c : false }));
|
|
109
|
-
});
|
|
110
|
-
this.assets = new asset_mock_service_1.AssetMockService(this, assets1, assetRevisions1);
|
|
111
|
-
this.assetTypes = new assetTypes_mock_service_1.AssetTypesMockService(assetTypes, []);
|
|
112
|
-
this.contents = new content_mock_service_1.ContentMockService(contents1, contentData);
|
|
113
|
-
this.endpoints = new endpoint_mock_service_1.EndpointMockService(endpoint1);
|
|
114
|
-
this.secrets = new secret_mock_service_1.SecretMockService(secrets1);
|
|
115
|
-
this.timeSeries = new timeseries_mock_service_1.TimeseriesMockService(timeSeries1, timeSeriesValues);
|
|
116
|
-
this.tasks = new task_mock_service_1.TaskMockService(tasks1);
|
|
117
|
-
this.events = new events_mock_service_1.EventsMockService(events1);
|
|
118
|
-
this.users = new user_mock_service_1.UserMockService(users);
|
|
119
|
-
this.flows = new flow_mock_service_1.FlowMockService(flows1, diagrams1, flowRevisions1);
|
|
120
|
-
this.flowDeployments = new flow_deployment_mock_service_1.FlowDeploymentMockService(deployments1, this);
|
|
121
|
-
this.flowFunctions = new flow_functions_mock_service_1.FlowFunctionsMockService(functions1, functionRevisions1);
|
|
122
|
-
this.flowModules = new flow_modules_mock_service_1.FlowModulesMockService(modules1);
|
|
123
|
-
this.labels = new label_mock_service_1.LabelMockService(labels1);
|
|
124
|
-
this.vault = new vault_mock_service_1.VaultMockService(vaultSecrets1);
|
|
125
|
-
this.notifications = new notification_mock_service_1.NotificationMockService(notifications1);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
exports.MockAPI = MockAPI;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataMockService = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const data_interface_1 = require("../data.interface");
|
|
6
|
-
const data_service_1 = require("../data.service");
|
|
7
|
-
class DataMockService extends data_service_1.DataService {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(null, null);
|
|
10
|
-
this.data = [];
|
|
11
|
-
}
|
|
12
|
-
addMany(dto) {
|
|
13
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
14
|
-
const map = dto.map((v) => this.addOne(v));
|
|
15
|
-
return Promise.all(map);
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
addOne(dto) {
|
|
19
|
-
this.data.push(dto);
|
|
20
|
-
return Promise.resolve(dto);
|
|
21
|
-
}
|
|
22
|
-
deleteOne(id) {
|
|
23
|
-
const index = this.data.findIndex((v) => v.id === id);
|
|
24
|
-
const obj = this.data[index];
|
|
25
|
-
this.data.splice(index, 1);
|
|
26
|
-
return Promise.resolve(obj);
|
|
27
|
-
}
|
|
28
|
-
getMany(params) {
|
|
29
|
-
var _a;
|
|
30
|
-
const data = this.data;
|
|
31
|
-
if (params === null || params === void 0 ? void 0 : params.sort) {
|
|
32
|
-
this.sortData(data, params.sort);
|
|
33
|
-
}
|
|
34
|
-
const page = {
|
|
35
|
-
docs: data,
|
|
36
|
-
limit: (_a = params === null || params === void 0 ? void 0 : params.limit) !== null && _a !== void 0 ? _a : Number.MAX_SAFE_INTEGER,
|
|
37
|
-
total: data.length,
|
|
38
|
-
};
|
|
39
|
-
return Promise.resolve(page);
|
|
40
|
-
}
|
|
41
|
-
getManyFiltered(filter_1) {
|
|
42
|
-
return tslib_1.__awaiter(this, arguments, void 0, function* (filter, params = {}) {
|
|
43
|
-
var _a;
|
|
44
|
-
const paginated = yield this.getMany(params);
|
|
45
|
-
const newData = paginated.docs.filter((doc) => Object.entries(filter).every(([filterKey, filterValue]) => {
|
|
46
|
-
const docValue = doc[filterKey];
|
|
47
|
-
if (!docValue) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
return ((typeof docValue === 'object' && (filterValue === docValue.name || filterValue === docValue.id)) ||
|
|
51
|
-
(typeof filterValue === 'object' &&
|
|
52
|
-
(0, data_interface_1.instanceOfTimePeriod)(filterValue) &&
|
|
53
|
-
new Date(docValue) >= filterValue.from &&
|
|
54
|
-
new Date(docValue) <= filterValue.to) ||
|
|
55
|
-
(docValue instanceof Date && filterValue === docValue.toISOString()) ||
|
|
56
|
-
(Array.isArray(filterValue) && Array.isArray(docValue) && filterValue.some((fv) => docValue.includes(fv))) ||
|
|
57
|
-
(Array.isArray(filterValue) && filterValue.includes(docValue)) ||
|
|
58
|
-
(Array.isArray(docValue) && docValue.includes(filterValue)) ||
|
|
59
|
-
docValue === filterValue);
|
|
60
|
-
}));
|
|
61
|
-
const page = {
|
|
62
|
-
docs: newData,
|
|
63
|
-
limit: (_a = paginated.limit) !== null && _a !== void 0 ? _a : Number.MAX_SAFE_INTEGER,
|
|
64
|
-
total: newData.length,
|
|
65
|
-
};
|
|
66
|
-
return Promise.resolve(page);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
getOne(id, options = {}) {
|
|
70
|
-
const idKey = options.idKey || 'id';
|
|
71
|
-
const t = this.data.find((v) => v[idKey] === id);
|
|
72
|
-
return Promise.resolve(t);
|
|
73
|
-
}
|
|
74
|
-
updateOne(id, dto) {
|
|
75
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
yield this.deleteOne(id);
|
|
77
|
-
const t = yield this.addOne(dto);
|
|
78
|
-
return Promise.resolve(t);
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
sortData(data, sort) {
|
|
82
|
-
const descending = sort.startsWith('-');
|
|
83
|
-
const sortString = descending ? sort.substring(1) : sort;
|
|
84
|
-
const compareFn = (a, b) => {
|
|
85
|
-
let aValue = a[sortString];
|
|
86
|
-
let bValue = b[sortString];
|
|
87
|
-
if (['updatedAt', 'createdAt', 'deletedAt'].includes(sortString)) {
|
|
88
|
-
aValue = new Date(a[sortString]).valueOf();
|
|
89
|
-
bValue = new Date(b[sortString]).valueOf();
|
|
90
|
-
}
|
|
91
|
-
return descending ? bValue - aValue : aValue - bValue;
|
|
92
|
-
};
|
|
93
|
-
data.sort(compareFn);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
exports.DataMockService = DataMockService;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EventsMockService = void 0;
|
|
4
|
-
const data_mock_service_1 = require("./data.mock.service");
|
|
5
|
-
class EventsMockService extends data_mock_service_1.DataMockService {
|
|
6
|
-
constructor(events) {
|
|
7
|
-
super();
|
|
8
|
-
this.data = events;
|
|
9
|
-
}
|
|
10
|
-
getLastEventByAssetAndGroup(assetId, group) {
|
|
11
|
-
return Promise.resolve(this.data[this.data.length - 1]);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.EventsMockService = EventsMockService;
|