@hahnpro/hpc-api 3.1.0 → 3.3.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.
Files changed (66) hide show
  1. package/dist/api-base.d.ts +6 -0
  2. package/dist/api-base.js +10 -0
  3. package/dist/api.d.ts +2 -0
  4. package/dist/api.js +2 -0
  5. package/dist/asset.interface.d.ts +1 -0
  6. package/dist/asset.service.d.ts +9 -8
  7. package/dist/asset.service.js +15 -15
  8. package/dist/assettypes.service.d.ts +10 -2
  9. package/dist/assettypes.service.js +15 -1
  10. package/dist/content.interface.d.ts +1 -0
  11. package/dist/content.service.d.ts +10 -2
  12. package/dist/content.service.js +15 -1
  13. package/dist/data.service.d.ts +5 -6
  14. package/dist/data.service.js +5 -5
  15. package/dist/events.interface.d.ts +2 -0
  16. package/dist/flow-deployment.service.d.ts +9 -1
  17. package/dist/flow-deployment.service.js +15 -1
  18. package/dist/flow.interface.d.ts +1 -1
  19. package/dist/flow.service.d.ts +11 -3
  20. package/dist/flow.service.js +15 -1
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.js +1 -0
  23. package/dist/label.interface.d.ts +8 -0
  24. package/dist/label.interface.js +2 -0
  25. package/dist/label.service.d.ts +9 -0
  26. package/dist/label.service.js +19 -0
  27. package/dist/mock/api-base.mock.d.ts +5 -0
  28. package/dist/mock/api-base.mock.js +11 -0
  29. package/dist/mock/api.mock.d.ts +5 -0
  30. package/dist/mock/api.mock.js +4 -1
  31. package/dist/mock/asset.mock.service.d.ts +9 -8
  32. package/dist/mock/asset.mock.service.js +15 -26
  33. package/dist/mock/assetTypes.mock.service.d.ts +12 -3
  34. package/dist/mock/assetTypes.mock.service.js +26 -5
  35. package/dist/mock/content.mock.service.d.ts +12 -1
  36. package/dist/mock/content.mock.service.js +27 -3
  37. package/dist/mock/data.mock.service.d.ts +3 -2
  38. package/dist/mock/flow-deployment.mock.service.d.ts +11 -3
  39. package/dist/mock/flow-deployment.mock.service.js +16 -4
  40. package/dist/mock/flow-functions.mock.service.d.ts +1 -1
  41. package/dist/mock/flow-functions.mock.service.js +1 -1
  42. package/dist/mock/flow.mock.service.d.ts +12 -4
  43. package/dist/mock/flow.mock.service.js +28 -11
  44. package/dist/mock/label.mock.service.d.ts +8 -0
  45. package/dist/mock/label.mock.service.js +17 -0
  46. package/dist/mock/secret.mock.service.d.ts +12 -1
  47. package/dist/mock/secret.mock.service.js +27 -3
  48. package/dist/mock/task.mock.service.d.ts +12 -1
  49. package/dist/mock/task.mock.service.js +27 -3
  50. package/dist/mock/timeseries.mock.service.d.ts +21 -3
  51. package/dist/mock/timeseries.mock.service.js +28 -3
  52. package/dist/mock/trash.mock.service.d.ts +18 -0
  53. package/dist/mock/trash.mock.service.js +43 -0
  54. package/dist/resource.interface.d.ts +1 -1
  55. package/dist/secret.interface.d.ts +1 -0
  56. package/dist/secret.service.d.ts +9 -1
  57. package/dist/secret.service.js +15 -1
  58. package/dist/task.interface.d.ts +1 -0
  59. package/dist/task.service.d.ts +9 -1
  60. package/dist/task.service.js +15 -1
  61. package/dist/timeseries.interface.d.ts +1 -0
  62. package/dist/timeseries.service.d.ts +9 -1
  63. package/dist/timeseries.service.js +15 -1
  64. package/dist/trash.service.d.ts +13 -0
  65. package/dist/trash.service.js +24 -0
  66. package/package.json +4 -3
