@campxdev/server-shared 1.4.4 → 1.4.6

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 (32) hide show
  1. package/dist/common/decorators/request.decorators.d.ts +1 -0
  2. package/dist/common/decorators/request.decorators.d.ts.map +1 -1
  3. package/dist/common/decorators/request.decorators.js +5 -1
  4. package/dist/common/decorators/request.decorators.js.map +1 -1
  5. package/dist/common/interfaces/context.interface.d.ts +14 -0
  6. package/dist/common/interfaces/context.interface.d.ts.map +1 -1
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/metrics/index.d.ts +3 -0
  12. package/dist/metrics/index.d.ts.map +1 -0
  13. package/dist/metrics/index.js +19 -0
  14. package/dist/metrics/index.js.map +1 -0
  15. package/dist/metrics/metrics.module.d.ts +3 -0
  16. package/dist/metrics/metrics.module.d.ts.map +1 -0
  17. package/dist/{alerting/alerting.module.js → metrics/metrics.module.js} +9 -9
  18. package/dist/metrics/metrics.module.js.map +1 -0
  19. package/dist/{alerting/alerting.service.d.ts → metrics/metrics.service.d.ts} +4 -5
  20. package/dist/metrics/metrics.service.d.ts.map +1 -0
  21. package/dist/{alerting/alerting.service.js → metrics/metrics.service.js} +15 -11
  22. package/dist/metrics/metrics.service.js.map +1 -0
  23. package/package.json +1 -1
  24. package/dist/alerting/alerting.module.d.ts +0 -3
  25. package/dist/alerting/alerting.module.d.ts.map +0 -1
  26. package/dist/alerting/alerting.module.js.map +0 -1
  27. package/dist/alerting/alerting.service.d.ts.map +0 -1
  28. package/dist/alerting/alerting.service.js.map +0 -1
  29. package/dist/alerting/alerting.service.spec.d.ts +0 -2
  30. package/dist/alerting/alerting.service.spec.d.ts.map +0 -1
  31. package/dist/alerting/alerting.service.spec.js +0 -42
  32. package/dist/alerting/alerting.service.spec.js.map +0 -1
