@hahnpro/hpc-api 3.2.1 → 3.4.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 (60) hide show
  1. package/dist/api-base.d.ts +6 -0
  2. package/dist/api-base.js +10 -0
  3. package/dist/api.js +1 -1
  4. package/dist/asset.interface.d.ts +1 -0
  5. package/dist/asset.service.d.ts +8 -8
  6. package/dist/asset.service.js +10 -15
  7. package/dist/assettypes.service.d.ts +9 -2
  8. package/dist/assettypes.service.js +10 -1
  9. package/dist/content.interface.d.ts +1 -0
  10. package/dist/content.service.d.ts +9 -2
  11. package/dist/content.service.js +10 -1
  12. package/dist/data.service.d.ts +4 -7
  13. package/dist/data.service.js +4 -7
  14. package/dist/flow-deployment.service.d.ts +9 -2
  15. package/dist/flow-deployment.service.js +10 -1
  16. package/dist/flow.interface.d.ts +1 -1
  17. package/dist/flow.service.d.ts +10 -3
  18. package/dist/flow.service.js +11 -2
  19. package/dist/http.service.d.ts +12 -10
  20. package/dist/http.service.js +28 -50
  21. package/dist/mock/api-base.mock.d.ts +5 -0
  22. package/dist/mock/api-base.mock.js +11 -0
  23. package/dist/mock/asset.mock.service.d.ts +8 -8
  24. package/dist/mock/asset.mock.service.js +11 -26
  25. package/dist/mock/assetTypes.mock.service.d.ts +11 -3
  26. package/dist/mock/assetTypes.mock.service.js +22 -5
  27. package/dist/mock/content.mock.service.d.ts +11 -1
  28. package/dist/mock/content.mock.service.js +23 -3
  29. package/dist/mock/data.mock.service.d.ts +3 -2
  30. package/dist/mock/flow-deployment.mock.service.d.ts +11 -4
  31. package/dist/mock/flow-deployment.mock.service.js +15 -10
  32. package/dist/mock/flow-functions.mock.service.d.ts +1 -1
  33. package/dist/mock/flow-functions.mock.service.js +3 -3
  34. package/dist/mock/flow.mock.service.d.ts +11 -4
  35. package/dist/mock/flow.mock.service.js +25 -12
  36. package/dist/mock/secret.mock.service.d.ts +11 -1
  37. package/dist/mock/secret.mock.service.js +23 -3
  38. package/dist/mock/task.mock.service.d.ts +11 -1
  39. package/dist/mock/task.mock.service.js +23 -3
  40. package/dist/mock/timeseries.mock.service.d.ts +18 -3
  41. package/dist/mock/timeseries.mock.service.js +24 -4
  42. package/dist/mock/trash.mock.service.d.ts +18 -0
  43. package/dist/mock/trash.mock.service.js +43 -0
  44. package/dist/resource.interface.d.ts +1 -1
  45. package/dist/secret.interface.d.ts +1 -0
  46. package/dist/secret.service.d.ts +8 -1
  47. package/dist/secret.service.js +10 -1
  48. package/dist/task.interface.d.ts +1 -0
  49. package/dist/task.service.d.ts +8 -1
  50. package/dist/task.service.js +10 -1
  51. package/dist/timeseries.interface.d.ts +1 -0
  52. package/dist/timeseries.service.d.ts +8 -1
  53. package/dist/timeseries.service.js +10 -1
  54. package/dist/trash.service.d.ts +11 -0
  55. package/dist/trash.service.js +21 -0
  56. package/dist/user-settings.interface.d.ts +29 -0
  57. package/dist/user-settings.interface.js +2 -0
  58. package/dist/user.service.d.ts +5 -0
  59. package/dist/user.service.js +10 -0
  60. package/package.json +6 -3
@@ -1,20 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AssetTypesMockService = void 0;
4
- const data_mock_service_1 = require("./data.mock.service");
4
+ const tslib_1 = require("tslib");
5
5
  const crypto_1 = require("crypto");
