@abyss-project/storage 1.0.21 → 1.0.22

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.
@@ -20,6 +20,7 @@ export * from './requests/application-store.admin.request';
20
20
  export * from './requests/application-store.public.request';
21
21
  export * from './requests/application-store.request';
22
22
  export * from './requests/report.admin.request';
23
+ export * from './requests/metrics.admin.request';
23
24
  export * from './responses/application.response';
24
25
  export * from './responses/application.admin.response';
25
26
  export * from './responses/application-file.admin.response';
@@ -38,3 +39,4 @@ export * from './responses/application-store.admin.response';
38
39
  export * from './responses/application-store.public.response';
39
40
  export * from './responses/application-store.response';
40
41
  export * from './responses/report.admin.response';
42
+ export * from './responses/metrics.admin.response';
@@ -36,6 +36,7 @@ __exportStar(require("./requests/application-store.admin.request"), exports);
36
36
  __exportStar(require("./requests/application-store.public.request"), exports);
37
37
  __exportStar(require("./requests/application-store.request"), exports);
38
38
  __exportStar(require("./requests/report.admin.request"), exports);
39
+ __exportStar(require("./requests/metrics.admin.request"), exports);
39
40
  __exportStar(require("./responses/application.response"), exports);
40
41
  __exportStar(require("./responses/application.admin.response"), exports);
41
42
  __exportStar(require("./responses/application-file.admin.response"), exports);
@@ -54,3 +55,4 @@ __exportStar(require("./responses/application-store.admin.response"), exports);
54
55
  __exportStar(require("./responses/application-store.public.response"), exports);
55
56
  __exportStar(require("./responses/application-store.response"), exports);
56
57
  __exportStar(require("./responses/report.admin.response"), exports);
