@hahnpro/hpc-api 3.3.0 → 3.4.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/dist/api.js +1 -1
- package/dist/asset.service.d.ts +3 -4
- package/dist/asset.service.js +5 -10
- package/dist/assettypes.service.d.ts +3 -4
- package/dist/assettypes.service.js +5 -10
- package/dist/content.service.d.ts +3 -4
- package/dist/content.service.js +5 -10
- package/dist/data.service.d.ts +0 -2
- package/dist/data.service.js +0 -3
- package/dist/flow-deployment.service.d.ts +4 -5
- package/dist/flow-deployment.service.js +5 -10
- package/dist/flow.service.d.ts +3 -4
- package/dist/flow.service.js +6 -11
- package/dist/http.service.d.ts +12 -10
- package/dist/http.service.js +28 -50
- package/dist/mock/asset.mock.service.d.ts +3 -4
- package/dist/mock/asset.mock.service.js +5 -9
- package/dist/mock/assetTypes.mock.service.d.ts +3 -4
- package/dist/mock/assetTypes.mock.service.js +5 -9
- package/dist/mock/content.mock.service.d.ts +3 -4
- package/dist/mock/content.mock.service.js +5 -9
- package/dist/mock/flow-deployment.mock.service.d.ts +4 -5
- package/dist/mock/flow-deployment.mock.service.js +8 -15
- package/dist/mock/flow-functions.mock.service.js +2 -2
- package/dist/mock/flow.mock.service.d.ts +3 -4
- package/dist/mock/flow.mock.service.js +6 -10
- package/dist/mock/secret.mock.service.d.ts +3 -4
- package/dist/mock/secret.mock.service.js +5 -9
- package/dist/mock/task.mock.service.d.ts +3 -4
- package/dist/mock/task.mock.service.js +5 -9
- package/dist/mock/timeseries.mock.service.d.ts +3 -6
- package/dist/mock/timeseries.mock.service.js +5 -10
- package/dist/secret.service.d.ts +3 -4
- package/dist/secret.service.js +5 -10
- package/dist/task.service.d.ts +3 -4
- package/dist/task.service.js +5 -10
- package/dist/timeseries.service.d.ts +3 -4
- package/dist/timeseries.service.js +5 -10
- package/dist/trash.service.d.ts +0 -2
- package/dist/trash.service.js +0 -3
- package/dist/user-settings.interface.d.ts +29 -0
- package/dist/user-settings.interface.js +2 -0
- package/dist/user.service.d.ts +5 -0
- package/dist/user.service.js +10 -0
- package/package.json +4 -2
package/dist/api.js
CHANGED
|
@@ -20,7 +20,7 @@ const flow_deployment_service_1 = require("./flow-deployment.service");
|
|
|
20
20
|
const label_service_1 = require("./label.service");
|
|
21
21
|
class API {
|
|
22
22
|
constructor() {
|
|
23
|
-
const normalizePath = (value = '', defaultValue = '') => value.replace(
|
|
23
|
+
const normalizePath = (value = '', defaultValue = '') => value.replace(/(?:^\/+)|(?:\/+$)/g, '') || defaultValue;
|
|
24
24
|
let apiBaseUrl = process.env.API_BASE_URL || 'https://testing.hahnpro.com';
|
|
25
25
|
if (!apiBaseUrl.startsWith('https') && !apiBaseUrl.startsWith('http')) {
|
|
26
26
|
console.info('no protocol specified - using HTTPS');
|
package/dist/asset.service.d.ts
CHANGED
|
@@ -5,12 +5,11 @@ import { Paginated, RequestParameter } from './data.interface';
|
|
|
5
5
|
import { DataService } from './data.service';
|
|
6
6
|
import { HttpClient } from './http.service';
|
|
7
7
|
import { TrashService } from './trash.service';
|
|
8
|
-
interface
|
|
8
|
+
interface BaseService extends DataService<Asset>, TrashService<Asset> {
|
|
9
9
|
}
|
|
10
|
-
declare class
|
|
11
|
-
constructor(httpClient: HttpClient, basePath: string);
|
|
10
|
+
declare class BaseService extends APIBase {
|
|
12
11
|
}
|
|
13
|
-
export declare class AssetService extends
|
|
12
|
+
export declare class AssetService extends BaseService {
|
|
14
13
|
constructor(httpClient: HttpClient);
|
|
15
14
|
deleteOne(id: string, force?: boolean): Promise<any>;
|
|
16
15
|
addAttachment: (id: string, form: FormData) => Promise<Asset>;
|
package/dist/asset.service.js
CHANGED
|
@@ -5,18 +5,13 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const ts_mixer_1 = require("ts-mixer");
|
|
6
6
|
const api_base_1 = require("./api-base");
|
|
7
7
|
const data_service_1 = require("./data.service");
|
|
8
|
-
const http_service_1 = require("./http.service");
|
|
9
8
|
const trash_service_1 = require("./trash.service");
|
|
10
|
-
let
|
|
11
|
-
constructor(httpClient, basePath) {
|
|
12
|
-
super(httpClient, basePath);
|
|
13
|
-
}
|
|
9
|
+
let BaseService = class BaseService extends api_base_1.APIBase {
|
|
14
10
|
};
|
|
15
|
-
|
|
16
|
-
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class AssetService extends MixedClass {
|
|
11
|
+
BaseService = tslib_1.__decorate([
|
|
12
|
+
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
13
|
+
], BaseService);
|
|
14
|
+
class AssetService extends BaseService {
|
|
20
15
|
constructor(httpClient) {
|
|
21
16
|
super(httpClient, '/assets');
|
|
22
17
|
this.addAttachment = (id, form) => {
|
|
@@ -4,12 +4,11 @@ import { Paginated } from './data.interface';
|
|
|
4
4
|
import { DataService } from './data.service';
|
|
5
5
|
import { HttpClient } from './http.service';
|
|
6
6
|
import { TrashService } from './trash.service';
|
|
7
|
-
interface
|
|
7
|
+
interface BaseService extends DataService<AssetType>, TrashService<AssetType> {
|
|
8
8
|
}
|
|
9
|
-
declare class
|
|
10
|
-
constructor(httpClient: HttpClient, basePath: string);
|
|
9
|
+
declare class BaseService extends APIBase {
|
|
11
10
|
}
|
|
12
|
-
export declare class AssetTypesService extends
|
|
11
|
+
export declare class AssetTypesService extends BaseService {
|
|
13
12
|
constructor(httpClient: HttpClient);
|
|
14
13
|
getRevisions(id: string): Promise<Paginated<AssetType[]>>;
|
|
15
14
|
rollback(id: string, revisionId: string): Promise<AssetType>;
|
|
@@ -5,18 +5,13 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const ts_mixer_1 = require("ts-mixer");
|
|
6
6
|
const api_base_1 = require("./api-base");
|
|
7
7
|
const data_service_1 = require("./data.service");
|
|
8
|
-
const http_service_1 = require("./http.service");
|
|
9
8
|
const trash_service_1 = require("./trash.service");
|
|
10
|
-
let
|
|
11
|
-
constructor(httpClient, basePath) {
|
|
12
|
-
super(httpClient, basePath);
|
|
13
|
-
}
|
|
9
|
+
let BaseService = class BaseService extends api_base_1.APIBase {
|
|
14
10
|
};
|
|
15
|
-
|
|
16
|
-
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class AssetTypesService extends MixedClass {
|
|
11
|
+
BaseService = tslib_1.__decorate([
|
|
12
|
+
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
13
|
+
], BaseService);
|
|
14
|
+
class AssetTypesService extends BaseService {
|
|
20
15
|
constructor(httpClient) {
|
|
21
16
|
super(httpClient, '/assettypes');
|
|
22
17
|
}
|
|
@@ -7,12 +7,11 @@ import { Content, ReturnType } from './content.interface';
|
|
|
7
7
|
import { DataService } from './data.service';
|
|
8
8
|
import { HttpClient } from './http.service';
|
|
9
9
|
import { TrashService } from './trash.service';
|
|
10
|
-
interface
|
|
10
|
+
interface BaseService extends DataService<Content>, TrashService<Content> {
|
|
11
11
|
}
|
|
12
|
-
declare class
|
|
13
|
-
constructor(httpClient: HttpClient, basePath: string);
|
|
12
|
+
declare class BaseService extends APIBase {
|
|
14
13
|
}
|
|
15
|
-
export declare class ContentService extends
|
|
14
|
+
export declare class ContentService extends BaseService {
|
|
16
15
|
constructor(httpClient: HttpClient);
|
|
17
16
|
upload: (form: FormData) => Promise<Content>;
|
|
18
17
|
download(id: string, raw?: boolean): Promise<Blob | ArrayBuffer>;
|
package/dist/content.service.js
CHANGED
|
@@ -6,18 +6,13 @@ const ts_mixer_1 = require("ts-mixer");
|
|
|
6
6
|
const api_base_1 = require("./api-base");
|
|
7
7
|
const content_interface_1 = require("./content.interface");
|
|
8
8
|
const data_service_1 = require("./data.service");
|
|
9
|
-
const http_service_1 = require("./http.service");
|
|
10
9
|
const trash_service_1 = require("./trash.service");
|
|
11
|
-
let
|
|
12
|
-
constructor(httpClient, basePath) {
|
|
13
|
-
super(httpClient, basePath);
|
|
14
|
-
}
|
|
10
|
+
let BaseService = class BaseService extends api_base_1.APIBase {
|
|
15
11
|
};
|
|
16
|
-
|
|
17
|
-
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class ContentService extends MixedClass {
|
|
12
|
+
BaseService = tslib_1.__decorate([
|
|
13
|
+
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
14
|
+
], BaseService);
|
|
15
|
+
class ContentService extends BaseService {
|
|
21
16
|
constructor(httpClient) {
|
|
22
17
|
super(httpClient, '/contents');
|
|
23
18
|
this.upload = (form) => {
|
package/dist/data.service.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { APIBase } from './api-base';
|
|
2
2
|
import { DataInterface, Filter, Paginated, RequestParameter } from './data.interface';
|
|
3
|
-
import { HttpClient } from './http.service';
|
|
4
3
|
export declare class DataService<T> extends APIBase implements DataInterface<T> {
|
|
5
|
-
constructor(httpClient: HttpClient, basePath: string);
|
|
6
4
|
addOne(dto: any): Promise<T>;
|
|
7
5
|
addMany(dto: any[]): Promise<T[]>;
|
|
8
6
|
getOne(id: string, options?: any): Promise<T>;
|
package/dist/data.service.js
CHANGED
|
@@ -3,9 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DataService = void 0;
|
|
4
4
|
const api_base_1 = require("./api-base");
|
|
5
5
|
class DataService extends api_base_1.APIBase {
|
|
6
|
-
constructor(httpClient, basePath) {
|
|
7
|
-
super(httpClient, basePath);
|
|
8
|
-
}
|
|
9
6
|
addOne(dto) {
|
|
10
7
|
return this.httpClient.post(this.basePath, dto);
|
|
11
8
|
}
|
|
@@ -4,12 +4,11 @@ import { FlowDeployment, FlowDeploymentMetrics, FlowDeploymentStatistic, FlowLog
|
|
|
4
4
|
import { HttpClient } from './http.service';
|
|
5
5
|
import { ResourceReference } from './resource.interface';
|
|
6
6
|
import { TrashService } from './trash.service';
|
|
7
|
-
interface
|
|
7
|
+
interface BaseService extends DataService<FlowDeployment>, TrashService<FlowDeployment> {
|
|
8
8
|
}
|
|
9
|
-
declare class
|
|
10
|
-
constructor(httpClient: HttpClient, basePath: string);
|
|
9
|
+
declare class BaseService extends APIBase {
|
|
11
10
|
}
|
|
12
|
-
export declare class FlowDeploymentService extends
|
|
11
|
+
export declare class FlowDeploymentService extends BaseService {
|
|
13
12
|
constructor(httpClient: HttpClient);
|
|
14
13
|
addMany(dto: any[]): Promise<FlowDeployment[]>;
|
|
15
14
|
updateOne(id: string, dto: any, force?: boolean): Promise<FlowDeployment>;
|
|
@@ -17,7 +16,7 @@ export declare class FlowDeploymentService extends MixedClass {
|
|
|
17
16
|
getDeploymentMetrics(id: string, range?: string, interval?: string): Promise<FlowDeploymentMetrics>;
|
|
18
17
|
getDeploymentLogs(id: string): Promise<FlowLog[]>;
|
|
19
18
|
resolveReferences(id: string, recursive?: boolean, types?: string[]): Promise<ResourceReference[]>;
|
|
20
|
-
updateStatus(id: string, desiredStatus: 'running' | 'stopped' | 'deleted'): Promise<FlowDeployment>;
|
|
19
|
+
updateStatus(id: string, desiredStatus: 'running' | 'stopped' | 'deleted' | 'paused'): Promise<FlowDeployment>;
|
|
21
20
|
deleteOne(id: string): Promise<FlowDeployment>;
|
|
22
21
|
waitForRunningStatus(id: string): Promise<void>;
|
|
23
22
|
addOne(dto: {
|
|
@@ -5,18 +5,13 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const ts_mixer_1 = require("ts-mixer");
|
|
6
6
|
const api_base_1 = require("./api-base");
|
|
7
7
|
const data_service_1 = require("./data.service");
|
|
8
|
-
const http_service_1 = require("./http.service");
|
|
9
8
|
const trash_service_1 = require("./trash.service");
|
|
10
|
-
let
|
|
11
|
-
constructor(httpClient, basePath) {
|
|
12
|
-
super(httpClient, basePath);
|
|
13
|
-
}
|
|
9
|
+
let BaseService = class BaseService extends api_base_1.APIBase {
|
|
14
10
|
};
|
|
15
|
-
|
|
16
|
-
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class FlowDeploymentService extends MixedClass {
|
|
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 {
|
|
20
15
|
constructor(httpClient) {
|
|
21
16
|
super(httpClient, '/flow/deployments');
|
|
22
17
|
}
|
package/dist/flow.service.d.ts
CHANGED
|
@@ -5,12 +5,11 @@ import { FlowDiagram, FlowDto } from './flow.interface';
|
|
|
5
5
|
import { FlowDeployment } from './flow-deployment.interface';
|
|
6
6
|
import { HttpClient } from './http.service';
|
|
7
7
|
import { TrashService } from './trash.service';
|
|
8
|
-
interface
|
|
8
|
+
interface BaseService extends DataService<FlowDto>, TrashService<FlowDto> {
|
|
9
9
|
}
|
|
10
|
-
declare class
|
|
11
|
-
constructor(httpClient: HttpClient, basePath: string);
|
|
10
|
+
declare class BaseService extends APIBase {
|
|
12
11
|
}
|
|
13
|
-
export declare class FlowService extends
|
|
12
|
+
export declare class FlowService extends BaseService {
|
|
14
13
|
constructor(httpClient: HttpClient);
|
|
15
14
|
addMany(dto: any[]): Promise<FlowDto[]>;
|
|
16
15
|
getMany(params?: RequestParameter): Promise<Paginated<FlowDto[]>>;
|
package/dist/flow.service.js
CHANGED
|
@@ -5,18 +5,13 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const ts_mixer_1 = require("ts-mixer");
|
|
6
6
|
const api_base_1 = require("./api-base");
|
|
7
7
|
const data_service_1 = require("./data.service");
|
|
8
|
-
const http_service_1 = require("./http.service");
|
|
9
8
|
const trash_service_1 = require("./trash.service");
|
|
10
|
-
let
|
|
11
|
-
constructor(httpClient, basePath) {
|
|
12
|
-
super(httpClient, basePath);
|
|
13
|
-
}
|
|
9
|
+
let BaseService = class BaseService extends api_base_1.APIBase {
|
|
14
10
|
};
|
|
15
|
-
|
|
16
|
-
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class FlowService extends MixedClass {
|
|
11
|
+
BaseService = tslib_1.__decorate([
|
|
12
|
+
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
13
|
+
], BaseService);
|
|
14
|
+
class FlowService extends BaseService {
|
|
20
15
|
constructor(httpClient) {
|
|
21
16
|
super(httpClient, '/flows');
|
|
22
17
|
}
|
|
@@ -42,7 +37,7 @@ class FlowService extends MixedClass {
|
|
|
42
37
|
const flowId = typeof depl.flow === 'string' ? depl.flow : depl.flow.id;
|
|
43
38
|
const diagramId = typeof depl.diagram === 'string' ? depl.diagram : depl.diagram.id;
|
|
44
39
|
const revisions = await this.getDiagramRevisions(flowId);
|
|
45
|
-
return revisions.
|
|
40
|
+
return revisions[revisions.length - 1].id === diagramId;
|
|
46
41
|
}
|
|
47
42
|
getRevisions(id) {
|
|
48
43
|
return this.httpClient.get(`${this.basePath}/${id}/revisions`);
|
package/dist/http.service.d.ts
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { AxiosRequestConfig } from 'axios';
|
|
2
2
|
import EventSource from 'eventsource';
|
|
3
3
|
export declare class HttpClient {
|
|
4
|
-
private baseURL;
|
|
4
|
+
private readonly baseURL;
|
|
5
|
+
private readonly authBaseURL;
|
|
5
6
|
private readonly realm;
|
|
6
|
-
private readonly
|
|
7
|
-
private readonly
|
|
7
|
+
private readonly clientId;
|
|
8
|
+
private readonly clientSecret;
|
|
8
9
|
private readonly axiosInstance;
|
|
9
|
-
private readonly authAxiosInstance;
|
|
10
10
|
private readonly requestQueue;
|
|
11
|
-
private
|
|
12
|
-
private
|
|
13
|
-
eventSourcesMap: Map<string,
|
|
14
|
-
|
|
11
|
+
private client;
|
|
12
|
+
private tokenSet;
|
|
13
|
+
eventSourcesMap: Map<string, {
|
|
14
|
+
eventSource: EventSource;
|
|
15
|
+
listener: (event: MessageEvent) => void;
|
|
16
|
+
errListener: (event: MessageEvent) => void;
|
|
17
|
+
}>;
|
|
18
|
+
constructor(baseURL: string, authBaseURL: string, realm: string, clientId: string, clientSecret: string);
|
|
15
19
|
getQueueStats: () => {
|
|
16
20
|
peak: number;
|
|
17
21
|
pending: number;
|
|
@@ -27,6 +31,4 @@ export declare class HttpClient {
|
|
|
27
31
|
destroyEventSource(id: string): void;
|
|
28
32
|
destroyAllEventSources(): void;
|
|
29
33
|
getAccessToken: () => Promise<string>;
|
|
30
|
-
private isTokenValid;
|
|
31
|
-
private getToken;
|
|
32
34
|
}
|
package/dist/http.service.js
CHANGED
|
@@ -4,16 +4,17 @@ exports.HttpClient = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
6
6
|
const eventsource_1 = tslib_1.__importDefault(require("eventsource"));
|
|
7
|
+
const openid_client_1 = require("openid-client");
|
|
7
8
|
const Queue_1 = require("./Queue");
|
|
8
9
|
const crypto_1 = require("crypto");
|
|
9
|
-
const
|
|
10
|
+
const TOKEN_EXPIRATION_BUFFER = 30;
|
|
10
11
|
class HttpClient {
|
|
11
|
-
constructor(baseURL,
|
|
12
|
+
constructor(baseURL, authBaseURL, realm, clientId, clientSecret) {
|
|
12
13
|
this.baseURL = baseURL;
|
|
14
|
+
this.authBaseURL = authBaseURL;
|
|
13
15
|
this.realm = realm;
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.accessTokenExpiration = 0;
|
|
16
|
+
this.clientId = clientId;
|
|
17
|
+
this.clientSecret = clientSecret;
|
|
17
18
|
this.eventSourcesMap = new Map();
|
|
18
19
|
this.getQueueStats = () => { var _a; return (_a = this.requestQueue) === null || _a === void 0 ? void 0 : _a.getStats(); };
|
|
19
20
|
this.delete = (url, config) => this.request('DELETE', url, config);
|
|
@@ -31,60 +32,37 @@ class HttpClient {
|
|
|
31
32
|
.catch(reject);
|
|
32
33
|
}));
|
|
33
34
|
};
|
|
34
|
-
this.getAccessToken = () => {
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
this.getAccessToken = async () => {
|
|
36
|
+
var _a;
|
|
37
|
+
if (!((_a = this.client) === null || _a === void 0 ? void 0 : _a.issuer)) {
|
|
38
|
+
const authIssuer = await openid_client_1.Issuer.discover(`${this.authBaseURL}/realms/${this.realm}/`);
|
|
39
|
+
this.client = await new authIssuer.Client({
|
|
40
|
+
client_id: this.clientId,
|
|
41
|
+
client_secret: this.clientSecret,
|
|
42
|
+
token_endpoint_auth_method: 'client_secret_jwt',
|
|
43
|
+
});
|
|
37
44
|
}
|
|
38
|
-
|
|
39
|
-
|
|
45
|
+
if (!this.tokenSet || this.tokenSet.expired() || this.tokenSet.expires_at < Date.now() / 1000 + TOKEN_EXPIRATION_BUFFER) {
|
|
46
|
+
this.tokenSet = await this.client.grant({ grant_type: 'client_credentials' });
|
|
40
47
|
}
|
|
41
|
-
|
|
42
|
-
this.isTokenValid = () => {
|
|
43
|
-
if (this.accessToken && this.accessTokenExpiration) {
|
|
44
|
-
return Date.now() + EXPIRATION_BUFFER < this.accessTokenExpiration;
|
|
45
|
-
}
|
|
46
|
-
return false;
|
|
47
|
-
};
|
|
48
|
-
this.getToken = () => {
|
|
49
|
-
return new Promise((resolve, reject) => {
|
|
50
|
-
const params = new URLSearchParams([
|
|
51
|
-
['client_id', this.client],
|
|
52
|
-
['client_secret', this.secret],
|
|
53
|
-
['grant_type', 'client_credentials'],
|
|
54
|
-
]);
|
|
55
|
-
const headers = { 'Content-Type': 'application/x-www-form-urlencoded' };
|
|
56
|
-
this.authAxiosInstance
|
|
57
|
-
.post(`/realms/${this.realm}/protocol/openid-connect/token`, params.toString(), { headers })
|
|
58
|
-
.then((res) => {
|
|
59
|
-
var _a;
|
|
60
|
-
if (((_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.access_token) && res.data.expires_in) {
|
|
61
|
-
this.accessToken = res.data.access_token;
|
|
62
|
-
this.accessTokenExpiration = Date.now() + res.data.expires_in * 1000;
|
|
63
|
-
return resolve(res.data.access_token);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
throw new Error('Invalid access token received');
|
|
67
|
-
}
|
|
68
|
-
})
|
|
69
|
-
.catch(reject);
|
|
70
|
-
});
|
|
48
|
+
return this.tokenSet.access_token;
|
|
71
49
|
};
|
|
72
50
|
this.axiosInstance = axios_1.default.create({ baseURL, timeout: 60000 });
|
|
73
|
-
this.authAxiosInstance = axios_1.default.create({ baseURL: authbaseURL || baseURL, timeout: 10000 });
|
|
74
51
|
this.requestQueue = new Queue_1.Queue({ concurrency: 1, timeout: 70000, throwOnTimeout: true });
|
|
75
52
|
}
|
|
76
53
|
async addEventSource(url, listener, errorListener) {
|
|
77
54
|
const id = (0, crypto_1.randomUUID)();
|
|
55
|
+
const errListener = errorListener
|
|
56
|
+
? errorListener
|
|
57
|
+
: (event) => {
|
|
58
|
+
throw new Error(JSON.stringify(event, null, 2));
|
|
59
|
+
};
|
|
78
60
|
const es = new eventsource_1.default(`${this.baseURL}${url}`, {
|
|
79
61
|
headers: { authorization: 'Bearer ' + (await this.getAccessToken()) },
|
|
80
62
|
});
|
|
81
63
|
es.addEventListener('message', listener);
|
|
82
|
-
es.addEventListener('error',
|
|
83
|
-
|
|
84
|
-
: (event) => {
|
|
85
|
-
throw new Error(JSON.stringify(event, null, 2));
|
|
86
|
-
});
|
|
87
|
-
this.eventSourcesMap.set(id, es);
|
|
64
|
+
es.addEventListener('error', errListener);
|
|
65
|
+
this.eventSourcesMap.set(id, { eventSource: es, listener, errListener });
|
|
88
66
|
return id;
|
|
89
67
|
}
|
|
90
68
|
destroyEventSource(id) {
|
|
@@ -92,9 +70,9 @@ class HttpClient {
|
|
|
92
70
|
return;
|
|
93
71
|
}
|
|
94
72
|
const es = this.eventSourcesMap.get(id);
|
|
95
|
-
es.close();
|
|
96
|
-
es.removeEventListener('message',
|
|
97
|
-
es.removeEventListener('error',
|
|
73
|
+
es.eventSource.close();
|
|
74
|
+
es.eventSource.removeEventListener('message', es.listener);
|
|
75
|
+
es.eventSource.removeEventListener('error', es.errListener);
|
|
98
76
|
this.eventSourcesMap.delete(id);
|
|
99
77
|
}
|
|
100
78
|
destroyAllEventSources() {
|
|
@@ -6,12 +6,11 @@ import { MockAPI } from './api.mock';
|
|
|
6
6
|
import { APIBaseMock } from './api-base.mock';
|
|
7
7
|
import { DataMockService } from './data.mock.service';
|
|
8
8
|
import { TrashMockService } from './trash.mock.service';
|
|
9
|
-
interface
|
|
9
|
+
interface BaseService extends DataMockService<Asset>, TrashMockService<Asset> {
|
|
10
10
|
}
|
|
11
|
-
declare class
|
|
12
|
-
constructor(data: Asset[]);
|
|
11
|
+
declare class BaseService extends APIBaseMock<Asset> {
|
|
13
12
|
}
|
|
14
|
-
export declare class AssetMockService extends
|
|
13
|
+
export declare class AssetMockService extends BaseService implements AssetService {
|
|
15
14
|
private api;
|
|
16
15
|
private revisions;
|
|
17
16
|
constructor(api: MockAPI, assets: Asset[], revisions: AssetRevision[]);
|
|
@@ -6,16 +6,12 @@ const ts_mixer_1 = require("ts-mixer");
|
|
|
6
6
|
const api_base_mock_1 = require("./api-base.mock");
|
|
7
7
|
const data_mock_service_1 = require("./data.mock.service");
|
|
8
8
|
const trash_mock_service_1 = require("./trash.mock.service");
|
|
9
|
-
let
|
|
10
|
-
constructor(data) {
|
|
11
|
-
super(data);
|
|
12
|
-
}
|
|
9
|
+
let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
|
|
13
10
|
};
|
|
14
|
-
|
|
15
|
-
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class AssetMockService extends MixedClass {
|
|
11
|
+
BaseService = tslib_1.__decorate([
|
|
12
|
+
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
13
|
+
], BaseService);
|
|
14
|
+
class AssetMockService extends BaseService {
|
|
19
15
|
constructor(api, assets, revisions) {
|
|
20
16
|
super(assets);
|
|
21
17
|
this.api = api;
|
|
@@ -4,12 +4,11 @@ import { Paginated, RequestParameter } from '../data.interface';
|
|
|
4
4
|
import { APIBaseMock } from './api-base.mock';
|
|
5
5
|
import { DataMockService } from './data.mock.service';
|
|
6
6
|
import { TrashMockService } from './trash.mock.service';
|
|
7
|
-
interface
|
|
7
|
+
interface BaseService extends DataMockService<AssetType>, TrashMockService<AssetType> {
|
|
8
8
|
}
|
|
9
|
-
declare class
|
|
10
|
-
constructor(data: AssetType[]);
|
|
9
|
+
declare class BaseService extends APIBaseMock<AssetType> {
|
|
11
10
|
}
|
|
12
|
-
export declare class AssetTypesMockService extends
|
|
11
|
+
export declare class AssetTypesMockService extends BaseService implements AssetTypesService {
|
|
13
12
|
private revisions;
|
|
14
13
|
constructor(assetTypes: AssetType[], revisions: AssetTypeRevision[]);
|
|
15
14
|
getMany(params?: RequestParameter): Promise<Paginated<AssetType[]>>;
|
|
@@ -7,16 +7,12 @@ const ts_mixer_1 = require("ts-mixer");
|
|
|
7
7
|
const api_base_mock_1 = require("./api-base.mock");
|
|
8
8
|
const data_mock_service_1 = require("./data.mock.service");
|
|
9
9
|
const trash_mock_service_1 = require("./trash.mock.service");
|
|
10
|
-
let
|
|
11
|
-
constructor(data) {
|
|
12
|
-
super(data);
|
|
13
|
-
}
|
|
10
|
+
let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
|
|
14
11
|
};
|
|
15
|
-
|
|
16
|
-
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class AssetTypesMockService extends MixedClass {
|
|
12
|
+
BaseService = tslib_1.__decorate([
|
|
13
|
+
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
14
|
+
], BaseService);
|
|
15
|
+
class AssetTypesMockService extends BaseService {
|
|
20
16
|
constructor(assetTypes, revisions) {
|
|
21
17
|
super(assetTypes);
|
|
22
18
|
this.revisions = revisions;
|
|
@@ -8,12 +8,11 @@ import { Paginated, RequestParameter } from '../data.interface';
|
|
|
8
8
|
import { APIBaseMock } from './api-base.mock';
|
|
9
9
|
import { DataMockService } from './data.mock.service';
|
|
10
10
|
import { TrashMockService } from './trash.mock.service';
|
|
11
|
-
interface
|
|
11
|
+
interface BaseService extends DataMockService<Content>, TrashMockService<Content> {
|
|
12
12
|
}
|
|
13
|
-
declare class
|
|
14
|
-
constructor(data: Content[]);
|
|
13
|
+
declare class BaseService extends APIBaseMock<Content> {
|
|
15
14
|
}
|
|
16
|
-
export declare class ContentMockService extends
|
|
15
|
+
export declare class ContentMockService extends BaseService implements ContentService {
|
|
17
16
|
private contentData;
|
|
18
17
|
constructor(contents: Content[], contentData: any[]);
|
|
19
18
|
download(id: string, raw?: boolean): Promise<Blob | ArrayBuffer>;
|
|
@@ -8,16 +8,12 @@ const content_interface_1 = require("../content.interface");
|
|
|
8
8
|
const api_base_mock_1 = require("./api-base.mock");
|
|
9
9
|
const data_mock_service_1 = require("./data.mock.service");
|
|
10
10
|
const trash_mock_service_1 = require("./trash.mock.service");
|
|
11
|
-
let
|
|
12
|
-
constructor(data) {
|
|
13
|
-
super(data);
|
|
14
|
-
}
|
|
11
|
+
let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
|
|
15
12
|
};
|
|
16
|
-
|
|
17
|
-
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class ContentMockService extends MixedClass {
|
|
13
|
+
BaseService = tslib_1.__decorate([
|
|
14
|
+
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
15
|
+
], BaseService);
|
|
16
|
+
class ContentMockService extends BaseService {
|
|
21
17
|
constructor(contents, contentData) {
|
|
22
18
|
super(contents);
|
|
23
19
|
this.contentData = new Map();
|
|
@@ -5,18 +5,17 @@ import { MockAPI } from './api.mock';
|
|
|
5
5
|
import { APIBaseMock } from './api-base.mock';
|
|
6
6
|
import { DataMockService } from './data.mock.service';
|
|
7
7
|
import { TrashMockService } from './trash.mock.service';
|
|
8
|
-
interface
|
|
8
|
+
interface BaseService extends DataMockService<FlowDeployment>, TrashMockService<FlowDeployment> {
|
|
9
9
|
}
|
|
10
|
-
declare class
|
|
11
|
-
constructor(data: FlowDeployment[]);
|
|
10
|
+
declare class BaseService extends APIBaseMock<FlowDeployment> {
|
|
12
11
|
}
|
|
13
|
-
export declare class FlowDeploymentMockService extends
|
|
12
|
+
export declare class FlowDeploymentMockService extends BaseService implements FlowDeploymentService {
|
|
14
13
|
private api;
|
|
15
14
|
constructor(deployments: FlowDeployment[], api: MockAPI);
|
|
16
15
|
subscribeToStatus(id: string, listener: (event: MessageEvent<any>) => void, errorListener?: (event: MessageEvent<any>) => void): Promise<string>;
|
|
17
16
|
subscribeToLogs(id: string, listener: (event: MessageEvent<any>) => void, errorListener?: (event: MessageEvent) => void): Promise<string>;
|
|
18
17
|
waitForRunningStatus(id: string): Promise<void>;
|
|
19
|
-
updateStatus(id: string, desiredStatus: 'running' | 'stopped' | 'deleted'): Promise<FlowDeployment>;
|
|
18
|
+
updateStatus(id: string, desiredStatus: 'running' | 'stopped' | 'deleted' | 'paused'): Promise<FlowDeployment>;
|
|
20
19
|
resolveReferences(id: string, recursive?: boolean, types?: string[]): Promise<ResourceReference[]>;
|
|
21
20
|
getDeploymentStatistics(id: string): Promise<FlowDeploymentStatistic>;
|
|
22
21
|
getDeploymentMetrics(id: string, range?: string, interval?: string): Promise<FlowDeploymentMetrics>;
|
|
@@ -7,16 +7,12 @@ const ts_mixer_1 = require("ts-mixer");
|
|
|
7
7
|
const api_base_mock_1 = require("./api-base.mock");
|
|
8
8
|
const data_mock_service_1 = require("./data.mock.service");
|
|
9
9
|
const trash_mock_service_1 = require("./trash.mock.service");
|
|
10
|
-
let
|
|
11
|
-
constructor(data) {
|
|
12
|
-
super(data);
|
|
13
|
-
}
|
|
10
|
+
let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
|
|
14
11
|
};
|
|
15
|
-
|
|
16
|
-
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class FlowDeploymentMockService extends MixedClass {
|
|
12
|
+
BaseService = tslib_1.__decorate([
|
|
13
|
+
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
14
|
+
], BaseService);
|
|
15
|
+
class FlowDeploymentMockService extends BaseService {
|
|
20
16
|
constructor(deployments, api) {
|
|
21
17
|
super(deployments);
|
|
22
18
|
this.api = api;
|
|
@@ -117,12 +113,9 @@ class FlowDeploymentMockService extends MixedClass {
|
|
|
117
113
|
}
|
|
118
114
|
async getReferences(properties) {
|
|
119
115
|
return Promise.all(Object.keys(properties).map(async (prop) => {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
default:
|
|
124
|
-
throw new Error('not implemented');
|
|
125
|
-
}
|
|
116
|
+
if (prop !== 'assetId')
|
|
117
|
+
throw new Error('not implemented');
|
|
118
|
+
return { id: (await this.api.assets.getOne(properties[prop])).id, resourceType: 'asset' };
|
|
126
119
|
}));
|
|
127
120
|
}
|
|
128
121
|
}
|
|
@@ -20,8 +20,8 @@ class FlowFunctionsMockService extends data_mock_service_1.DataMockService {
|
|
|
20
20
|
this.revisions
|
|
21
21
|
.filter((revision) => revision.originalId === fqn)
|
|
22
22
|
.forEach((revision) => {
|
|
23
|
-
const
|
|
24
|
-
this.revisions.splice(
|
|
23
|
+
const index1 = this.revisions.indexOf(revision);
|
|
24
|
+
this.revisions.splice(index1, 1);
|
|
25
25
|
});
|
|
26
26
|
return Promise.resolve(undefined);
|
|
27
27
|
}
|
|
@@ -5,12 +5,11 @@ import { FlowDeployment } from '../flow-deployment.interface';
|
|
|
5
5
|
import { APIBaseMock } from './api-base.mock';
|
|
6
6
|
import { DataMockService } from './data.mock.service';
|
|
7
7
|
import { TrashMockService } from './trash.mock.service';
|
|
8
|
-
interface
|
|
8
|
+
interface BaseService extends DataMockService<FlowDto>, TrashMockService<FlowDto> {
|
|
9
9
|
}
|
|
10
|
-
declare class
|
|
11
|
-
constructor(data: FlowDto[]);
|
|
10
|
+
declare class BaseService extends APIBaseMock<FlowDto> {
|
|
12
11
|
}
|
|
13
|
-
export declare class FlowMockService extends
|
|
12
|
+
export declare class FlowMockService extends BaseService implements FlowService {
|
|
14
13
|
private diagrams;
|
|
15
14
|
private revisions;
|
|
16
15
|
constructor(flows: FlowDto[], diagrams: FlowDiagram[], revisions: FlowRevision[]);
|
|
@@ -7,16 +7,12 @@ const ts_mixer_1 = require("ts-mixer");
|
|
|
7
7
|
const api_base_mock_1 = require("./api-base.mock");
|
|
8
8
|
const data_mock_service_1 = require("./data.mock.service");
|
|
9
9
|
const trash_mock_service_1 = require("./trash.mock.service");
|
|
10
|
-
let
|
|
11
|
-
constructor(data) {
|
|
12
|
-
super(data);
|
|
13
|
-
}
|
|
10
|
+
let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
|
|
14
11
|
};
|
|
15
|
-
|
|
16
|
-
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class FlowMockService extends MixedClass {
|
|
12
|
+
BaseService = tslib_1.__decorate([
|
|
13
|
+
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
14
|
+
], BaseService);
|
|
15
|
+
class FlowMockService extends BaseService {
|
|
20
16
|
constructor(flows, diagrams, revisions) {
|
|
21
17
|
super(flows);
|
|
22
18
|
this.diagrams = diagrams;
|
|
@@ -50,7 +46,7 @@ class FlowMockService extends MixedClass {
|
|
|
50
46
|
const flowId = typeof depl.flow === 'string' ? depl.flow : depl.flow.id;
|
|
51
47
|
const diagramId = typeof depl.diagram === 'string' ? depl.diagram : depl.diagram.id;
|
|
52
48
|
const revisions = await this.getDiagramRevisions(flowId);
|
|
53
|
-
return revisions.
|
|
49
|
+
return revisions[revisions.length - 1].id === diagramId;
|
|
54
50
|
}
|
|
55
51
|
getDiagramRevisions(id) {
|
|
56
52
|
return Promise.resolve(this.diagrams.filter((v) => v.flow === id));
|
|
@@ -4,12 +4,11 @@ import { Paginated, RequestParameter } from '../data.interface';
|
|
|
4
4
|
import { APIBaseMock } from './api-base.mock';
|
|
5
5
|
import { DataMockService } from './data.mock.service';
|
|
6
6
|
import { TrashMockService } from './trash.mock.service';
|
|
7
|
-
interface
|
|
7
|
+
interface BaseService extends DataMockService<Secret>, TrashMockService<Secret> {
|
|
8
8
|
}
|
|
9
|
-
declare class
|
|
10
|
-
constructor(data: Secret[]);
|
|
9
|
+
declare class BaseService extends APIBaseMock<Secret> {
|
|
11
10
|
}
|
|
12
|
-
export declare class SecretMockService extends
|
|
11
|
+
export declare class SecretMockService extends BaseService implements SecretService {
|
|
13
12
|
constructor(secrets: Secret[]);
|
|
14
13
|
deleteOne(contentId: string, force?: boolean): Promise<Secret>;
|
|
15
14
|
getMany(params?: RequestParameter): Promise<Paginated<Secret[]>>;
|
|
@@ -6,16 +6,12 @@ const ts_mixer_1 = require("ts-mixer");
|
|
|
6
6
|
const api_base_mock_1 = require("./api-base.mock");
|
|
7
7
|
const data_mock_service_1 = require("./data.mock.service");
|
|
8
8
|
const trash_mock_service_1 = require("./trash.mock.service");
|
|
9
|
-
let
|
|
10
|
-
constructor(data) {
|
|
11
|
-
super(data);
|
|
12
|
-
}
|
|
9
|
+
let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
|
|
13
10
|
};
|
|
14
|
-
|
|
15
|
-
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class SecretMockService extends MixedClass {
|
|
11
|
+
BaseService = tslib_1.__decorate([
|
|
12
|
+
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
13
|
+
], BaseService);
|
|
14
|
+
class SecretMockService extends BaseService {
|
|
19
15
|
constructor(secrets) {
|
|
20
16
|
super(secrets);
|
|
21
17
|
}
|
|
@@ -4,12 +4,11 @@ import { TaskService } from '../task.service';
|
|
|
4
4
|
import { APIBaseMock } from './api-base.mock';
|
|
5
5
|
import { DataMockService } from './data.mock.service';
|
|
6
6
|
import { TrashMockService } from './trash.mock.service';
|
|
7
|
-
interface
|
|
7
|
+
interface BaseService extends DataMockService<Task>, TrashMockService<Task> {
|
|
8
8
|
}
|
|
9
|
-
declare class
|
|
10
|
-
constructor(data: Task[]);
|
|
9
|
+
declare class BaseService extends APIBaseMock<Task> {
|
|
11
10
|
}
|
|
12
|
-
export declare class TaskMockService extends
|
|
11
|
+
export declare class TaskMockService extends BaseService implements TaskService {
|
|
13
12
|
constructor(tasks: Task[]);
|
|
14
13
|
createTaskAttachedToAsset(dto: any): Promise<Task>;
|
|
15
14
|
deleteOne(taskId: string, force?: boolean): Promise<Task>;
|
|
@@ -6,16 +6,12 @@ const ts_mixer_1 = require("ts-mixer");
|
|
|
6
6
|
const api_base_mock_1 = require("./api-base.mock");
|
|
7
7
|
const data_mock_service_1 = require("./data.mock.service");
|
|
8
8
|
const trash_mock_service_1 = require("./trash.mock.service");
|
|
9
|
-
let
|
|
10
|
-
constructor(data) {
|
|
11
|
-
super(data);
|
|
12
|
-
}
|
|
9
|
+
let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
|
|
13
10
|
};
|
|
14
|
-
|
|
15
|
-
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class TaskMockService extends MixedClass {
|
|
11
|
+
BaseService = tslib_1.__decorate([
|
|
12
|
+
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
13
|
+
], BaseService);
|
|
14
|
+
class TaskMockService extends BaseService {
|
|
19
15
|
constructor(tasks) {
|
|
20
16
|
super(tasks);
|
|
21
17
|
}
|
|
@@ -4,20 +4,17 @@ import { TimeSeriesService } from '../timeseries.service';
|
|
|
4
4
|
import { APIBaseMock } from './api-base.mock';
|
|
5
5
|
import { DataMockService } from './data.mock.service';
|
|
6
6
|
import { TrashMockService } from './trash.mock.service';
|
|
7
|
-
interface
|
|
7
|
+
interface BaseService extends DataMockService<TimeSeries & {
|
|
8
8
|
data: TimeSeriesValue[];
|
|
9
9
|
}>, TrashMockService<TimeSeries & {
|
|
10
10
|
data: TimeSeriesValue[];
|
|
11
11
|
}> {
|
|
12
12
|
}
|
|
13
|
-
declare class
|
|
13
|
+
declare class BaseService extends APIBaseMock<TimeSeries & {
|
|
14
14
|
data: TimeSeriesValue[];
|
|
15
15
|
}> {
|
|
16
|
-
constructor(data: (TimeSeries & {
|
|
17
|
-
data: TimeSeriesValue[];
|
|
18
|
-
})[]);
|
|
19
16
|
}
|
|
20
|
-
export declare class TimeseriesMockService extends
|
|
17
|
+
export declare class TimeseriesMockService extends BaseService implements TimeSeriesService {
|
|
21
18
|
constructor(timeseries: TimeSeries[], timeseriesValues: TimeSeriesValue[][]);
|
|
22
19
|
deleteOne(tsmId: string, force?: boolean): Promise<TimeSeries>;
|
|
23
20
|
getMany(params?: RequestParameter): Promise<Paginated<(TimeSeries & {
|
|
@@ -6,16 +6,12 @@ const ts_mixer_1 = require("ts-mixer");
|
|
|
6
6
|
const api_base_mock_1 = require("./api-base.mock");
|
|
7
7
|
const data_mock_service_1 = require("./data.mock.service");
|
|
8
8
|
const trash_mock_service_1 = require("./trash.mock.service");
|
|
9
|
-
let
|
|
10
|
-
constructor(data) {
|
|
11
|
-
super(data);
|
|
12
|
-
}
|
|
9
|
+
let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
|
|
13
10
|
};
|
|
14
|
-
|
|
15
|
-
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class TimeseriesMockService extends MixedClass {
|
|
11
|
+
BaseService = tslib_1.__decorate([
|
|
12
|
+
(0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
|
|
13
|
+
], BaseService);
|
|
14
|
+
class TimeseriesMockService extends BaseService {
|
|
19
15
|
constructor(timeseries, timeseriesValues) {
|
|
20
16
|
const data = timeseries.map((value, index) => (Object.assign(Object.assign({}, value), { data: timeseriesValues[index] })));
|
|
21
17
|
super(data);
|
|
@@ -56,7 +52,6 @@ class TimeseriesMockService extends MixedClass {
|
|
|
56
52
|
async addValue(id, value) {
|
|
57
53
|
const ts = await this.getOne(id, {});
|
|
58
54
|
ts.data.push({ timestamp: new Date().valueOf(), value });
|
|
59
|
-
return;
|
|
60
55
|
}
|
|
61
56
|
getManyByAsset(assetId, names) {
|
|
62
57
|
const page = { docs: [], limit: 10, total: 0 };
|
package/dist/secret.service.d.ts
CHANGED
|
@@ -3,12 +3,11 @@ import { DataService } from './data.service';
|
|
|
3
3
|
import { HttpClient } from './http.service';
|
|
4
4
|
import { Secret } from './secret.interface';
|
|
5
5
|
import { TrashService } from './trash.service';
|
|
6
|
-
interface
|
|
6
|
+
interface BaseService extends DataService<Secret>, TrashService<Secret> {
|
|
7
7
|
}
|
|
8
|
-
declare class
|
|
9
|
-
constructor(httpClient: HttpClient, basePath: string);
|
|
8
|
+
declare class BaseService extends APIBase {
|
|
10
9
|
}
|
|
11
|
-
export declare class SecretService extends
|
|
10
|
+
export declare class SecretService extends BaseService {
|
|
12
11
|
constructor(httpClient: HttpClient);
|
|
13
12
|
}
|
|
14
13
|
export {};
|
package/dist/secret.service.js
CHANGED
|
@@ -5,18 +5,13 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const ts_mixer_1 = require("ts-mixer");
|
|
6
6
|
const api_base_1 = require("./api-base");
|
|
7
7
|
const data_service_1 = require("./data.service");
|
|
8
|
-
const http_service_1 = require("./http.service");
|
|
9
8
|
const trash_service_1 = require("./trash.service");
|
|
10
|
-
let
|
|
11
|
-
constructor(httpClient, basePath) {
|
|
12
|
-
super(httpClient, basePath);
|
|
13
|
-
}
|
|
9
|
+
let BaseService = class BaseService extends api_base_1.APIBase {
|
|
14
10
|
};
|
|
15
|
-
|
|
16
|
-
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class SecretService extends MixedClass {
|
|
11
|
+
BaseService = tslib_1.__decorate([
|
|
12
|
+
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
13
|
+
], BaseService);
|
|
14
|
+
class SecretService extends BaseService {
|
|
20
15
|
constructor(httpClient) {
|
|
21
16
|
super(httpClient, '/secrets');
|
|
22
17
|
}
|
package/dist/task.service.d.ts
CHANGED
|
@@ -3,12 +3,11 @@ import { DataService } from './data.service';
|
|
|
3
3
|
import { HttpClient } from './http.service';
|
|
4
4
|
import { Task } from './task.interface';
|
|
5
5
|
import { TrashService } from './trash.service';
|
|
6
|
-
interface
|
|
6
|
+
interface BaseService extends DataService<Task>, TrashService<Task> {
|
|
7
7
|
}
|
|
8
|
-
declare class
|
|
9
|
-
constructor(httpClient: HttpClient, basePath: string);
|
|
8
|
+
declare class BaseService extends APIBase {
|
|
10
9
|
}
|
|
11
|
-
export declare class TaskService extends
|
|
10
|
+
export declare class TaskService extends BaseService {
|
|
12
11
|
constructor(httpClient: HttpClient);
|
|
13
12
|
createTaskAttachedToAsset(dto: any): Promise<Task>;
|
|
14
13
|
}
|
package/dist/task.service.js
CHANGED
|
@@ -5,18 +5,13 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const ts_mixer_1 = require("ts-mixer");
|
|
6
6
|
const api_base_1 = require("./api-base");
|
|
7
7
|
const data_service_1 = require("./data.service");
|
|
8
|
-
const http_service_1 = require("./http.service");
|
|
9
8
|
const trash_service_1 = require("./trash.service");
|
|
10
|
-
let
|
|
11
|
-
constructor(httpClient, basePath) {
|
|
12
|
-
super(httpClient, basePath);
|
|
13
|
-
}
|
|
9
|
+
let BaseService = class BaseService extends api_base_1.APIBase {
|
|
14
10
|
};
|
|
15
|
-
|
|
16
|
-
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class TaskService extends MixedClass {
|
|
11
|
+
BaseService = tslib_1.__decorate([
|
|
12
|
+
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
13
|
+
], BaseService);
|
|
14
|
+
class TaskService extends BaseService {
|
|
20
15
|
constructor(httpClient) {
|
|
21
16
|
super(httpClient, '/tasks');
|
|
22
17
|
}
|
|
@@ -4,12 +4,11 @@ import { DataService } from './data.service';
|
|
|
4
4
|
import { HttpClient } from './http.service';
|
|
5
5
|
import { TimeSeries, TimeSeriesValue, TS_GROUPS } from './timeseries.interface';
|
|
6
6
|
import { TrashService } from './trash.service';
|
|
7
|
-
interface
|
|
7
|
+
interface BaseService extends DataService<TimeSeries>, TrashService<TimeSeries> {
|
|
8
8
|
}
|
|
9
|
-
declare class
|
|
10
|
-
constructor(httpClient: HttpClient, basePath: string);
|
|
9
|
+
declare class BaseService extends APIBase {
|
|
11
10
|
}
|
|
12
|
-
export declare class TimeSeriesService extends
|
|
11
|
+
export declare class TimeSeriesService extends BaseService {
|
|
13
12
|
constructor(httpClient: HttpClient);
|
|
14
13
|
addValue(id: string, value: {
|
|
15
14
|
[values: string]: any;
|
|
@@ -5,18 +5,13 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const ts_mixer_1 = require("ts-mixer");
|
|
6
6
|
const api_base_1 = require("./api-base");
|
|
7
7
|
const data_service_1 = require("./data.service");
|
|
8
|
-
const http_service_1 = require("./http.service");
|
|
9
8
|
const trash_service_1 = require("./trash.service");
|
|
10
|
-
let
|
|
11
|
-
constructor(httpClient, basePath) {
|
|
12
|
-
super(httpClient, basePath);
|
|
13
|
-
}
|
|
9
|
+
let BaseService = class BaseService extends api_base_1.APIBase {
|
|
14
10
|
};
|
|
15
|
-
|
|
16
|
-
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class TimeSeriesService extends MixedClass {
|
|
11
|
+
BaseService = tslib_1.__decorate([
|
|
12
|
+
(0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
|
|
13
|
+
], BaseService);
|
|
14
|
+
class TimeSeriesService extends BaseService {
|
|
20
15
|
constructor(httpClient) {
|
|
21
16
|
super(httpClient, '/tsm');
|
|
22
17
|
}
|
package/dist/trash.service.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { APIBase } from './api-base';
|
|
2
2
|
import { Paginated, RequestParameter } from './data.interface';
|
|
3
|
-
import { HttpClient } from './http.service';
|
|
4
3
|
export declare class TrashService<T> extends APIBase {
|
|
5
|
-
constructor(httpClient: HttpClient, basePath: string);
|
|
6
4
|
trashRestoreAll(): Promise<T[]>;
|
|
7
5
|
trashRestoreOne(id: string): Promise<T>;
|
|
8
6
|
emptyTrash(offset: number): Promise<{
|
package/dist/trash.service.js
CHANGED
|
@@ -3,9 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TrashService = void 0;
|
|
4
4
|
const api_base_1 = require("./api-base");
|
|
5
5
|
class TrashService extends api_base_1.APIBase {
|
|
6
|
-
constructor(httpClient, basePath) {
|
|
7
|
-
super(httpClient, basePath);
|
|
8
|
-
}
|
|
9
6
|
trashRestoreAll() {
|
|
10
7
|
return this.httpClient.put(`${this.basePath}/trash/restore`, {});
|
|
11
8
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface UserSettings {
|
|
2
|
+
userId: string;
|
|
3
|
+
language: string;
|
|
4
|
+
activeRoles: Permission[];
|
|
5
|
+
creationReadRoles: Permission[];
|
|
6
|
+
creationWriteRoles: Permission[];
|
|
7
|
+
activeTags: string[];
|
|
8
|
+
applications: Application[];
|
|
9
|
+
tableSettings: TableSetting[];
|
|
10
|
+
favoriteLabelsOrder: Record<string, number>;
|
|
11
|
+
}
|
|
12
|
+
export interface Application {
|
|
13
|
+
name: string;
|
|
14
|
+
currentColumnSettings?: string;
|
|
15
|
+
columnSettings?: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface Permission {
|
|
18
|
+
label: string;
|
|
19
|
+
value: string;
|
|
20
|
+
}
|
|
21
|
+
export interface TableSettingProfile {
|
|
22
|
+
name: string;
|
|
23
|
+
cols: string;
|
|
24
|
+
}
|
|
25
|
+
export interface TableSetting {
|
|
26
|
+
name: string;
|
|
27
|
+
currentProfile: string;
|
|
28
|
+
profiles: TableSettingProfile[];
|
|
29
|
+
}
|
package/dist/user.service.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { HttpClient } from './http.service';
|
|
2
|
+
import { UserSettings } from './user-settings.interface';
|
|
2
3
|
export declare class UserService {
|
|
3
4
|
private httpClient;
|
|
5
|
+
private readonly basePath;
|
|
4
6
|
constructor(httpClient: HttpClient);
|
|
5
7
|
getCurrentUserRoles(): Promise<string[]>;
|
|
8
|
+
getUserSettings(): Promise<UserSettings>;
|
|
9
|
+
updateUserSettings(settings: UserSettings): Promise<UserSettings>;
|
|
10
|
+
deleteUserSettings(): Promise<UserSettings>;
|
|
6
11
|
}
|
package/dist/user.service.js
CHANGED
|
@@ -6,6 +6,7 @@ const jwt_decode_1 = tslib_1.__importDefault(require("jwt-decode"));
|
|
|
6
6
|
class UserService {
|
|
7
7
|
constructor(httpClient) {
|
|
8
8
|
this.httpClient = httpClient;
|
|
9
|
+
this.basePath = '/user';
|
|
9
10
|
}
|
|
10
11
|
async getCurrentUserRoles() {
|
|
11
12
|
try {
|
|
@@ -17,5 +18,14 @@ class UserService {
|
|
|
17
18
|
return null;
|
|
18
19
|
}
|
|
19
20
|
}
|
|
21
|
+
getUserSettings() {
|
|
22
|
+
return this.httpClient.get(this.basePath);
|
|
23
|
+
}
|
|
24
|
+
updateUserSettings(settings) {
|
|
25
|
+
return this.httpClient.put(this.basePath, settings);
|
|
26
|
+
}
|
|
27
|
+
deleteUserSettings() {
|
|
28
|
+
return this.httpClient.delete(this.basePath);
|
|
29
|
+
}
|
|
20
30
|
}
|
|
21
31
|
exports.UserService = UserService;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hahnpro/hpc-api",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.2",
|
|
4
4
|
"description": "Module for easy access to the HahnPRO API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -28,12 +28,14 @@
|
|
|
28
28
|
"eventsource": "^2.0.2",
|
|
29
29
|
"form-data": "^4.0.0",
|
|
30
30
|
"jwt-decode": "^3.1.2",
|
|
31
|
+
"openid-client": "^5.1.8",
|
|
31
32
|
"p-queue": "^6.6.2",
|
|
32
33
|
"ts-mixer": "^6.0.1"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
36
|
"@types/eventsource": "^1.1.9",
|
|
36
|
-
"axios-mock-adapter": "^1.21.
|
|
37
|
+
"axios-mock-adapter": "^1.21.2",
|
|
38
|
+
"nock": "^13.2.9"
|
|
37
39
|
},
|
|
38
40
|
"engines": {
|
|
39
41
|
"node": ">=v14.13"
|