@@ -2,5 +2,6 @@ export declare const RPCBody: (...dataOrPipes: (string | import("@nestjs/common"
2
2
  export declare const RPCQuery: (...dataOrPipes: (string | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
3
3
  export declare const RPCParam: (...dataOrPipes: (string | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
4
4
  export declare const RPCUploadedFile: (...dataOrPipes: (string | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
5
+ export declare const RPCUploadedS3File: (...dataOrPipes: (string | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
5
6
  export declare const RPCUploadedFiles: (...dataOrPipes: (string | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
6
7
  //# sourceMappingURL=request.decorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.decorators.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/request.decorators.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,yLAKlB,CAAC;AAEH,eAAO,MAAM,QAAQ,yLAKnB,CAAC;AAEH,eAAO,MAAM,QAAQ,yLAKnB,CAAC;AAEH,eAAO,MAAM,eAAe,yLAG1B,CAAC;AAEH,eAAO,MAAM,gBAAgB,yLAG3B,CAAC"}
1
+ {"version":3,"file":"request.decorators.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/request.decorators.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,yLAKlB,CAAC;AAEH,eAAO,MAAM,QAAQ,yLAKnB,CAAC;AAEH,eAAO,MAAM,QAAQ,yLAKnB,CAAC;AAEH,eAAO,MAAM,eAAe,yLAG1B,CAAC;AAEH,eAAO,MAAM,iBAAiB,yLAG5B,CAAC;AAEH,eAAO,MAAM,gBAAgB,yLAG3B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RPCUploadedFiles = exports.RPCUploadedFile = exports.RPCParam = exports.RPCQuery = exports.RPCBody = void 0;
3
+ exports.RPCUploadedFiles = exports.RPCUploadedS3File = exports.RPCUploadedFile = exports.RPCParam = exports.RPCQuery = exports.RPCBody = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  exports.RPCBody = (0, common_1.createParamDecorator)((data, ctx) => {
6
6
  const request = ctx.switchToRpc().getData();
@@ -30,6 +30,10 @@ exports.RPCUploadedFile = (0, common_1.createParamDecorator)((_data, ctx) => {
30
30
  const request = ctx.switchToRpc().getData();
31
31
  return request.file;
32
32
  });
33
+ exports.RPCUploadedS3File = (0, common_1.createParamDecorator)((_data, ctx) => {
34
+ const request = ctx.switchToRpc().getData();
35
+ return request.s3File;
36
+ });
33
37
  exports.RPCUploadedFiles = (0, common_1.createParamDecorator)((_data, ctx) => {
34
38
  const request = ctx.switchToRpc().getData();
35
39
  return request.files || [];
@@ -1 +1 @@
1
- {"version":3,"file":"request.decorators.js","sourceRoot":"","sources":["../../../src/common/decorators/request.decorators.ts"],"names":[],"mappings":";;;AAAA,2CAAwE;AAE3D,QAAA,OAAO,GAAG,IAAA,6BAAoB,EAAC,CAAC,IAAY,EAAE,GAAqB,EAAE,EAAE;IAClF,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACnE,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,IAAA,6BAAoB,EAAC,CAAC,IAAY,EAAE,GAAqB,EAAE,EAAE;IACnF,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACrE,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,IAAA,6BAAoB,EAAC,CAAC,IAAY,EAAE,GAAqB,EAAE,EAAE;IACnF,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACrE,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,IAAA,6BAAoB,EAAC,CAAC,KAAa,EAAE,GAAqB,EAAE,EAAE;IAC3F,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,IAAA,6BAAoB,EAAC,CAAC,KAAa,EAAE,GAAqB,EAAE,EAAE;IAC5F,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,OAAO,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"request.decorators.js","sourceRoot":"","sources":["../../../src/common/decorators/request.decorators.ts"],"names":[],"mappings":";;;AAAA,2CAAwE;AAE3D,QAAA,OAAO,GAAG,IAAA,6BAAoB,EAAC,CAAC,IAAY,EAAE,GAAqB,EAAE,EAAE;IAClF,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACnE,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,IAAA,6BAAoB,EAAC,CAAC,IAAY,EAAE,GAAqB,EAAE,EAAE;IACnF,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACrE,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,IAAA,6BAAoB,EAAC,CAAC,IAAY,EAAE,GAAqB,EAAE,EAAE;IACnF,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACrE,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,IAAA,6BAAoB,EAAC,CAAC,KAAa,EAAE,GAAqB,EAAE,EAAE;IAC3F,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,IAAA,6BAAoB,EAAC,CAAC,KAAa,EAAE,GAAqB,EAAE,EAAE;IAC7F,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,OAAO,OAAO,CAAC,MAAM,CAAC;AACxB,CAAC,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,IAAA,6BAAoB,EAAC,CAAC,KAAa,EAAE,GAAqB,EAAE,EAAE;IAC5F,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,OAAO,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="multer" />
1
2
  /// <reference types="mongoose/types/aggregate" />
2
3
  /// <reference types="mongoose/types/callback" />
3
4
  /// <reference types="mongoose/types/collection" />
@@ -24,6 +25,18 @@
24
25
  /// <reference types="mongoose/types/inferschematype" />
25
26
  import * as mongoose from 'mongoose';
26
27
  import { EvaluatorType, InstitutionType } from '../../modules-handler';
28
+ export interface S3Multer extends Express.Multer.File {
29
+ bucket: string;
30
+ key: string;
31
+ acl: string;
32
+ contentType: string;
33
+ contentDisposition: null;
34
+ storageClass: string;
35
+ serverSideEncryption: null;
36
+ metadata: any;
37
+ location: string;
38
+ etag: string;
39
+ }
27
40
  export interface IRequest {
28
41
  cmd: {
29
42
  cmd: string;
@@ -35,6 +48,7 @@ export interface IRequest {
35
48
  param?: any;
36
49
  query?: any;
37
50
  file?: any;
51
+ s3File?: any;
38
52
  files?: any;
39
53
  request?: {
40
54
  subDomain: string;
@@ -1 +1 @@
1
- {"version":3,"file":"context.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/context.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/context.interface.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './cloud-watch-logger';
2
2
  export * from './common';
3
3
  export * from './domain';
4
4
  export * from './media';
5
+ export * from './metrics';
5
6
  export * from './modules-handler';
6
7
  export * from './permissions';
7
8
  export * from './request-store';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ __exportStar(require("./cloud-watch-logger"), exports);
18
18
  __exportStar(require("./common"), exports);
19
19
  __exportStar(require("./domain"), exports);
20
20
  __exportStar(require("./media"), exports);
21
+ __exportStar(require("./metrics"), exports);
21
22
  __exportStar(require("./modules-handler"), exports);
22
23
  __exportStar(require("./permissions"), exports);
23
24
  __exportStar(require("./request-store"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,oDAAkC;AAClC,gDAA8B;AAC9B,kDAAgC;AAChC,kDAAgC;AAChC,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,oDAAkC;AAClC,gDAA8B;AAC9B,kDAAgC;AAChC,kDAAgC;AAChC,0CAAwB"}
@@ -0,0 +1,3 @@
1
+ export * from './metrics.module';
2
+ export * from './metrics.service';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./metrics.module"), exports);
18
+ __exportStar(require("./metrics.service"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,oDAAkC"}
@@ -0,0 +1,3 @@
1
+ export declare class MetricsModule {
2
+ }
3
+ //# sourceMappingURL=metrics.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.module.d.ts","sourceRoot":"","sources":["../../src/metrics/metrics.module.ts"],"names":[],"mappings":"AAGA,qBAIa,aAAa;CAAG"}
@@ -6,16 +6,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.AlertingModule = void 0;
9
+ exports.MetricsModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
- const alerting_service_1 = require("./alerting.service");
12
- let AlertingModule = class AlertingModule {
11
+ const metrics_service_1 = require("./metrics.service");
12
+ let MetricsModule = class MetricsModule {
13
13
  };
14
- exports.AlertingModule = AlertingModule;
15
- exports.AlertingModule = AlertingModule = __decorate([
14
+ exports.MetricsModule = MetricsModule;
15
+ exports.MetricsModule = MetricsModule = __decorate([
16
16
  (0, common_1.Module)({
17
- providers: [alerting_service_1.AlertingService],
18
- exports: [alerting_service_1.AlertingService],
17
+ providers: [metrics_service_1.MetricsService],
18
+ exports: [metrics_service_1.MetricsService],
19
19
  })
20
- ], AlertingModule);
21
- //# sourceMappingURL=alerting.module.js.map
20
+ ], MetricsModule);
21
+ //# sourceMappingURL=metrics.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.module.js","sourceRoot":"","sources":["../../src/metrics/metrics.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AAM5C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAJzB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,gCAAc,CAAC;QAC3B,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG"}
@@ -1,18 +1,17 @@
1
- export declare class AlertingService {
2
- private cloudWatchClient;
1
+ export declare class MetricsService {
2
+ private readonly cloudWatchClient;
3
3
  constructor();
4
4
  /**
5
5
  * Description
6
6
  * @param {any} namespace:string
7
7
  * @param {any} metricName:string
8
8
  * @param {any} value:number
9
- * @param {any} unit:string='Count'
10
9
  * @param {any} dimensions:{Name:string;Value:string}[]=[]
11
10
  * @returns {any}
12
11
  */
13
- publishMetric(namespace: string, metricName: string, value: number, unit?: string, dimensions?: {
12
+ publishMetric(namespace: string, metricName: string, value: number, dimensions?: {
14
13
  Name: string;
15
14
  Value: string;
16
15
  }[]): Promise<void>;
17
16
  }
18
- //# sourceMappingURL=alerting.service.d.ts.map
17
+ //# sourceMappingURL=metrics.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.service.d.ts","sourceRoot":"","sources":["../../src/metrics/metrics.service.ts"],"names":[],"mappings":"AAGA,qBACa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;;IAYpD;;;;;;;OAOG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,UAAU,GAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAO,GACjD,OAAO,CAAC,IAAI,CAAC;CAqBjB"}
@@ -9,24 +9,28 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AlertingService = void 0;
12
+ exports.MetricsService = void 0;
13
13
  const client_cloudwatch_1 = require("@aws-sdk/client-cloudwatch");
14
14
  const common_1 = require("@nestjs/common");
15
- let AlertingService = class AlertingService {
15
+ let MetricsService = class MetricsService {
16
16
  constructor() {
17
- // Initialize the CloudWatch client. Consider injecting AWS region and other configs via a configuration service or .env file.
18
- this.cloudWatchClient = new client_cloudwatch_1.CloudWatchClient({ region: 'ap-south-1' });
17
+ this.cloudWatchClient = new client_cloudwatch_1.CloudWatchClient({
18
+ region: 'ap-south-1',
19
+ credentials: {
20
+ accessKeyId: process.env.AWS_ACCESS_KEY_ID,
21
+ secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
22
+ },
23
+ });
19
24
  }
20
25
  /**
21
26
  * Description
22
27
  * @param {any} namespace:string
23
28
  * @param {any} metricName:string
24
29
  * @param {any} value:number
25
- * @param {any} unit:string='Count'
26
30
  * @param {any} dimensions:{Name:string;Value:string}[]=[]
27
31
  * @returns {any}
28
32
  */
29
- async publishMetric(namespace, metricName, value, unit = 'Count', dimensions = []) {
33
+ async publishMetric(namespace, metricName, value, dimensions = []) {
30
34
  const command = new client_cloudwatch_1.PutMetricDataCommand({
31
35
  Namespace: namespace,
32
36
  MetricData: [
@@ -44,13 +48,13 @@ let AlertingService = class AlertingService {
44
48
  }
45
49
  catch (error) {
46
50
  console.error('Error publishing metric:', error);
47
- throw error; // Or handle it as appropriate for your application
51
+ throw error;
48
52
  }
49
53
  }
50
54
  };
51
- exports.AlertingService = AlertingService;
52
- exports.AlertingService = AlertingService = __decorate([
55
+ exports.MetricsService = MetricsService;
56
+ exports.MetricsService = MetricsService = __decorate([
53
57
  (0, common_1.Injectable)(),
54
58
  __metadata("design:paramtypes", [])
55
- ], AlertingService);
56
- //# sourceMappingURL=alerting.service.js.map
59
+ ], MetricsService);
60
+ //# sourceMappingURL=metrics.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.service.js","sourceRoot":"","sources":["../../src/metrics/metrics.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAkG;AAClG,2CAA4C;AAGrC,IAAM,cAAc,GAApB,MAAM,cAAc;IAGzB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAgB,CAAC;YAC3C,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE;gBACX,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBAC1C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;aACnD;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CACjB,SAAiB,EACjB,UAAkB,EAClB,KAAa,EACb,aAAgD,EAAE;QAElD,MAAM,OAAO,GAAG,IAAI,wCAAoB,CAAC;YACvC,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE;gBACV;oBACE,UAAU,EAAE,UAAU;oBACtB,IAAI,EAAE,gCAAY,CAAC,KAAK;oBACxB,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,UAAU;iBACvB;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AA/CY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;;GACA,cAAc,CA+C1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@campxdev/server-shared",
3
- "version": "1.4.4",
3
+ "version": "1.4.6",
4
4
  "description": "Campx server shared files",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",
@@ -1,3 +0,0 @@
1
- export declare class AlertingModule {
2
- }
3
- //# sourceMappingURL=alerting.module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alerting.module.d.ts","sourceRoot":"","sources":["../../src/alerting/alerting.module.ts"],"names":[],"mappings":"AAGA,qBAIa,cAAc;CAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"alerting.module.js","sourceRoot":"","sources":["../../src/alerting/alerting.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yDAAqD;AAM9C,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,wCAAc;yBAAd,cAAc;IAJ1B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,kCAAe,CAAC;QAC5B,OAAO,EAAE,CAAC,kCAAe,CAAC;KAC3B,CAAC;GACW,cAAc,CAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"alerting.service.d.ts","sourceRoot":"","sources":["../../src/alerting/alerting.service.ts"],"names":[],"mappings":"AAGA,qBACa,eAAe;IAC1B,OAAO,CAAC,gBAAgB,CAAmB;;IAO3C;;;;;;;;OAQG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,MAAgB,EACtB,UAAU,GAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAO,GACjD,OAAO,CAAC,IAAI,CAAC;CAqBjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"alerting.service.js","sourceRoot":"","sources":["../../src/alerting/alerting.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAkG;AAClG,2CAA4C;AAGrC,IAAM,eAAe,GAArB,MAAM,eAAe;IAG1B;QACE,8HAA8H;QAC9H,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,SAAiB,EACjB,UAAkB,EAClB,KAAa,EACb,OAAe,OAAO,EACtB,aAAgD,EAAE;QAElD,MAAM,OAAO,GAAG,IAAI,wCAAoB,CAAC;YACvC,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE;gBACV;oBACE,UAAU,EAAE,UAAU;oBACtB,IAAI,EAAE,gCAAY,CAAC,KAAK;oBACxB,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,UAAU;iBACvB;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC,CAAC,mDAAmD;QAClE,CAAC;IACH,CAAC;CACF,CAAA;AA5CY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;;GACA,eAAe,CA4C3B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=alerting.service.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alerting.service.spec.d.ts","sourceRoot":"","sources":["../../src/alerting/alerting.service.spec.ts"],"names":[],"mappings":""}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const client_cloudwatch_1 = require("@aws-sdk/client-cloudwatch");
4
- const testing_1 = require("@nestjs/testing");
5
- const aws_sdk_client_mock_1 = require("aws-sdk-client-mock");
6
- const alerting_service_1 = require("./alerting.service");
7
- const cloudwatchMock = (0, aws_sdk_client_mock_1.mockClient)(client_cloudwatch_1.CloudWatchClient);
8
- describe('AlertingService', () => {
9
- let service;
10
- beforeEach(async () => {
11
- const module = await testing_1.Test.createTestingModule({
12
- providers: [alerting_service_1.AlertingService],
13
- }).compile();
14
- service = module.get(alerting_service_1.AlertingService);
15
- cloudwatchMock.reset();
16
- });
17
- it('should be defined', () => {
18
- expect(service).toBeDefined();
19
- });
20
- it('should publish metric to cloud watch successfully', async () => {
21
- const namespace = 'TestNamespace';
22
- const metricName = 'TestMetric';
23
- const value = 1;
24
- const unit = 'Count';
25
- const dimensions = [{ Name: 'TestDimension', Value: 'TestValue' }];
26
- cloudwatchMock.on(client_cloudwatch_1.PutMetricDataCommand).resolves({}); // Mock the CloudWatch response
27
- await service.publishMetric(namespace, metricName, value, unit, dimensions);
28
- expect(cloudwatchMock.calls()).toHaveLength(1);
29
- const [command] = cloudwatchMock.calls()[0].args;
30
- expect(command.input).toMatchObject({
31
- Namespace: namespace,
32
- MetricData: [
33
- {
34
- MetricName: metricName,
35
- Value: value,
36
- Dimensions: dimensions,
37
- },
38
- ],
39
- });
40
- });
41
- });
42
- //# sourceMappingURL=alerting.service.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alerting.service.spec.js","sourceRoot":"","sources":["../../src/alerting/alerting.service.spec.ts"],"names":[],"mappings":";;AAAA,kEAAoF;AACpF,6CAAsD;AACtD,6DAAiD;AACjD,yDAAqD;AAErD,MAAM,cAAc,GAAG,IAAA,gCAAU,EAAC,oCAAgB,CAAC,CAAC;AAEpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,OAAwB,CAAC;IAE7B,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,MAAM,GAAkB,MAAM,cAAI,CAAC,mBAAmB,CAAC;YAC3D,SAAS,EAAE,CAAC,kCAAe,CAAC;SAC7B,CAAC,CAAC,OAAO,EAAE,CAAC;QAEb,OAAO,GAAG,MAAM,CAAC,GAAG,CAAkB,kCAAe,CAAC,CAAC;QACvD,cAAc,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,SAAS,GAAG,eAAe,CAAC;QAClC,MAAM,UAAU,GAAG,YAAY,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,IAAI,GAAG,OAAO,CAAC;QACrB,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAEnE,cAAc,CAAC,EAAE,CAAC,wCAAoB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B;QAErF,MAAM,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAE5E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAClC,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE;gBACV;oBACE,UAAU,EAAE,UAAU;oBACtB,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,UAAU;iBACvB;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}