@@ -1,14 +1,23 @@
1
1
  import { AssetType, AssetTypeRevision } from '../asset.interface';
2
2
  import { AssetTypesService } from '../assettypes.service';
3
+ import { Paginated, RequestParameter } from '../data.interface';
4
+ import { APIBaseMock } from './api-base.mock';
3
5
  import { DataMockService } from './data.mock.service';
4
- import { Paginated } from '../data.interface';
5
- export declare class AssetTypesMockService extends DataMockService<AssetType> implements AssetTypesService {
6
+ import { TrashMockService } from './trash.mock.service';
7
+ interface MixedClass extends DataMockService<AssetType>, TrashMockService<AssetType> {
8
+ }
9
+ declare class MixedClass extends APIBaseMock<AssetType> {
10
+ constructor(data: AssetType[]);
11
+ }
12
+ export declare class AssetTypesMockService extends MixedClass implements AssetTypesService {
6
13
  private revisions;
7
14
  constructor(assetTypes: AssetType[], revisions: AssetTypeRevision[]);
15
+ getMany(params?: RequestParameter): Promise<Paginated<AssetType[]>>;
8
16
  addOne(dto: AssetType): Promise<AssetType>;
9
- deleteOne(id: string): Promise<any>;
17
+ deleteOne(id: string, force?: boolean): Promise<any>;
10
18
  updateOne(id: string, dto: AssetType): Promise<AssetType>;
11
19
  getRevisions(id: string): Promise<Paginated<AssetTypeRevision[]>>;
12
20
  rollback(id: string, revisionId: string): Promise<AssetType>;
13
21
  deleteRevision(assetId: string, revisionId: string): Promise<any>;
14
22
  }
23
+ export {};
@@ -1,20 +1,41 @@
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 MixedClass = class MixedClass extends api_base_mock_1.APIBaseMock {
11
+ constructor(data) {
12
+ super(data);
13
+ }
14
+ };
15
+ MixedClass = tslib_1.__decorate([
16
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService),
17
+ tslib_1.__metadata("design:paramtypes", [Array])
18
+ ], MixedClass);
19
+ class AssetTypesMockService extends MixedClass {
7
20
  constructor(assetTypes, revisions) {
8
- super();
21
+ super(assetTypes);
9
22
  this.revisions = revisions;
10
- this.data = assetTypes;
23
+ }
24
+ getMany(params) {
25
+ const page = this.getItems(params, false);
26
+ return Promise.resolve(page);
11
27
  }
12
28
  addOne(dto) {
13
29
  const id = (0, crypto_1.randomUUID)();
14
30
  this.revisions.push(Object.assign(Object.assign({}, dto), { id, originalId: dto.id }));
15
31
  return super.addOne(dto);
16
32
  }
17
- deleteOne(id) {
33
+ deleteOne(id, force = false) {
34
+ const assettype = this.data.find((v) => v.id === id);
35
+ if (!(assettype === null || assettype === void 0 ? void 0 : assettype.deletedAt) && !force) {
36
+ assettype.deletedAt = new Date().toISOString();
37
+ return Promise.resolve(assettype);
38
+ }
18
39
  this.revisions
19
40
  .filter((revision) => revision.originalId === id)
20
41
  .forEach((revision) => {
@@ -4,8 +4,16 @@ 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 MixedClass extends DataMockService<Content>, TrashMockService<Content> {
12
+ }
13
+ declare class MixedClass extends APIBaseMock<Content> {
14
+ constructor(data: Content[]);
15
+ }
16
+ export declare class ContentMockService extends MixedClass implements ContentService {
9
17
  private contentData;
10
18
  constructor(contents: Content[], contentData: any[]);
11
19
  download(id: string, raw?: boolean): Promise<Blob | ArrayBuffer>;
@@ -15,5 +23,8 @@ export declare class ContentMockService extends DataMockService<Content> impleme
15
23
  download(id: string, returnType: ReturnType.BLOB): Promise<Blob>;
16
24
  download(id: string, returnType: ReturnType.ARRAYBUFFER): Promise<ArrayBuffer>;
17
25
  download(id: string, returnType: ReturnType.NODESTREAM): Promise<Readable>;
26
+ deleteOne(contentId: string, force?: boolean): Promise<Content>;
27
+ getMany(params?: RequestParameter): Promise<Paginated<Content[]>>;
18
28
  upload(form: FormData): Promise<Content>;
19
29
  }
30
+ export {};
@@ -1,14 +1,26 @@
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 MixedClass = class MixedClass extends api_base_mock_1.APIBaseMock {
12
+ constructor(data) {
13
+ super(data);
14
+ }
15
+ };
16
+ MixedClass = tslib_1.__decorate([
17
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService),
18
+ tslib_1.__metadata("design:paramtypes", [Array])
19
+ ], MixedClass);
20
+ class ContentMockService extends MixedClass {
8
21
  constructor(contents, contentData) {
9
- super();
22
+ super(contents);
10
23
  this.contentData = new Map();
11
- this.data = contents;
12
24
  for (let i = 0; i < contents.length; i++) {
13
25
  this.contentData.set(contents[i].id, contentData[i]);
14
26
  }
@@ -57,6 +69,18 @@ class ContentMockService extends data_mock_service_1.DataMockService {
57
69
  return Promise.resolve(stream_1.Readable.from(this.contentData.get(id)));
58
70
  }
59
71
  }
72
+ deleteOne(contentId, force = false) {
73
+ const content = this.data.find((v) => v.id === contentId);
74
+ if (!(content === null || content === void 0 ? void 0 : content.deletedAt) && !force) {
75
+ content.deletedAt = new Date().toISOString();
76
+ return Promise.resolve(content);
77
+ }
78
+ return super.deleteOne(contentId);
79
+ }
80
+ getMany(params) {
81
+ const page = this.getItems(params, false);
82
+ return Promise.resolve(page);
83
+ }
60
84
  upload(form) {
61
85
  return Promise.resolve(undefined);
62
86
  }
@@ -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,9 +1,16 @@
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 MixedClass extends DataMockService<FlowDeployment>, TrashMockService<FlowDeployment> {
9
+ }
10
+ declare class MixedClass extends APIBaseMock<FlowDeployment> {
11
+ constructor(data: FlowDeployment[]);
12
+ }
13
+ export declare class FlowDeploymentMockService extends MixedClass implements FlowDeploymentService {
7
14
  private api;
8
15
  constructor(deployments: FlowDeployment[], api: MockAPI);
9
16
  subscribeToStatus(id: string, listener: (event: MessageEvent<any>) => void, errorListener?: (event: MessageEvent<any>) => void): Promise<string>;
@@ -25,3 +32,4 @@ export declare class FlowDeploymentMockService extends DataMockService<FlowDeplo
25
32
  deleteOne(id: string): Promise<FlowDeployment>;
26
33
  private getReferences;
27
34
  }
35
+ export {};
@@ -1,13 +1,25 @@
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 MixedClass = class MixedClass extends api_base_mock_1.APIBaseMock {
11
+ constructor(data) {
12
+ super(data);
13
+ }
14
+ };
15
+ MixedClass = tslib_1.__decorate([
16
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService),
17
+ tslib_1.__metadata("design:paramtypes", [Array])
18
+ ], MixedClass);
19
+ class FlowDeploymentMockService extends MixedClass {
7
20
  constructor(deployments, api) {
8
- super();
21
+ super(deployments);
9
22
  this.api = api;
10
- this.data = deployments;
11
23
  }
12
24
  subscribeToStatus(id, listener, errorListener) {
13
25
  listener(new MessageEvent('message', { data: 'running' }));
@@ -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();
@@ -1,14 +1,21 @@
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 MixedClass extends DataMockService<FlowDto>, TrashMockService<FlowDto> {
9
+ }
10
+ declare class MixedClass extends APIBaseMock<FlowDto> {
11
+ constructor(data: FlowDto[]);
12
+ }
13
+ export declare class FlowMockService extends MixedClass implements FlowService {
7
14
  private diagrams;
8
15
  private revisions;
9
16
  constructor(flows: FlowDto[], diagrams: FlowDiagram[], revisions: FlowRevision[]);
17
+ deleteOne(id: string, force?: boolean): Promise<FlowDto>;
10
18
  addOne(dto: FlowDto): Promise<FlowDto>;
11
- deleteOne(id: string): Promise<any>;
12
19
  updateOne(id: string, dto: FlowDto): Promise<FlowDto>;
13
20
  isDeploymentOnLatestDiagramVersion(depl: FlowDeployment): Promise<boolean>;
14
21
  getDiagramRevisions(id: string): Promise<FlowDiagram[]>;
@@ -18,3 +25,4 @@ export declare class FlowMockService extends DataMockService<FlowDto> implements
18
25
  rollback(id: string, revisionId: string): Promise<FlowDto>;
19
26
  deleteRevision(id: string, revisionId: string): Promise<any>;
20
27
  }
28
+ export {};
@@ -1,21 +1,33 @@
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 MixedClass = class MixedClass extends api_base_mock_1.APIBaseMock {
11
+ constructor(data) {
12
+ super(data);
13
+ }
14
+ };
15
+ MixedClass = tslib_1.__decorate([
16
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService),
17
+ tslib_1.__metadata("design:paramtypes", [Array])
18
+ ], MixedClass);
19
+ class FlowMockService extends MixedClass {
7
20
  constructor(flows, diagrams, revisions) {
8
- super();
21
+ super(flows);
9
22
  this.diagrams = diagrams;
10
23
  this.revisions = revisions;
11
- this.data = flows;
12
24
  }
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
- }
18
- deleteOne(id) {
25
+ deleteOne(id, force = false) {
26
+ const flow = this.data.find((v) => v.id === id);
27
+ if (!(flow === null || flow === void 0 ? void 0 : flow.deletedAt) && !force) {
28
+ flow.deletedAt = new Date().toISOString();
29
+ return Promise.resolve(flow);
30
+ }
19
31
  this.revisions
20
32
  .filter((revision) => revision.originalId === id)
21
33
  .forEach((revision) => {
@@ -24,6 +36,11 @@ class FlowMockService extends data_mock_service_1.DataMockService {
24
36
  });
25
37
  return super.deleteOne(id);
26
38
  }
39
+ addOne(dto) {
40
+ const id = (0, crypto_1.randomUUID)();
41
+ this.revisions.push(Object.assign(Object.assign({}, dto), { id, originalId: dto.id }));
42
+ return super.addOne(dto);
43
+ }
27
44
  async updateOne(id, dto) {
28
45
  await super.deleteOne(id);
29
46
  const flow = await this.addOne(dto);
@@ -42,7 +59,7 @@ class FlowMockService extends data_mock_service_1.DataMockService {
42
59
  return Promise.resolve(this.data.find((v1) => v1.id === this.diagrams.find((v) => v.id === diagramId).flow));
43
60
  }
44
61
  async getMany(params) {
45
- const flows = await super.getMany(params);
62
+ const flows = this.getItems(params, false);
46
63
  return {
47
64
  docs: flows.docs.map((v) => (Object.assign(Object.assign({}, v), { diagram: this.diagrams.find((v1) => v1.id === v.diagram) }))),
48
65
  total: 0,
@@ -0,0 +1,8 @@
1
+ import { DataMockService } from './data.mock.service';
2
+ import { Label } from '../label.interface';
3
+ import { LabelService } from '../label.service';
4
+ export declare class LabelMockService extends DataMockService<Label> implements LabelService {
5
+ constructor(labels: Label[]);
6
+ count(): Promise<number>;
7
+ getOneByName(name: string): Promise<Label>;
8
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LabelMockService = void 0;
4
+ const data_mock_service_1 = require("./data.mock.service");
5
+ class LabelMockService extends data_mock_service_1.DataMockService {
6
+ constructor(labels) {
7
+ super();
8
+ this.data = labels;
9
+ }
10
+ count() {
11
+ return Promise.resolve(this.data.length);
12
+ }
13
+ getOneByName(name) {
14
+ return Promise.resolve(this.data.find((label) => label.name === name));
15
+ }
16
+ }
17
+ exports.LabelMockService = LabelMockService;
@@ -1,6 +1,17 @@
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 MixedClass extends DataMockService<Secret>, TrashMockService<Secret> {
8
+ }
9
+ declare class MixedClass extends APIBaseMock<Secret> {
10
+ constructor(data: Secret[]);
11
+ }
12
+ export declare class SecretMockService extends MixedClass implements SecretService {
5
13
  constructor(secrets: Secret[]);
14
+ deleteOne(contentId: string, force?: boolean): Promise<Secret>;
15
+ getMany(params?: RequestParameter): Promise<Paginated<Secret[]>>;
6
16
  }
17
+ export {};
@@ -1,11 +1,35 @@
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 MixedClass = class MixedClass extends api_base_mock_1.APIBaseMock {
10
+ constructor(data) {
11
+ super(data);
12
+ }
13
+ };
14
+ MixedClass = tslib_1.__decorate([
15
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService),
16
+ tslib_1.__metadata("design:paramtypes", [Array])
17
+ ], MixedClass);
18
+ class SecretMockService extends MixedClass {
6
19
  constructor(secrets) {
7
- super();
8
- this.data = secrets;
20
+ super(secrets);
21
+ }
22
+ deleteOne(contentId, force = false) {
23
+ const content = this.data.find((v) => v.id === contentId);
24
+ if (!(content === null || content === void 0 ? void 0 : content.deletedAt) && !force) {
25
+ content.deletedAt = new Date().toISOString();
26
+ return Promise.resolve(content);
27
+ }
28
+ return super.deleteOne(contentId);
29
+ }
30
+ getMany(params) {
31
+ const page = this.getItems(params, false);
32
+ return Promise.resolve(page);
9
33
  }
10
34
  }
11
35
  exports.SecretMockService = SecretMockService;
@@ -1,7 +1,18 @@
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 MixedClass extends DataMockService<Task>, TrashMockService<Task> {
8
+ }
9
+ declare class MixedClass extends APIBaseMock<Task> {
10
+ constructor(data: Task[]);
11
+ }
12
+ export declare class TaskMockService extends MixedClass implements TaskService {
5
13
  constructor(tasks: Task[]);
6
14
  createTaskAttachedToAsset(dto: any): Promise<Task>;
15
+ deleteOne(taskId: string, force?: boolean): Promise<Task>;
16
+ getMany(params?: RequestParameter): Promise<Paginated<Task[]>>;
7
17
  }
18
+ export {};
@@ -1,15 +1,39 @@
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 MixedClass = class MixedClass extends api_base_mock_1.APIBaseMock {
10
+ constructor(data) {
11
+ super(data);
12
+ }
13
+ };
14
+ MixedClass = tslib_1.__decorate([
15
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService),
16
+ tslib_1.__metadata("design:paramtypes", [Array])
17
+ ], MixedClass);
18
+ class TaskMockService extends MixedClass {
6
19
  constructor(tasks) {
7
- super();
8
- this.data = tasks;
20
+ super(tasks);
9
21
  }
10
22
  async createTaskAttachedToAsset(dto) {
11
23
  this.data.push(dto);
12
24
  return Promise.resolve(dto);
13
25
  }
26
+ deleteOne(taskId, force = false) {
27
+ const task = this.data.find((v) => v.id === taskId);
28
+ if (!(task === null || task === void 0 ? void 0 : task.deletedAt) && !force) {
29
+ task.deletedAt = new Date().toISOString();
30
+ return Promise.resolve(task);
31
+ }
32
+ return super.deleteOne(taskId);
33
+ }
34
+ getMany(params) {
35
+ const page = this.getItems(params, false);
36
+ return Promise.resolve(page);
37
+ }
14
38
  }
15
39
  exports.TaskMockService = TaskMockService;
@@ -1,11 +1,28 @@
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 MixedClass extends DataMockService<TimeSeries & {
6
8
  data: TimeSeriesValue[];
7
- }> implements TimeSeriesService {
9
+ }>, TrashMockService<TimeSeries & {
10
+ data: TimeSeriesValue[];
11
+ }> {
12
+ }
13
+ declare class MixedClass extends APIBaseMock<TimeSeries & {
14
+ data: TimeSeriesValue[];
15
+ }> {
16
+ constructor(data: (TimeSeries & {
17
+ data: TimeSeriesValue[];
18
+ })[]);
19
+ }
20
+ export declare class TimeseriesMockService extends MixedClass implements TimeSeriesService {
8
21
  constructor(timeseries: TimeSeries[], timeseriesValues: TimeSeriesValue[][]);
22
+ deleteOne(tsmId: string, force?: boolean): Promise<TimeSeries>;
23
+ getMany(params?: RequestParameter): Promise<Paginated<(TimeSeries & {
24
+ data: TimeSeriesValue[];
25
+ })[]>>;
9
26
  addAssetTimeSeriesValues(assetId: string, name: string, readPermissions: string[], readWritePermissions: string[], values: {
10
27
  [p: string]: any;
11
28
  }): Promise<TimeSeries>;
@@ -17,3 +34,4 @@ export declare class TimeseriesMockService extends DataMockService<TimeSeries &
17
34
  getValues(id: string, from: number, limit?: number, group?: TS_GROUPS): Promise<TimeSeriesValue[]>;
18
35
  getValuesOfPeriod(id: string, from: number, to: number, group?: TS_GROUPS): Promise<TimeSeriesValue[]>;
19
36
  }
37
+ export {};
@@ -1,11 +1,36 @@
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 MixedClass = class MixedClass extends api_base_mock_1.APIBaseMock {
10
+ constructor(data) {
11
+ super(data);
12
+ }
13
+ };
14
+ MixedClass = tslib_1.__decorate([
15
+ (0, ts_mixer_1.mix)(data_mock_service_1.DataMockService, trash_mock_service_1.TrashMockService),
16
+ tslib_1.__metadata("design:paramtypes", [Array])
17
+ ], MixedClass);
18
+ class TimeseriesMockService extends MixedClass {
6
19
  constructor(timeseries, timeseriesValues) {
7
- super();
8
- this.data = timeseries.map((value, index) => (Object.assign(Object.assign({}, value), { data: timeseriesValues[index] })));
20
+ const data = timeseries.map((value, index) => (Object.assign(Object.assign({}, value), { data: timeseriesValues[index] })));
21
+ super(data);
22
+ }
23
+ deleteOne(tsmId, force = false) {
24
+ const tsm = this.data.find((v) => v.id === tsmId);
25
+ if (!(tsm === null || tsm === void 0 ? void 0 : tsm.deletedAt) && !force) {
26
+ tsm.deletedAt = new Date().toISOString();
27
+ return Promise.resolve(tsm);
28
+ }
29
+ return super.deleteOne(tsmId);
30
+ }
31
+ getMany(params) {
32
+ const page = this.getItems(params, false);
33
+ return Promise.resolve(page);
9
34
  }
10
35
  addAssetTimeSeriesValues(assetId, name, readPermissions, readWritePermissions, values) {
11
36
  const ts = this.data.find((v) => v.assetRef === assetId);
@@ -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
  }