@hahnpro/hpc-api 2024.4.0-0 → 2025.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +383 -0
- package/README.md +507 -0
- package/package.json +9 -7
- package/src/index.js +27 -20
- package/src/index.js.map +1 -0
- package/src/lib/Queue.js +21 -10
- package/src/lib/Queue.js.map +1 -0
- package/src/lib/api-base.js +15 -3
- package/src/lib/api-base.js.map +1 -0
- package/src/lib/api.js +53 -42
- package/src/lib/api.js.map +1 -0
- package/src/lib/asset.interface.js +6 -1
- package/src/lib/asset.interface.js.map +1 -0
- package/src/lib/asset.service.js +45 -20
- package/src/lib/asset.service.js.map +1 -0
- package/src/lib/assettypes.service.js +26 -12
- package/src/lib/assettypes.service.js.map +1 -0
- package/src/lib/content.interface.js +15 -3
- package/src/lib/content.interface.js.map +1 -0
- package/src/lib/content.service.js +62 -32
- package/src/lib/content.service.js.map +1 -0
- package/src/lib/data.interface.js +13 -1
- package/src/lib/data.interface.js.map +1 -0
- package/src/lib/data.service.js +45 -24
- package/src/lib/data.service.js.map +1 -0
- package/src/lib/endpoint.interface.js +6 -1
- package/src/lib/endpoint.interface.js.map +1 -0
- package/src/lib/endpoint.service.js +16 -4
- package/src/lib/endpoint.service.js.map +1 -0
- package/src/lib/events.interface.js +6 -1
- package/src/lib/events.interface.js.map +1 -0
- package/src/lib/events.service.js +16 -4
- package/src/lib/events.service.js.map +1 -0
- package/src/lib/flow-deployment.interface.js +6 -1
- package/src/lib/flow-deployment.interface.js.map +1 -0
- package/src/lib/flow-deployment.service.js +58 -25
- package/src/lib/flow-deployment.service.js.map +1 -0
- package/src/lib/flow-function.interface.js +6 -1
- package/src/lib/flow-function.interface.js.map +1 -0
- package/src/lib/flow-function.service.js +20 -6
- package/src/lib/flow-function.service.js.map +1 -0
- package/src/lib/flow-module.interface.js +6 -1
- package/src/lib/flow-module.interface.js.map +1 -0
- package/src/lib/flow-module.service.js +20 -6
- package/src/lib/flow-module.service.js.map +1 -0
- package/src/lib/flow.interface.js +6 -1
- package/src/lib/flow.interface.js.map +1 -0
- package/src/lib/flow.service.js +27 -13
- package/src/lib/flow.service.js.map +1 -0
- package/src/lib/http.service.d.ts +1 -1
- package/src/lib/http.service.js +102 -62
- package/src/lib/http.service.js.map +1 -0
- package/src/lib/label.interface.js +6 -1
- package/src/lib/label.interface.js.map +1 -0
- package/src/lib/label.service.js +17 -5
- package/src/lib/label.service.js.map +1 -0
- package/src/lib/mock/api-base.mock.js +17 -6
- package/src/lib/mock/api-base.mock.js.map +1 -0
- package/src/lib/mock/api.mock.js +204 -193
- package/src/lib/mock/api.mock.js.map +1 -0
- package/src/lib/mock/asset.mock.service.js +55 -38
- package/src/lib/mock/asset.mock.service.js.map +1 -0
- package/src/lib/mock/assetTypes.mock.service.js +45 -27
- package/src/lib/mock/assetTypes.mock.service.js.map +1 -0
- package/src/lib/mock/content.mock.service.js +45 -37
- package/src/lib/mock/content.mock.service.js.map +1 -0
- package/src/lib/mock/data.mock.service.js +49 -40
- package/src/lib/mock/data.mock.service.js.map +1 -0
- package/src/lib/mock/endpoint.mock.service.js +17 -5
- package/src/lib/mock/endpoint.mock.service.js.map +1 -0
- package/src/lib/mock/events.mock.service.js +16 -4
- package/src/lib/mock/events.mock.service.js.map +1 -0
- package/src/lib/mock/flow-deployment.mock.service.js +81 -36
- package/src/lib/mock/flow-deployment.mock.service.js.map +1 -0
- package/src/lib/mock/flow-functions.mock.service.js +33 -20
- package/src/lib/mock/flow-functions.mock.service.js.map +1 -0
- package/src/lib/mock/flow-modules.mock.service.js +18 -6
- package/src/lib/mock/flow-modules.mock.service.js.map +1 -0
- package/src/lib/mock/flow.mock.service.js +44 -29
- package/src/lib/mock/flow.mock.service.js.map +1 -0
- package/src/lib/mock/index.js +18 -11
- package/src/lib/mock/index.js.map +1 -0
- package/src/lib/mock/label.mock.service.js +17 -5
- package/src/lib/mock/label.mock.service.js.map +1 -0
- package/src/lib/mock/notification.mock.service.js +16 -4
- package/src/lib/mock/notification.mock.service.js.map +1 -0
- package/src/lib/mock/secret.mock.service.js +24 -12
- package/src/lib/mock/secret.mock.service.js.map +1 -0
- package/src/lib/mock/task.mock.service.js +24 -12
- package/src/lib/mock/task.mock.service.js.map +1 -0
- package/src/lib/mock/timeseries.mock.service.js +88 -43
- package/src/lib/mock/timeseries.mock.service.js.map +1 -0
- package/src/lib/mock/trash.mock.service.js +28 -14
- package/src/lib/mock/trash.mock.service.js.map +1 -0
- package/src/lib/mock/user.mock.service.js +17 -6
- package/src/lib/mock/user.mock.service.js.map +1 -0
- package/src/lib/mock/vault.mock.service.js +17 -5
- package/src/lib/mock/vault.mock.service.js.map +1 -0
- package/src/lib/notification.interface.js +6 -1
- package/src/lib/notification.interface.js.map +1 -0
- package/src/lib/notification.service.js +16 -4
- package/src/lib/notification.service.js.map +1 -0
- package/src/lib/proxy.service.js +19 -7
- package/src/lib/proxy.service.js.map +1 -0
- package/src/lib/resource.interface.js +6 -1
- package/src/lib/resource.interface.js.map +1 -0
- package/src/lib/schema.interface.js +6 -1
- package/src/lib/schema.interface.js.map +1 -0
- package/src/lib/secret.interface.js +6 -1
- package/src/lib/secret.interface.js.map +1 -0
- package/src/lib/secret.service.js +23 -11
- package/src/lib/secret.service.js.map +1 -0
- package/src/lib/storage.interface.js +6 -1
- package/src/lib/storage.interface.js.map +1 -0
- package/src/lib/task.interface.js +6 -1
- package/src/lib/task.interface.js.map +1 -0
- package/src/lib/task.service.js +23 -11
- package/src/lib/task.service.js.map +1 -0
- package/src/lib/timeseries.interface.js +6 -1
- package/src/lib/timeseries.interface.js.map +1 -0
- package/src/lib/timeseries.service.js +97 -66
- package/src/lib/timeseries.service.js.map +1 -0
- package/src/lib/token-set.js +15 -3
- package/src/lib/token-set.js.map +1 -0
- package/src/lib/trash.service.js +23 -5
- package/src/lib/trash.service.js.map +1 -0
- package/src/lib/user-settings.interface.js +6 -1
- package/src/lib/user-settings.interface.js.map +1 -0
- package/src/lib/user.service.js +18 -7
- package/src/lib/user.service.js.map +1 -0
- package/src/lib/vault.interface.js +6 -1
- package/src/lib/vault.interface.js.map +1 -0
- package/src/lib/vault.service.js +23 -6
- package/src/lib/vault.service.js.map +1 -0
|
@@ -1,29 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "FlowDeploymentMockService", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return FlowDeploymentMockService;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _ts_decorate = require("@swc/helpers/_/_ts_decorate");
|
|
12
|
+
const _crypto = require("crypto");
|
|
13
|
+
const _tsmixer = require("ts-mixer");
|
|
14
|
+
const _apibasemock = require("./api-base.mock");
|
|
15
|
+
const _datamockservice = require("./data.mock.service");
|
|
16
|
+
const _trashmockservice = require("./trash.mock.service");
|
|
17
|
+
let BaseService = class BaseService extends _apibasemock.APIBaseMock {
|
|
8
18
|
};
|
|
9
|
-
BaseService =
|
|
10
|
-
mix(DataMockService, TrashMockService)
|
|
19
|
+
BaseService = _ts_decorate._([
|
|
20
|
+
(0, _tsmixer.mix)(_datamockservice.DataMockService, _trashmockservice.TrashMockService)
|
|
11
21
|
], BaseService);
|
|
12
|
-
|
|
13
|
-
constructor(deployments, api)
|
|
14
|
-
super(deployments);
|
|
15
|
-
this.api = api;
|
|
22
|
+
let FlowDeploymentMockService = class FlowDeploymentMockService extends BaseService {
|
|
23
|
+
constructor(deployments, api){
|
|
24
|
+
super(deployments), this.api = api;
|
|
16
25
|
}
|
|
17
26
|
subscribeToStatus(id, listener, errorListener) {
|
|
18
|
-
listener(new MessageEvent('message', {
|
|
19
|
-
|
|
27
|
+
listener(new MessageEvent('message', {
|
|
28
|
+
data: 'running'
|
|
29
|
+
}));
|
|
30
|
+
return Promise.resolve((0, _crypto.randomUUID)());
|
|
20
31
|
}
|
|
21
32
|
subscribeToLogs(id, listener, errorListener) {
|
|
22
|
-
listener(new MessageEvent('message', {
|
|
23
|
-
|
|
33
|
+
listener(new MessageEvent('message', {
|
|
34
|
+
data: 'foo'
|
|
35
|
+
}));
|
|
36
|
+
return Promise.resolve((0, _crypto.randomUUID)());
|
|
24
37
|
}
|
|
25
38
|
async waitForRunningStatus(id) {
|
|
26
|
-
const flowDeployment = this.data.find((v)
|
|
39
|
+
const flowDeployment = this.data.find((v)=>v.id === id);
|
|
27
40
|
flowDeployment.actualStatus = 'running';
|
|
28
41
|
}
|
|
29
42
|
async updateStatus(id, desiredStatus) {
|
|
@@ -48,17 +61,35 @@ export class FlowDeploymentMockService extends BaseService {
|
|
|
48
61
|
ctime: 16770,
|
|
49
62
|
elapsed: 172850950,
|
|
50
63
|
timestamp: 1648199692625,
|
|
51
|
-
deploymentId: id
|
|
52
|
-
}
|
|
64
|
+
deploymentId: id
|
|
65
|
+
}
|
|
53
66
|
});
|
|
54
67
|
}
|
|
55
68
|
getDeploymentMetrics(id, range, interval) {
|
|
56
69
|
return Promise.resolve({
|
|
57
|
-
metrics: [
|
|
70
|
+
metrics: [
|
|
71
|
+
{
|
|
72
|
+
timestamp: Date.now(),
|
|
73
|
+
cpu: 0,
|
|
74
|
+
memory: Math.random() * 1000000
|
|
75
|
+
}
|
|
76
|
+
],
|
|
58
77
|
stats: {
|
|
59
|
-
cpu: {
|
|
60
|
-
|
|
61
|
-
|
|
78
|
+
cpu: {
|
|
79
|
+
count: 123,
|
|
80
|
+
avg: 0,
|
|
81
|
+
max: 0,
|
|
82
|
+
min: 0,
|
|
83
|
+
sum: 0
|
|
84
|
+
},
|
|
85
|
+
memory: {
|
|
86
|
+
count: 123,
|
|
87
|
+
avg: 0,
|
|
88
|
+
max: 0,
|
|
89
|
+
min: 0,
|
|
90
|
+
sum: 0
|
|
91
|
+
}
|
|
92
|
+
}
|
|
62
93
|
});
|
|
63
94
|
}
|
|
64
95
|
async getDeploymentLogs(id) {
|
|
@@ -74,45 +105,59 @@ export class FlowDeploymentMockService extends BaseService {
|
|
|
74
105
|
datacontenttype: 'text/plain',
|
|
75
106
|
elementId: 'none',
|
|
76
107
|
time: '2022-03-23T09:14:03.129Z',
|
|
77
|
-
flowId: depl.flow
|
|
78
|
-
}
|
|
108
|
+
flowId: depl.flow
|
|
109
|
+
}
|
|
79
110
|
]);
|
|
80
111
|
}
|
|
81
112
|
async addOne(dto) {
|
|
82
113
|
const flow = await this.api.flows.getFlowWithDiagram(dto.diagramId);
|
|
83
114
|
const refs = await this.getReferences(dto.properties);
|
|
84
|
-
const id = randomUUID();
|
|
115
|
+
const id = (0, _crypto.randomUUID)();
|
|
85
116
|
const newDepl = {
|
|
86
117
|
actualStatus: 'generating queued',
|
|
87
118
|
artifact: undefined,
|
|
88
119
|
desiredStatus: 'running',
|
|
89
120
|
diagram: dto.diagramId,
|
|
90
121
|
flow: flow.id,
|
|
91
|
-
flowModel: {
|
|
122
|
+
flowModel: {
|
|
123
|
+
elements: [],
|
|
124
|
+
connections: [],
|
|
125
|
+
properties: dto.properties
|
|
126
|
+
},
|
|
92
127
|
id,
|
|
93
128
|
name: dto.name,
|
|
94
129
|
readPermissions: [],
|
|
95
130
|
readWritePermissions: [],
|
|
96
131
|
target: 'executor',
|
|
97
|
-
refs
|
|
132
|
+
refs
|
|
98
133
|
};
|
|
99
|
-
await this.api.flows.updateOne(flow.id, {
|
|
134
|
+
await this.api.flows.updateOne(flow.id, {
|
|
135
|
+
...flow,
|
|
136
|
+
deployments: [
|
|
137
|
+
...flow.deployments,
|
|
138
|
+
id
|
|
139
|
+
]
|
|
140
|
+
});
|
|
100
141
|
return super.addOne(newDepl);
|
|
101
142
|
}
|
|
102
143
|
async deleteOne(id) {
|
|
103
144
|
const depl = await this.getOne(id);
|
|
104
145
|
const flow = await this.api.flows.getOne(depl.flow);
|
|
105
|
-
const index = flow.deployments.findIndex((v)
|
|
146
|
+
const index = flow.deployments.findIndex((v)=>v === id);
|
|
106
147
|
flow.deployments.splice(index, 1);
|
|
107
148
|
await this.api.flows.updateOne(flow.id, flow);
|
|
108
149
|
return super.deleteOne(id);
|
|
109
150
|
}
|
|
110
151
|
async getReferences(properties) {
|
|
111
152
|
// super simplified version of real resolver
|
|
112
|
-
return Promise.all(Object.keys(properties).map(async (prop)
|
|
113
|
-
if (prop !== 'assetId')
|
|
114
|
-
|
|
115
|
-
|
|
153
|
+
return Promise.all(Object.keys(properties).map(async (prop)=>{
|
|
154
|
+
if (prop !== 'assetId') throw new Error('not implemented');
|
|
155
|
+
return {
|
|
156
|
+
id: (await this.api.assets.getOne(properties[prop])).id,
|
|
157
|
+
resourceType: 'asset'
|
|
158
|
+
};
|
|
116
159
|
}));
|
|
117
160
|
}
|
|
118
|
-
}
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
//# sourceMappingURL=flow-deployment.mock.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/flow-deployment.mock.service.ts"],"sourcesContent":["import { randomUUID } from 'crypto';\n\nimport { mix } from 'ts-mixer';\n\nimport { FlowDeployment, FlowDeploymentMetrics, FlowDeploymentStatistic, FlowLog } from '../flow-deployment.interface';\nimport { FlowDeploymentService } from '../flow-deployment.service';\nimport { ResourceReference } from '../resource.interface';\nimport { APIBaseMock } from './api-base.mock';\nimport { MockAPI } from './api.mock';\nimport { DataMockService } from './data.mock.service';\nimport { TrashMockService } from './trash.mock.service';\n\ninterface BaseService extends DataMockService<FlowDeployment>, TrashMockService<FlowDeployment> {}\n@mix(DataMockService, TrashMockService)\nclass BaseService extends APIBaseMock<FlowDeployment> {}\n\nexport class FlowDeploymentMockService extends BaseService implements FlowDeploymentService {\n constructor(\n deployments: FlowDeployment[],\n private api: MockAPI,\n ) {\n super(deployments);\n }\n\n public subscribeToStatus(\n id: string,\n listener: (event: MessageEvent<any>) => void,\n errorListener?: (event: MessageEvent<any>) => void,\n ): Promise<string> {\n listener(new MessageEvent('message', { data: 'running' }));\n return Promise.resolve(randomUUID());\n }\n\n public subscribeToLogs(\n id: string,\n listener: (event: MessageEvent<any>) => void,\n errorListener?: (event: MessageEvent) => void,\n ): Promise<string> {\n listener(new MessageEvent('message', { data: 'foo' }));\n return Promise.resolve(randomUUID());\n }\n\n public async waitForRunningStatus(id: string): Promise<void> {\n const flowDeployment = this.data.find((v) => v.id === id);\n flowDeployment.actualStatus = 'running';\n }\n\n public async updateStatus(id: string, desiredStatus: 'running' | 'stopped' | 'deleted' | 'paused'): Promise<FlowDeployment> {\n const deployment = await this.getOne(id);\n deployment.desiredStatus = desiredStatus;\n deployment.actualStatus = desiredStatus;\n return Promise.resolve(deployment);\n }\n\n public async resolveReferences(id: string, recursive?: boolean, types?: string[]): Promise<ResourceReference[]> {\n const depl = await this.getOne(id);\n return depl.refs ?? [];\n }\n\n public getDeploymentStatistics(id: string): Promise<FlowDeploymentStatistic> {\n return Promise.resolve({\n totalErrorCount: 0,\n errorCountWeek: 0,\n eventCountWeek: 0,\n errorCounts: [],\n metrics: {\n cpu: 0,\n memory: 97931264,\n ctime: 16770,\n elapsed: 172850950,\n timestamp: 1648199692625,\n deploymentId: id,\n },\n });\n }\n\n public getDeploymentMetrics(id: string, range?: string, interval?: string): Promise<FlowDeploymentMetrics> {\n return Promise.resolve({\n metrics: [{ timestamp: Date.now(), cpu: 0, memory: Math.random() * 1000000 }],\n stats: {\n cpu: { count: 123, avg: 0, max: 0, min: 0, sum: 0 },\n memory: { count: 123, avg: 0, max: 0, min: 0, sum: 0 },\n },\n });\n }\n\n public async getDeploymentLogs(id: string): Promise<FlowLog[]> {\n const depl = await this.getOne(id);\n return Promise.resolve([\n {\n type: 'flow.log.info',\n deploymentId: id,\n subject: 'FlowApplication',\n data: 'Flow Deployment is running',\n '@timestamp': '2022-03-23T09:14:03.129Z',\n eventId: 'c68b7674-b8da-46c5-85f0-8e4279d74a78',\n datacontenttype: 'text/plain',\n elementId: 'none',\n time: '2022-03-23T09:14:03.129Z',\n flowId: depl.flow as string,\n },\n ]);\n }\n\n public async addOne(dto: {\n diagramId: string;\n name: string;\n properties?: Record<string, any>;\n readPermissions?: string[];\n readWritePermissions?: string[];\n tags?: string[];\n }): Promise<FlowDeployment> {\n const flow = await this.api.flows.getFlowWithDiagram(dto.diagramId);\n\n const refs = await this.getReferences(dto.properties);\n const id = randomUUID();\n const newDepl: FlowDeployment = {\n actualStatus: 'generating queued',\n artifact: undefined,\n desiredStatus: 'running',\n diagram: dto.diagramId,\n flow: flow.id,\n flowModel: { elements: [], connections: [], properties: dto.properties },\n id,\n name: dto.name,\n readPermissions: [],\n readWritePermissions: [],\n target: 'executor',\n refs,\n };\n await this.api.flows.updateOne(flow.id, { ...flow, deployments: [...flow.deployments, id] });\n return super.addOne(newDepl);\n }\n\n public async deleteOne(id: string): Promise<FlowDeployment> {\n const depl = await this.getOne(id);\n const flow = await this.api.flows.getOne(depl.flow as string);\n const index = (flow.deployments as string[]).findIndex((v) => v === id);\n flow.deployments.splice(index, 1);\n await this.api.flows.updateOne(flow.id, flow);\n return super.deleteOne(id);\n }\n\n private async getReferences(properties: Record<string, any>): Promise<ResourceReference[]> {\n // super simplified version of real resolver\n return Promise.all(\n Object.keys(properties).map(async (prop) => {\n if (prop !== 'assetId') throw new Error('not implemented');\n return { id: (await this.api.assets.getOne(properties[prop])).id, resourceType: 'asset' };\n }),\n );\n }\n}\n"],"names":["FlowDeploymentMockService","BaseService","APIBaseMock","constructor","deployments","api","subscribeToStatus","id","listener","errorListener","MessageEvent","data","Promise","resolve","randomUUID","subscribeToLogs","waitForRunningStatus","flowDeployment","find","v","actualStatus","updateStatus","desiredStatus","deployment","getOne","resolveReferences","recursive","types","depl","refs","getDeploymentStatistics","totalErrorCount","errorCountWeek","eventCountWeek","errorCounts","metrics","cpu","memory","ctime","elapsed","timestamp","deploymentId","getDeploymentMetrics","range","interval","Date","now","Math","random","stats","count","avg","max","min","sum","getDeploymentLogs","type","subject","eventId","datacontenttype","elementId","time","flowId","flow","addOne","dto","flows","getFlowWithDiagram","diagramId","getReferences","properties","newDepl","artifact","undefined","diagram","flowModel","elements","connections","name","readPermissions","readWritePermissions","target","updateOne","deleteOne","index","findIndex","splice","all","Object","keys","map","prop","Error","assets","resourceType"],"mappings":"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"}
|
|
@@ -1,56 +1,69 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "FlowFunctionsMockService", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return FlowFunctionsMockService;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _crypto = require("crypto");
|
|
12
|
+
const _datamockservice = require("./data.mock.service");
|
|
13
|
+
let FlowFunctionsMockService = class FlowFunctionsMockService extends _datamockservice.DataMockService {
|
|
14
|
+
constructor(functions, revisions){
|
|
15
|
+
super(), this.revisions = revisions;
|
|
7
16
|
this.data = functions;
|
|
8
17
|
}
|
|
9
18
|
addOne(dto) {
|
|
10
|
-
const id = randomUUID();
|
|
11
|
-
this.revisions.push({
|
|
19
|
+
const id = (0, _crypto.randomUUID)();
|
|
20
|
+
this.revisions.push({
|
|
21
|
+
...dto,
|
|
22
|
+
id,
|
|
23
|
+
originalId: dto.fqn
|
|
24
|
+
});
|
|
12
25
|
return super.addOne(dto);
|
|
13
26
|
}
|
|
14
27
|
deleteOne(fqn) {
|
|
15
|
-
const index = this.data.findIndex((v)
|
|
28
|
+
const index = this.data.findIndex((v)=>v.fqn === fqn);
|
|
16
29
|
this.data.splice(index, 1);
|
|
17
|
-
this.revisions
|
|
18
|
-
.filter((revision) => revision.originalId === fqn)
|
|
19
|
-
.forEach((revision) => {
|
|
30
|
+
this.revisions.filter((revision)=>revision.originalId === fqn).forEach((revision)=>{
|
|
20
31
|
const index1 = this.revisions.indexOf(revision);
|
|
21
32
|
this.revisions.splice(index1, 1);
|
|
22
33
|
});
|
|
23
34
|
return Promise.resolve(undefined);
|
|
24
35
|
}
|
|
25
36
|
async updateOne(fqn, dto) {
|
|
26
|
-
const index = this.data.findIndex((v)
|
|
37
|
+
const index = this.data.findIndex((v)=>v.fqn === fqn);
|
|
27
38
|
this.data.splice(index, 1);
|
|
28
39
|
const flowFunction = await this.addOne(dto);
|
|
29
40
|
return Promise.resolve(flowFunction);
|
|
30
41
|
}
|
|
31
42
|
getOne(fqn, options) {
|
|
32
|
-
const t = this.data.find((v)
|
|
43
|
+
const t = this.data.find((v)=>v.fqn === fqn);
|
|
33
44
|
return Promise.resolve(t);
|
|
34
45
|
}
|
|
35
46
|
async getOneById(id) {
|
|
36
|
-
return this.data.find((v)
|
|
47
|
+
return this.data.find((v)=>v.id === id);
|
|
37
48
|
}
|
|
38
49
|
getRevisions(fqn) {
|
|
39
|
-
const revisions = this.revisions.filter((revision)
|
|
50
|
+
const revisions = this.revisions.filter((revision)=>revision.originalId === fqn);
|
|
40
51
|
const page = {
|
|
41
52
|
docs: revisions,
|
|
42
53
|
limit: Number.MAX_SAFE_INTEGER,
|
|
43
|
-
total: revisions.length
|
|
54
|
+
total: revisions.length
|
|
44
55
|
};
|
|
45
56
|
return Promise.resolve(page);
|
|
46
57
|
}
|
|
47
58
|
rollback(fqn, revisionId) {
|
|
48
|
-
const assetType = this.revisions.find((revision)
|
|
59
|
+
const assetType = this.revisions.find((revision)=>revision.id === revisionId);
|
|
49
60
|
return Promise.resolve(assetType);
|
|
50
61
|
}
|
|
51
62
|
deleteRevision(fqn, revisionId) {
|
|
52
|
-
const index = this.revisions.findIndex((revision)
|
|
63
|
+
const index = this.revisions.findIndex((revision)=>revision.id === revisionId);
|
|
53
64
|
this.revisions.splice(index, 1);
|
|
54
65
|
return Promise.resolve(revisionId);
|
|
55
66
|
}
|
|
56
|
-
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=flow-functions.mock.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/flow-functions.mock.service.ts"],"sourcesContent":["import { randomUUID } from 'crypto';\n\nimport { Paginated } from '../data.interface';\nimport { FlowFunctionDto, FlowFunctionRevision } from '../flow-function.interface';\nimport { FlowFunctionService } from '../flow-function.service';\nimport { DataMockService } from './data.mock.service';\n\nexport class FlowFunctionsMockService extends DataMockService<FlowFunctionDto> implements FlowFunctionService {\n constructor(\n functions: FlowFunctionDto[],\n private revisions: FlowFunctionRevision[],\n ) {\n super();\n this.data = functions;\n }\n\n addOne(dto: FlowFunctionDto): Promise<FlowFunctionDto> {\n const id = randomUUID();\n this.revisions.push({ ...dto, id, originalId: dto.fqn });\n return super.addOne(dto);\n }\n\n deleteOne(fqn: string): Promise<any> {\n const index = this.data.findIndex((v) => v.fqn === fqn);\n this.data.splice(index, 1);\n this.revisions\n .filter((revision) => revision.originalId === fqn)\n .forEach((revision) => {\n const index1 = this.revisions.indexOf(revision);\n this.revisions.splice(index1, 1);\n });\n return Promise.resolve(undefined);\n }\n\n async updateOne(fqn: string, dto: FlowFunctionDto): Promise<FlowFunctionDto> {\n const index = this.data.findIndex((v) => v.fqn === fqn);\n this.data.splice(index, 1);\n const flowFunction = await this.addOne(dto);\n return Promise.resolve(flowFunction);\n }\n\n getOne(fqn: string, options?: any): Promise<FlowFunctionDto> {\n const t = this.data.find((v: any) => v.fqn === fqn);\n return Promise.resolve(t);\n }\n\n private async getOneById(id: string) {\n return this.data.find((v: any) => v.id === id);\n }\n\n public getRevisions(fqn: string): Promise<Paginated<FlowFunctionRevision[]>> {\n const revisions = this.revisions.filter((revision) => revision.originalId === fqn);\n const page: Paginated<FlowFunctionRevision[]> = {\n docs: revisions,\n limit: Number.MAX_SAFE_INTEGER,\n total: revisions.length,\n };\n return Promise.resolve(page);\n }\n\n public rollback(fqn: string, revisionId: string): Promise<FlowFunctionDto> {\n const assetType = this.revisions.find((revision) => revision.id === revisionId);\n return Promise.resolve(assetType);\n }\n\n public deleteRevision(fqn: string, revisionId: string): Promise<any> {\n const index = this.revisions.findIndex((revision) => revision.id === revisionId);\n this.revisions.splice(index, 1);\n return Promise.resolve(revisionId);\n }\n}\n"],"names":["FlowFunctionsMockService","DataMockService","constructor","functions","revisions","data","addOne","dto","id","randomUUID","push","originalId","fqn","deleteOne","index","findIndex","v","splice","filter","revision","forEach","index1","indexOf","Promise","resolve","undefined","updateOne","flowFunction","getOne","options","t","find","getOneById","getRevisions","page","docs","limit","Number","MAX_SAFE_INTEGER","total","length","rollback","revisionId","assetType","deleteRevision"],"mappings":";;;;+BAOaA;;;eAAAA;;;wBAPc;iCAKK;AAEzB,IAAA,AAAMA,2BAAN,MAAMA,iCAAiCC,gCAAe;IAC3DC,YACEC,SAA4B,EAC5B,AAAQC,SAAiC,CACzC;QACA,KAAK,SAFGA,YAAAA;QAGR,IAAI,CAACC,IAAI,GAAGF;IACd;IAEAG,OAAOC,GAAoB,EAA4B;QACrD,MAAMC,KAAKC,IAAAA,kBAAU;QACrB,IAAI,CAACL,SAAS,CAACM,IAAI,CAAC;YAAE,GAAGH,GAAG;YAAEC;YAAIG,YAAYJ,IAAIK,GAAG;QAAC;QACtD,OAAO,KAAK,CAACN,OAAOC;IACtB;IAEAM,UAAUD,GAAW,EAAgB;QACnC,MAAME,QAAQ,IAAI,CAACT,IAAI,CAACU,SAAS,CAAC,CAACC,IAAMA,EAAEJ,GAAG,KAAKA;QACnD,IAAI,CAACP,IAAI,CAACY,MAAM,CAACH,OAAO;QACxB,IAAI,CAACV,SAAS,CACXc,MAAM,CAAC,CAACC,WAAaA,SAASR,UAAU,KAAKC,KAC7CQ,OAAO,CAAC,CAACD;YACR,MAAME,SAAS,IAAI,CAACjB,SAAS,CAACkB,OAAO,CAACH;YACtC,IAAI,CAACf,SAAS,CAACa,MAAM,CAACI,QAAQ;QAChC;QACF,OAAOE,QAAQC,OAAO,CAACC;IACzB;IAEA,MAAMC,UAAUd,GAAW,EAAEL,GAAoB,EAA4B;QAC3E,MAAMO,QAAQ,IAAI,CAACT,IAAI,CAACU,SAAS,CAAC,CAACC,IAAMA,EAAEJ,GAAG,KAAKA;QACnD,IAAI,CAACP,IAAI,CAACY,MAAM,CAACH,OAAO;QACxB,MAAMa,eAAe,MAAM,IAAI,CAACrB,MAAM,CAACC;QACvC,OAAOgB,QAAQC,OAAO,CAACG;IACzB;IAEAC,OAAOhB,GAAW,EAAEiB,OAAa,EAA4B;QAC3D,MAAMC,IAAI,IAAI,CAACzB,IAAI,CAAC0B,IAAI,CAAC,CAACf,IAAWA,EAAEJ,GAAG,KAAKA;QAC/C,OAAOW,QAAQC,OAAO,CAACM;IACzB;IAEA,MAAcE,WAAWxB,EAAU,EAAE;QACnC,OAAO,IAAI,CAACH,IAAI,CAAC0B,IAAI,CAAC,CAACf,IAAWA,EAAER,EAAE,KAAKA;IAC7C;IAEOyB,aAAarB,GAAW,EAA8C;QAC3E,MAAMR,YAAY,IAAI,CAACA,SAAS,CAACc,MAAM,CAAC,CAACC,WAAaA,SAASR,UAAU,KAAKC;QAC9E,MAAMsB,OAA0C;YAC9CC,MAAM/B;YACNgC,OAAOC,OAAOC,gBAAgB;YAC9BC,OAAOnC,UAAUoC,MAAM;QACzB;QACA,OAAOjB,QAAQC,OAAO,CAACU;IACzB;IAEOO,SAAS7B,GAAW,EAAE8B,UAAkB,EAA4B;QACzE,MAAMC,YAAY,IAAI,CAACvC,SAAS,CAAC2B,IAAI,CAAC,CAACZ,WAAaA,SAASX,EAAE,KAAKkC;QACpE,OAAOnB,QAAQC,OAAO,CAACmB;IACzB;IAEOC,eAAehC,GAAW,EAAE8B,UAAkB,EAAgB;QACnE,MAAM5B,QAAQ,IAAI,CAACV,SAAS,CAACW,SAAS,CAAC,CAACI,WAAaA,SAASX,EAAE,KAAKkC;QACrE,IAAI,CAACtC,SAAS,CAACa,MAAM,CAACH,OAAO;QAC7B,OAAOS,QAAQC,OAAO,CAACkB;IACzB;AACF"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "FlowModulesMockService", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return FlowModulesMockService;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _datamockservice = require("./data.mock.service");
|
|
12
|
+
let FlowModulesMockService = class FlowModulesMockService extends _datamockservice.DataMockService {
|
|
13
|
+
constructor(modules){
|
|
4
14
|
super();
|
|
5
15
|
this.data = modules;
|
|
6
16
|
}
|
|
7
17
|
async deleteArtifact(name, version) {
|
|
8
18
|
const module = await this.getOne(name);
|
|
9
|
-
const index = module.artifacts.findIndex((art)
|
|
19
|
+
const index = module.artifacts.findIndex((art)=>art.version === version);
|
|
10
20
|
module.artifacts.splice(index, 1);
|
|
11
21
|
return Promise.resolve(module);
|
|
12
22
|
}
|
|
@@ -14,7 +24,9 @@ export class FlowModulesMockService extends DataMockService {
|
|
|
14
24
|
return Promise.resolve(undefined);
|
|
15
25
|
}
|
|
16
26
|
getOne(name, options = {}) {
|
|
17
|
-
const t = this.data.find((v)
|
|
27
|
+
const t = this.data.find((v)=>v.name === name);
|
|
18
28
|
return Promise.resolve(t);
|
|
19
29
|
}
|
|
20
|
-
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=flow-modules.mock.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/flow-modules.mock.service.ts"],"sourcesContent":["import FormData from 'form-data';\n\nimport { FlowModule } from '../flow-module.interface';\nimport { FlowModuleService } from '../flow-module.service';\nimport { Artifact } from '../storage.interface';\nimport { Replace } from './api.mock';\nimport { DataMockService } from './data.mock.service';\n\ntype ExtendedFlowModule = Replace<FlowModule, 'artifacts', Array<Artifact & { path: string }>>;\n\nexport class FlowModulesMockService extends DataMockService<ExtendedFlowModule> implements FlowModuleService {\n constructor(modules: ExtendedFlowModule[]) {\n super();\n this.data = modules;\n }\n\n async deleteArtifact(name: string, version: string): Promise<FlowModule> {\n const module = await this.getOne(name);\n const index = module.artifacts.findIndex((art) => art.version === version);\n module.artifacts.splice(index, 1);\n return Promise.resolve(module);\n }\n\n publish(form: FormData): Promise<unknown> {\n return Promise.resolve(undefined);\n }\n\n getOne(name: string, options: any = {}): Promise<ExtendedFlowModule> {\n const t = this.data.find((v: any) => v.name === name);\n return Promise.resolve(t);\n }\n}\n"],"names":["FlowModulesMockService","DataMockService","constructor","modules","data","deleteArtifact","name","version","module","getOne","index","artifacts","findIndex","art","splice","Promise","resolve","publish","form","undefined","options","t","find","v"],"mappings":";;;;+BAUaA;;;eAAAA;;;iCAJmB;AAIzB,IAAA,AAAMA,yBAAN,MAAMA,+BAA+BC,gCAAe;IACzDC,YAAYC,OAA6B,CAAE;QACzC,KAAK;QACL,IAAI,CAACC,IAAI,GAAGD;IACd;IAEA,MAAME,eAAeC,IAAY,EAAEC,OAAe,EAAuB;QACvE,MAAMC,SAAS,MAAM,IAAI,CAACC,MAAM,CAACH;QACjC,MAAMI,QAAQF,OAAOG,SAAS,CAACC,SAAS,CAAC,CAACC,MAAQA,IAAIN,OAAO,KAAKA;QAClEC,OAAOG,SAAS,CAACG,MAAM,CAACJ,OAAO;QAC/B,OAAOK,QAAQC,OAAO,CAACR;IACzB;IAEAS,QAAQC,IAAc,EAAoB;QACxC,OAAOH,QAAQC,OAAO,CAACG;IACzB;IAEAV,OAAOH,IAAY,EAAEc,UAAe,CAAC,CAAC,EAA+B;QACnE,MAAMC,IAAI,IAAI,CAACjB,IAAI,CAACkB,IAAI,CAAC,CAACC,IAAWA,EAAEjB,IAAI,KAAKA;QAChD,OAAOS,QAAQC,OAAO,CAACK;IACzB;AACF"}
|
|
@@ -1,38 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "FlowMockService", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return FlowMockService;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _ts_decorate = require("@swc/helpers/_/_ts_decorate");
|
|
12
|
+
const _crypto = require("crypto");
|
|
13
|
+
const _tsmixer = require("ts-mixer");
|
|
14
|
+
const _apibasemock = require("./api-base.mock");
|
|
15
|
+
const _datamockservice = require("./data.mock.service");
|
|
16
|
+
const _trashmockservice = require("./trash.mock.service");
|
|
17
|
+
let BaseService = class BaseService extends _apibasemock.APIBaseMock {
|
|
8
18
|
};
|
|
9
|
-
BaseService =
|
|
10
|
-
mix(DataMockService, TrashMockService)
|
|
19
|
+
BaseService = _ts_decorate._([
|
|
20
|
+
(0, _tsmixer.mix)(_datamockservice.DataMockService, _trashmockservice.TrashMockService)
|
|
11
21
|
], BaseService);
|
|
12
|
-
|
|
13
|
-
constructor(flows, diagrams, revisions)
|
|
14
|
-
super(flows);
|
|
15
|
-
this.diagrams = diagrams;
|
|
16
|
-
this.revisions = revisions;
|
|
22
|
+
let FlowMockService = class FlowMockService extends BaseService {
|
|
23
|
+
constructor(flows, diagrams, revisions){
|
|
24
|
+
super(flows), this.diagrams = diagrams, this.revisions = revisions;
|
|
17
25
|
}
|
|
18
26
|
deleteOne(id, force = false) {
|
|
19
|
-
const flow = this.data.find((v)
|
|
27
|
+
const flow = this.data.find((v)=>v.id === id);
|
|
20
28
|
if (!flow?.deletedAt && !force) {
|
|
21
29
|
// put flow in paper bin by setting deletedAt prop
|
|
22
30
|
flow.deletedAt = new Date().toISOString();
|
|
23
31
|
return Promise.resolve(flow);
|
|
24
32
|
}
|
|
25
|
-
this.revisions
|
|
26
|
-
.filter((revision) => revision.originalId === id)
|
|
27
|
-
.forEach((revision) => {
|
|
33
|
+
this.revisions.filter((revision)=>revision.originalId === id).forEach((revision)=>{
|
|
28
34
|
const index = this.revisions.indexOf(revision);
|
|
29
35
|
this.revisions.splice(index, 1);
|
|
30
36
|
});
|
|
31
37
|
return super.deleteOne(id);
|
|
32
38
|
}
|
|
33
39
|
addOne(dto) {
|
|
34
|
-
const id = randomUUID();
|
|
35
|
-
this.revisions.push({
|
|
40
|
+
const id = (0, _crypto.randomUUID)();
|
|
41
|
+
this.revisions.push({
|
|
42
|
+
...dto,
|
|
43
|
+
id,
|
|
44
|
+
originalId: dto.id
|
|
45
|
+
});
|
|
36
46
|
return super.addOne(dto);
|
|
37
47
|
}
|
|
38
48
|
async updateOne(id, dto) {
|
|
@@ -47,35 +57,40 @@ export class FlowMockService extends BaseService {
|
|
|
47
57
|
return revisions[revisions.length - 1].id === diagramId;
|
|
48
58
|
}
|
|
49
59
|
getDiagramRevisions(id) {
|
|
50
|
-
return Promise.resolve(this.diagrams.filter((v)
|
|
60
|
+
return Promise.resolve(this.diagrams.filter((v)=>v.flow === id));
|
|
51
61
|
}
|
|
52
62
|
getFlowWithDiagram(diagramId) {
|
|
53
|
-
return Promise.resolve(this.data.find((v1)
|
|
63
|
+
return Promise.resolve(this.data.find((v1)=>v1.id === this.diagrams.find((v)=>v.id === diagramId).flow));
|
|
54
64
|
}
|
|
55
65
|
async getMany(params) {
|
|
56
66
|
const flows = this.getItems(params, false);
|
|
57
67
|
return {
|
|
58
|
-
docs: flows.docs.map((v)
|
|
68
|
+
docs: flows.docs.map((v)=>({
|
|
69
|
+
...v,
|
|
70
|
+
diagram: this.diagrams.find((v1)=>v1.id === v.diagram)
|
|
71
|
+
})),
|
|
59
72
|
total: 0,
|
|
60
|
-
limit: 0
|
|
73
|
+
limit: 0
|
|
61
74
|
};
|
|
62
75
|
}
|
|
63
76
|
getRevisions(id) {
|
|
64
|
-
const revisions = this.revisions.filter((revision)
|
|
77
|
+
const revisions = this.revisions.filter((revision)=>revision.originalId === id);
|
|
65
78
|
const page = {
|
|
66
79
|
docs: revisions,
|
|
67
80
|
limit: Number.MAX_SAFE_INTEGER,
|
|
68
|
-
total: revisions.length
|
|
81
|
+
total: revisions.length
|
|
69
82
|
};
|
|
70
83
|
return Promise.resolve(page);
|
|
71
84
|
}
|
|
72
85
|
rollback(id, revisionId) {
|
|
73
|
-
const flow = this.revisions.find((revision)
|
|
86
|
+
const flow = this.revisions.find((revision)=>revision.id === revisionId);
|
|
74
87
|
return Promise.resolve(flow);
|
|
75
88
|
}
|
|
76
89
|
deleteRevision(id, revisionId) {
|
|
77
|
-
const index = this.revisions.findIndex((revision)
|
|
90
|
+
const index = this.revisions.findIndex((revision)=>revision.id === revisionId);
|
|
78
91
|
this.revisions.splice(index, 1);
|
|
79
92
|
return Promise.resolve(revisionId);
|
|
80
93
|
}
|
|
81
|
-
}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=flow.mock.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/flow.mock.service.ts"],"sourcesContent":["import { randomUUID } from 'crypto';\n\nimport { mix } from 'ts-mixer';\n\nimport { Paginated, RequestParameter } from '../data.interface';\nimport { FlowDeployment } from '../flow-deployment.interface';\nimport { FlowDiagram, FlowDto, FlowRevision } from '../flow.interface';\nimport { FlowService } from '../flow.service';\nimport { APIBaseMock } from './api-base.mock';\nimport { DataMockService } from './data.mock.service';\nimport { TrashMockService } from './trash.mock.service';\n\ninterface BaseService extends DataMockService<FlowDto>, TrashMockService<FlowDto> {}\n@mix(DataMockService, TrashMockService)\nclass BaseService extends APIBaseMock<FlowDto> {}\n\nexport class FlowMockService extends BaseService implements FlowService {\n constructor(\n flows: FlowDto[],\n private diagrams: FlowDiagram[],\n private revisions: FlowRevision[],\n ) {\n super(flows);\n }\n\n deleteOne(id: string, force = false): Promise<FlowDto> {\n const flow = this.data.find((v) => v.id === id);\n if (!flow?.deletedAt && !force) {\n // put flow in paper bin by setting deletedAt prop\n flow.deletedAt = new Date().toISOString();\n return Promise.resolve(flow);\n }\n this.revisions\n .filter((revision) => revision.originalId === id)\n .forEach((revision) => {\n const index = this.revisions.indexOf(revision);\n this.revisions.splice(index, 1);\n });\n return super.deleteOne(id);\n }\n\n addOne(dto: FlowDto): Promise<FlowDto> {\n const id = randomUUID();\n this.revisions.push({ ...dto, id, originalId: dto.id });\n return super.addOne(dto);\n }\n\n async updateOne(id: string, dto: FlowDto): Promise<FlowDto> {\n await super.deleteOne(id);\n const flow = await this.addOne(dto);\n return Promise.resolve(flow);\n }\n\n public async isDeploymentOnLatestDiagramVersion(depl: FlowDeployment): Promise<boolean> {\n const flowId = typeof depl.flow === 'string' ? depl.flow : depl.flow.id;\n const diagramId = typeof depl.diagram === 'string' ? depl.diagram : depl.diagram.id;\n const revisions = await this.getDiagramRevisions(flowId);\n return revisions[revisions.length - 1].id === diagramId;\n }\n\n public getDiagramRevisions(id: string): Promise<FlowDiagram[]> {\n return Promise.resolve(this.diagrams.filter((v) => v.flow === id));\n }\n\n getFlowWithDiagram(diagramId: string): Promise<FlowDto> {\n return Promise.resolve(this.data.find((v1) => v1.id === this.diagrams.find((v) => v.id === diagramId).flow));\n }\n\n async getMany(params?: RequestParameter): Promise<Paginated<FlowDto[]>> {\n const flows = this.getItems(params, false);\n return {\n docs: flows.docs.map((v) => ({ ...v, diagram: this.diagrams.find((v1) => v1.id === v.diagram) })),\n total: 0,\n limit: 0,\n };\n }\n\n public getRevisions(id: string): Promise<Paginated<FlowRevision[]>> {\n const revisions = this.revisions.filter((revision) => revision.originalId === id);\n const page: Paginated<FlowRevision[]> = {\n docs: revisions,\n limit: Number.MAX_SAFE_INTEGER,\n total: revisions.length,\n };\n return Promise.resolve(page);\n }\n\n public rollback(id: string, revisionId: string): Promise<FlowDto> {\n const flow = this.revisions.find((revision) => revision.id === revisionId);\n return Promise.resolve(flow);\n }\n\n public deleteRevision(id: string, revisionId: string): Promise<any> {\n const index = this.revisions.findIndex((revision) => revision.id === revisionId);\n this.revisions.splice(index, 1);\n return Promise.resolve(revisionId);\n }\n}\n"],"names":["FlowMockService","BaseService","APIBaseMock","constructor","flows","diagrams","revisions","deleteOne","id","force","flow","data","find","v","deletedAt","Date","toISOString","Promise","resolve","filter","revision","originalId","forEach","index","indexOf","splice","addOne","dto","randomUUID","push","updateOne","isDeploymentOnLatestDiagramVersion","depl","flowId","diagramId","diagram","getDiagramRevisions","length","getFlowWithDiagram","v1","getMany","params","getItems","docs","map","total","limit","getRevisions","page","Number","MAX_SAFE_INTEGER","rollback","revisionId","deleteRevision","findIndex"],"mappings":"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"}
|
package/src/lib/mock/index.js
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _export_star = require("@swc/helpers/_/_export_star");
|
|
6
|
+
_export_star._(require("./api.mock"), exports);
|
|
7
|
+
_export_star._(require("./asset.mock.service"), exports);
|
|
8
|
+
_export_star._(require("./assetTypes.mock.service"), exports);
|
|
9
|
+
_export_star._(require("./content.mock.service"), exports);
|
|
10
|
+
_export_star._(require("./data.mock.service"), exports);
|
|
11
|
+
_export_star._(require("./secret.mock.service"), exports);
|
|
12
|
+
_export_star._(require("./timeseries.mock.service"), exports);
|
|
13
|
+
_export_star._(require("./task.mock.service"), exports);
|
|
14
|
+
_export_star._(require("./events.mock.service"), exports);
|
|
15
|
+
_export_star._(require("./vault.mock.service"), exports);
|
|
16
|
+
_export_star._(require("./notification.mock.service"), exports);
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/index.ts"],"sourcesContent":["export * from './api.mock';\nexport * from './asset.mock.service';\nexport * from './assetTypes.mock.service';\nexport * from './content.mock.service';\nexport * from './data.mock.service';\nexport * from './secret.mock.service';\nexport * from './timeseries.mock.service';\nexport * from './task.mock.service';\nexport * from './events.mock.service';\nexport * from './vault.mock.service';\nexport * from './notification.mock.service';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "LabelMockService", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return LabelMockService;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _datamockservice = require("./data.mock.service");
|
|
12
|
+
let LabelMockService = class LabelMockService extends _datamockservice.DataMockService {
|
|
13
|
+
constructor(labels){
|
|
4
14
|
super();
|
|
5
15
|
this.data = labels;
|
|
6
16
|
}
|
|
@@ -8,6 +18,8 @@ export class LabelMockService extends DataMockService {
|
|
|
8
18
|
return Promise.resolve(this.data.length);
|
|
9
19
|
}
|
|
10
20
|
getOneByName(name) {
|
|
11
|
-
return Promise.resolve(this.data.find((label)
|
|
21
|
+
return Promise.resolve(this.data.find((label)=>label.name === name));
|
|
12
22
|
}
|
|
13
|
-
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=label.mock.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/label.mock.service.ts"],"sourcesContent":["import { Label } from '../label.interface';\nimport { LabelService } from '../label.service';\nimport { DataMockService } from './data.mock.service';\n\nexport class LabelMockService extends DataMockService<Label> implements LabelService {\n constructor(labels: Label[]) {\n super();\n this.data = labels;\n }\n\n count(): Promise<number> {\n return Promise.resolve(this.data.length);\n }\n\n getOneByName(name: string): Promise<Label> {\n return Promise.resolve(this.data.find((label) => label.name === name));\n }\n}\n"],"names":["LabelMockService","DataMockService","constructor","labels","data","count","Promise","resolve","length","getOneByName","name","find","label"],"mappings":";;;;+BAIaA;;;eAAAA;;;iCAFmB;AAEzB,IAAA,AAAMA,mBAAN,MAAMA,yBAAyBC,gCAAe;IACnDC,YAAYC,MAAe,CAAE;QAC3B,KAAK;QACL,IAAI,CAACC,IAAI,GAAGD;IACd;IAEAE,QAAyB;QACvB,OAAOC,QAAQC,OAAO,CAAC,IAAI,CAACH,IAAI,CAACI,MAAM;IACzC;IAEAC,aAAaC,IAAY,EAAkB;QACzC,OAAOJ,QAAQC,OAAO,CAAC,IAAI,CAACH,IAAI,CAACO,IAAI,CAAC,CAACC,QAAUA,MAAMF,IAAI,KAAKA;IAClE;AACF"}
|
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "NotificationMockService", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return NotificationMockService;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _datamockservice = require("./data.mock.service");
|
|
12
|
+
let NotificationMockService = class NotificationMockService extends _datamockservice.DataMockService {
|
|
13
|
+
constructor(notifications){
|
|
4
14
|
super();
|
|
5
15
|
this.data = notifications;
|
|
6
16
|
}
|
|
7
|
-
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=notification.mock.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/notification.mock.service.ts"],"sourcesContent":["import { Notification } from '../notification.interface';\nimport { NotificationService } from '../notification.service';\nimport { DataMockService } from './data.mock.service';\n\nexport class NotificationMockService extends DataMockService<Notification> implements NotificationService {\n constructor(notifications: Notification[]) {\n super();\n this.data = notifications;\n }\n}\n"],"names":["NotificationMockService","DataMockService","constructor","notifications","data"],"mappings":";;;;+BAIaA;;;eAAAA;;;iCAFmB;AAEzB,IAAA,AAAMA,0BAAN,MAAMA,gCAAgCC,gCAAe;IAC1DC,YAAYC,aAA6B,CAAE;QACzC,KAAK;QACL,IAAI,CAACC,IAAI,GAAGD;IACd;AACF"}
|
|
@@ -1,19 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "SecretMockService", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return SecretMockService;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _ts_decorate = require("@swc/helpers/_/_ts_decorate");
|
|
12
|
+
const _tsmixer = require("ts-mixer");
|
|
13
|
+
const _apibasemock = require("./api-base.mock");
|
|
14
|
+
const _datamockservice = require("./data.mock.service");
|
|
15
|
+
const _trashmockservice = require("./trash.mock.service");
|
|
16
|
+
let BaseService = class BaseService extends _apibasemock.APIBaseMock {
|
|
7
17
|
};
|
|
8
|
-
BaseService =
|
|
9
|
-
mix(DataMockService, TrashMockService)
|
|
18
|
+
BaseService = _ts_decorate._([
|
|
19
|
+
(0, _tsmixer.mix)(_datamockservice.DataMockService, _trashmockservice.TrashMockService)
|
|
10
20
|
], BaseService);
|
|
11
|
-
|
|
12
|
-
constructor(secrets)
|
|
21
|
+
let SecretMockService = class SecretMockService extends BaseService {
|
|
22
|
+
constructor(secrets){
|
|
13
23
|
super(secrets);
|
|
14
24
|
}
|
|
15
25
|
deleteOne(contentId, force = false) {
|
|
16
|
-
const content = this.data.find((v)
|
|
26
|
+
const content = this.data.find((v)=>v.id === contentId);
|
|
17
27
|
if (!content?.deletedAt && !force) {
|
|
18
28
|
// put content in paper bin by setting deletedAt prop
|
|
19
29
|
content.deletedAt = new Date().toISOString();
|
|
@@ -25,4 +35,6 @@ export class SecretMockService extends BaseService {
|
|
|
25
35
|
const page = this.getItems(params, false);
|
|
26
36
|
return Promise.resolve(page);
|
|
27
37
|
}
|
|
28
|
-
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=secret.mock.service.js.map
|