@hahnpro/hpc-api 6.0.0 → 2024.4.0-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.
Files changed (180) hide show
  1. package/CHANGELOG.md +383 -0
  2. package/README.md +11 -0
  3. package/package.json +10 -27
  4. package/src/index.d.ts +20 -0
  5. package/src/index.js +20 -0
  6. package/{dist → src/lib}/Queue.js +2 -7
  7. package/src/lib/api-base.js +6 -0
  8. package/src/lib/api.js +60 -0
  9. package/src/lib/asset.interface.js +1 -0
  10. package/{dist → src/lib}/asset.service.js +21 -17
  11. package/src/lib/assettypes.service.js +24 -0
  12. package/{dist → src/lib}/content.interface.js +2 -5
  13. package/src/lib/content.service.js +49 -0
  14. package/src/lib/data.interface.js +3 -0
  15. package/{dist → src/lib}/data.service.js +18 -11
  16. package/src/lib/endpoint.interface.js +1 -0
  17. package/{dist → src/lib}/endpoint.service.d.ts +2 -2
  18. package/{dist → src/lib}/endpoint.service.js +2 -6
  19. package/src/lib/events.interface.js +1 -0
  20. package/src/lib/events.service.js +9 -0
  21. package/src/lib/flow-deployment.interface.js +1 -0
  22. package/src/lib/flow-deployment.service.js +68 -0
  23. package/src/lib/flow-function.interface.js +1 -0
  24. package/{dist → src/lib}/flow-function.service.js +3 -6
  25. package/src/lib/flow-module.interface.js +1 -0
  26. package/{dist → src/lib}/flow-module.service.js +8 -7
  27. package/src/lib/flow.interface.js +1 -0
  28. package/{dist → src/lib}/flow.service.js +15 -20
  29. package/{dist → src/lib}/http.service.d.ts +1 -1
  30. package/src/lib/http.service.js +184 -0
  31. package/src/lib/label.interface.js +1 -0
  32. package/{dist → src/lib}/label.service.js +2 -6
  33. package/src/lib/mock/api-base.mock.js +7 -0
  34. package/src/lib/mock/api.mock.js +199 -0
  35. package/{dist → src/lib}/mock/asset.mock.service.js +30 -41
  36. package/{dist → src/lib}/mock/assetTypes.mock.service.js +19 -27
  37. package/{dist → src/lib}/mock/content.mock.service.js +21 -24
  38. package/src/lib/mock/data.mock.service.js +93 -0
  39. package/{dist → src/lib}/mock/endpoint.mock.service.js +2 -6
  40. package/src/lib/mock/events.mock.service.js +10 -0
  41. package/src/lib/mock/flow-deployment.mock.service.js +118 -0
  42. package/{dist → src/lib}/mock/flow-functions.mock.service.js +12 -21
  43. package/src/lib/mock/flow-modules.mock.service.js +20 -0
  44. package/src/lib/mock/flow.mock.service.js +81 -0
  45. package/src/lib/mock/index.js +11 -0
  46. package/src/lib/mock/label.mock.service.js +13 -0
  47. package/src/lib/mock/notification.mock.service.js +7 -0
  48. package/src/lib/mock/secret.mock.service.js +28 -0
  49. package/src/lib/mock/task.mock.service.js +32 -0
  50. package/{dist → src/lib}/mock/timeseries.mock.service.js +40 -49
  51. package/{dist → src/lib}/mock/trash.mock.service.js +8 -15
  52. package/src/lib/mock/user.mock.service.js +10 -0
  53. package/{dist → src/lib}/mock/vault.mock.service.js +2 -6
  54. package/src/lib/notification.interface.js +1 -0
  55. package/src/lib/notification.service.js +6 -0
  56. package/{dist → src/lib}/proxy.service.js +1 -5
  57. package/src/lib/resource.interface.js +1 -0
  58. package/src/lib/schema.interface.js +1 -0
  59. package/src/lib/secret.interface.js +1 -0
  60. package/src/lib/secret.service.js +15 -0
  61. package/src/lib/storage.interface.js +1 -0
  62. package/src/lib/task.interface.js +1 -0
  63. package/src/lib/task.service.js +19 -0
  64. package/src/lib/timeseries.interface.js +1 -0
  65. package/src/lib/timeseries.service.js +92 -0
  66. package/{dist → src/lib}/token-set.js +3 -7
  67. package/{dist → src/lib}/trash.service.js +2 -6
  68. package/src/lib/user-settings.interface.js +1 -0
  69. package/src/lib/user.service.js +26 -0
  70. package/src/lib/vault.interface.js +1 -0
  71. package/src/lib/vault.service.js +10 -0
  72. package/LICENSE +0 -21
  73. package/dist/api-base.js +0 -10
  74. package/dist/api.js +0 -62
  75. package/dist/asset.interface.js +0 -2
  76. package/dist/assettypes.service.js +0 -28
  77. package/dist/content.service.js +0 -50
  78. package/dist/data.interface.js +0 -6
  79. package/dist/endpoint.interface.js +0 -2
  80. package/dist/events.interface.js +0 -2
  81. package/dist/events.service.js +0 -13
  82. package/dist/flow-deployment.interface.js +0 -2
  83. package/dist/flow-deployment.service.js +0 -74
  84. package/dist/flow-function.interface.js +0 -2
  85. package/dist/flow-module.interface.js +0 -2
  86. package/dist/flow.interface.js +0 -2
  87. package/dist/http.service.js +0 -182
  88. package/dist/index.d.ts +0 -20
  89. package/dist/index.js +0 -23
  90. package/dist/label.interface.js +0 -2
  91. package/dist/mock/api-base.mock.js +0 -11
  92. package/dist/mock/api.mock.js +0 -128
  93. package/dist/mock/data.mock.service.js +0 -96
  94. package/dist/mock/events.mock.service.js +0 -14
  95. package/dist/mock/flow-deployment.mock.service.js +0 -142
  96. package/dist/mock/flow-modules.mock.service.js +0 -27
  97. package/dist/mock/flow.mock.service.js +0 -93
  98. package/dist/mock/index.js +0 -14
  99. package/dist/mock/label.mock.service.js +0 -17
  100. package/dist/mock/notification.mock.service.js +0 -11
  101. package/dist/mock/secret.mock.service.js +0 -31
  102. package/dist/mock/task.mock.service.js +0 -37
  103. package/dist/mock/user.mock.service.js +0 -14
  104. package/dist/notification.interface.js +0 -2
  105. package/dist/notification.service.js +0 -10
  106. package/dist/resource.interface.js +0 -2
  107. package/dist/schema.interface.js +0 -2
  108. package/dist/secret.interface.js +0 -2
  109. package/dist/secret.service.js +0 -19
  110. package/dist/storage.interface.js +0 -2
  111. package/dist/task.interface.js +0 -2
  112. package/dist/task.service.js +0 -22
  113. package/dist/timeseries.interface.js +0 -2
  114. package/dist/timeseries.service.js +0 -56
  115. package/dist/user-settings.interface.js +0 -2
  116. package/dist/user.service.js +0 -33
  117. package/dist/vault.interface.js +0 -2
  118. package/dist/vault.service.js +0 -14
  119. package/{dist → src/lib}/Queue.d.ts +0 -0
  120. package/{dist → src/lib}/api-base.d.ts +0 -0
  121. package/{dist → src/lib}/api.d.ts +6 -6
  122. package/{dist → src/lib}/asset.interface.d.ts +0 -0
  123. package/{dist → src/lib}/asset.service.d.ts +0 -0
  124. package/{dist → src/lib}/assettypes.service.d.ts +0 -0
  125. package/{dist → src/lib}/content.interface.d.ts +0 -0
  126. package/{dist → src/lib}/content.service.d.ts +1 -1
  127. package/{dist → src/lib}/data.interface.d.ts +0 -0
  128. package/{dist → src/lib}/data.service.d.ts +0 -0
  129. package/{dist → src/lib}/endpoint.interface.d.ts +0 -0
  130. package/{dist → src/lib}/events.interface.d.ts +0 -0
  131. package/{dist → src/lib}/events.service.d.ts +0 -0
  132. package/{dist → src/lib}/flow-deployment.interface.d.ts +1 -1
  133. package/{dist → src/lib}/flow-deployment.service.d.ts +0 -0
  134. package/{dist → src/lib}/flow-function.interface.d.ts +0 -0
  135. package/{dist → src/lib}/flow-function.service.d.ts +1 -1
  136. package/{dist → src/lib}/flow-module.interface.d.ts +0 -0
  137. package/{dist → src/lib}/flow-module.service.d.ts +1 -1
  138. package/{dist → src/lib}/flow.interface.d.ts +1 -1
  139. package/{dist → src/lib}/flow.service.d.ts +1 -1
  140. package/{dist → src/lib}/label.interface.d.ts +0 -0
  141. package/{dist → src/lib}/label.service.d.ts +0 -0
  142. package/{dist → src/lib}/mock/api-base.mock.d.ts +0 -0
  143. package/{dist → src/lib}/mock/api.mock.d.ts +18 -18
  144. package/{dist → src/lib}/mock/asset.mock.service.d.ts +1 -1
  145. package/{dist → src/lib}/mock/assetTypes.mock.service.d.ts +0 -0
  146. package/{dist → src/lib}/mock/content.mock.service.d.ts +1 -1
  147. package/{dist → src/lib}/mock/data.mock.service.d.ts +0 -0
  148. package/{dist → src/lib}/mock/endpoint.mock.service.d.ts +0 -0
  149. package/{dist → src/lib}/mock/events.mock.service.d.ts +0 -0
  150. package/{dist → src/lib}/mock/flow-deployment.mock.service.d.ts +2 -2
  151. package/{dist → src/lib}/mock/flow-functions.mock.service.d.ts +1 -1
  152. package/{dist → src/lib}/mock/flow-modules.mock.service.d.ts +2 -2
  153. package/{dist → src/lib}/mock/flow.mock.service.d.ts +1 -1
  154. package/{dist → src/lib}/mock/index.d.ts +0 -0
  155. package/{dist → src/lib}/mock/label.mock.service.d.ts +1 -1
  156. package/{dist → src/lib}/mock/notification.mock.service.d.ts +1 -1
  157. package/{dist → src/lib}/mock/secret.mock.service.d.ts +1 -1
  158. package/{dist → src/lib}/mock/task.mock.service.d.ts +0 -0
  159. package/{dist → src/lib}/mock/timeseries.mock.service.d.ts +0 -0
  160. package/{dist → src/lib}/mock/trash.mock.service.d.ts +1 -1
  161. package/{dist → src/lib}/mock/user.mock.service.d.ts +0 -0
  162. package/{dist → src/lib}/mock/vault.mock.service.d.ts +1 -1
  163. package/{dist → src/lib}/notification.interface.d.ts +0 -0
  164. package/{dist → src/lib}/notification.service.d.ts +1 -1
  165. package/{dist → src/lib}/proxy.service.d.ts +0 -0
  166. package/{dist → src/lib}/resource.interface.d.ts +0 -0
  167. package/{dist → src/lib}/schema.interface.d.ts +0 -0
  168. package/{dist → src/lib}/secret.interface.d.ts +0 -0
  169. package/{dist → src/lib}/secret.service.d.ts +0 -0
  170. package/{dist → src/lib}/storage.interface.d.ts +0 -0
  171. package/{dist → src/lib}/task.interface.d.ts +0 -0
  172. package/{dist → src/lib}/task.service.d.ts +0 -0
  173. package/{dist → src/lib}/timeseries.interface.d.ts +0 -0
  174. package/{dist → src/lib}/timeseries.service.d.ts +0 -0
  175. package/{dist → src/lib}/token-set.d.ts +0 -0
  176. package/{dist → src/lib}/trash.service.d.ts +0 -0
  177. package/{dist → src/lib}/user-settings.interface.d.ts +0 -0
  178. package/{dist → src/lib}/user.service.d.ts +0 -0
  179. package/{dist → src/lib}/vault.interface.d.ts +0 -0
  180. package/{dist → src/lib}/vault.service.d.ts +1 -1
