@hahnpro/hpc-api 3.2.1 → 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 (53) hide show
  1. package/dist/api-base.d.ts +6 -0
  2. package/dist/api-base.js +10 -0
  3. package/dist/asset.interface.d.ts +1 -0
  4. package/dist/asset.service.d.ts +9 -8
  5. package/dist/asset.service.js +15 -15
  6. package/dist/assettypes.service.d.ts +10 -2
  7. package/dist/assettypes.service.js +15 -1
  8. package/dist/content.interface.d.ts +1 -0
  9. package/dist/content.service.d.ts +10 -2
  10. package/dist/content.service.js +15 -1
  11. package/dist/data.service.d.ts +5 -6
  12. package/dist/data.service.js +5 -5
  13. package/dist/flow-deployment.service.d.ts +9 -1
  14. package/dist/flow-deployment.service.js +15 -1
  15. package/dist/flow.interface.d.ts +1 -1
  16. package/dist/flow.service.d.ts +11 -3
  17. package/dist/flow.service.js +15 -1
  18. package/dist/mock/api-base.mock.d.ts +5 -0
  19. package/dist/mock/api-base.mock.js +11 -0
  20. package/dist/mock/asset.mock.service.d.ts +9 -8
  21. package/dist/mock/asset.mock.service.js +15 -26
  22. package/dist/mock/assetTypes.mock.service.d.ts +12 -3
  23. package/dist/mock/assetTypes.mock.service.js +26 -5
  24. package/dist/mock/content.mock.service.d.ts +12 -1
  25. package/dist/mock/content.mock.service.js +27 -3
  26. package/dist/mock/data.mock.service.d.ts +3 -2
  27. package/dist/mock/flow-deployment.mock.service.d.ts +11 -3
  28. package/dist/mock/flow-deployment.mock.service.js +16 -4
  29. package/dist/mock/flow-functions.mock.service.d.ts +1 -1
  30. package/dist/mock/flow-functions.mock.service.js +1 -1
  31. package/dist/mock/flow.mock.service.d.ts +12 -4
  32. package/dist/mock/flow.mock.service.js +28 -11
  33. package/dist/mock/secret.mock.service.d.ts +12 -1
  34. package/dist/mock/secret.mock.service.js +27 -3
  35. package/dist/mock/task.mock.service.d.ts +12 -1
  36. package/dist/mock/task.mock.service.js +27 -3
  37. package/dist/mock/timeseries.mock.service.d.ts +21 -3
  38. package/dist/mock/timeseries.mock.service.js +28 -3
  39. package/dist/mock/trash.mock.service.d.ts +18 -0
  40. package/dist/mock/trash.mock.service.js +43 -0
  41. package/dist/resource.interface.d.ts +1 -1
  42. package/dist/secret.interface.d.ts +1 -0
  43. package/dist/secret.service.d.ts +9 -1
  44. package/dist/secret.service.js +15 -1
  45. package/dist/task.interface.d.ts +1 -0
  46. package/dist/task.service.d.ts +9 -1
  47. package/dist/task.service.js +15 -1
  48. package/dist/timeseries.interface.d.ts +1 -0
  49. package/dist/timeseries.service.d.ts +9 -1
  50. package/dist/timeseries.service.js +15 -1
  51. package/dist/trash.service.d.ts +13 -0
  52. package/dist/trash.service.js +24 -0
  53. package/package.json +3 -2
@@ -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,
@@ -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
  }
@@ -1,6 +1,14 @@
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 MixedClass extends DataService<Secret>, TrashService<Secret> {
7
+ }
8
+ declare class MixedClass extends APIBase {
9
+ constructor(httpClient: HttpClient, basePath: string);
10
+ }
11
+ export declare class SecretService extends MixedClass {
5
12
  constructor(httpClient: HttpClient);
6
13
  }
