@hahnpro/hpc-api 5.3.4 → 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/src/lib/asset.service.d.ts +24 -0
- package/src/lib/asset.service.js +51 -0
- package/{dist → src/lib}/assettypes.service.d.ts +4 -4
- package/src/lib/assettypes.service.js +24 -0
- package/{dist → src/lib}/content.interface.js +2 -5
- package/src/lib/content.service.d.ts +23 -0
- package/src/lib/content.service.js +49 -0
- package/src/lib/data.interface.d.ts +38 -0
- package/src/lib/data.interface.js +3 -0
- package/src/lib/data.service.d.ts +27 -0
- package/src/lib/data.service.js +57 -0
- package/src/lib/endpoint.interface.js +1 -0
- package/src/lib/endpoint.service.d.ts +8 -0
- package/src/lib/endpoint.service.js +12 -0
- package/src/lib/events.interface.js +1 -0
- package/{dist → src/lib}/events.service.d.ts +2 -2
- package/src/lib/events.service.js +9 -0
- package/src/lib/flow-deployment.interface.js +1 -0
- package/{dist → src/lib}/flow-deployment.service.d.ts +15 -13
- package/src/lib/flow-deployment.service.js +68 -0
- package/src/lib/flow-function.interface.js +1 -0
- package/src/lib/flow-function.service.d.ts +11 -0
- package/src/lib/flow-function.service.js +20 -0
- package/src/lib/flow-module.interface.js +1 -0
- package/src/lib/flow-module.service.d.ts +11 -0
- package/{dist → src/lib}/flow-module.service.js +9 -12
- package/src/lib/flow.interface.js +1 -0
- package/src/lib/flow.service.d.ts +26 -0
- package/src/lib/flow.service.js +49 -0
- package/{dist → src/lib}/http.service.d.ts +12 -6
- package/src/lib/http.service.js +179 -0
- package/src/lib/label.interface.js +1 -0
- package/src/lib/label.service.d.ts +9 -0
- package/src/lib/label.service.js +15 -0
- 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/src/lib/proxy.service.d.ts +11 -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/{dist → src/lib}/task.service.d.ts +2 -2
- package/src/lib/task.service.js +19 -0
- package/src/lib/timeseries.interface.js +1 -0
- package/{dist → src/lib}/timeseries.service.d.ts +10 -8
- package/src/lib/timeseries.service.js +92 -0
- package/{dist → src/lib}/token-set.d.ts +3 -1
- package/src/lib/token-set.js +23 -0
- package/{dist → src/lib}/trash.service.js +2 -6
- package/src/lib/user-settings.interface.js +1 -0
- package/src/lib/user.service.d.ts +11 -0
- package/src/lib/user.service.js +26 -0
- package/src/lib/vault.interface.js +1 -0
- package/{dist → src/lib}/vault.service.d.ts +2 -2
- 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/asset.service.d.ts +0 -24
- package/dist/asset.service.js +0 -53
- package/dist/assettypes.service.js +0 -28
- package/dist/content.service.d.ts +0 -23
- package/dist/content.service.js +0 -50
- package/dist/data.interface.d.ts +0 -31
- package/dist/data.interface.js +0 -6
- package/dist/data.service.d.ts +0 -21
- package/dist/data.service.js +0 -50
- package/dist/endpoint.interface.js +0 -2
- package/dist/endpoint.service.d.ts +0 -8
- package/dist/endpoint.service.js +0 -16
- 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-function.service.d.ts +0 -11
- package/dist/flow-function.service.js +0 -23
- package/dist/flow-module.interface.js +0 -2
- package/dist/flow-module.service.d.ts +0 -11
- package/dist/flow.interface.js +0 -2
- package/dist/flow.service.d.ts +0 -24
- package/dist/flow.service.js +0 -54
- package/dist/http.service.js +0 -161
- package/dist/index.d.ts +0 -20
- package/dist/index.js +0 -23
- package/dist/label.interface.js +0 -2
- package/dist/label.service.d.ts +0 -9
- package/dist/label.service.js +0 -19
- 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/proxy.service.d.ts +0 -11
- 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/token-set.js +0 -23
- package/dist/user-settings.interface.js +0 -2
- package/dist/user.service.d.ts +0 -11
- 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}/content.interface.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}/flow-deployment.interface.d.ts +1 -1
- package/{dist → src/lib}/flow-function.interface.d.ts +0 -0
- package/{dist → src/lib}/flow-module.interface.d.ts +0 -0
- package/{dist → src/lib}/flow.interface.d.ts +1 -1
- package/{dist → src/lib}/label.interface.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}/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}/timeseries.interface.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}/vault.interface.d.ts +0 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { randomUUID } from 'crypto';
|
|
2
|
+
import { readFileSync } from 'fs';
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
import { AssetMockService } from './asset.mock.service';
|
|
5
|
+
import { AssetTypesMockService } from './assetTypes.mock.service';
|
|
6
|
+
import { ContentMockService } from './content.mock.service';
|
|
7
|
+
import { EndpointMockService } from './endpoint.mock.service';
|
|
8
|
+
import { EventsMockService } from './events.mock.service';
|
|
9
|
+
import { FlowDeploymentMockService } from './flow-deployment.mock.service';
|
|
10
|
+
import { FlowFunctionsMockService } from './flow-functions.mock.service';
|
|
11
|
+
import { FlowModulesMockService } from './flow-modules.mock.service';
|
|
12
|
+
import { FlowMockService } from './flow.mock.service';
|
|
13
|
+
import { LabelMockService } from './label.mock.service';
|
|
14
|
+
import { NotificationMockService } from './notification.mock.service';
|
|
15
|
+
import { SecretMockService } from './secret.mock.service';
|
|
16
|
+
import { TaskMockService } from './task.mock.service';
|
|
17
|
+
import { TimeseriesMockService } from './timeseries.mock.service';
|
|
18
|
+
import { UserMockService } from './user.mock.service';
|
|
19
|
+
import { VaultMockService } from './vault.mock.service';
|
|
20
|
+
export class MockAPI {
|
|
21
|
+
constructor(initData) {
|
|
22
|
+
this.httpClient = null;
|
|
23
|
+
this.proxy = null;
|
|
24
|
+
const { assets = [], assetRevisions = [], contents = [], endpoints = [], secrets = [], timeSeries = [], tasks = [], events = [], users, flows = [], flowRevisions = [], deployments = [], functions = [], functionRevisions = [], modules = [], diagrams = [], labels = [], vault = [], notifications = [], } = initData;
|
|
25
|
+
// convert init data to normal data that the services usually use
|
|
26
|
+
const assetTypes = assets
|
|
27
|
+
.map((v) => v.type)
|
|
28
|
+
.map((v) => {
|
|
29
|
+
return typeof v === 'string'
|
|
30
|
+
? v
|
|
31
|
+
: {
|
|
32
|
+
...v,
|
|
33
|
+
readPermissions: v.readPermissions || [],
|
|
34
|
+
readWritePermissions: v.readWritePermissions || [],
|
|
35
|
+
typeSchema: v.typeSchema ?? {},
|
|
36
|
+
uiSchema: v.uiSchema ?? {},
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
const assets1 = assets.map((v, index) => ({
|
|
40
|
+
...v,
|
|
41
|
+
readPermissions: v.readPermissions ?? [],
|
|
42
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
43
|
+
type: assetTypes[index],
|
|
44
|
+
}));
|
|
45
|
+
const assetRevisions1 = assetRevisions.map((v, index) => ({
|
|
46
|
+
...v,
|
|
47
|
+
readPermissions: v.readPermissions ?? [],
|
|
48
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
49
|
+
type: assetTypes[index],
|
|
50
|
+
}));
|
|
51
|
+
const contents1 = contents.map((v) => ({
|
|
52
|
+
...v,
|
|
53
|
+
readPermissions: v.readPermissions ?? [],
|
|
54
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
55
|
+
size: v.size ?? 0,
|
|
56
|
+
fileId: v.fileId ?? '',
|
|
57
|
+
mimetype: v.mimetype ?? '',
|
|
58
|
+
}));
|
|
59
|
+
const contentData = contents.map((v) => (v.data ? v.data : readFileSync(join(v.filePath, v.filename))));
|
|
60
|
+
const secrets1 = secrets.map((v) => ({
|
|
61
|
+
...v,
|
|
62
|
+
readPermissions: v.readPermissions ?? [],
|
|
63
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
64
|
+
}));
|
|
65
|
+
const timeSeries1 = timeSeries.map((v) => ({
|
|
66
|
+
...v,
|
|
67
|
+
description: v.description ?? '',
|
|
68
|
+
readPermissions: v.readPermissions ?? [],
|
|
69
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
70
|
+
maxBucketTimeRange: v.maxBucketTimeRange ?? 0,
|
|
71
|
+
maxDate: v.maxDate,
|
|
72
|
+
minDate: v.minDate,
|
|
73
|
+
autoDelData: v.autoDelData ?? new Date(),
|
|
74
|
+
autoDelBucket: v.autoDelBucket ?? new Date(),
|
|
75
|
+
}));
|
|
76
|
+
const timeSeriesValues = timeSeries.map((v) => v.values);
|
|
77
|
+
const endpoint1 = endpoints.map((v) => ({
|
|
78
|
+
...v,
|
|
79
|
+
status: v.status,
|
|
80
|
+
config: v.config,
|
|
81
|
+
notificationCheckInterval: v.notificationCheckInterval,
|
|
82
|
+
notificationPauseInterval: v.notificationPauseInterval,
|
|
83
|
+
nbOfNotificationsBetweenPauseInterval: v.nbOfNotificationsBetweenPauseInterval,
|
|
84
|
+
readPermissions: v.readPermissions ?? [],
|
|
85
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
86
|
+
}));
|
|
87
|
+
// TODO: ...
|
|
88
|
+
const tasks1 = tasks.map((v) => ({
|
|
89
|
+
...v,
|
|
90
|
+
id: v.id,
|
|
91
|
+
readPermissions: v.readPermissions ?? [],
|
|
92
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
93
|
+
subTasks: v.subTasks ?? [],
|
|
94
|
+
}));
|
|
95
|
+
const events1 = events.map((v) => ({
|
|
96
|
+
...v,
|
|
97
|
+
readPermissions: v.readPermissions ?? [],
|
|
98
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
99
|
+
cause: v.cause,
|
|
100
|
+
level: v.level,
|
|
101
|
+
}));
|
|
102
|
+
const diagrams1 = diagrams.map((v) => ({
|
|
103
|
+
...v,
|
|
104
|
+
json: v.json ?? '',
|
|
105
|
+
author: 'nobody',
|
|
106
|
+
}));
|
|
107
|
+
const flows1 = flows.map((v) => ({
|
|
108
|
+
...v,
|
|
109
|
+
readPermissions: v.readPermissions ?? [],
|
|
110
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
111
|
+
diagram: diagrams.find((v1) => v1.flow === v.id).id,
|
|
112
|
+
name: `flow-${v.id}`,
|
|
113
|
+
deployments: v.deployments ?? [],
|
|
114
|
+
}));
|
|
115
|
+
const flowRevisions1 = flowRevisions.map((v) => ({
|
|
116
|
+
...v,
|
|
117
|
+
readPermissions: v.readPermissions ?? [],
|
|
118
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
119
|
+
diagram: diagrams.find((v1) => v1.flow === v.originalId).id,
|
|
120
|
+
name: `flow-${v.id}`,
|
|
121
|
+
deployments: v.deployments ?? [],
|
|
122
|
+
}));
|
|
123
|
+
const deployments1 = deployments.map((v) => ({
|
|
124
|
+
...v,
|
|
125
|
+
readPermissions: v.readPermissions ?? [],
|
|
126
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
127
|
+
diagram: v.diagram ?? '',
|
|
128
|
+
artifact: v.artifact ?? null,
|
|
129
|
+
flowModel: v.flowModel ?? { connections: [], elements: [] },
|
|
130
|
+
desiredStatus: 'running',
|
|
131
|
+
actualStatus: 'generating queued',
|
|
132
|
+
target: 'executor',
|
|
133
|
+
name: `deployment-${v.id}`,
|
|
134
|
+
}));
|
|
135
|
+
const functions1 = functions.map((v) => ({
|
|
136
|
+
...v,
|
|
137
|
+
category: 'task',
|
|
138
|
+
readPermissions: v.readPermissions ?? [],
|
|
139
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
140
|
+
author: 'nobody',
|
|
141
|
+
}));
|
|
142
|
+
const functionRevisions1 = functionRevisions.map((v) => ({
|
|
143
|
+
...v,
|
|
144
|
+
category: 'task',
|
|
145
|
+
readPermissions: v.readPermissions ?? [],
|
|
146
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
147
|
+
author: 'nobody',
|
|
148
|
+
}));
|
|
149
|
+
const modules1 = modules.map((v, index) => ({
|
|
150
|
+
...v,
|
|
151
|
+
artifacts: modules[index].artifacts.map((art) => ({
|
|
152
|
+
...art,
|
|
153
|
+
version: '0.0.0',
|
|
154
|
+
id: randomUUID(),
|
|
155
|
+
mimetype: '',
|
|
156
|
+
size: 0,
|
|
157
|
+
createdAt: '' + Date.now(),
|
|
158
|
+
})) ?? [],
|
|
159
|
+
author: 'nobody',
|
|
160
|
+
functions: v.functions ?? [],
|
|
161
|
+
readPermissions: v.readPermissions ?? [],
|
|
162
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
163
|
+
}));
|
|
164
|
+
const labels1 = labels.map((v) => ({
|
|
165
|
+
...v,
|
|
166
|
+
color: v.color ?? '',
|
|
167
|
+
description: v.description ?? '',
|
|
168
|
+
readPermissions: v.readPermissions ?? [],
|
|
169
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
170
|
+
}));
|
|
171
|
+
const vaultSecrets1 = vault.map((v) => ({
|
|
172
|
+
...v,
|
|
173
|
+
readPermissions: v.readPermissions ?? [],
|
|
174
|
+
readWritePermissions: v.readWritePermissions ?? [],
|
|
175
|
+
}));
|
|
176
|
+
const notifications1 = notifications.map((v) => ({
|
|
177
|
+
...v,
|
|
178
|
+
link: v.link ?? '',
|
|
179
|
+
description: v.description ?? '',
|
|
180
|
+
read: v.read ?? false,
|
|
181
|
+
}));
|
|
182
|
+
this.assets = new AssetMockService(this, assets1, assetRevisions1);
|
|
183
|
+
this.assetTypes = new AssetTypesMockService(assetTypes, []);
|
|
184
|
+
this.contents = new ContentMockService(contents1, contentData);
|
|
185
|
+
this.endpoints = new EndpointMockService(endpoint1);
|
|
186
|
+
this.secrets = new SecretMockService(secrets1);
|
|
187
|
+
this.timeSeries = new TimeseriesMockService(timeSeries1, timeSeriesValues);
|
|
188
|
+
this.tasks = new TaskMockService(tasks1);
|
|
189
|
+
this.events = new EventsMockService(events1);
|
|
190
|
+
this.users = new UserMockService(users);
|
|
191
|
+
this.flows = new FlowMockService(flows1, diagrams1, flowRevisions1);
|
|
192
|
+
this.flowDeployments = new FlowDeploymentMockService(deployments1, this);
|
|
193
|
+
this.flowFunctions = new FlowFunctionsMockService(functions1, functionRevisions1);
|
|
194
|
+
this.flowModules = new FlowModulesMockService(modules1);
|
|
195
|
+
this.labels = new LabelMockService(labels1);
|
|
196
|
+
this.vault = new VaultMockService(vaultSecrets1);
|
|
197
|
+
this.notifications = new NotificationMockService(notifications1);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const data_mock_service_1 = require("./data.mock.service");
|
|
8
|
-
const trash_mock_service_1 = require("./trash.mock.service");
|
|
9
|
-
let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { mix } from 'ts-mixer';
|
|
3
|
+
import { APIBaseMock } from './api-base.mock';
|
|
4
|
+
import { DataMockService } from './data.mock.service';
|
|
5
|
+
import { TrashMockService } from './trash.mock.service';
|
|
6
|
+
let BaseService = class BaseService extends APIBaseMock {
|
|
10
7
|
};
|
|
11
|
-
BaseService =
|
|
12
|
-
|
|
8
|
+
BaseService = __decorate([
|
|
9
|
+
mix(DataMockService, TrashMockService)
|
|
13
10
|
], BaseService);
|
|
14
|
-
class AssetMockService extends BaseService {
|
|
11
|
+
export class AssetMockService extends BaseService {
|
|
15
12
|
constructor(api, assets, revisions) {
|
|
16
13
|
super(assets);
|
|
17
14
|
this.api = api;
|
|
@@ -27,12 +24,13 @@ class AssetMockService extends BaseService {
|
|
|
27
24
|
return page;
|
|
28
25
|
}
|
|
29
26
|
addOne(dto) {
|
|
30
|
-
this.revisions.push(
|
|
27
|
+
this.revisions.push({ ...dto, originalId: dto.id });
|
|
31
28
|
return super.addOne(dto);
|
|
32
29
|
}
|
|
33
30
|
deleteOne(assetId, force = false) {
|
|
34
31
|
const asset = this.data.find((v) => v.id === assetId);
|
|
35
|
-
if (!
|
|
32
|
+
if (!asset?.deletedAt && !force) {
|
|
33
|
+
// put asset in paper bin by setting deletedAt prop
|
|
36
34
|
asset.deletedAt = new Date().toISOString();
|
|
37
35
|
return Promise.resolve(asset);
|
|
38
36
|
}
|
|
@@ -48,42 +46,34 @@ class AssetMockService extends BaseService {
|
|
|
48
46
|
const page = this.getAssets(params, false);
|
|
49
47
|
return Promise.resolve(page);
|
|
50
48
|
}
|
|
51
|
-
updateOne(assetId, dto) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
yield _super.deleteOne.call(this, assetId);
|
|
57
|
-
const asset = yield this.addOne(dto);
|
|
58
|
-
return Promise.resolve(asset);
|
|
59
|
-
});
|
|
49
|
+
async updateOne(assetId, dto) {
|
|
50
|
+
await super.deleteOne(assetId);
|
|
51
|
+
const asset = await this.addOne(dto);
|
|
52
|
+
return Promise.resolve(asset);
|
|
60
53
|
}
|
|
61
|
-
addAttachment(id, form) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return Promise.resolve(asset);
|
|
67
|
-
});
|
|
54
|
+
async addAttachment(id, form) {
|
|
55
|
+
const asset = this.data.find((v) => v.id === id);
|
|
56
|
+
const content = await this.api.contents.upload(form);
|
|
57
|
+
asset.attachments.push(content.id);
|
|
58
|
+
return Promise.resolve(asset);
|
|
68
59
|
}
|
|
69
|
-
getAttachments(assetId) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
return { docs, total: docs.length, limit: 0 };
|
|
74
|
-
});
|
|
60
|
+
async getAttachments(assetId) {
|
|
61
|
+
const contents = await this.api.contents.getMany();
|
|
62
|
+
const docs = contents.docs.filter((c) => c.assets?.includes?.(assetId));
|
|
63
|
+
return { docs, total: docs.length, limit: 0 };
|
|
75
64
|
}
|
|
76
65
|
getChildren(assetId, params = {}) {
|
|
77
66
|
return this.getManyFiltered({ parent: assetId }, params);
|
|
78
67
|
}
|
|
79
68
|
getEventLevelOverride(ids, causes) {
|
|
80
69
|
const eventCausesAssets = this.data.filter((v) => v.name.startsWith('hpc-event-causes-'));
|
|
81
|
-
return Promise.resolve(ids.reduce((acc, id) => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}, {}));
|
|
70
|
+
return Promise.resolve(ids.reduce((acc, id) => ({
|
|
71
|
+
...acc,
|
|
72
|
+
[id]: eventCausesAssets.find((v) => v.name.includes(id))?.data ?? {},
|
|
73
|
+
}), {}));
|
|
85
74
|
}
|
|
86
75
|
updateEventCausesAsset(id, dto) {
|
|
76
|
+
// simplified id and data
|
|
87
77
|
const asset = this.data.find((v) => v.id === id);
|
|
88
78
|
const eventCausesAsset = this.data.find((v) => v.name === 'hpc-event-causes-' + asset.id);
|
|
89
79
|
if (eventCausesAsset) {
|
|
@@ -119,4 +109,3 @@ class AssetMockService extends BaseService {
|
|
|
119
109
|
return Promise.resolve(revisionId);
|
|
120
110
|
}
|
|
121
111
|
}
|
|
122
|
-
exports.AssetMockService = AssetMockService;
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const data_mock_service_1 = require("./data.mock.service");
|
|
9
|
-
const trash_mock_service_1 = require("./trash.mock.service");
|
|
10
|
-
let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { randomUUID } from 'crypto';
|
|
3
|
+
import { mix } from 'ts-mixer';
|
|
4
|
+
import { APIBaseMock } from './api-base.mock';
|
|
5
|
+
import { DataMockService } from './data.mock.service';
|
|
6
|
+
import { TrashMockService } from './trash.mock.service';
|
|
7
|
+
let BaseService = class BaseService extends APIBaseMock {
|
|
11
8
|
};
|
|
12
|
-
BaseService =
|
|
13
|
-
|
|
9
|
+
BaseService = __decorate([
|
|
10
|
+
mix(DataMockService, TrashMockService)
|
|
14
11
|
], BaseService);
|
|
15
|
-
class AssetTypesMockService extends BaseService {
|
|
12
|
+
export class AssetTypesMockService extends BaseService {
|
|
16
13
|
constructor(assetTypes, revisions) {
|
|
17
14
|
const defaultTyp = {
|
|
18
15
|
name: 'defaultType',
|
|
@@ -21,7 +18,7 @@ class AssetTypesMockService extends BaseService {
|
|
|
21
18
|
typeSchema: { type: 'object' },
|
|
22
19
|
uiSchema: {},
|
|
23
20
|
};
|
|
24
|
-
const types = assetTypes.map((type) => (typeof type === 'string' ?
|
|
21
|
+
const types = assetTypes.map((type) => (typeof type === 'string' ? { id: type, ...defaultTyp } : type));
|
|
25
22
|
super(types);
|
|
26
23
|
this.revisions = revisions;
|
|
27
24
|
}
|
|
@@ -30,13 +27,14 @@ class AssetTypesMockService extends BaseService {
|
|
|
30
27
|
return Promise.resolve(page);
|
|
31
28
|
}
|
|
32
29
|
addOne(dto) {
|
|
33
|
-
const id =
|
|
34
|
-
this.revisions.push(
|
|
30
|
+
const id = randomUUID();
|
|
31
|
+
this.revisions.push({ ...dto, id, originalId: dto.id });
|
|
35
32
|
return super.addOne(dto);
|
|
36
33
|
}
|
|
37
34
|
deleteOne(id, force = false) {
|
|
38
35
|
const assettype = this.data.find((v) => v.id === id);
|
|
39
|
-
if (!
|
|
36
|
+
if (!assettype?.deletedAt && !force) {
|
|
37
|
+
// put asset in paper bin by setting deletedAt prop
|
|
40
38
|
assettype.deletedAt = new Date().toISOString();
|
|
41
39
|
return Promise.resolve(assettype);
|
|
42
40
|
}
|
|
@@ -48,15 +46,10 @@ class AssetTypesMockService extends BaseService {
|
|
|
48
46
|
});
|
|
49
47
|
return super.deleteOne(id);
|
|
50
48
|
}
|
|
51
|
-
updateOne(id, dto) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
yield _super.deleteOne.call(this, id);
|
|
57
|
-
const assetType = yield this.addOne(dto);
|
|
58
|
-
return Promise.resolve(assetType);
|
|
59
|
-
});
|
|
49
|
+
async updateOne(id, dto) {
|
|
50
|
+
await super.deleteOne(id);
|
|
51
|
+
const assetType = await this.addOne(dto);
|
|
52
|
+
return Promise.resolve(assetType);
|
|
60
53
|
}
|
|
61
54
|
getRevisions(id) {
|
|
62
55
|
const revisions = this.revisions.filter((revision) => revision.originalId === id);
|
|
@@ -77,4 +70,3 @@ class AssetTypesMockService extends BaseService {
|
|
|
77
70
|
return Promise.resolve(revisionId);
|
|
78
71
|
}
|
|
79
72
|
}
|
|
80
|
-
exports.AssetTypesMockService = AssetTypesMockService;
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const data_mock_service_1 = require("./data.mock.service");
|
|
10
|
-
const trash_mock_service_1 = require("./trash.mock.service");
|
|
11
|
-
let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Readable } from 'stream';
|
|
3
|
+
import { mix } from 'ts-mixer';
|
|
4
|
+
import { ReturnType } from '../content.interface';
|
|
5
|
+
import { APIBaseMock } from './api-base.mock';
|
|
6
|
+
import { DataMockService } from './data.mock.service';
|
|
7
|
+
import { TrashMockService } from './trash.mock.service';
|
|
8
|
+
let BaseService = class BaseService extends APIBaseMock {
|
|
12
9
|
};
|
|
13
|
-
BaseService =
|
|
14
|
-
|
|
10
|
+
BaseService = __decorate([
|
|
11
|
+
mix(DataMockService, TrashMockService)
|
|
15
12
|
], BaseService);
|
|
16
|
-
class ContentMockService extends BaseService {
|
|
13
|
+
export class ContentMockService extends BaseService {
|
|
17
14
|
constructor(contents, contentData) {
|
|
18
15
|
super(contents);
|
|
19
16
|
this.contentData = new Map();
|
|
@@ -24,30 +21,30 @@ class ContentMockService extends BaseService {
|
|
|
24
21
|
download(id, second) {
|
|
25
22
|
let returnType;
|
|
26
23
|
if (typeof second === 'boolean' || second == null) {
|
|
27
|
-
returnType = second ?
|
|
24
|
+
returnType = second ? ReturnType.ARRAYBUFFER : ReturnType.BLOB;
|
|
28
25
|
}
|
|
29
26
|
else {
|
|
30
27
|
returnType = second;
|
|
31
28
|
}
|
|
32
29
|
const content = this.contentData.get(id);
|
|
33
30
|
switch (returnType) {
|
|
34
|
-
case
|
|
31
|
+
case ReturnType.TEXT:
|
|
35
32
|
if (typeof content === 'string') {
|
|
36
33
|
return Promise.resolve(content);
|
|
37
34
|
}
|
|
38
35
|
else {
|
|
39
36
|
return Promise.resolve(JSON.stringify(content));
|
|
40
37
|
}
|
|
41
|
-
case
|
|
38
|
+
case ReturnType.JSON:
|
|
42
39
|
if (typeof content !== 'string') {
|
|
43
40
|
return Promise.resolve(content);
|
|
44
41
|
}
|
|
45
42
|
else {
|
|
46
43
|
return Promise.resolve(JSON.parse(content));
|
|
47
44
|
}
|
|
48
|
-
case
|
|
45
|
+
case ReturnType.NODEBUFFER:
|
|
49
46
|
return Promise.resolve(Buffer.from(this.contentData.get(id)));
|
|
50
|
-
case
|
|
47
|
+
case ReturnType.BLOB:
|
|
51
48
|
if (global.Blob) {
|
|
52
49
|
return Promise.resolve(new Blob([Buffer.from(this.contentData.get(id)).buffer]));
|
|
53
50
|
}
|
|
@@ -59,15 +56,16 @@ class ContentMockService extends BaseService {
|
|
|
59
56
|
return Promise.resolve(JSON.stringify(content));
|
|
60
57
|
}
|
|
61
58
|
}
|
|
62
|
-
case
|
|
59
|
+
case ReturnType.ARRAYBUFFER:
|
|
63
60
|
return Promise.resolve(Buffer.from(this.contentData.get(id)).buffer);
|
|
64
|
-
case
|
|
65
|
-
return Promise.resolve(
|
|
61
|
+
case ReturnType.NODESTREAM:
|
|
62
|
+
return Promise.resolve(Readable.from(this.contentData.get(id)));
|
|
66
63
|
}
|
|
67
64
|
}
|
|
68
65
|
deleteOne(contentId, force = false) {
|
|
69
66
|
const content = this.data.find((v) => v.id === contentId);
|
|
70
|
-
if (!
|
|
67
|
+
if (!content?.deletedAt && !force) {
|
|
68
|
+
// put content in paper bin by setting deletedAt prop
|
|
71
69
|
content.deletedAt = new Date().toISOString();
|
|
72
70
|
return Promise.resolve(content);
|
|
73
71
|
}
|
|
@@ -81,4 +79,3 @@ class ContentMockService extends BaseService {
|
|
|
81
79
|
return Promise.resolve(undefined);
|
|
82
80
|
}
|
|
83
81
|
}
|
|
84
|
-
exports.ContentMockService = ContentMockService;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { instanceOfTimePeriod } from '../data.interface';
|
|
2
|
+
import { DataService } from '../data.service';
|
|
3
|
+
export class DataMockService extends DataService {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(null, null);
|
|
6
|
+
this.data = [];
|
|
7
|
+
}
|
|
8
|
+
async addMany(dto) {
|
|
9
|
+
const map = dto.map((v) => this.addOne(v));
|
|
10
|
+
return Promise.all(map);
|
|
11
|
+
}
|
|
12
|
+
addOne(dto) {
|
|
13
|
+
this.data.push(dto);
|
|
14
|
+
return Promise.resolve(dto);
|
|
15
|
+
}
|
|
16
|
+
deleteOne(id) {
|
|
17
|
+
const index = this.data.findIndex((v) => v.id === id);
|
|
18
|
+
const obj = this.data[index];
|
|
19
|
+
this.data.splice(index, 1);
|
|
20
|
+
return Promise.resolve(obj);
|
|
21
|
+
}
|
|
22
|
+
getMany(params) {
|
|
23
|
+
const data = this.data;
|
|
24
|
+
if (params?.sort) {
|
|
25
|
+
this.sortData(data, params.sort);
|
|
26
|
+
}
|
|
27
|
+
const page = {
|
|
28
|
+
docs: data,
|
|
29
|
+
limit: params?.limit ?? Number.MAX_SAFE_INTEGER,
|
|
30
|
+
total: data.length,
|
|
31
|
+
};
|
|
32
|
+
return Promise.resolve(page);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Filters the elements by the passed properties. The object with these properties has to be of the form:
|
|
36
|
+
* {
|
|
37
|
+
* propertyName: string | string[] | { from: Date, to: Date },
|
|
38
|
+
* ...
|
|
39
|
+
* }.
|
|
40
|
+
* @param filter The Object with the properties to filter by.
|
|
41
|
+
* @param params Other request parameters.
|
|
42
|
+
*/
|
|
43
|
+
async getManyFiltered(filter, params = {}) {
|
|
44
|
+
const paginated = await 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)) || // data object
|
|
51
|
+
(typeof filterValue === 'object' &&
|
|
52
|
+
instanceOfTimePeriod(filterValue) &&
|
|
53
|
+
new Date(docValue) >= filterValue.from &&
|
|
54
|
+
new Date(docValue) <= filterValue.to) || // TimePeriod
|
|
55
|
+
(docValue instanceof Date && filterValue === docValue.toISOString()) || // Date
|
|
56
|
+
(Array.isArray(filterValue) && Array.isArray(docValue) && filterValue.some((fv) => docValue.includes(fv))) || // string[]
|
|
57
|
+
(Array.isArray(filterValue) && filterValue.includes(docValue)) ||
|
|
58
|
+
(Array.isArray(docValue) && docValue.includes(filterValue)) ||
|
|
59
|
+
docValue === filterValue // string
|
|
60
|
+
);
|
|
61
|
+
}));
|
|
62
|
+
const page = {
|
|
63
|
+
docs: newData,
|
|
64
|
+
limit: paginated.limit ?? Number.MAX_SAFE_INTEGER,
|
|
65
|
+
total: newData.length,
|
|
66
|
+
};
|
|
67
|
+
return Promise.resolve(page);
|
|
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
|
+
async updateOne(id, dto) {
|
|
75
|
+
await this.deleteOne(id);
|
|
76
|
+
const t = await this.addOne(dto);
|
|
77
|
+
return Promise.resolve(t);
|
|
78
|
+
}
|
|
79
|
+
sortData(data, sort) {
|
|
80
|
+
const descending = sort.startsWith('-');
|
|
81
|
+
const sortString = descending ? sort.substring(1) : sort;
|
|
82
|
+
const compareFn = (a, b) => {
|
|
83
|
+
let aValue = a[sortString];
|
|
84
|
+
let bValue = b[sortString];
|
|
85
|
+
if (['updatedAt', 'createdAt', 'deletedAt'].includes(sortString)) {
|
|
86
|
+
aValue = new Date(a[sortString]).valueOf();
|
|
87
|
+
bValue = new Date(b[sortString]).valueOf();
|
|
88
|
+
}
|
|
89
|
+
return descending ? bValue - aValue : aValue - bValue;
|
|
90
|
+
};
|
|
91
|
+
data.sort(compareFn);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.EndpointMockService = void 0;
|
|
4
|
-
const data_mock_service_1 = require("./data.mock.service");
|
|
5
|
-
class EndpointMockService extends data_mock_service_1.DataMockService {
|
|
1
|
+
import { DataMockService } from './data.mock.service';
|
|
2
|
+
export class EndpointMockService extends DataMockService {
|
|
6
3
|
constructor(endpoints) {
|
|
7
4
|
super();
|
|
8
5
|
this.data = endpoints;
|
|
@@ -21,4 +18,3 @@ class EndpointMockService extends data_mock_service_1.DataMockService {
|
|
|
21
18
|
});
|
|
22
19
|
}
|
|
23
20
|
}
|
|
24
|
-
exports.EndpointMockService = EndpointMockService;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DataMockService } from './data.mock.service';
|
|
2
|
+
export class EventsMockService extends DataMockService {
|
|
3
|
+
constructor(events) {
|
|
4
|
+
super();
|
|
5
|
+
this.data = events;
|
|
6
|
+
}
|
|
7
|
+
getLastEventByAssetAndGroup(assetId, group) {
|
|
8
|
+
return Promise.resolve(this.data[this.data.length - 1]);
|
|
9
|
+
}
|
|
10
|
+
}
|