@@ -0,0 +1,118 @@
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 {
8
+ };
9
+ BaseService = __decorate([
10
+ mix(DataMockService, TrashMockService)
11
+ ], BaseService);
12
+ export class FlowDeploymentMockService extends BaseService {
13
+ constructor(deployments, api) {
14
+ super(deployments);
15
+ this.api = api;
16
+ }
17
+ subscribeToStatus(id, listener, errorListener) {
18
+ listener(new MessageEvent('message', { data: 'running' }));
19
+ return Promise.resolve(randomUUID());
20
+ }
21
+ subscribeToLogs(id, listener, errorListener) {
22
+ listener(new MessageEvent('message', { data: 'foo' }));
23
+ return Promise.resolve(randomUUID());
24
+ }
25
+ async waitForRunningStatus(id) {
26
+ const flowDeployment = this.data.find((v) => v.id === id);
27
+ flowDeployment.actualStatus = 'running';
28
+ }
29
+ async updateStatus(id, desiredStatus) {
30
+ const deployment = await this.getOne(id);
31
+ deployment.desiredStatus = desiredStatus;
32
+ deployment.actualStatus = desiredStatus;
33
+ return Promise.resolve(deployment);
34
+ }
35
+ async resolveReferences(id, recursive, types) {
36
+ const depl = await this.getOne(id);
37
+ return depl.refs ?? [];
38
+ }
39
+ getDeploymentStatistics(id) {
40
+ return Promise.resolve({
41
+ totalErrorCount: 0,
42
+ errorCountWeek: 0,
43
+ eventCountWeek: 0,
44
+ errorCounts: [],
45
+ metrics: {
46
+ cpu: 0,
47
+ memory: 97931264,
48
+ ctime: 16770,
49
+ elapsed: 172850950,
50
+ timestamp: 1648199692625,
51
+ deploymentId: id,
52
+ },
53
+ });
54
+ }
55
+ getDeploymentMetrics(id, range, interval) {
56
+ return Promise.resolve({
57
+ metrics: [{ timestamp: Date.now(), cpu: 0, memory: Math.random() * 1000000 }],
58
+ stats: {
59
+ cpu: { count: 123, avg: 0, max: 0, min: 0, sum: 0 },
60
+ memory: { count: 123, avg: 0, max: 0, min: 0, sum: 0 },
61
+ },
62
+ });
63
+ }
64
+ async getDeploymentLogs(id) {
65
+ const depl = await this.getOne(id);
66
+ return Promise.resolve([
67
+ {
68
+ type: 'flow.log.info',
69
+ deploymentId: id,
70
+ subject: 'FlowApplication',
71
+ data: 'Flow Deployment is running',
72
+ '@timestamp': '2022-03-23T09:14:03.129Z',
73
+ eventId: 'c68b7674-b8da-46c5-85f0-8e4279d74a78',
74
+ datacontenttype: 'text/plain',
75
+ elementId: 'none',
76
+ time: '2022-03-23T09:14:03.129Z',
77
+ flowId: depl.flow,
78
+ },
79
+ ]);
80
+ }
81
+ async addOne(dto) {
82
+ const flow = await this.api.flows.getFlowWithDiagram(dto.diagramId);
83
+ const refs = await this.getReferences(dto.properties);
84
+ const id = randomUUID();
85
+ const newDepl = {
86
+ actualStatus: 'generating queued',
87
+ artifact: undefined,
88
+ desiredStatus: 'running',
89
+ diagram: dto.diagramId,
90
+ flow: flow.id,
91
+ flowModel: { elements: [], connections: [], properties: dto.properties },
92
+ id,
93
+ name: dto.name,
94
+ readPermissions: [],
95
+ readWritePermissions: [],
96
+ target: 'executor',
97
+ refs,
98
+ };
99
+ await this.api.flows.updateOne(flow.id, { ...flow, deployments: [...flow.deployments, id] });
100
+ return super.addOne(newDepl);
101
+ }
102
+ async deleteOne(id) {
103
+ const depl = await this.getOne(id);
104
+ const flow = await this.api.flows.getOne(depl.flow);
105
+ const index = flow.deployments.findIndex((v) => v === id);
106
+ flow.deployments.splice(index, 1);
107
+ await this.api.flows.updateOne(flow.id, flow);
108
+ return super.deleteOne(id);
109
+ }
110
+ async getReferences(properties) {
111
+ // super simplified version of real resolver
112
+ return Promise.all(Object.keys(properties).map(async (prop) => {
113
+ if (prop !== 'assetId')
114
+ throw new Error('not implemented');
115
+ return { id: (await this.api.assets.getOne(properties[prop])).id, resourceType: 'asset' };
116
+ }));
117
+ }
118
+ }
@@ -1,18 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FlowFunctionsMockService = void 0;
4
- const tslib_1 = require("tslib");
5
- const crypto_1 = require("crypto");
6
- const data_mock_service_1 = require("./data.mock.service");
7
- class FlowFunctionsMockService extends data_mock_service_1.DataMockService {
1
+ import { randomUUID } from 'crypto';
2
+ import { DataMockService } from './data.mock.service';
3
+ export class FlowFunctionsMockService extends DataMockService {
8
4
  constructor(functions, revisions) {
9
5
  super();
10
6
  this.revisions = revisions;
11
7
  this.data = functions;
12
8
  }
13
9
  addOne(dto) {
14
- const id = (0, crypto_1.randomUUID)();
15
- this.revisions.push(Object.assign(Object.assign({}, dto), { id, originalId: dto.fqn }));
10
+ const id = randomUUID();
11
+ this.revisions.push({ ...dto, id, originalId: dto.fqn });
16
12
  return super.addOne(dto);
17
13
  }
18
14
  deleteOne(fqn) {
@@ -26,22 +22,18 @@ class FlowFunctionsMockService extends data_mock_service_1.DataMockService {
26
22
  });
27
23
  return Promise.resolve(undefined);
28
24
  }
29
- updateOne(fqn, dto) {
30
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
31
- const index = this.data.findIndex((v) => v.fqn === fqn);
32
- this.data.splice(index, 1);
33
- const flowFunction = yield this.addOne(dto);
34
- return Promise.resolve(flowFunction);
35
- });
25
+ async updateOne(fqn, dto) {
26
+ const index = this.data.findIndex((v) => v.fqn === fqn);
27
+ this.data.splice(index, 1);
28
+ const flowFunction = await this.addOne(dto);
29
+ return Promise.resolve(flowFunction);
36
30
  }