14
+ export {};
@@ -1,8 +1,22 @@
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 http_service_1 = require("./http.service");
9
+ const trash_service_1 = require("./trash.service");
10
+ let MixedClass = class MixedClass extends api_base_1.APIBase {
11
+ constructor(httpClient, basePath) {
12
+ super(httpClient, basePath);
13
+ }
14
+ };
15
+ MixedClass = tslib_1.__decorate([
16
+ (0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService),
17
+ tslib_1.__metadata("design:paramtypes", [http_service_1.HttpClient, String])
18
+ ], MixedClass);
19
+ class SecretService extends MixedClass {
6
20
  constructor(httpClient) {
7
21
  super(httpClient, '/secrets');
8
22
  }
@@ -19,4 +19,5 @@ export interface Task {
19
19
  weight?: number;
20
20
  createdAt?: string;
21
21
  updatedAt?: string;
22
+ deletedAt?: string;
22
23
  }
@@ -1,7 +1,15 @@
1
+ import { APIBase } from './api-base';
1
2
  import { DataService } from './data.service';
2
3
  import { HttpClient } from './http.service';
3
4
  import { Task } from './task.interface';
4
- export declare class TaskService extends DataService<Task> {
5
+ import { TrashService } from './trash.service';
6
+ interface MixedClass extends DataService<Task>, TrashService<Task> {
7
+ }
8
+ declare class MixedClass extends APIBase {
9
+ constructor(httpClient: HttpClient, basePath: string);
10
+ }
11
+ export declare class TaskService extends MixedClass {
5
12
  constructor(httpClient: HttpClient);
6
13
  createTaskAttachedToAsset(dto: any): Promise<Task>;
7
14
  }
15
+ export {};
@@ -1,8 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskService = 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 TaskService extends data_service_1.DataService {
8
+ const http_service_1 = require("./http.service");
9
+ const trash_service_1 = require("./trash.service");
10
+ let MixedClass = class MixedClass extends api_base_1.APIBase {
11
+ constructor(httpClient, basePath) {
12
+ super(httpClient, basePath);
13
+ }
14
+ };
15
+ MixedClass = tslib_1.__decorate([
16
+ (0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService),
17
+ tslib_1.__metadata("design:paramtypes", [http_service_1.HttpClient, String])
18
+ ], MixedClass);
19
+ class TaskService extends MixedClass {
6
20
  constructor(httpClient) {
7
21
  super(httpClient, '/tasks');
8
22
  }
@@ -13,6 +13,7 @@ export interface TimeSeries {
13
13
  tsRef?: [string];
14
14
  autoDelData: Date;
15
15
  autoDelBucket: Date;
16
+ deletedAt?: string;
16
17
  }
17
18
  export interface TimeSeriesCondition {
18
19
  operator: string;
@@ -1,8 +1,15 @@
1
+ import { APIBase } from './api-base';
1
2
  import { Paginated } from './data.interface';
2
3
  import { DataService } from './data.service';
3
4
  import { HttpClient } from './http.service';
4
5
  import { TimeSeries, TimeSeriesValue, TS_GROUPS } from './timeseries.interface';
5
- export declare class TimeSeriesService extends DataService<TimeSeries> {
6
+ import { TrashService } from './trash.service';
7
+ interface MixedClass extends DataService<TimeSeries>, TrashService<TimeSeries> {
8
+ }
9
+ declare class MixedClass extends APIBase {
10
+ constructor(httpClient: HttpClient, basePath: string);
11
+ }
12
+ export declare class TimeSeriesService extends MixedClass {
6
13
  constructor(httpClient: HttpClient);
7
14
  addValue(id: string, value: {
8
15
  [values: string]: any;
@@ -15,3 +22,4 @@ export declare class TimeSeriesService extends DataService<TimeSeries> {
15
22
  getValuesOfPeriod(id: string, from: number, to: number, group?: TS_GROUPS): Promise<TimeSeriesValue[]>;
16
23
  getManyByAsset(assetId: string, names?: string[]): Promise<Paginated<TimeSeries[]>>;
17
24
  }
25
+ export {};
@@ -1,8 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TimeSeriesService = 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 TimeSeriesService extends data_service_1.DataService {
8
+ const http_service_1 = require("./http.service");
9
+ const trash_service_1 = require("./trash.service");
10
+ let MixedClass = class MixedClass extends api_base_1.APIBase {
11
+ constructor(httpClient, basePath) {
12
+ super(httpClient, basePath);
13
+ }
14
+ };
15
+ MixedClass = tslib_1.__decorate([
16
+ (0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService),
17
+ tslib_1.__metadata("design:paramtypes", [http_service_1.HttpClient, String])
18
+ ], MixedClass);
19
+ class TimeSeriesService extends MixedClass {
6
20
  constructor(httpClient) {
7
21
  super(httpClient, '/tsm');
8
22
  }
@@ -0,0 +1,13 @@
1
+ import { APIBase } from './api-base';
2
+ import { Paginated, RequestParameter } from './data.interface';
3
+ import { HttpClient } from './http.service';
4
+ export declare class TrashService<T> extends APIBase {
5
+ constructor(httpClient: HttpClient, basePath: string);
6
+ trashRestoreAll(): Promise<T[]>;
7
+ trashRestoreOne(id: string): Promise<T>;
8
+ emptyTrash(offset: number): Promise<{
9
+ acknowledged: boolean;
10
+ deletedCount: number;
11
+ }>;
12
+ getTrash(params?: RequestParameter): Promise<Paginated<T[]>>;
13
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrashService = void 0;
4
+ const api_base_1 = require("./api-base");
5
+ class TrashService extends api_base_1.APIBase {
6
+ constructor(httpClient, basePath) {
7
+ super(httpClient, basePath);
8
+ }
9
+ trashRestoreAll() {
10
+ return this.httpClient.put(`${this.basePath}/trash/restore`, {});
11
+ }
12
+ trashRestoreOne(id) {
13
+ return this.httpClient.put(`${this.basePath}/trash/restore/${id}`, {});
14
+ }
15
+ emptyTrash(offset) {
16
+ return this.httpClient.delete(`${this.basePath}/trash/clean`, { params: { offset } });
17
+ }
18
+ getTrash(params = {}) {
19
+ params.limit = params.limit || 0;
20
+ params.page = params.page || 1;
21
+ return this.httpClient.get(`${this.basePath}/trash`, { params });
22
+ }
23
+ }
24
+ exports.TrashService = TrashService;