@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
@@ -0,0 +1,6 @@
1
+ import { HttpClient } from './http.service';
2
+ export declare class APIBase {
3
+ protected readonly httpClient: HttpClient;
4
+ protected readonly basePath: string;
5
+ constructor(httpClient: HttpClient, basePath: string);
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APIBase = void 0;
4
+ class APIBase {
5
+ constructor(httpClient, basePath) {
6
+ this.httpClient = httpClient;
7
+ this.basePath = basePath;
8
+ }
9
+ }
10
+ exports.APIBase = APIBase;
@@ -15,6 +15,7 @@ export interface AssetType {
15
15
  updatedAt?: string;
16
16
  author?: string;
17
17
  revision?: number;
18
+ deletedAt?: string;
18
19
  }
19
20
  export declare type AssetTypeRevision = AssetType & {
20
21
  originalId: string;
@@ -1,17 +1,17 @@
1
1
  import FormData from 'form-data';
2
+ import { APIBase } from './api-base';
2
3
  import { Asset, AssetRevision } from './asset.interface';
3
4
  import { Paginated, RequestParameter } from './data.interface';
4
5
  import { DataService } from './data.service';
5
6
  import { HttpClient } from './http.service';
6
- export declare class AssetService extends DataService<Asset> {
7
+ import { TrashService } from './trash.service';
8
+ interface MixedClass extends DataService<Asset>, TrashService<Asset> {
9
+ }
10
+ declare class MixedClass extends APIBase {
11
+ constructor(httpClient: HttpClient, basePath: string);
12
+ }
13
+ export declare class AssetService extends MixedClass {
7
14
  constructor(httpClient: HttpClient);
8
- paperBinRestoreAll(): Promise<Asset[]>;
9
- paperBinRestoreOne(id: string): Promise<Asset>;
10
- emptyTrash(offset: number): Promise<{
11
- acknowledged: boolean;
12
- deletedCount: number;
13
- }>;
14
- getPaperBin(params?: RequestParameter): Promise<Paginated<Asset[]>>;
15
15
  deleteOne(id: string, force?: boolean): Promise<any>;
16
16
  addAttachment: (id: string, form: FormData) => Promise<Asset>;
17
17
  getChildren(assetId: string, params?: RequestParameter): Promise<Paginated<Asset[]>>;
@@ -19,3 +19,4 @@ export declare class AssetService extends DataService<Asset> {
19
19
  rollback(assetId: string, revisionId: string): Promise<Asset>;
20
20
  deleteRevision(assetId: string, revisionId: string): Promise<any>;
21
21
  }
22
+ export {};
@@ -1,8 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AssetService = 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 AssetService 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 AssetService extends MixedClass {
6
20
  constructor(httpClient) {
7
21
  super(httpClient, '/assets');
8
22
  this.addAttachment = (id, form) => {
@@ -14,20 +28,6 @@ class AssetService extends data_service_1.DataService {
14
28
  });
15
29
  };
16
30
  }
17
- paperBinRestoreAll() {
18
- return this.httpClient.put(`${this.basePath}/paperbin/restore`, {});
19
- }
20
- paperBinRestoreOne(id) {
21
- return this.httpClient.put(`${this.basePath}/paperbin/restore/${id}`, {});
22
- }
23
- emptyTrash(offset) {
24
- return this.httpClient.delete(`${this.basePath}/paperbin/clean`, { params: { offset } });
25
- }
26
- getPaperBin(params = {}) {
27
- params.limit = params.limit || 0;
28
- params.page = params.page || 1;
29
- return this.httpClient.get(`${this.basePath}/paperbin`, { params });
30
- }
31
31
  deleteOne(id, force = false) {
32
32
  return this.httpClient.delete(`${this.basePath}/${id}`, { params: { force } });
33
33
  }
@@ -1,10 +1,18 @@
1
+ import { APIBase } from './api-base';
1
2
  import { AssetType } from './asset.interface';
3
+ import { Paginated } from './data.interface';
2
4
  import { DataService } from './data.service';
3
5
  import { HttpClient } from './http.service';
4
- import { Paginated } from './data.interface';
5
- export declare class AssetTypesService extends DataService<AssetType> {
6
+ import { TrashService } from './trash.service';
7
+ interface MixedClass extends DataService<AssetType>, TrashService<AssetType> {
8
+ }
9
+ declare class MixedClass extends APIBase {
10
+ constructor(httpClient: HttpClient, basePath: string);
11
+ }
12
+ export declare class AssetTypesService extends MixedClass {
6
13
  constructor(httpClient: HttpClient);
7
14
  getRevisions(id: string): Promise<Paginated<AssetType[]>>;
8
15
  rollback(id: string, revisionId: string): Promise<AssetType>;
9
16
  deleteRevision(id: string, revisionId: string): Promise<any>;
10
17
  }
18
+ export {};
@@ -1,8 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AssetTypesService = 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 AssetTypesService 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 AssetTypesService extends MixedClass {
6
20
  constructor(httpClient) {
7
21
  super(httpClient, '/assettypes');
8
22
  }
@@ -12,6 +12,7 @@ export interface Content {
12
12
  files?: Storage[];
13
13
  createdAt?: string;
14
14
  updatedAt?: string;
15
+ deletedAt?: string;
15
16
  }
16
17
  export declare enum ReturnType {
17
18
  TEXT = 0,
@@ -1,11 +1,18 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import FormData from 'form-data';
4
+ import { Readable } from 'stream';
5
+ import { APIBase } from './api-base';
4
6
  import { Content, ReturnType } from './content.interface';
5
7
  import { DataService } from './data.service';
6
8
  import { HttpClient } from './http.service';
7
- import { Readable } from 'stream';
8
- export declare class ContentService extends DataService<Content> {
9
+ import { TrashService } from './trash.service';
10
+ interface MixedClass extends DataService<Content>, TrashService<Content> {
11
+ }
12
+ declare class MixedClass extends APIBase {
13
+ constructor(httpClient: HttpClient, basePath: string);
14
+ }
15
+ export declare class ContentService extends MixedClass {
9
16
  constructor(httpClient: HttpClient);
10
17
  upload: (form: FormData) => Promise<Content>;
11
18
  download(id: string, raw?: boolean): Promise<Blob | ArrayBuffer>;
@@ -16,3 +23,4 @@ export declare class ContentService extends DataService<Content> {
16
23
  download(id: string, returnType: ReturnType.ARRAYBUFFER): Promise<ArrayBuffer>;
17
24
  download(id: string, returnType: ReturnType.NODESTREAM): Promise<Readable>;
18
25
  }
26
+ export {};
@@ -1,9 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContentService = 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 content_interface_1 = require("./content.interface");
5
8
  const data_service_1 = require("./data.service");
6
- class ContentService extends data_service_1.DataService {
9
+ const http_service_1 = require("./http.service");
10
+ const trash_service_1 = require("./trash.service");
11
+ let MixedClass = class MixedClass extends api_base_1.APIBase {
12
+ constructor(httpClient, basePath) {
13
+ super(httpClient, basePath);
14
+ }
15
+ };
16
+ MixedClass = tslib_1.__decorate([
17
+ (0, ts_mixer_1.mix)(data_service_1.DataService, trash_service_1.TrashService),
18
+ tslib_1.__metadata("design:paramtypes", [http_service_1.HttpClient, String])
19
+ ], MixedClass);
20
+ class ContentService extends MixedClass {
7
21
  constructor(httpClient) {
8
22
  super(httpClient, '/contents');
9
23
  this.upload = (form) => {
@@ -1,15 +1,14 @@
1
+ import { APIBase } from './api-base';
1
2
  import { DataInterface, Filter, Paginated, RequestParameter } from './data.interface';
2
3
  import { HttpClient } from './http.service';
3
- export declare class DataService<T> implements DataInterface<T> {
4
- protected readonly httpClient: HttpClient;
5
- protected readonly basePath: any;
6
- constructor(httpClient: HttpClient, basePath: any);
4
+ export declare class DataService<T> extends APIBase implements DataInterface<T> {
5
+ constructor(httpClient: HttpClient, basePath: string);
7
6
  addOne(dto: any): Promise<T>;
8
7
  addMany(dto: any[]): Promise<T[]>;
9
8
  getOne(id: string, options?: any): Promise<T>;
10
9
  getMany(params?: RequestParameter): Promise<Paginated<T[]>>;
11
10
  getManyFiltered(filter: Filter, params?: RequestParameter): Promise<Paginated<T[]>>;
12
11
  updateOne(id: string, dto: any): Promise<T>;
13
- deleteOne(id: string): Promise<any>;
14
- protected getFilterString(filter: Filter): string;
12
+ deleteOne(id: string, force?: boolean): Promise<any>;
13
+ private getFilterString;
15
14
  }
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DataService = void 0;
4
- class DataService {
4
+ const api_base_1 = require("./api-base");
5
+ class DataService extends api_base_1.APIBase {
5
6
  constructor(httpClient, basePath) {
6
- this.httpClient = httpClient;
7
- this.basePath = basePath;
7
+ super(httpClient, basePath);
8
8
  }
9
9
  addOne(dto) {
10
10
  return this.httpClient.post(this.basePath, dto);
@@ -28,8 +28,8 @@ class DataService {
28
28
  updateOne(id, dto) {
29
29
  return this.httpClient.put(`${this.basePath}/${id}`, dto);
30
30
  }
31
- deleteOne(id) {
32
- return this.httpClient.delete(`${this.basePath}/${id}`);
31
+ deleteOne(id, force = false) {
32
+ return this.httpClient.delete(`${this.basePath}/${id}`, { params: { force } });
33
33
  }
34
34
  getFilterString(filter) {
35
35
  const { parent, tags, type } = filter;
@@ -1,8 +1,15 @@
1
+ import { APIBase } from './api-base';
1
2
  import { DataService } from './data.service';
2
3
  import { FlowDeployment, FlowDeploymentMetrics, FlowDeploymentStatistic, FlowLog } from './flow-deployment.interface';
3
4
  import { HttpClient } from './http.service';
4
5
  import { ResourceReference } from './resource.interface';
5
- export declare class FlowDeploymentService extends DataService<FlowDeployment> {
6
+ import { TrashService } from './trash.service';
7
+ interface MixedClass extends DataService<FlowDeployment>, TrashService<FlowDeployment> {
8
+ }
9
+ declare class MixedClass extends APIBase {
10
+ constructor(httpClient: HttpClient, basePath: string);
11
+ }
12
+ export declare class FlowDeploymentService extends MixedClass {
6
13
  constructor(httpClient: HttpClient);
7
14
  addMany(dto: any[]): Promise<FlowDeployment[]>;
8
15
  updateOne(id: string, dto: any, force?: boolean): Promise<FlowDeployment>;
@@ -24,3 +31,4 @@ export declare class FlowDeploymentService extends DataService<FlowDeployment> {
24
31
  subscribeToStatus(id: string, listener: (event: MessageEvent<any>) => void, errorListener?: (event: MessageEvent) => void): Promise<string>;
25
32
  subscribeToLogs(id: string, listener: (event: MessageEvent<any>) => void, errorListener?: (event: MessageEvent) => void): Promise<string>;
26
33
  }
34
+ export {};
@@ -1,8 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FlowDeploymentService = 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 FlowDeploymentService 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 FlowDeploymentService extends MixedClass {
6
20
  constructor(httpClient) {
7
21
  super(httpClient, '/flow/deployments');
8
22
  }
@@ -24,5 +24,5 @@ export interface FlowDiagram {
24
24
  author: string;
25
25
  createdAt?: Date | string;
26
26
  updatedAt?: Date | string;
27
- deleteddAt?: Date | string;
27
+ deletedAt?: Date | string;
28
28
  }
@@ -1,9 +1,16 @@
1
+ import { APIBase } from './api-base';
2
+ import { Paginated, RequestParameter } from './data.interface';
1
3
  import { DataService } from './data.service';
2
4
  import { FlowDiagram, FlowDto } from './flow.interface';
3
- import { HttpClient } from './http.service';
4
- import { Paginated, RequestParameter } from './data.interface';
5
5
  import { FlowDeployment } from './flow-deployment.interface';
6
- export declare class FlowService extends DataService<FlowDto> {
6
+ import { HttpClient } from './http.service';
7
+ import { TrashService } from './trash.service';
8
+ interface MixedClass extends DataService<FlowDto>, TrashService<FlowDto> {
9
+ }
10
+ declare class MixedClass extends APIBase {
11
+ constructor(httpClient: HttpClient, basePath: string);
12
+ }
13
+ export declare class FlowService extends MixedClass {
7
14
  constructor(httpClient: HttpClient);
8
15
  addMany(dto: any[]): Promise<FlowDto[]>;
9
16
  getMany(params?: RequestParameter): Promise<Paginated<FlowDto[]>>;
@@ -15,3 +22,4 @@ export declare class FlowService extends DataService<FlowDto> {
15
22
  rollback(id: string, revisionId: string): Promise<FlowDto>;
16
23
  deleteRevision(id: string, revisionId: string): Promise<any>;
17
24
  }
25
+ export {};
@@ -1,8 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FlowService = 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 FlowService 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 FlowService extends MixedClass {
6
20
  constructor(httpClient) {
7
21
  super(httpClient, '/flows');
8
22
  }
@@ -0,0 +1,5 @@
1
+ import { APIBase } from '../api-base';
2
+ export declare class APIBaseMock<T> extends APIBase {
3
+ data: T[];
4
+ constructor(data?: T[]);
5
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APIBaseMock = void 0;
4
+ const api_base_1 = require("../api-base");
5
+ class APIBaseMock extends api_base_1.APIBase {
6
+ constructor(data = []) {
7
+ super(null, null);
8
+ this.data = data;
9
+ }
10
+ }
11
+ exports.APIBaseMock = APIBaseMock;
@@ -3,18 +3,18 @@ import { Asset, AssetRevision } from '../asset.interface';
3
3
  import { AssetService } from '../asset.service';
4
4
  import { Paginated, RequestParameter } from '../data.interface';
5
5
  import { MockAPI } from './api.mock';
6
+ import { APIBaseMock } from './api-base.mock';
6
7
  import { DataMockService } from './data.mock.service';
7
- export declare class AssetMockService extends DataMockService<Asset> implements AssetService {
8
+ import { TrashMockService } from './trash.mock.service';
9
+ interface MixedClass extends DataMockService<Asset>, TrashMockService<Asset> {
10
+ }
11
+ declare class MixedClass extends APIBaseMock<Asset> {
12
+ constructor(data: Asset[]);
13
+ }
14
+ export declare class AssetMockService extends MixedClass implements AssetService {
8
15
  private api;
9
16
  private revisions;
10
17
  constructor(api: MockAPI, assets: Asset[], revisions: AssetRevision[]);
11
- paperBinRestoreAll(): Promise<Asset[]>;
12
- paperBinRestoreOne(id: string): Promise<Asset>;
13
- emptyTrash(offset: number): Promise<{
14
- acknowledged: boolean;
15
- deletedCount: number;
16
- }>;
17
- getPaperBin(params?: RequestParameter): Promise<Paginated<Asset[]>>;
18
18
  private getAssets;
19
19
  addOne(dto: Asset): Promise<Asset>;
20
20
  deleteOne(assetId: string, force?: boolean): Promise<Asset>;
@@ -26,3 +26,4 @@ export declare class AssetMockService extends DataMockService<Asset> implements
26
26
  rollback(assetId: string, revisionId: string): Promise<Asset>;
27
27
  deleteRevision(assetId: string, revisionId: string): Promise<any>;
28
28
  }
29
+ export {};
@@ -1,36 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AssetMockService = 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 AssetMockService 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 AssetMockService extends MixedClass {
6
19
  constructor(api, assets, revisions) {
7
- super();
20
+ super(assets);
8
21
  this.api = api;
9
22
  this.revisions = revisions;
10
- this.data = assets;
11
- }
12
- paperBinRestoreAll() {
13
- const deleted = this.data.filter((v) => v.deletedAt);
14
- for (const asset of deleted) {
15
- delete asset.deletedAt;
16
- }
17
- return Promise.resolve(deleted);
18
- }
19
- paperBinRestoreOne(id) {
20
- const deleted = this.data.find((v) => v.id === id);
21
- delete deleted.deletedAt;
22
- return Promise.resolve(deleted);
23
- }
24
- emptyTrash(offset) {
25
- const dateOffsSeconds = Math.round(new Date().getTime() / 1000) - offset;
26
- const date = new Date(dateOffsSeconds * 1000);
27
- const trash = this.data.filter((v) => new Date(v.deletedAt) < date);
28
- trash.map((v) => this.deleteOne(v.id));
29
- return Promise.resolve({ acknowledged: true, deletedCount: trash.length });
30
- }
31
- getPaperBin(params) {
32
- const page = this.getAssets(params, true);
33
- return Promise.resolve(page);
34
23
  }
35
24
  getAssets(params, deleted = false) {
36
25
  const data = this.data.filter((asset) => !!asset.deletedAt === deleted);
@@ -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>;