6
- class AssetTypesMockService extends data_mock_service_1.DataMockService {
6
+ const ts_mixer_1 = require("ts-mixer");
7
+ const api_base_mock_1 = require("./api-base.mock");
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 {
11
+ };
12
+ BaseService = tslib_1.__decorate([
13
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
14
+ ], BaseService);
15
+ class AssetTypesMockService extends BaseService {
7
16
  constructor(assetTypes, revisions) {
8
- super();
17
+ super(assetTypes);
9
18
  this.revisions = revisions;
10
- this.data = assetTypes;
19
+ }
20
+ getMany(params) {
21
+ const page = this.getItems(params, false);
22
+ return Promise.resolve(page);
11
23
  }
12
24
  addOne(dto) {
13
25
  const id = (0, crypto_1.randomUUID)();
14
26
  this.revisions.push(Object.assign(Object.assign({}, dto), { id, originalId: dto.id }));
15
27
  return super.addOne(dto);
16
28
  }
17
- deleteOne(id) {
29
+ deleteOne(id, force = false) {
30
+ const assettype = this.data.find((v) => v.id === id);
31
+ if (!(assettype === null || assettype === void 0 ? void 0 : assettype.deletedAt) && !force) {
32
+ assettype.deletedAt = new Date().toISOString();
33
+ return Promise.resolve(assettype);
34
+ }
18
35
  this.revisions
19
36
  .filter((revision) => revision.originalId === id)
20
37
  .forEach((revision) => {
@@ -4,8 +4,15 @@ import FormData from 'form-data';
4
4
  import { Readable } from 'stream';
5
5
  import { Content, ReturnType } from '../content.interface';
6
6
  import { ContentService } from '../content.service';
7
+ import { Paginated, RequestParameter } from '../data.interface';
8
+ import { APIBaseMock } from './api-base.mock';
7
9
  import { DataMockService } from './data.mock.service';
8
- export declare class ContentMockService extends DataMockService<Content> implements ContentService {
10
+ import { TrashMockService } from './trash.mock.service';
11
+ interface BaseService extends DataMockService<Content>, TrashMockService<Content> {
12
+ }
13
+ declare class BaseService extends APIBaseMock<Content> {
14
+ }
15
+ export declare class ContentMockService extends BaseService implements ContentService {
9
16
  private contentData;
10
17
  constructor(contents: Content[], contentData: any[]);
11
18
  download(id: string, raw?: boolean): Promise<Blob | ArrayBuffer>;
@@ -15,5 +22,8 @@ export declare class ContentMockService extends DataMockService<Content> impleme
15
22
  download(id: string, returnType: ReturnType.BLOB): Promise<Blob>;
16
23
  download(id: string, returnType: ReturnType.ARRAYBUFFER): Promise<ArrayBuffer>;
17
24
  download(id: string, returnType: ReturnType.NODESTREAM): Promise<Readable>;
25
+ deleteOne(contentId: string, force?: boolean): Promise<Content>;
26
+ getMany(params?: RequestParameter): Promise<Paginated<Content[]>>;
18
27
  upload(form: FormData): Promise<Content>;
19
28
  }
29
+ export {};
@@ -1,14 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContentMockService = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const stream_1 = require("stream");
6
+ const ts_mixer_1 = require("ts-mixer");
5
7
  const content_interface_1 = require("../content.interface");
8
+ const api_base_mock_1 = require("./api-base.mock");
6
9
  const data_mock_service_1 = require("./data.mock.service");
7
- class ContentMockService extends data_mock_service_1.DataMockService {
10
+ const trash_mock_service_1 = require("./trash.mock.service");
11
+ let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
12
+ };
13
+ BaseService = tslib_1.__decorate([
14
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
15
+ ], BaseService);
16
+ class ContentMockService extends BaseService {
8
17
  constructor(contents, contentData) {
9
- super();
18
+ super(contents);
10
19
  this.contentData = new Map();
11
- this.data = contents;
12
20
  for (let i = 0; i < contents.length; i++) {
13
21
  this.contentData.set(contents[i].id, contentData[i]);
14
22
  }
@@ -57,6 +65,18 @@ class ContentMockService extends data_mock_service_1.DataMockService {
57
65
  return Promise.resolve(stream_1.Readable.from(this.contentData.get(id)));
58
66
  }
59
67
  }
68
+ deleteOne(contentId, force = false) {
69
+ const content = this.data.find((v) => v.id === contentId);
70
+ if (!(content === null || content === void 0 ? void 0 : content.deletedAt) && !force) {
71
+ content.deletedAt = new Date().toISOString();
72
+ return Promise.resolve(content);
73
+ }
74
+ return super.deleteOne(contentId);
75
+ }
76
+ getMany(params) {
77
+ const page = this.getItems(params, false);
78
+ return Promise.resolve(page);
79
+ }
60
80
  upload(form) {
61
81
  return Promise.resolve(undefined);
62
82
  }
@@ -1,7 +1,8 @@
1
1
  import { Filter, Paginated, RequestParameter } from '../data.interface';
2
2
  import { DataService } from '../data.service';
3
- export declare class DataMockService<T> extends DataService<T> {
4
- protected data: T[];
3
+ import { APIBaseMock } from './api-base.mock';
4
+ export declare class DataMockService<T> extends DataService<T> implements APIBaseMock<T> {
5
+ data: T[];
5
6
  constructor();
6
7
  addMany(dto: any[]): Promise<T[]>;
7
8
  addOne(dto: any): Promise<T>;
@@ -1,15 +1,21 @@
1
- import { DataMockService } from './data.mock.service';
2
- import { FlowDeployment, FlowDeploymentMetrics, FlowDeploymentStatistic, FlowLog } from '../flow-deployment.interface';
3
1
  import { FlowDeploymentService } from '../flow-deployment.service';
2
+ import { FlowDeployment, FlowDeploymentMetrics, FlowDeploymentStatistic, FlowLog } from '../flow-deployment.interface';
4
3
  import { ResourceReference } from '../resource.interface';
5
4
  import { MockAPI } from './api.mock';
6
- export declare class FlowDeploymentMockService extends DataMockService<FlowDeployment> implements FlowDeploymentService {
5
+ import { APIBaseMock } from './api-base.mock';
6
+ import { DataMockService } from './data.mock.service';
7
+ import { TrashMockService } from './trash.mock.service';
8
+ interface BaseService extends DataMockService<FlowDeployment>, TrashMockService<FlowDeployment> {
9
+ }
10
+ declare class BaseService extends APIBaseMock<FlowDeployment> {
11
+ }
12
+ export declare class FlowDeploymentMockService extends BaseService implements FlowDeploymentService {
7
13
  private api;
8
14
  constructor(deployments: FlowDeployment[], api: MockAPI);
9
15
  subscribeToStatus(id: string, listener: (event: MessageEvent<any>) => void, errorListener?: (event: MessageEvent<any>) => void): Promise<string>;
10
16
  subscribeToLogs(id: string, listener: (event: MessageEvent<any>) => void, errorListener?: (event: MessageEvent) => void): Promise<string>;
11
17
  waitForRunningStatus(id: string): Promise<void>;
12
- updateStatus(id: string, desiredStatus: 'running' | 'stopped' | 'deleted'): Promise<FlowDeployment>;
18
+ updateStatus(id: string, desiredStatus: 'running' | 'stopped' | 'deleted' | 'paused'): Promise<FlowDeployment>;
13
19
  resolveReferences(id: string, recursive?: boolean, types?: string[]): Promise<ResourceReference[]>;
14
20
  getDeploymentStatistics(id: string): Promise<FlowDeploymentStatistic>;
15
21
  getDeploymentMetrics(id: string, range?: string, interval?: string): Promise<FlowDeploymentMetrics>;
@@ -25,3 +31,4 @@ export declare class FlowDeploymentMockService extends DataMockService<FlowDeplo
25
31
  deleteOne(id: string): Promise<FlowDeployment>;
26
32
  private getReferences;
27
33
  }
34
+ export {};
@@ -1,13 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FlowDeploymentMockService = void 0;
4
- const data_mock_service_1 = require("./data.mock.service");
4
+ const tslib_1 = require("tslib");
5
5
  const crypto_1 = require("crypto");
6
- class FlowDeploymentMockService extends data_mock_service_1.DataMockService {
6
+ const ts_mixer_1 = require("ts-mixer");
7
+ const api_base_mock_1 = require("./api-base.mock");
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 {
11
+ };
12
+ BaseService = tslib_1.__decorate([
13
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
14
+ ], BaseService);
15
+ class FlowDeploymentMockService extends BaseService {
7
16
  constructor(deployments, api) {
8
- super();
17
+ super(deployments);
9
18
  this.api = api;
10
- this.data = deployments;
11
19
  }
12
20
  subscribeToStatus(id, listener, errorListener) {
13
21
  listener(new MessageEvent('message', { data: 'running' }));
@@ -105,12 +113,9 @@ class FlowDeploymentMockService extends data_mock_service_1.DataMockService {
105
113
  }
106
114
  async getReferences(properties) {
107
115
  return Promise.all(Object.keys(properties).map(async (prop) => {
108
- switch (prop) {
109
- case 'assetId':
110
- return { id: (await this.api.assets.getOne(properties[prop])).id, resourceType: 'asset' };
111
- default:
112
- throw new Error('not implemented');
113
- }
116
+ if (prop !== 'assetId')
117
+ throw new Error('not implemented');
118
+ return { id: (await this.api.assets.getOne(properties[prop])).id, resourceType: 'asset' };
114
119
  }));
115
120
  }
116
121
  }
@@ -1,7 +1,7 @@
1
+ import { Paginated } from '../data.interface';
1
2
  import { DataMockService } from './data.mock.service';
2
3
  import { FlowFunctionDto, FlowFunctionRevision } from '../flow-function.interface';
3
4
  import { FlowFunctionService } from '../flow-function.service';
4
- import { Paginated } from '../data.interface';
5
5
  export declare class FlowFunctionsMockService extends DataMockService<FlowFunctionDto> implements FlowFunctionService {
6
6
  private revisions;
7
7
  constructor(functions: FlowFunctionDto[], revisions: FlowFunctionRevision[]);
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FlowFunctionsMockService = void 0;
4
- const data_mock_service_1 = require("./data.mock.service");
5
4
  const crypto_1 = require("crypto");
5
+ const data_mock_service_1 = require("./data.mock.service");
6
6
  class FlowFunctionsMockService extends data_mock_service_1.DataMockService {
7
7
  constructor(functions, revisions) {
8
8
  super();
@@ -20,8 +20,8 @@ class FlowFunctionsMockService extends data_mock_service_1.DataMockService {
20
20
  this.revisions
21
21
  .filter((revision) => revision.originalId === fqn)
22
22
  .forEach((revision) => {
23
- const index = this.revisions.indexOf(revision);
24
- this.revisions.splice(index, 1);
23
+ const index1 = this.revisions.indexOf(revision);
24
+ this.revisions.splice(index1, 1);
25
25
  });
26
26
  return Promise.resolve(undefined);
27
27
  }
@@ -1,14 +1,20 @@
1
- import { DataMockService } from './data.mock.service';
1
+ import { Paginated, RequestParameter } from '../data.interface';
2
2
  import { FlowDiagram, FlowDto, FlowRevision } from '../flow.interface';
3
3
  import { FlowService } from '../flow.service';
4
- import { Paginated, RequestParameter } from '../data.interface';
5
4
  import { FlowDeployment } from '../flow-deployment.interface';
6
- export declare class FlowMockService extends DataMockService<FlowDto> implements FlowService {
5
+ import { APIBaseMock } from './api-base.mock';
6
+ import { DataMockService } from './data.mock.service';
7
+ import { TrashMockService } from './trash.mock.service';
8
+ interface BaseService extends DataMockService<FlowDto>, TrashMockService<FlowDto> {
9
+ }
10
+ declare class BaseService extends APIBaseMock<FlowDto> {
11
+ }
12
+ export declare class FlowMockService extends BaseService implements FlowService {
7
13
  private diagrams;
8
14
  private revisions;
9
15
  constructor(flows: FlowDto[], diagrams: FlowDiagram[], revisions: FlowRevision[]);
16
+ deleteOne(id: string, force?: boolean): Promise<FlowDto>;
10
17
  addOne(dto: FlowDto): Promise<FlowDto>;
11
- deleteOne(id: string): Promise<any>;
12
18
  updateOne(id: string, dto: FlowDto): Promise<FlowDto>;
13
19
  isDeploymentOnLatestDiagramVersion(depl: FlowDeployment): Promise<boolean>;
14
20
  getDiagramRevisions(id: string): Promise<FlowDiagram[]>;
@@ -18,3 +24,4 @@ export declare class FlowMockService extends DataMockService<FlowDto> implements
18
24
  rollback(id: string, revisionId: string): Promise<FlowDto>;
19
25
  deleteRevision(id: string, revisionId: string): Promise<any>;
20
26
  }
27
+ export {};
@@ -1,21 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FlowMockService = void 0;
4
- const data_mock_service_1 = require("./data.mock.service");
4
+ const tslib_1 = require("tslib");
5
5
  const crypto_1 = require("crypto");
6
- class FlowMockService extends data_mock_service_1.DataMockService {
6
+ const ts_mixer_1 = require("ts-mixer");
7
+ const api_base_mock_1 = require("./api-base.mock");
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 {
11
+ };
12
+ BaseService = tslib_1.__decorate([
13
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
14
+ ], BaseService);
15
+ class FlowMockService extends BaseService {
7
16
  constructor(flows, diagrams, revisions) {
8
- super();
17
+ super(flows);
9
18
  this.diagrams = diagrams;
10
19
  this.revisions = revisions;
11
- this.data = flows;
12
- }
13
- addOne(dto) {
14
- const id = (0, crypto_1.randomUUID)();
15
- this.revisions.push(Object.assign(Object.assign({}, dto), { id, originalId: dto.id }));
16
- return super.addOne(dto);
17
20
  }
18
- deleteOne(id) {
21
+ deleteOne(id, force = false) {
22
+ const flow = this.data.find((v) => v.id === id);
23
+ if (!(flow === null || flow === void 0 ? void 0 : flow.deletedAt) && !force) {
24
+ flow.deletedAt = new Date().toISOString();
25
+ return Promise.resolve(flow);
26
+ }
19
27
  this.revisions
20
28
  .filter((revision) => revision.originalId === id)
21
29
  .forEach((revision) => {
@@ -24,6 +32,11 @@ class FlowMockService extends data_mock_service_1.DataMockService {
24
32
  });
25
33
  return super.deleteOne(id);
26
34
  }
35
+ addOne(dto) {
36
+ const id = (0, crypto_1.randomUUID)();
37
+ this.revisions.push(Object.assign(Object.assign({}, dto), { id, originalId: dto.id }));
38
+ return super.addOne(dto);
39
+ }
27
40
  async updateOne(id, dto) {
28
41
  await super.deleteOne(id);
29
42
  const flow = await this.addOne(dto);
@@ -33,7 +46,7 @@ class FlowMockService extends data_mock_service_1.DataMockService {
33
46
  const flowId = typeof depl.flow === 'string' ? depl.flow : depl.flow.id;
34
47
  const diagramId = typeof depl.diagram === 'string' ? depl.diagram : depl.diagram.id;
35
48
  const revisions = await this.getDiagramRevisions(flowId);
36
- return revisions.reverse()[0].id === diagramId;
49
+ return revisions[revisions.length - 1].id === diagramId;
37
50
  }
38
51
  getDiagramRevisions(id) {
39
52
  return Promise.resolve(this.diagrams.filter((v) => v.flow === id));
@@ -42,7 +55,7 @@ class FlowMockService extends data_mock_service_1.DataMockService {
42
55
  return Promise.resolve(this.data.find((v1) => v1.id === this.diagrams.find((v) => v.id === diagramId).flow));
43
56
  }
44
57
  async getMany(params) {
45
- const flows = await super.getMany(params);
58
+ const flows = this.getItems(params, false);
46
59
  return {
47
60
  docs: flows.docs.map((v) => (Object.assign(Object.assign({}, v), { diagram: this.diagrams.find((v1) => v1.id === v.diagram) }))),
48
61
  total: 0,
@@ -1,6 +1,16 @@
1
1
  import { Secret } from '../secret.interface';
2
2
  import { SecretService } from '../secret.service';
3
+ import { Paginated, RequestParameter } from '../data.interface';
4
+ import { APIBaseMock } from './api-base.mock';
3
5
  import { DataMockService } from './data.mock.service';
4
- export declare class SecretMockService extends DataMockService<Secret> implements SecretService {
6
+ import { TrashMockService } from './trash.mock.service';
7
+ interface BaseService extends DataMockService<Secret>, TrashMockService<Secret> {
8
+ }
9
+ declare class BaseService extends APIBaseMock<Secret> {
10
+ }
11
+ export declare class SecretMockService extends BaseService implements SecretService {
5
12
  constructor(secrets: Secret[]);
13
+ deleteOne(contentId: string, force?: boolean): Promise<Secret>;
14
+ getMany(params?: RequestParameter): Promise<Paginated<Secret[]>>;
6
15
  }
16
+ export {};
@@ -1,11 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SecretMockService = 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");
4
7
  const data_mock_service_1 = require("./data.mock.service");
5
- class SecretMockService extends data_mock_service_1.DataMockService {
8
+ const trash_mock_service_1 = require("./trash.mock.service");
9
+ let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
10
+ };
11
+ BaseService = tslib_1.__decorate([
12
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
13
+ ], BaseService);
14
+ class SecretMockService extends BaseService {
6
15
  constructor(secrets) {
7
- super();
8
- this.data = secrets;
16
+ super(secrets);
17
+ }
18
+ deleteOne(contentId, force = false) {
19
+ const content = this.data.find((v) => v.id === contentId);
20
+ if (!(content === null || content === void 0 ? void 0 : content.deletedAt) && !force) {
21
+ content.deletedAt = new Date().toISOString();
22
+ return Promise.resolve(content);
23
+ }
24
+ return super.deleteOne(contentId);
25
+ }
26
+ getMany(params) {
27
+ const page = this.getItems(params, false);
28
+ return Promise.resolve(page);
9
29
  }
10
30
  }
11
31
  exports.SecretMockService = SecretMockService;
@@ -1,7 +1,17 @@
1
+ import { Paginated, RequestParameter } from '../data.interface';
1
2
  import { Task } from '../task.interface';
2
3
  import { TaskService } from '../task.service';
4
+ import { APIBaseMock } from './api-base.mock';
3
5
  import { DataMockService } from './data.mock.service';
4
- export declare class TaskMockService extends DataMockService<Task> implements TaskService {
6
+ import { TrashMockService } from './trash.mock.service';
7
+ interface BaseService extends DataMockService<Task>, TrashMockService<Task> {
8
+ }
9
+ declare class BaseService extends APIBaseMock<Task> {
10
+ }
11
+ export declare class TaskMockService extends BaseService implements TaskService {
5
12
  constructor(tasks: Task[]);
6
13
  createTaskAttachedToAsset(dto: any): Promise<Task>;
14
+ deleteOne(taskId: string, force?: boolean): Promise<Task>;
15
+ getMany(params?: RequestParameter): Promise<Paginated<Task[]>>;
7
16
  }
17
+ export {};
@@ -1,15 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskMockService = 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");
4
7
  const data_mock_service_1 = require("./data.mock.service");
5
- class TaskMockService extends data_mock_service_1.DataMockService {
8
+ const trash_mock_service_1 = require("./trash.mock.service");
9
+ let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
10
+ };
11
+ BaseService = tslib_1.__decorate([
12
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
13
+ ], BaseService);
14
+ class TaskMockService extends BaseService {
6
15
  constructor(tasks) {
7
- super();
8
- this.data = tasks;
16
+ super(tasks);
9
17
  }
10
18
  async createTaskAttachedToAsset(dto) {
11
19
  this.data.push(dto);
12
20
  return Promise.resolve(dto);
13
21
  }
22
+ deleteOne(taskId, force = false) {
23
+ const task = this.data.find((v) => v.id === taskId);
24
+ if (!(task === null || task === void 0 ? void 0 : task.deletedAt) && !force) {
25
+ task.deletedAt = new Date().toISOString();
26
+ return Promise.resolve(task);
27
+ }
28
+ return super.deleteOne(taskId);
29
+ }
30
+ getMany(params) {
31
+ const page = this.getItems(params, false);
32
+ return Promise.resolve(page);
33
+ }
14
34
  }
15
35
  exports.TaskMockService = TaskMockService;
@@ -1,11 +1,25 @@
1
- import { Paginated } from '../data.interface';
1
+ import { Paginated, RequestParameter } from '../data.interface';
2
2
  import { TimeSeries, TimeSeriesValue, TS_GROUPS } from '../timeseries.interface';
3
3
  import { TimeSeriesService } from '../timeseries.service';
4
+ import { APIBaseMock } from './api-base.mock';
4
5
  import { DataMockService } from './data.mock.service';
5
- export declare class TimeseriesMockService extends DataMockService<TimeSeries & {
6
+ import { TrashMockService } from './trash.mock.service';
7
+ interface BaseService extends DataMockService<TimeSeries & {
6
8
  data: TimeSeriesValue[];
7
- }> implements TimeSeriesService {
9
+ }>, TrashMockService<TimeSeries & {
10
+ data: TimeSeriesValue[];
11
+ }> {
12
+ }
13
+ declare class BaseService extends APIBaseMock<TimeSeries & {
14
+ data: TimeSeriesValue[];
15
+ }> {
16
+ }
17
+ export declare class TimeseriesMockService extends BaseService implements TimeSeriesService {
8
18
  constructor(timeseries: TimeSeries[], timeseriesValues: TimeSeriesValue[][]);
19
+ deleteOne(tsmId: string, force?: boolean): Promise<TimeSeries>;
20
+ getMany(params?: RequestParameter): Promise<Paginated<(TimeSeries & {
21
+ data: TimeSeriesValue[];
22
+ })[]>>;
9
23
  addAssetTimeSeriesValues(assetId: string, name: string, readPermissions: string[], readWritePermissions: string[], values: {
10
24
  [p: string]: any;
11
25
  }): Promise<TimeSeries>;
@@ -17,3 +31,4 @@ export declare class TimeseriesMockService extends DataMockService<TimeSeries &
17
31
  getValues(id: string, from: number, limit?: number, group?: TS_GROUPS): Promise<TimeSeriesValue[]>;
18
32
  getValuesOfPeriod(id: string, from: number, to: number, group?: TS_GROUPS): Promise<TimeSeriesValue[]>;
19
33
  }
34
+ export {};
@@ -1,11 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
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");
4
7
  const data_mock_service_1 = require("./data.mock.service");
5
- class TimeseriesMockService extends data_mock_service_1.DataMockService {
8
+ const trash_mock_service_1 = require("./trash.mock.service");
9
+ let BaseService = class BaseService extends api_base_mock_1.APIBaseMock {
10
+ };
11
+ BaseService = tslib_1.__decorate([
12
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService)
13
+ ], BaseService);
14
+ class TimeseriesMockService extends BaseService {
6
15
  constructor(timeseries, timeseriesValues) {
7
- super();
8
- this.data = timeseries.map((value, index) => (Object.assign(Object.assign({}, value), { data: timeseriesValues[index] })));
16
+ const data = timeseries.map((value, index) => (Object.assign(Object.assign({}, value), { data: timeseriesValues[index] })));
17
+ super(data);
18
+ }
19
+ deleteOne(tsmId, force = false) {
20
+ const tsm = this.data.find((v) => v.id === tsmId);
21
+ if (!(tsm === null || tsm === void 0 ? void 0 : tsm.deletedAt) && !force) {
22
+ tsm.deletedAt = new Date().toISOString();
23
+ return Promise.resolve(tsm);
24
+ }
25
+ return super.deleteOne(tsmId);
26
+ }
27
+ getMany(params) {
28
+ const page = this.getItems(params, false);
29
+ return Promise.resolve(page);
9
30
  }
10
31
  addAssetTimeSeriesValues(assetId, name, readPermissions, readWritePermissions, values) {
11
32
  const ts = this.data.find((v) => v.assetRef === assetId);
@@ -31,7 +52,6 @@ class TimeseriesMockService extends data_mock_service_1.DataMockService {
31
52
  async addValue(id, value) {
32
53
  const ts = await this.getOne(id, {});
33
54
  ts.data.push({ timestamp: new Date().valueOf(), value });
34
- return;
35
55
  }
36
56
  getManyByAsset(assetId, names) {
37
57
  const page = { docs: [], limit: 10, total: 0 };
@@ -0,0 +1,18 @@
1
+ import { TrashService } from '../trash.service';
2
+ import { Paginated, RequestParameter } from '../data.interface';
3
+ import { APIBaseMock } from './api-base.mock';
4
+ export declare class TrashMockService<T extends {
5
+ id?: string;
6
+ }> extends TrashService<T> implements APIBaseMock<T> {
7
+ data: T[];
8
+ protected deleteOnecbf: any;
9
+ constructor();
10
+ trashRestoreAll(): Promise<T[]>;
11
+ trashRestoreOne(id: string): Promise<T>;
12
+ emptyTrash(offset: number): Promise<{
13
+ acknowledged: boolean;
14
+ deletedCount: number;
15
+ }>;
16
+ getTrash(params?: RequestParameter): Promise<Paginated<T[]>>;
17
+ protected getItems(params: RequestParameter, deleted?: boolean): Paginated<T[]>;
18
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrashMockService = void 0;
4
+ const trash_service_1 = require("../trash.service");
5
+ class TrashMockService extends trash_service_1.TrashService {
6
+ constructor() {
7
+ super(null, null);
8
+ this.data = [];
9
+ }
10
+ trashRestoreAll() {
11
+ const deleted = this.data.filter((v) => v['deletedAt']);
12
+ for (const asset of deleted) {
13
+ delete asset['deletedAt'];
14
+ }
15
+ return Promise.resolve(deleted);
16
+ }
17
+ trashRestoreOne(id) {
18
+ const deleted = this.data.find((v) => v['id'] === id);
19
+ delete deleted['deletedAt'];
20
+ return Promise.resolve(deleted);
21
+ }
22
+ async emptyTrash(offset) {
23
+ const dateOffsSeconds = Math.round(new Date().getTime() / 1000) - offset;
24
+ const date = new Date(dateOffsSeconds * 1000);
25
+ const trashIds = this.data.filter((v) => new Date(v['deletedAt']) < date).map((v) => v.id);
26
+ this.data = this.data.filter((item) => !trashIds.includes(item.id));
27
+ return Promise.resolve({ acknowledged: true, deletedCount: trashIds.length });
28
+ }
29
+ getTrash(params) {
30
+ const page = this.getItems(params, true);
31
+ return Promise.resolve(page);
32
+ }
33
+ getItems(params, deleted = false) {
34
+ const data = this.data.filter((item) => !!item['deletedAt'] === deleted);
35
+ const page = {
36
+ docs: data,
37
+ limit: params && params.limit ? params.limit : Number.MAX_SAFE_INTEGER,
38
+ total: data.length,
39
+ };
40
+ return page;
41
+ }
42
+ }
43
+ exports.TrashMockService = TrashMockService;
@@ -14,6 +14,6 @@ export interface Resource {
14
14
  refs?: ResourceReference[];
15
15
  createdAt?: string | Date;
16
16
  updatedAt?: string | Date;
17
- deleteddAt?: string | Date;
17
+ deletedAt?: string | Date;
18
18
  revision?: string;
19
19
  }
@@ -4,4 +4,5 @@ export interface Secret {
4
4
  key: string;
5
5
  readPermissions: string[];
6
6
  readWritePermissions: string[];
7
+ deletedAt?: string;
7
8
  }
@@ -1,6 +1,13 @@
1
+ import { APIBase } from './api-base';
1
2
  import { DataService } from './data.service';
2
3
  import { HttpClient } from './http.service';
3
4
  import { Secret } from './secret.interface';
4
- export declare class SecretService extends DataService<Secret> {
5
+ import { TrashService } from './trash.service';
6
+ interface BaseService extends DataService<Secret>, TrashService<Secret> {
7
+ }
8
+ declare class BaseService extends APIBase {
9
+ }
10
+ export declare class SecretService extends BaseService {
5
11
  constructor(httpClient: HttpClient);
6
12
  }
13
+ export {};
@@ -1,8 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SecretService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ts_mixer_1 = require("ts-mixer");
6
+ const api_base_1 = require("./api-base");
4
7
  const data_service_1 = require("./data.service");
5
- class SecretService extends data_service_1.DataService {
8
+ const trash_service_1 = require("./trash.service");
9
+ let BaseService = class BaseService extends api_base_1.APIBase {
10
+ };
11
+ BaseService = tslib_1.__decorate([
12
+ (0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService)
13
+ ], BaseService);
14
+ class SecretService extends BaseService {
6
15
  constructor(httpClient) {
7
16
  super(httpClient, '/secrets');
8
17
  }
@@ -19,4 +19,5 @@ export interface Task {
19
19
  weight?: number;
20
20
  createdAt?: string;
21
21
  updatedAt?: string;
22
+ deletedAt?: string;
22
23
  }