@hahnpro/hpc-api 3.0.0 → 3.2.1
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.d.ts +2 -0
- package/dist/api.js +2 -0
- package/dist/asset.interface.d.ts +1 -0
- package/dist/asset.service.d.ts +8 -0
- package/dist/asset.service.js +17 -0
- package/dist/events.interface.d.ts +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/label.interface.d.ts +8 -0
- package/dist/label.interface.js +2 -0
- package/dist/label.service.d.ts +9 -0
- package/dist/label.service.js +19 -0
- package/dist/mock/api.mock.d.ts +5 -0
- package/dist/mock/api.mock.js +4 -1
- package/dist/mock/asset.mock.service.d.ts +10 -1
- package/dist/mock/asset.mock.service.js +42 -3
- package/dist/mock/data.mock.service.js +2 -1
- package/dist/mock/label.mock.service.d.ts +8 -0
- package/dist/mock/label.mock.service.js +17 -0
- package/package.json +3 -3
package/dist/api.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { FlowService } from './flow.service';
|
|
|
14
14
|
import { FlowFunctionService } from './flow-function.service';
|
|
15
15
|
import { FlowModuleService } from './flow-module.service';
|
|
16
16
|
import { FlowDeploymentService } from './flow-deployment.service';
|
|
17
|
+
import { LabelService } from './label.service';
|
|
17
18
|
export declare class API {
|
|
18
19
|
httpClient: HttpClient;
|
|
19
20
|
assets: AssetService;
|
|
@@ -25,6 +26,7 @@ export declare class API {
|
|
|
25
26
|
flowDeployments: FlowDeploymentService;
|
|
26
27
|
flowFunctions: FlowFunctionService;
|
|
27
28
|
flowModules: FlowModuleService;
|
|
29
|
+
labels: LabelService;
|
|
28
30
|
proxy: ProxyService;
|
|
29
31
|
secrets: SecretService;
|
|
30
32
|
tasks: TaskService;
|
package/dist/api.js
CHANGED
|
@@ -17,6 +17,7 @@ const flow_service_1 = require("./flow.service");
|
|
|
17
17
|
const flow_function_service_1 = require("./flow-function.service");
|
|
18
18
|
const flow_module_service_1 = require("./flow-module.service");
|
|
19
19
|
const flow_deployment_service_1 = require("./flow-deployment.service");
|
|
20
|
+
const label_service_1 = require("./label.service");
|
|
20
21
|
class API {
|
|
21
22
|
constructor() {
|
|
22
23
|
const normalizePath = (value = '', defaultValue = '') => value.replace(/^\/+|\/+$/g, '') || defaultValue;
|
|
@@ -44,6 +45,7 @@ class API {
|
|
|
44
45
|
this.flowDeployments = new flow_deployment_service_1.FlowDeploymentService(this.httpClient);
|
|
45
46
|
this.flowFunctions = new flow_function_service_1.FlowFunctionService(this.httpClient);
|
|
46
47
|
this.flowModules = new flow_module_service_1.FlowModuleService(this.httpClient);
|
|
48
|
+
this.labels = new label_service_1.LabelService(this.httpClient);
|
|
47
49
|
this.proxy = new proxy_service_1.ProxyService(this.httpClient);
|
|
48
50
|
this.secrets = new secret_service_1.SecretService(this.httpClient);
|
|
49
51
|
this.tasks = new task_service_1.TaskService(this.httpClient);
|
package/dist/asset.service.d.ts
CHANGED
|
@@ -5,6 +5,14 @@ import { DataService } from './data.service';
|
|
|
5
5
|
import { HttpClient } from './http.service';
|
|
6
6
|
export declare class AssetService extends DataService<Asset> {
|
|
7
7
|
constructor(httpClient: HttpClient);
|
|
8
|
+
paperBinRestoreAll(): Promise<Asset[]>;
|
|
9
|
+
paperBinRestoreOne(id: string): Promise<Asset>;
|
|
10
|
+
emptyTrash(offset: number): Promise<{
|
|
11
|
+
acknowledged: boolean;
|
|
12
|
+
deletedCount: number;
|
|
13
|
+
}>;
|
|
14
|
+
getPaperBin(params?: RequestParameter): Promise<Paginated<Asset[]>>;
|
|
15
|
+
deleteOne(id: string, force?: boolean): Promise<any>;
|
|
8
16
|
addAttachment: (id: string, form: FormData) => Promise<Asset>;
|
|
9
17
|
getChildren(assetId: string, params?: RequestParameter): Promise<Paginated<Asset[]>>;
|
|
10
18
|
getRevisions(assetId: string): Promise<Paginated<AssetRevision[]>>;
|
package/dist/asset.service.js
CHANGED
|
@@ -14,6 +14,23 @@ class AssetService extends data_service_1.DataService {
|
|
|
14
14
|
});
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
+
paperBinRestoreAll() {
|
|
18
|
+
return this.httpClient.put(`${this.basePath}/paperbin/restore`, {});
|
|
19
|
+
}
|
|
20
|
+
paperBinRestoreOne(id) {
|
|
21
|
+
return this.httpClient.put(`${this.basePath}/paperbin/restore/${id}`, {});
|
|
22
|
+
}
|
|
23
|
+
emptyTrash(offset) {
|
|
24
|
+
return this.httpClient.delete(`${this.basePath}/paperbin/clean`, { params: { offset } });
|
|
25
|
+
}
|
|
26
|
+
getPaperBin(params = {}) {
|
|
27
|
+
params.limit = params.limit || 0;
|
|
28
|
+
params.page = params.page || 1;
|
|
29
|
+
return this.httpClient.get(`${this.basePath}/paperbin`, { params });
|
|
30
|
+
}
|
|
31
|
+
deleteOne(id, force = false) {
|
|
32
|
+
return this.httpClient.delete(`${this.basePath}/${id}`, { params: { force } });
|
|
33
|
+
}
|
|
17
34
|
getChildren(assetId, params = {}) {
|
|
18
35
|
return this.getManyFiltered({ parent: assetId }, params);
|
|
19
36
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './data.interface';
|
|
|
5
5
|
export * from './data.service';
|
|
6
6
|
export * from './endpoint.interface';
|
|
7
7
|
export * from './http.service';
|
|
8
|
+
export * from './label.interface';
|
|
8
9
|
export * from './secret.interface';
|
|
9
10
|
export * from './timeseries.interface';
|
|
10
11
|
export * from './task.interface';
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ tslib_1.__exportStar(require("./data.interface"), exports);
|
|
|
9
9
|
tslib_1.__exportStar(require("./data.service"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./endpoint.interface"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./http.service"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./label.interface"), exports);
|
|
12
13
|
tslib_1.__exportStar(require("./secret.interface"), exports);
|
|
13
14
|
tslib_1.__exportStar(require("./timeseries.interface"), exports);
|
|
14
15
|
tslib_1.__exportStar(require("./task.interface"), exports);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataService } from './data.service';
|
|
2
|
+
import { HttpClient } from './http.service';
|
|
3
|
+
import { Label } from './label.interface';
|
|
4
|
+
export declare class LabelService extends DataService<Label> {
|
|
5
|
+
constructor(httpClient: HttpClient);
|
|
6
|
+
addMany(dtos: Label[]): Promise<Label[]>;
|
|
7
|
+
getOneByName(name: string): Promise<Label>;
|
|
8
|
+
count(): Promise<number>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LabelService = void 0;
|
|
4
|
+
const data_service_1 = require("./data.service");
|
|
5
|
+
class LabelService extends data_service_1.DataService {
|
|
6
|
+
constructor(httpClient) {
|
|
7
|
+
super(httpClient, '/labels');
|
|
8
|
+
}
|
|
9
|
+
addMany(dtos) {
|
|
10
|
+
return Promise.all(dtos.map((dto) => this.addOne(dto)));
|
|
11
|
+
}
|
|
12
|
+
getOneByName(name) {
|
|
13
|
+
return this.httpClient.get(`${this.basePath}/name/${name}`);
|
|
14
|
+
}
|
|
15
|
+
count() {
|
|
16
|
+
return this.httpClient.get(`${this.basePath}/count`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.LabelService = LabelService;
|
package/dist/mock/api.mock.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ import { FlowDeployment } from '../flow-deployment.interface';
|
|
|
24
24
|
import { FlowFunctionDto, FlowFunctionRevision } from '../flow-function.interface';
|
|
25
25
|
import { FlowModule } from '../flow-module.interface';
|
|
26
26
|
import { Artifact } from '../storage.interface';
|
|
27
|
+
import { LabelMockService } from './label.mock.service';
|
|
28
|
+
import { Label } from '../label.interface';
|
|
27
29
|
export declare class MockAPI implements API {
|
|
28
30
|
httpClient: any;
|
|
29
31
|
assets: AssetMockService;
|
|
@@ -35,6 +37,7 @@ export declare class MockAPI implements API {
|
|
|
35
37
|
flowDeployments: FlowDeploymentService;
|
|
36
38
|
flowFunctions: FlowFunctionService;
|
|
37
39
|
flowModules: FlowModuleService;
|
|
40
|
+
labels: LabelMockService;
|
|
38
41
|
proxy: any;
|
|
39
42
|
secrets: SecretMockService;
|
|
40
43
|
tasks: TaskMockService;
|
|
@@ -66,6 +69,7 @@ export declare class MockAPI implements API {
|
|
|
66
69
|
functionRevisions?: FlowFunctionRevisionInit[];
|
|
67
70
|
modules?: FlowModuleInit[];
|
|
68
71
|
diagrams?: FlowDiagramInit[];
|
|
72
|
+
labels?: LabelInit[];
|
|
69
73
|
});
|
|
70
74
|
}
|
|
71
75
|
export declare type Identity<T> = {
|
|
@@ -99,6 +103,7 @@ export declare type ArtifactInit = AtLeast<Artifact & {
|
|
|
99
103
|
path: string;
|
|
100
104
|
}, 'filename' | 'path'>;
|
|
101
105
|
export declare type FlowDiagramInit = AtLeast<FlowDiagram, 'id' | 'flow'>;
|
|
106
|
+
export declare type LabelInit = AtLeast<Label, 'id' | 'name'>;
|
|
102
107
|
export interface UserInit {
|
|
103
108
|
roles: string[];
|
|
104
109
|
}
|
package/dist/mock/api.mock.js
CHANGED
|
@@ -16,12 +16,13 @@ const flow_deployment_mock_service_1 = require("./flow-deployment.mock.service")
|
|
|
16
16
|
const flow_functions_mock_service_1 = require("./flow-functions.mock.service");
|
|
17
17
|
const flow_modules_mock_service_1 = require("./flow-modules.mock.service");
|
|
18
18
|
const crypto_1 = require("crypto");
|
|
19
|
+
const label_mock_service_1 = require("./label.mock.service");
|
|
19
20
|
class MockAPI {
|
|
20
21
|
constructor(initData) {
|
|
21
22
|
this.httpClient = null;
|
|
22
23
|
this.proxy = null;
|
|
23
24
|
this.siDrive = null;
|
|
24
|
-
const { assets = [], assetRevisions = [], contents = [], endpoints = [], secrets = [], timeSeries = [], tasks = [], events = [], users, flows = [], flowRevisions = [], deployments = [], functions = [], functionRevisions = [], modules = [], diagrams = [], } = initData;
|
|
25
|
+
const { assets = [], assetRevisions = [], contents = [], endpoints = [], secrets = [], timeSeries = [], tasks = [], events = [], users, flows = [], flowRevisions = [], deployments = [], functions = [], functionRevisions = [], modules = [], diagrams = [], labels = [], } = initData;
|
|
25
26
|
const assetTypes = assets
|
|
26
27
|
.map((v) => v.type)
|
|
27
28
|
.map((v) => {
|
|
@@ -109,6 +110,7 @@ class MockAPI {
|
|
|
109
110
|
var _a;
|
|
110
111
|
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: [], readPermissions: [], readWritePermissions: [] }));
|
|
111
112
|
});
|
|
113
|
+
const labels1 = labels.map((label) => (Object.assign(Object.assign({}, label), { color: '', description: '', readPermissions: [], readWritePermissions: [] })));
|
|
112
114
|
this.assets = new asset_mock_service_1.AssetMockService(this, assets1, assetRevisions1);
|
|
113
115
|
this.contents = new content_mock_service_1.ContentMockService(contents1, contentData);
|
|
114
116
|
this.endpoints = new endpoint_mock_service_1.EndpointMockService(endpoint1);
|
|
@@ -121,6 +123,7 @@ class MockAPI {
|
|
|
121
123
|
this.flowDeployments = new flow_deployment_mock_service_1.FlowDeploymentMockService(deployments1, this);
|
|
122
124
|
this.flowFunctions = new flow_functions_mock_service_1.FlowFunctionsMockService(functions1, functionRevisions1);
|
|
123
125
|
this.flowModules = new flow_modules_mock_service_1.FlowModulesMockService(modules1);
|
|
126
|
+
this.labels = new label_mock_service_1.LabelMockService(labels1);
|
|
124
127
|
this.assetManager = this.assets;
|
|
125
128
|
this.contentManager = this.contents;
|
|
126
129
|
this.endpointManager = this.endpoints;
|
|
@@ -8,8 +8,17 @@ export declare class AssetMockService extends DataMockService<Asset> implements
|
|
|
8
8
|
private api;
|
|
9
9
|
private revisions;
|
|
10
10
|
constructor(api: MockAPI, assets: Asset[], revisions: AssetRevision[]);
|
|
11
|
+
paperBinRestoreAll(): Promise<Asset[]>;
|
|
12
|
+
paperBinRestoreOne(id: string): Promise<Asset>;
|
|
13
|
+
emptyTrash(offset: number): Promise<{
|
|
14
|
+
acknowledged: boolean;
|
|
15
|
+
deletedCount: number;
|
|
16
|
+
}>;
|
|
17
|
+
getPaperBin(params?: RequestParameter): Promise<Paginated<Asset[]>>;
|
|
18
|
+
private getAssets;
|
|
11
19
|
addOne(dto: Asset): Promise<Asset>;
|
|
12
|
-
deleteOne(assetId: string): Promise<
|
|
20
|
+
deleteOne(assetId: string, force?: boolean): Promise<Asset>;
|
|
21
|
+
getMany(params?: RequestParameter): Promise<Paginated<Asset[]>>;
|
|
13
22
|
updateOne(assetId: string, dto: Asset): Promise<Asset>;
|
|
14
23
|
addAttachment(id: string, form: FormData): Promise<Asset>;
|
|
15
24
|
getChildren(assetId: string, params?: RequestParameter): Promise<Paginated<Asset[]>>;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AssetMockService = void 0;
|
|
4
4
|
const data_mock_service_1 = require("./data.mock.service");
|
|
5
|
-
const crypto_1 = require("crypto");
|
|
6
5
|
class AssetMockService extends data_mock_service_1.DataMockService {
|
|
7
6
|
constructor(api, assets, revisions) {
|
|
8
7
|
super();
|
|
@@ -10,12 +9,48 @@ class AssetMockService extends data_mock_service_1.DataMockService {
|
|
|
10
9
|
this.revisions = revisions;
|
|
11
10
|
this.data = assets;
|
|
12
11
|
}
|
|
12
|
+
paperBinRestoreAll() {
|
|
13
|
+
const deleted = this.data.filter((v) => v.deletedAt);
|
|
14
|
+
for (const asset of deleted) {
|
|
15
|
+
delete asset.deletedAt;
|
|
16
|
+
}
|
|
17
|
+
return Promise.resolve(deleted);
|
|
18
|
+
}
|
|
19
|
+
paperBinRestoreOne(id) {
|
|
20
|
+
const deleted = this.data.find((v) => v.id === id);
|
|
21
|
+
delete deleted.deletedAt;
|
|
22
|
+
return Promise.resolve(deleted);
|
|
23
|
+
}
|
|
24
|
+
emptyTrash(offset) {
|
|
25
|
+
const dateOffsSeconds = Math.round(new Date().getTime() / 1000) - offset;
|
|
26
|
+
const date = new Date(dateOffsSeconds * 1000);
|
|
27
|
+
const trash = this.data.filter((v) => new Date(v.deletedAt) < date);
|
|
28
|
+
trash.map((v) => this.deleteOne(v.id));
|
|
29
|
+
return Promise.resolve({ acknowledged: true, deletedCount: trash.length });
|
|
30
|
+
}
|
|
31
|
+
getPaperBin(params) {
|
|
32
|
+
const page = this.getAssets(params, true);
|
|
33
|
+
return Promise.resolve(page);
|
|
34
|
+
}
|
|
35
|
+
getAssets(params, deleted = false) {
|
|
36
|
+
const data = this.data.filter((asset) => !!asset.deletedAt === deleted);
|
|
37
|
+
const page = {
|
|
38
|
+
docs: data,
|
|
39
|
+
limit: params && params.limit ? params.limit : Number.MAX_SAFE_INTEGER,
|
|
40
|
+
total: data.length,
|
|
41
|
+
};
|
|
42
|
+
return page;
|
|
43
|
+
}
|
|
13
44
|
addOne(dto) {
|
|
14
|
-
const id = (0, crypto_1.randomUUID)();
|
|
15
45
|
this.revisions.push(Object.assign(Object.assign({}, dto), { originalId: dto.id }));
|
|
16
46
|
return super.addOne(dto);
|
|
17
47
|
}
|
|
18
|
-
deleteOne(assetId) {
|
|
48
|
+
deleteOne(assetId, force = false) {
|
|
49
|
+
const asset = this.data.find((v) => v.id === assetId);
|
|
50
|
+
if (!(asset === null || asset === void 0 ? void 0 : asset.deletedAt) && !force) {
|
|
51
|
+
asset.deletedAt = new Date().toISOString();
|
|
52
|
+
return Promise.resolve(asset);
|
|
53
|
+
}
|
|
19
54
|
this.revisions
|
|
20
55
|
.filter((revision) => revision.originalId === assetId)
|
|
21
56
|
.forEach((revision) => {
|
|
@@ -24,6 +59,10 @@ class AssetMockService extends data_mock_service_1.DataMockService {
|
|
|
24
59
|
});
|
|
25
60
|
return super.deleteOne(assetId);
|
|
26
61
|
}
|
|
62
|
+
getMany(params) {
|
|
63
|
+
const page = this.getAssets(params, false);
|
|
64
|
+
return Promise.resolve(page);
|
|
65
|
+
}
|
|
27
66
|
async updateOne(assetId, dto) {
|
|
28
67
|
await super.deleteOne(assetId);
|
|
29
68
|
const asset = await this.addOne(dto);
|
|
@@ -17,8 +17,9 @@ class DataMockService extends data_service_1.DataService {
|
|
|
17
17
|
}
|
|
18
18
|
deleteOne(id) {
|
|
19
19
|
const index = this.data.findIndex((v) => v.id === id);
|
|
20
|
+
const obj = this.data[index];
|
|
20
21
|
this.data.splice(index, 1);
|
|
21
|
-
return Promise.resolve(
|
|
22
|
+
return Promise.resolve(obj);
|
|
22
23
|
}
|
|
23
24
|
getMany(params) {
|
|
24
25
|
const data = this.data;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DataMockService } from './data.mock.service';
|
|
2
|
+
import { Label } from '../label.interface';
|
|
3
|
+
import { LabelService } from '../label.service';
|
|
4
|
+
export declare class LabelMockService extends DataMockService<Label> implements LabelService {
|
|
5
|
+
constructor(labels: Label[]);
|
|
6
|
+
count(): Promise<number>;
|
|
7
|
+
getOneByName(name: string): Promise<Label>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LabelMockService = void 0;
|
|
4
|
+
const data_mock_service_1 = require("./data.mock.service");
|
|
5
|
+
class LabelMockService extends data_mock_service_1.DataMockService {
|
|
6
|
+
constructor(labels) {
|
|
7
|
+
super();
|
|
8
|
+
this.data = labels;
|
|
9
|
+
}
|
|
10
|
+
count() {
|
|
11
|
+
return Promise.resolve(this.data.length);
|
|
12
|
+
}
|
|
13
|
+
getOneByName(name) {
|
|
14
|
+
return Promise.resolve(this.data.find((label) => label.name === name));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.LabelMockService = LabelMockService;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hahnpro/hpc-api",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "Module for easy access to the HahnPRO API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"p-queue": "^6.6.2"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@types/eventsource": "^1.1.
|
|
35
|
-
"axios-mock-adapter": "^1.
|
|
34
|
+
"@types/eventsource": "^1.1.9",
|
|
35
|
+
"axios-mock-adapter": "^1.21.1"
|
|
36
36
|
},
|
|
37
37
|
"engines": {
|
|
38
38
|
"node": ">=v14.13"
|