58
+ __exportStar(require("./responses/metrics.admin.response"), exports);
@@ -0,0 +1,13 @@
1
+ export interface IFillLifetimeMetricsAdminBody {
2
+ applicationIds?: string[];
3
+ force?: boolean;
4
+ }
5
+ export interface IFillHourlyMetricsAdminBody {
6
+ applicationIds?: string[];
7
+ days?: number;
8
+ force?: boolean;
9
+ }
10
+ export interface IAggregateHourAdminBody {
11
+ applicationIds?: string[];
12
+ applicationCronTaskHistoryId?: string;
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,19 @@
1
+ import { IResponse } from '../..';
2
+ export interface IFillLifetimeMetricsData {
3
+ success: boolean;
4
+ message: string;
5
+ requestId: string;
6
+ }
7
+ export type IFillLifetimeMetricsAdminResponse = IResponse<IFillLifetimeMetricsData>;
8
+ export interface IFillHourlyMetricsData {
9
+ success: boolean;
10
+ message: string;
11
+ requestId: string;
12
+ }
13
+ export type IFillHourlyMetricsAdminResponse = IResponse<IFillHourlyMetricsData>;
14
+ export interface IAggregateHourData {
15
+ success: boolean;
16
+ message: string;
17
+ requestId: string;
18
+ }
19
+ export type IAggregateHourAdminResponse = IResponse<IAggregateHourData>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -10,42 +10,30 @@ export interface PreSignUrlsByType {
10
10
  write: PreSignUrlTypeStats;
11
11
  }
12
12
  export interface FilesByType {
13
- mimeType: string;
14
13
  count: number;
15
14
  totalSize: number;
16
15
  }
17
- export interface LifetimeMetrics {
16
+ export interface CoreLifetimeMetrics {
18
17
  totalFiles: number;
19
18
  totalSize: number;
20
19
  totalPreSignUrlsGenerated: number;
21
20
  totalPreSignUrlsUsed: number;
22
21
  averageFileSize: number;
23
- filesByType: Array<FilesByType>;
22
+ filesByType: Record<string, FilesByType>;
24
23
  preSignUrlsByType: PreSignUrlsByType;
25
- largestFile: {
26
- id: string;
27
- name: string;
28
- size: number;
29
- mimeType: string;
30
- } | null;
31
24
  mostUploadedFileType: string;
32
- topFilesByPreSignUrlUsage: Array<{
33
- fileId: string;
34
- fileName: string;
35
- uploadCount: number;
36
- downloadCount: number;
37
- writeCount: number;
38
- totalUsageCount: number;
39
- }>;
40
25
  }
41
- export interface ApplicationMetrics {
42
- totalFiles: number;
43
- totalSize: number;
44
- totalPreSignUrlsGenerated: number;
45
- totalPreSignUrlsUsed: number;
46
- averageFileSize: number;
47
- filesByType: Array<FilesByType>;
48
- preSignUrlsByType: PreSignUrlsByType;
26
+ export interface LifetimeMetrics extends CoreLifetimeMetrics {
27
+ }
28
+ export interface ApplicationMetrics extends CoreLifetimeMetrics {
29
+ createdFiles: number;
30
+ createdFilesSize: number;
31
+ deletedFiles: number;
32
+ deletedFilesSize: number;
33
+ createdThumbnails: number;
34
+ createdThumbnailsSize: number;
35
+ deletedThumbnails: number;
36
+ deletedThumbnailsSize: number;
49
37
  largestFile: {
50
38
  id: string;
51
39
  name: string;
@@ -6,6 +6,8 @@ export * from './models/pre-sign-url.model';
6
6
  export * from './models/application-file-thumbnail.model';
7
7
  export * from './models/stream-media.model';
8
8
  export * from './models/application-store-entry.model';
9
+ export * from './models/application-hourly-metrics.model';
10
+ export * from './models/application-lifetime-metrics.model';
9
11
  export * from './api';
10
12
  export * from './dto';
11
13
  export * from './constants';
@@ -22,6 +22,8 @@ __exportStar(require("./models/pre-sign-url.model"), exports);
22
22
  __exportStar(require("./models/application-file-thumbnail.model"), exports);
23
23
  __exportStar(require("./models/stream-media.model"), exports);
24
24
  __exportStar(require("./models/application-store-entry.model"), exports);
25
+ __exportStar(require("./models/application-hourly-metrics.model"), exports);
26
+ __exportStar(require("./models/application-lifetime-metrics.model"), exports);
25
27
  __exportStar(require("./api"), exports);
26
28
  __exportStar(require("./dto"), exports);
27
29
  __exportStar(require("./constants"), exports);
@@ -11,5 +11,6 @@ export interface IApplicationFileThumbnail {
11
11
  applicationFileId: string;
12
12
  updatedAt?: Date;
13
13
  createdAt?: Date;
14
+ deletedAt?: Date | null;
14
15
  applicationFile?: IApplicationFile;
15
16
  }
@@ -23,6 +23,7 @@ export interface IApplicationFile {
23
23
  applicationId: string;
24
24
  updatedAt?: Date;
25
25
  createdAt?: Date;
26
+ deletedAt?: Date | null;
26
27
  application?: IApplication;
27
28
  applicationFileThumbnail?: IApplicationFileThumbnail[];
28
29
  }
@@ -0,0 +1,41 @@
1
+ import { FilesByType } from '../api';
2
+ import { IApplication } from './application.model';
3
+ export interface IApplicationHourlyMetrics {
4
+ id: string;
5
+ applicationId: string;
6
+ hour: Date;
7
+ totalFiles: number;
8
+ totalFilesSize: number;
9
+ createdFiles: number;
10
+ createdFilesSize: number;
11
+ deletedFiles: number;
12
+ deletedFilesSize: number;
13
+ totalThumbnails: number;
14
+ totalThumbnailsSize: number;
15
+ createdThumbnails: number;
16
+ createdThumbnailsSize: number;
17
+ deletedThumbnails: number;
18
+ deletedThumbnailsSize: number;
19
+ totalPreSignUrls: number;
20
+ usedPreSignUrls: number;
21
+ uploadPreSignUrls: number;
22
+ downloadPreSignUrls: number;
23
+ writePreSignUrls: number;
24
+ usedUploadPreSignUrls: number;
25
+ usedDownloadPreSignUrls: number;
26
+ usedWritePreSignUrls: number;
27
+ totalWebhooks: number;
28
+ successfulWebhooks: number;
29
+ failedWebhooks: number;
30
+ totalStoreEntries: number;
31
+ filesByMimeType: Record<string, FilesByType>;
32
+ topLargestFiles: {
33
+ id: string;
34
+ name: string;
35
+ size: number;
36
+ mimeType: string;
37
+ }[];
38
+ createdAt?: Date;
39
+ updatedAt?: Date;
40
+ application?: IApplication;
41
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,27 @@
1
+ import { IApplication } from './application.model';
2
+ export interface IApplicationLifetimeMetrics {
3
+ id: string;
4
+ applicationId: string;
5
+ totalFiles: number;
6
+ totalFilesSize: number;
7
+ deletedFiles: number;
8
+ deletedFilesSize: number;
9
+ totalThumbnails: number;
10
+ totalThumbnailsSize: number;
11
+ totalPreSignUrls: number;
12
+ usedPreSignUrls: number;
13
+ uploadPreSignUrls: number;
14
+ downloadPreSignUrls: number;
15
+ writePreSignUrls: number;
16
+ usedUploadPreSignUrls: number;
17
+ usedDownloadPreSignUrls: number;
18
+ usedWritePreSignUrls: number;
19
+ totalWebhooks: number;
20
+ successfulWebhooks: number;
21
+ failedWebhooks: number;
22
+ totalStoreEntries: number;
23
+ lastCalculatedAt: Date;
24
+ createdAt?: Date;
25
+ updatedAt?: Date;
26
+ application?: IApplication;
27
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -10,5 +10,6 @@ export interface IApplicationStoreEntry {
10
10
  countAccess: number;
11
11
  updatedAt?: Date;
12
12
  createdAt?: Date;
13
+ deletedAt?: Date;
13
14
  application?: IApplication;
14
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abyss-project/storage",
3
- "version": "1.0.21",
3
+ "version": "1.0.22",
4
4
  "description": "Core package to interact with Abyss-Storage",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",