37
31
  getOne(fqn, options) {
38
32
  const t = this.data.find((v) => v.fqn === fqn);
39
33
  return Promise.resolve(t);
40
34
  }
41
- getOneById(id) {
42
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
43
- return this.data.find((v) => v.id === id);
44
- });
35
+ async getOneById(id) {
36
+ return this.data.find((v) => v.id === id);
45
37
  }
46
38
  getRevisions(fqn) {
47
39
  const revisions = this.revisions.filter((revision) => revision.originalId === fqn);
@@ -62,4 +54,3 @@ class FlowFunctionsMockService extends data_mock_service_1.DataMockService {
62
54
  return Promise.resolve(revisionId);
63
55
  }
64
56
  }
65
- exports.FlowFunctionsMockService = FlowFunctionsMockService;
@@ -0,0 +1,20 @@
1
+ import { DataMockService } from './data.mock.service';
2
+ export class FlowModulesMockService extends DataMockService {
3
+ constructor(modules) {
4
+ super();
5
+ this.data = modules;
6
+ }
7
+ async deleteArtifact(name, version) {
8
+ const module = await this.getOne(name);
9
+ const index = module.artifacts.findIndex((art) => art.version === version);
10
+ module.artifacts.splice(index, 1);
11
+ return Promise.resolve(module);
12
+ }
13
+ publish(form) {
14
+ return Promise.resolve(undefined);
15
+ }
16
+ getOne(name, options = {}) {
17
+ const t = this.data.find((v) => v.name === name);
18
+ return Promise.resolve(t);
19
+ }
20
+ }
@@ -0,0 +1,81 @@
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 {
8
+ };
9
+ BaseService = __decorate([
10
+ mix(DataMockService, TrashMockService)
11
+ ], BaseService);
12
+ export class FlowMockService extends BaseService {
13
+ constructor(flows, diagrams, revisions) {
14
+ super(flows);
15
+ this.diagrams = diagrams;
16
+ this.revisions = revisions;
17
+ }
18
+ deleteOne(id, force = false) {
19
+ const flow = this.data.find((v) => v.id === id);
20
+ if (!flow?.deletedAt && !force) {
21
+ // put flow in paper bin by setting deletedAt prop
22
+ flow.deletedAt = new Date().toISOString();
23
+ return Promise.resolve(flow);
24
+ }
25
+ this.revisions
26
+ .filter((revision) => revision.originalId === id)
27
+ .forEach((revision) => {
28
+ const index = this.revisions.indexOf(revision);
29
+ this.revisions.splice(index, 1);
30
+ });
31
+ return super.deleteOne(id);
32
+ }
33
+ addOne(dto) {
34
+ const id = randomUUID();
35
+ this.revisions.push({ ...dto, id, originalId: dto.id });
36
+ return super.addOne(dto);
37
+ }
38
+ async updateOne(id, dto) {
39
+ await super.deleteOne(id);
40
+ const flow = await this.addOne(dto);
41
+ return Promise.resolve(flow);
42
+ }
43
+ async isDeploymentOnLatestDiagramVersion(depl) {
44
+ const flowId = typeof depl.flow === 'string' ? depl.flow : depl.flow.id;
45
+ const diagramId = typeof depl.diagram === 'string' ? depl.diagram : depl.diagram.id;
46
+ const revisions = await this.getDiagramRevisions(flowId);
47
+ return revisions[revisions.length - 1].id === diagramId;
48
+ }
49
+ getDiagramRevisions(id) {
50
+ return Promise.resolve(this.diagrams.filter((v) => v.flow === id));
51
+ }
52
+ getFlowWithDiagram(diagramId) {
53
+ return Promise.resolve(this.data.find((v1) => v1.id === this.diagrams.find((v) => v.id === diagramId).flow));
54
+ }
55
+ async getMany(params) {
56
+ const flows = this.getItems(params, false);
57
+ return {
58
+ docs: flows.docs.map((v) => ({ ...v, diagram: this.diagrams.find((v1) => v1.id === v.diagram) })),
59
+ total: 0,
60
+ limit: 0,
61
+ };
62
+ }
63
+ getRevisions(id) {
64
+ const revisions = this.revisions.filter((revision) => revision.originalId === id);
65
+ const page = {
66
+ docs: revisions,
67
+ limit: Number.MAX_SAFE_INTEGER,
68
+ total: revisions.length,
69
+ };
70
+ return Promise.resolve(page);
71
+ }
72
+ rollback(id, revisionId) {
73
+ const flow = this.revisions.find((revision) => revision.id === revisionId);
74
+ return Promise.resolve(flow);
75
+ }
76
+ deleteRevision(id, revisionId) {
77
+ const index = this.revisions.findIndex((revision) => revision.id === revisionId);
78
+ this.revisions.splice(index, 1);
79
+ return Promise.resolve(revisionId);
80
+ }
81
+ }
@@ -0,0 +1,11 @@
1
+ export * from './api.mock';
2
+ export * from './asset.mock.service';
3
+ export * from './assetTypes.mock.service';
4
+ export * from './content.mock.service';
5
+ export * from './data.mock.service';
6
+ export * from './secret.mock.service';
7
+ export * from './timeseries.mock.service';
8
+ export * from './task.mock.service';
9
+ export * from './events.mock.service';
10
+ export * from './vault.mock.service';
11
+ export * from './notification.mock.service';
@@ -0,0 +1,13 @@
1
+ import { DataMockService } from './data.mock.service';
2
+ export class LabelMockService extends DataMockService {
3
+ constructor(labels) {
4
+ super();
5
+ this.data = labels;
6
+ }
7
+ count() {
8
+ return Promise.resolve(this.data.length);
9
+ }
10
+ getOneByName(name) {
11
+ return Promise.resolve(this.data.find((label) => label.name === name));
12
+ }
13
+ }
@@ -0,0 +1,7 @@
1
+ import { DataMockService } from './data.mock.service';
2
+ export class NotificationMockService extends DataMockService {
3
+ constructor(notifications) {
4
+ super();
5
+ this.data = notifications;
6
+ }
7
+ }
@@ -0,0 +1,28 @@
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 {
7
+ };
8
+ BaseService = __decorate([
9
+ mix(DataMockService, TrashMockService)
10
+ ], BaseService);
11
+ export class SecretMockService extends BaseService {
12
+ constructor(secrets) {
13
+ super(secrets);
14
+ }
15
+ deleteOne(contentId, force = false) {
16
+ const content = this.data.find((v) => v.id === contentId);
17
+ if (!content?.deletedAt && !force) {
18
+ // put content in paper bin by setting deletedAt prop
19
+ content.deletedAt = new Date().toISOString();
20
+ return Promise.resolve(content);
21
+ }
22
+ return super.deleteOne(contentId);
23
+ }
24
+ getMany(params) {
25
+ const page = this.getItems(params, false);
26
+ return Promise.resolve(page);
27
+ }
28
+ }
@@ -0,0 +1,32 @@
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 {
7
+ };
8
+ BaseService = __decorate([
9
+ mix(DataMockService, TrashMockService)
10
+ ], BaseService);
11
+ export class TaskMockService extends BaseService {
12
+ constructor(tasks) {
13
+ super(tasks);
14
+ }
15
+ async createTaskAttachedToAsset(dto) {
16
+ this.data.push(dto);
17
+ return Promise.resolve(dto);
18
+ }
19
+ deleteOne(taskId, force = false) {
20
+ const task = this.data.find((v) => v.id === taskId);
21
+ if (!task?.deletedAt && !force) {
22
+ // put content in paper bin by setting deletedAt prop
23
+ task.deletedAt = new Date().toISOString();
24
+ return Promise.resolve(task);
25
+ }
26
+ return super.deleteOne(taskId);
27
+ }
28
+ getMany(params) {
29
+ const page = this.getItems(params, false);
30
+ return Promise.resolve(page);
31
+ }
32
+ }
@@ -1,24 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TimeseriesMockService = void 0;
4
- const tslib_1 = require("tslib");
5
- const ts_mixer_1 = require("ts-mixer");
6
- const api_base_mock_1 = require("./api-base.mock");
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 = tslib_1.__decorate([
12
- (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
8
+ BaseService = __decorate([
9
+ mix(DataMockService, TrashMockService)
13
10
  ], BaseService);
14
- class TimeseriesMockService extends BaseService {
11
+ export class TimeseriesMockService extends BaseService {
15
12
  constructor(timeseries, timeseriesValues) {
16
- const data = timeseries.map((value, index) => (Object.assign(Object.assign({}, value), { data: timeseriesValues[index] })));
13
+ const data = timeseries.map((value, index) => ({ ...value, data: timeseriesValues[index] }));
17
14
  super(data);
18
15
  }
19
16
  deleteOne(tsmId, force = false) {
20
17
  const tsm = this.data.find((v) => v.id === tsmId);
21
- if (!(tsm === null || tsm === void 0 ? void 0 : tsm.deletedAt) && !force) {
18
+ if (!tsm?.deletedAt && !force) {
19
+ // put tsm in paper bin by setting deletedAt prop
22
20
  tsm.deletedAt = new Date().toISOString();
23
21
  return Promise.resolve(tsm);
24
22
  }
@@ -32,7 +30,7 @@ class TimeseriesMockService extends BaseService {
32
30
  const ts = this.data.find((v) => v.assetRef === assetId);
33
31
  const data = Object.entries(values).map(([timestamp, value]) => {
34
32
  if (value !== null && typeof value === 'object') {
35
- return Object.assign({ timestamp }, value);
33
+ return { timestamp, ...value };
36
34
  }
37
35
  else {
38
36
  return { timestamp, value };
@@ -63,7 +61,7 @@ class TimeseriesMockService extends BaseService {
63
61
  for (const [tsName, values] of Object.entries(timeSeries)) {
64
62
  const data = Object.entries(values).map(([timestamp, value]) => {
65
63
  if (value !== null && typeof value === 'object') {
66
- return Object.assign({ timestamp }, value);
64
+ return { timestamp, ...value };
67
65
  }
68
66
  else {
69
67
  return { timestamp, value };
@@ -92,20 +90,19 @@ class TimeseriesMockService extends BaseService {
92
90
  }
93
91
  return Promise.resolve(psr);
94
92
  }
95
- addValue(id, value) {
96
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
97
- const ts = yield this.getOne(id, {});
98
- for (const [timestamp, v] of Object.entries(value)) {
99
- if (v !== null && typeof v === 'object') {
100
- ts.data.push(Object.assign({ timestamp }, v));
101
- }
102
- else {
103
- ts.data.push({ timestamp: parseInt(timestamp, 10), value: v });
104
- }
93
+ async addValue(id, value) {
94
+ const ts = await this.getOne(id, {});
95
+ for (const [timestamp, v] of Object.entries(value)) {
96
+ if (v !== null && typeof v === 'object') {
97
+ ts.data.push({ timestamp, ...v });
105
98
  }
106
- });
99
+ else {
100
+ ts.data.push({ timestamp: parseInt(timestamp, 10), value: v });
101
+ }
102
+ }
107
103
  }
108
104
  getManyByAsset(assetId, names) {
105
+ // get timeseries where assetRef is assetId
109
106
  const page = { docs: [], limit: 10, total: 0 };
110
107
  for (const datum of this.data) {
111
108
  if (datum.assetRef === assetId) {
@@ -118,30 +115,24 @@ class TimeseriesMockService extends BaseService {
118
115
  page.total = page.docs.length;
119
116
  return Promise.resolve(page);
120
117
  }
121
- getMostRecentValue(id, before) {
122
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
123
- const ts = yield this.getOne(id, {});
124
- for (const datum of ts.data) {
125
- if (datum.timestamp < before.valueOf()) {
126
- return datum;
127
- }
118
+ async getMostRecentValue(id, before) {
119
+ const ts = await this.getOne(id, {});
120
+ for (const datum of ts.data) {
121
+ if (datum.timestamp < before.valueOf()) {
122
+ return datum;
128
123
  }
129
- });
124
+ }
125
+ return null;
130
126
  }
131
- getValues(id, from, limit, group) {
132
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
133
- let timeSeriesValues = yield this.getValuesOfPeriod(id, from, new Date().valueOf(), group);
134
- if (limit) {
135
- timeSeriesValues = timeSeriesValues.slice(0, limit);
136
- }
137
- return timeSeriesValues;
138
- });
127
+ async getValues(id, from, limit, group) {
128
+ let timeSeriesValues = await this.getValuesOfPeriod(id, from, new Date().valueOf(), group);
129
+ if (limit) {
130
+ timeSeriesValues = timeSeriesValues.slice(0, limit);
131
+ }
132
+ return timeSeriesValues;
139
133
  }
140
- getValuesOfPeriod(id, from, to, group) {
141
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
142
- const ts = yield this.getOne(id, {});
143
- return ts.data.filter((v) => v.timestamp < to && v.timestamp > from);
144
- });
134
+ async getValuesOfPeriod(id, from, to, group) {
135
+ const ts = await this.getOne(id, {});
136
+ return ts.data.filter((v) => v.timestamp < to && v.timestamp > from);
145
137
  }
146
138
  }
147
- exports.TimeseriesMockService = TimeseriesMockService;
@@ -1,9 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TrashMockService = void 0;
4
- const tslib_1 = require("tslib");
5
- const trash_service_1 = require("../trash.service");
6
- class TrashMockService extends trash_service_1.TrashService {
1
+ import { TrashService } from '../trash.service';
2
+ export class TrashMockService extends TrashService {
7
3
  constructor() {
8
4
  super(null, null);
9
5
  this.data = [];
@@ -20,14 +16,12 @@ class TrashMockService extends trash_service_1.TrashService {
20
16
  delete deleted['deletedAt'];
21
17
  return Promise.resolve(deleted);
22
18
  }
23
- emptyTrash(offset) {
24
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
- const dateOffsSeconds = Math.round(new Date().getTime() / 1000) - offset;
26
- const date = new Date(dateOffsSeconds * 1000);
27
- const trashIds = this.data.filter((v) => new Date(v['deletedAt']) < date).map((v) => v.id);
28
- this.data = this.data.filter((item) => !trashIds.includes(item.id));
29
- return Promise.resolve({ acknowledged: true, deletedCount: trashIds.length });
30
- });
19
+ async emptyTrash(offset) {
20
+ const dateOffsSeconds = Math.round(new Date().getTime() / 1000) - offset;
21
+ const date = new Date(dateOffsSeconds * 1000);
22
+ const trashIds = this.data.filter((v) => new Date(v['deletedAt']) < date).map((v) => v.id);
23
+ this.data = this.data.filter((item) => !trashIds.includes(item.id));
24
+ return Promise.resolve({ acknowledged: true, deletedCount: trashIds.length });
31
25
  }
32
26
  getTrash(params) {
33
27
  const page = this.getItems(params, true);
@@ -43,4 +37,3 @@ class TrashMockService extends trash_service_1.TrashService {
43
37
  return page;
44
38
  }
45
39
  }
46
- exports.TrashMockService = TrashMockService;
@@ -0,0 +1,10 @@
1
+ import { UserService } from '../user.service';
2
+ export class UserMockService extends UserService {
3
+ constructor(users) {
4
+ super(null);
5
+ this.users = users;
6
+ }
7
+ getCurrentUserRoles() {
8
+ return Promise.resolve(this.users.roles);
9
+ }
10
+ }
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VaultMockService = void 0;
4
- const data_mock_service_1 = require("./data.mock.service");
5
- class VaultMockService extends data_mock_service_1.DataMockService {
1
+ import { DataMockService } from './data.mock.service';
2
+ export class VaultMockService extends DataMockService {
6
3
  constructor(secrets) {
7
4
  super();
8
5
  this.data = secrets;
@@ -15,4 +12,3 @@ class VaultMockService extends data_mock_service_1.DataMockService {
15
12
  return Promise.resolve(vaultSecret.secret);
16
13
  }
17
14
  }
18
- exports.VaultMockService = VaultMockService;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { DataService } from './data.service';
2
+ export class NotificationService extends DataService {
3
+ constructor(httpClient) {
4
+ super(httpClient, '/notifications');
5
+ }
6
+ }
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProxyService = void 0;
4
- class ProxyService {
1
+ export class ProxyService {
5
2
  constructor(httpClient) {
6
3
  this.httpClient = httpClient;
7
4
  this.delete = (proxyId, path, config) => this.httpClient.delete(this.url(proxyId, path), config);
@@ -14,4 +11,3 @@ class ProxyService {
14
11
  return `/proxy/${proxyId}${path}`;
15
12
  }
16
13
  }
17
- exports.ProxyService = ProxyService;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import { __decorate } from "tslib";
2
+ import { mix } from 'ts-mixer';
3
+ import { APIBase } from './api-base';
4
+ import { DataService } from './data.service';
5
+ import { TrashService } from './trash.service';
6
+ let BaseService = class BaseService extends APIBase {
7
+ };
8
+ BaseService = __decorate([
9
+ mix(DataService, TrashService)
10
+ ], BaseService);
11
+ export class SecretService extends BaseService {
12
+ constructor(httpClient) {
13
+ super(httpClient, '/secrets');
14
+ }
15
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ import { __decorate } from "tslib";
2
+ import { mix } from 'ts-mixer';
3
+ import { APIBase } from './api-base';
4
+ import { DataService } from './data.service';
5
+ import { TrashService } from './trash.service';
6
+ let BaseService = class BaseService extends APIBase {
7
+ };
8
+ BaseService = __decorate([
9
+ mix(DataService, TrashService)
10
+ ], BaseService);
11
+ export class TaskService extends BaseService {
12
+ constructor(httpClient) {
13
+ super(httpClient, '/tasks');
14
+ }
15
+ // we may not need this method (already have the addOne method from DataService)
16
+ createTaskAttachedToAsset(dto, options = {}) {
17
+ return this.httpClient.post(this.basePath, dto, options);
18
+ }
19
+ }