@laboratory-one/api-components 0.0.14 → 0.0.16

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 (54) hide show
  1. package/dist/cjs/cron/cron.service.d.ts.map +1 -1
  2. package/dist/cjs/cron/cron.service.js +4 -0
  3. package/dist/cjs/cron/cron.service.js.map +1 -1
  4. package/dist/cjs/cron/cron.util.d.ts +3 -0
  5. package/dist/cjs/cron/cron.util.d.ts.map +1 -0
  6. package/dist/cjs/cron/cron.util.js +13 -0
  7. package/dist/cjs/cron/cron.util.js.map +1 -0
  8. package/dist/cjs/cron/index.d.ts +1 -0
  9. package/dist/cjs/cron/index.d.ts.map +1 -1
  10. package/dist/cjs/cron/index.js +1 -0
  11. package/dist/cjs/cron/index.js.map +1 -1
  12. package/dist/cjs/services/instrument-sentry.d.ts +1 -1
  13. package/dist/cjs/services/instrument-sentry.d.ts.map +1 -1
  14. package/dist/cjs/services/instrument-sentry.js +4 -1
  15. package/dist/cjs/services/instrument-sentry.js.map +1 -1
  16. package/dist/cjs/user/index.d.ts +1 -0
  17. package/dist/cjs/user/index.d.ts.map +1 -1
  18. package/dist/cjs/user/index.js +1 -0
  19. package/dist/cjs/user/index.js.map +1 -1
  20. package/dist/cjs/user/user.util.d.ts +3 -0
  21. package/dist/cjs/user/user.util.d.ts.map +1 -0
  22. package/dist/cjs/user/user.util.js +8 -0
  23. package/dist/cjs/user/user.util.js.map +1 -0
  24. package/dist/esm/cron/cron.service.d.ts.map +1 -1
  25. package/dist/esm/cron/cron.service.js +4 -0
  26. package/dist/esm/cron/cron.service.js.map +1 -1
  27. package/dist/esm/cron/cron.util.d.ts +3 -0
  28. package/dist/esm/cron/cron.util.d.ts.map +1 -0
  29. package/dist/esm/cron/cron.util.js +9 -0
  30. package/dist/esm/cron/cron.util.js.map +1 -0
  31. package/dist/esm/cron/index.d.ts +1 -0
  32. package/dist/esm/cron/index.d.ts.map +1 -1
  33. package/dist/esm/cron/index.js +1 -0
  34. package/dist/esm/cron/index.js.map +1 -1
  35. package/dist/esm/services/instrument-sentry.d.ts +1 -1
  36. package/dist/esm/services/instrument-sentry.d.ts.map +1 -1
  37. package/dist/esm/services/instrument-sentry.js +4 -1
  38. package/dist/esm/services/instrument-sentry.js.map +1 -1
  39. package/dist/esm/user/index.d.ts +1 -0
  40. package/dist/esm/user/index.d.ts.map +1 -1
  41. package/dist/esm/user/index.js +1 -0
  42. package/dist/esm/user/index.js.map +1 -1
  43. package/dist/esm/user/user.util.d.ts +3 -0
  44. package/dist/esm/user/user.util.d.ts.map +1 -0
  45. package/dist/esm/user/user.util.js +4 -0
  46. package/dist/esm/user/user.util.js.map +1 -0
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/package.json +5 -3
  49. package/src/cron/cron.service.ts +8 -0
  50. package/src/cron/cron.util.ts +10 -0
  51. package/src/cron/index.ts +1 -0
  52. package/src/services/instrument-sentry.ts +4 -1
  53. package/src/user/index.ts +1 -0
  54. package/src/user/user.util.ts +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"cron.service.d.ts","sourceRoot":"/","sources":["cron/cron.service.ts"],"names":[],"mappings":"AAGA,qBACa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;;IAM/D,UAAU,IAAI,IAAI;CAGnB"}
1
+ {"version":3,"file":"cron.service.d.ts","sourceRoot":"/","sources":["cron/cron.service.ts"],"names":[],"mappings":"AAUA,qBACa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;;IAO/D,UAAU,IAAI,IAAI;CAGnB"}
@@ -5,6 +5,9 @@ exports.CronService = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  const common_1 = require("@nestjs/common");
7
7
  const schedule_1 = require("@nestjs/schedule");
8
+ const nestjs_1 = require("@sentry/nestjs");
9
+ const cron_util_1 = require("./cron.util");
10
+ const handleTaskMonitorConfig = (0, cron_util_1.getCronMonitorConfig)('0 0 * * * *');
8
11
  let CronService = CronService_1 = class CronService {
9
12
  constructor() {
10
13
  this.logger = new common_1.Logger(CronService_1.name);
@@ -16,6 +19,7 @@ let CronService = CronService_1 = class CronService {
16
19
  exports.CronService = CronService;
17
20
  tslib_1.__decorate([
18
21
  (0, schedule_1.Cron)('0 0 * * * *'),
22
+ (0, nestjs_1.SentryCron)('handleTask', handleTaskMonitorConfig),
19
23
  tslib_1.__metadata("design:type", Function),
20
24
  tslib_1.__metadata("design:paramtypes", []),
21
25
  tslib_1.__metadata("design:returntype", void 0)
@@ -1 +1 @@
1
- {"version":3,"file":"cron.service.js","sourceRoot":"/","sources":["cron/cron.service.ts"],"names":[],"mappings":";;;;;AAAA,2CAAoD;AACpD,+CAAwC;AAGjC,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAGtB;QAFiB,WAAM,GAAW,IAAI,eAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;IAEhD,CAAC;IAIhB,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAVY,kCAAW;AAOtB;IADC,IAAA,eAAI,EAAC,aAAa,CAAC;;;;6CAGnB;sBATU,WAAW;IADvB,IAAA,mBAAU,GAAE;;GACA,WAAW,CAUvB","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { Cron } from '@nestjs/schedule';\n\n@Injectable()\nexport class CronService {\n private readonly logger: Logger = new Logger(CronService.name);\n\n constructor() {}\n\n // @Cron('45 * * * * *')\n @Cron('0 0 * * * *')\n handleTask(): void {\n this.logger.debug('handleTask');\n }\n}\n"]}
1
+ {"version":3,"file":"cron.service.js","sourceRoot":"/","sources":["cron/cron.service.ts"],"names":[],"mappings":";;;;;AAAA,2CAAoD;AACpD,+CAAwC;AACxC,2CAA4C;AAG5C,2CAAmD;AAEnD,MAAM,uBAAuB,GAC3B,IAAA,gCAAoB,EAAC,aAAa,CAAC,CAAC;AAG/B,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAGtB;QAFiB,WAAM,GAAW,IAAI,eAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;IAEhD,CAAC;IAKhB,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAXY,kCAAW;AAQtB;IAFC,IAAA,eAAI,EAAC,aAAa,CAAC;IACnB,IAAA,mBAAU,EAAC,YAAY,EAAE,uBAAuB,CAAC;;;;6CAGjD;sBAVU,WAAW;IADvB,IAAA,mBAAU,GAAE;;GACA,WAAW,CAWvB","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { Cron } from '@nestjs/schedule';\nimport { SentryCron } from '@sentry/nestjs';\nimport { MonitorConfig } from '@sentry/types';\n\nimport { getCronMonitorConfig } from './cron.util';\n\nconst handleTaskMonitorConfig: MonitorConfig =\n getCronMonitorConfig('0 0 * * * *');\n\n@Injectable()\nexport class CronService {\n private readonly logger: Logger = new Logger(CronService.name);\n\n constructor() {}\n\n // @Cron('45 * * * * *')\n @Cron('0 0 * * * *')\n @SentryCron('handleTask', handleTaskMonitorConfig)\n handleTask(): void {\n this.logger.debug('handleTask');\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { MonitorConfig } from '@sentry/types';
2
+ export declare const getCronMonitorConfig: (schedule: string) => MonitorConfig;
3
+ //# sourceMappingURL=cron.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.util.d.ts","sourceRoot":"/","sources":["cron/cron.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,oBAAoB,aAAc,MAAM,KAAG,aAOvD,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCronMonitorConfig = void 0;
4
+ const getCronMonitorConfig = (schedule) => {
5
+ return {
6
+ schedule: {
7
+ type: 'crontab',
8
+ value: schedule,
9
+ },
10
+ };
11
+ };
12
+ exports.getCronMonitorConfig = getCronMonitorConfig;
13
+ //# sourceMappingURL=cron.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.util.js","sourceRoot":"/","sources":["cron/cron.util.ts"],"names":[],"mappings":";;;AAEO,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAiB,EAAE;IACtE,OAAO;QACL,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,QAAQ;SAChB;KACF,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,oBAAoB,wBAO/B","sourcesContent":["import type { MonitorConfig } from '@sentry/types';\n\nexport const getCronMonitorConfig = (schedule: string): MonitorConfig => {\n return {\n schedule: {\n type: 'crontab',\n value: schedule,\n },\n };\n};\n"]}
@@ -1,3 +1,4 @@
1
1
  export * from './cron.module';
2
2
  export * from './cron.service';
3
+ export * from './cron.util';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["cron/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["cron/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./cron.module"), exports);
5
5
  tslib_1.__exportStar(require("./cron.service"), exports);
6
+ tslib_1.__exportStar(require("./cron.util"), exports);
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["cron/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,yDAA+B","sourcesContent":["export * from './cron.module';\nexport * from './cron.service';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["cron/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,yDAA+B;AAC/B,sDAA4B","sourcesContent":["export * from './cron.module';\nexport * from './cron.service';\nexport * from './cron.util';\n"]}
@@ -1,2 +1,2 @@
1
- export declare const initSentry: () => void;
1
+ export declare const initSentry: (projectName: string) => void;
2
2
  //# sourceMappingURL=instrument-sentry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-sentry.d.ts","sourceRoot":"/","sources":["services/instrument-sentry.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,YAetB,CAAC"}
1
+ {"version":3,"file":"instrument-sentry.d.ts","sourceRoot":"/","sources":["services/instrument-sentry.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,gBAAiB,MAAM,SAkB7C,CAAC"}
@@ -4,11 +4,14 @@ exports.initSentry = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const Sentry = tslib_1.__importStar(require("@sentry/node"));
6
6
  const profiling_node_1 = require("@sentry/profiling-node");
7
- const initSentry = () => {
7
+ const initSentry = (projectName) => {
8
8
  Sentry.init({
9
9
  dsn: process.env.SENTRY_DSN,
10
+ environment: process.env.ENVIRONMENT,
11
+ release: `${projectName}@${process.env.npm_package_version}`,
10
12
  integrations: [
11
13
  (0, profiling_node_1.nodeProfilingIntegration)(),
14
+ Sentry.anrIntegration({ captureStackTrace: true }),
12
15
  ],
13
16
  tracesSampleRate: 1.0,
14
17
  profilesSampleRate: 1.0,
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-sentry.js","sourceRoot":"/","sources":["services/instrument-sentry.ts"],"names":[],"mappings":";;;;AAAA,6DAAuC;AACvC,2DAAkE;AAE3D,MAAM,UAAU,GAAG,GAAG,EAAE;IAE7B,MAAM,CAAC,IAAI,CAAC;QACV,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QAC3B,YAAY,EAAE;YAEZ,IAAA,yCAAwB,GAAE;SAC3B;QAGD,gBAAgB,EAAE,GAAG;QAGrB,kBAAkB,EAAE,GAAG;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AAfW,QAAA,UAAU,cAerB","sourcesContent":["import * as Sentry from '@sentry/node';\nimport { nodeProfilingIntegration } from '@sentry/profiling-node';\n\nexport const initSentry = () => {\n // Ensure to call this before requiring any other modules!\n Sentry.init({\n dsn: process.env.SENTRY_DSN,\n integrations: [\n // Add our Profiling integration\n nodeProfilingIntegration(),\n ],\n // Add Tracing by setting tracesSampleRate\n // We recommend adjusting this value in production\n tracesSampleRate: 1.0,\n // Set sampling rate for profiling\n // This is relative to tracesSampleRate\n profilesSampleRate: 1.0,\n });\n};\n"]}
1
+ {"version":3,"file":"instrument-sentry.js","sourceRoot":"/","sources":["services/instrument-sentry.ts"],"names":[],"mappings":";;;;AAAA,6DAAuC;AACvC,2DAAkE;AAE3D,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,EAAE;IAEhD,MAAM,CAAC,IAAI,CAAC;QACV,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QAC3B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;QACpC,OAAO,EAAE,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;QAC5D,YAAY,EAAE;YAEZ,IAAA,yCAAwB,GAAE;YAC1B,MAAM,CAAC,cAAc,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;SACnD;QAGD,gBAAgB,EAAE,GAAG;QAGrB,kBAAkB,EAAE,GAAG;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AAlBW,QAAA,UAAU,cAkBrB","sourcesContent":["import * as Sentry from '@sentry/node';\nimport { nodeProfilingIntegration } from '@sentry/profiling-node';\n\nexport const initSentry = (projectName: string) => {\n // Ensure to call this before requiring any other modules!\n Sentry.init({\n dsn: process.env.SENTRY_DSN,\n environment: process.env.ENVIRONMENT,\n release: `${projectName}@${process.env.npm_package_version}`,\n integrations: [\n // Add our Profiling integration\n nodeProfilingIntegration(),\n Sentry.anrIntegration({ captureStackTrace: true }),\n ],\n // Add Tracing by setting tracesSampleRate\n // We recommend adjusting this value in production\n tracesSampleRate: 1.0,\n // Set sampling rate for profiling\n // This is relative to tracesSampleRate\n profilesSampleRate: 1.0,\n });\n};\n"]}
@@ -3,4 +3,5 @@ export * from './schemas';
3
3
  export * from './user.module';
4
4
  export * from './user.service';
5
5
  export * from './user.controller';
6
+ export * from './user.util';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["user/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["user/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
@@ -6,4 +6,5 @@ tslib_1.__exportStar(require("./schemas"), exports);
6
6
  tslib_1.__exportStar(require("./user.module"), exports);
7
7
  tslib_1.__exportStar(require("./user.service"), exports);
8
8
  tslib_1.__exportStar(require("./user.controller"), exports);
9
+ tslib_1.__exportStar(require("./user.util"), exports);
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["user/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,oDAA0B;AAC1B,wDAA8B;AAC9B,yDAA+B;AAC/B,4DAAkC","sourcesContent":["export * from './dtos';\nexport * from './schemas';\nexport * from './user.module';\nexport * from './user.service';\nexport * from './user.controller';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["user/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,oDAA0B;AAC1B,wDAA8B;AAC9B,yDAA+B;AAC/B,4DAAkC;AAClC,sDAA4B","sourcesContent":["export * from './dtos';\nexport * from './schemas';\nexport * from './user.module';\nexport * from './user.service';\nexport * from './user.controller';\nexport * from './user.util';\n"]}
@@ -0,0 +1,3 @@
1
+ import { User } from '@prisma/client';
2
+ export declare const getPushTokens: (users: User[]) => string[];
3
+ //# sourceMappingURL=user.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.util.d.ts","sourceRoot":"/","sources":["user/user.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,eAAO,MAAM,aAAa,UAAW,IAAI,EAAE,KAAG,MAAM,EAEnD,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPushTokens = void 0;
4
+ const getPushTokens = (users) => {
5
+ return users.map((user) => user.pushToken);
6
+ };
7
+ exports.getPushTokens = getPushTokens;
8
+ //# sourceMappingURL=user.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.util.js","sourceRoot":"/","sources":["user/user.util.ts"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,GAAG,CAAC,KAAa,EAAY,EAAE;IACvD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB","sourcesContent":["import { User } from '@prisma/client';\n\nexport const getPushTokens = (users: User[]): string[] => {\n return users.map((user) => user.pushToken);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"cron.service.d.ts","sourceRoot":"/","sources":["cron/cron.service.ts"],"names":[],"mappings":"AAGA,qBACa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;;IAM/D,UAAU,IAAI,IAAI;CAGnB"}
1
+ {"version":3,"file":"cron.service.d.ts","sourceRoot":"/","sources":["cron/cron.service.ts"],"names":[],"mappings":"AAUA,qBACa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;;IAO/D,UAAU,IAAI,IAAI;CAGnB"}
@@ -2,6 +2,9 @@ var CronService_1;
2
2
  import { __decorate, __metadata } from "tslib";
3
3
  import { Injectable, Logger } from '@nestjs/common';
4
4
  import { Cron } from '@nestjs/schedule';
5
+ import { SentryCron } from '@sentry/nestjs';
6
+ import { getCronMonitorConfig } from './cron.util';
7
+ const handleTaskMonitorConfig = getCronMonitorConfig('0 0 * * * *');
5
8
  let CronService = CronService_1 = class CronService {
6
9
  constructor() {
7
10
  this.logger = new Logger(CronService_1.name);
@@ -12,6 +15,7 @@ let CronService = CronService_1 = class CronService {
12
15
  };
13
16
  __decorate([
14
17
  Cron('0 0 * * * *'),
18
+ SentryCron('handleTask', handleTaskMonitorConfig),
15
19
  __metadata("design:type", Function),
16
20
  __metadata("design:paramtypes", []),
17
21
  __metadata("design:returntype", void 0)
@@ -1 +1 @@
1
- {"version":3,"file":"cron.service.js","sourceRoot":"/","sources":["cron/cron.service.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGjC,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAGtB;QAFiB,WAAM,GAAW,IAAI,MAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;IAEhD,CAAC;IAIhB,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAHC;IADC,IAAI,CAAC,aAAa,CAAC;;;;6CAGnB;AATU,WAAW;IADvB,UAAU,EAAE;;GACA,WAAW,CAUvB","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { Cron } from '@nestjs/schedule';\n\n@Injectable()\nexport class CronService {\n private readonly logger: Logger = new Logger(CronService.name);\n\n constructor() {}\n\n // @Cron('45 * * * * *')\n @Cron('0 0 * * * *')\n handleTask(): void {\n this.logger.debug('handleTask');\n }\n}\n"]}
1
+ {"version":3,"file":"cron.service.js","sourceRoot":"/","sources":["cron/cron.service.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,uBAAuB,GAC3B,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAG/B,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAGtB;QAFiB,WAAM,GAAW,IAAI,MAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;IAEhD,CAAC;IAKhB,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAHC;IAFC,IAAI,CAAC,aAAa,CAAC;IACnB,UAAU,CAAC,YAAY,EAAE,uBAAuB,CAAC;;;;6CAGjD;AAVU,WAAW;IADvB,UAAU,EAAE;;GACA,WAAW,CAWvB","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { Cron } from '@nestjs/schedule';\nimport { SentryCron } from '@sentry/nestjs';\nimport { MonitorConfig } from '@sentry/types';\n\nimport { getCronMonitorConfig } from './cron.util';\n\nconst handleTaskMonitorConfig: MonitorConfig =\n getCronMonitorConfig('0 0 * * * *');\n\n@Injectable()\nexport class CronService {\n private readonly logger: Logger = new Logger(CronService.name);\n\n constructor() {}\n\n // @Cron('45 * * * * *')\n @Cron('0 0 * * * *')\n @SentryCron('handleTask', handleTaskMonitorConfig)\n handleTask(): void {\n this.logger.debug('handleTask');\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { MonitorConfig } from '@sentry/types';
2
+ export declare const getCronMonitorConfig: (schedule: string) => MonitorConfig;
3
+ //# sourceMappingURL=cron.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.util.d.ts","sourceRoot":"/","sources":["cron/cron.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,oBAAoB,aAAc,MAAM,KAAG,aAOvD,CAAC"}
@@ -0,0 +1,9 @@
1
+ export const getCronMonitorConfig = (schedule) => {
2
+ return {
3
+ schedule: {
4
+ type: 'crontab',
5
+ value: schedule,
6
+ },
7
+ };
8
+ };
9
+ //# sourceMappingURL=cron.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.util.js","sourceRoot":"/","sources":["cron/cron.util.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAiB,EAAE;IACtE,OAAO;QACL,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,QAAQ;SAChB;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type { MonitorConfig } from '@sentry/types';\n\nexport const getCronMonitorConfig = (schedule: string): MonitorConfig => {\n return {\n schedule: {\n type: 'crontab',\n value: schedule,\n },\n };\n};\n"]}
@@ -1,3 +1,4 @@
1
1
  export * from './cron.module';
2
2
  export * from './cron.service';
3
+ export * from './cron.util';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["cron/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["cron/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './cron.module';
2
2
  export * from './cron.service';
3
+ export * from './cron.util';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["cron/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC","sourcesContent":["export * from './cron.module';\nexport * from './cron.service';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["cron/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC","sourcesContent":["export * from './cron.module';\nexport * from './cron.service';\nexport * from './cron.util';\n"]}
@@ -1,2 +1,2 @@
1
- export declare const initSentry: () => void;
1
+ export declare const initSentry: (projectName: string) => void;
2
2
  //# sourceMappingURL=instrument-sentry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-sentry.d.ts","sourceRoot":"/","sources":["services/instrument-sentry.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,YAetB,CAAC"}
1
+ {"version":3,"file":"instrument-sentry.d.ts","sourceRoot":"/","sources":["services/instrument-sentry.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,gBAAiB,MAAM,SAkB7C,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import * as Sentry from '@sentry/node';
2
2
  import { nodeProfilingIntegration } from '@sentry/profiling-node';
3
- export const initSentry = () => {
3
+ export const initSentry = (projectName) => {
4
4
  Sentry.init({
5
5
  dsn: process.env.SENTRY_DSN,
6
+ environment: process.env.ENVIRONMENT,
7
+ release: `${projectName}@${process.env.npm_package_version}`,
6
8
  integrations: [
7
9
  nodeProfilingIntegration(),
10
+ Sentry.anrIntegration({ captureStackTrace: true }),
8
11
  ],
9
12
  tracesSampleRate: 1.0,
10
13
  profilesSampleRate: 1.0,
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-sentry.js","sourceRoot":"/","sources":["services/instrument-sentry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAE7B,MAAM,CAAC,IAAI,CAAC;QACV,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QAC3B,YAAY,EAAE;YAEZ,wBAAwB,EAAE;SAC3B;QAGD,gBAAgB,EAAE,GAAG;QAGrB,kBAAkB,EAAE,GAAG;KACxB,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import * as Sentry from '@sentry/node';\nimport { nodeProfilingIntegration } from '@sentry/profiling-node';\n\nexport const initSentry = () => {\n // Ensure to call this before requiring any other modules!\n Sentry.init({\n dsn: process.env.SENTRY_DSN,\n integrations: [\n // Add our Profiling integration\n nodeProfilingIntegration(),\n ],\n // Add Tracing by setting tracesSampleRate\n // We recommend adjusting this value in production\n tracesSampleRate: 1.0,\n // Set sampling rate for profiling\n // This is relative to tracesSampleRate\n profilesSampleRate: 1.0,\n });\n};\n"]}
1
+ {"version":3,"file":"instrument-sentry.js","sourceRoot":"/","sources":["services/instrument-sentry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,EAAE;IAEhD,MAAM,CAAC,IAAI,CAAC;QACV,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QAC3B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;QACpC,OAAO,EAAE,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;QAC5D,YAAY,EAAE;YAEZ,wBAAwB,EAAE;YAC1B,MAAM,CAAC,cAAc,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;SACnD;QAGD,gBAAgB,EAAE,GAAG;QAGrB,kBAAkB,EAAE,GAAG;KACxB,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import * as Sentry from '@sentry/node';\nimport { nodeProfilingIntegration } from '@sentry/profiling-node';\n\nexport const initSentry = (projectName: string) => {\n // Ensure to call this before requiring any other modules!\n Sentry.init({\n dsn: process.env.SENTRY_DSN,\n environment: process.env.ENVIRONMENT,\n release: `${projectName}@${process.env.npm_package_version}`,\n integrations: [\n // Add our Profiling integration\n nodeProfilingIntegration(),\n Sentry.anrIntegration({ captureStackTrace: true }),\n ],\n // Add Tracing by setting tracesSampleRate\n // We recommend adjusting this value in production\n tracesSampleRate: 1.0,\n // Set sampling rate for profiling\n // This is relative to tracesSampleRate\n profilesSampleRate: 1.0,\n });\n};\n"]}
@@ -3,4 +3,5 @@ export * from './schemas';
3
3
  export * from './user.module';
4
4
  export * from './user.service';
5
5
  export * from './user.controller';
6
+ export * from './user.util';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["user/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["user/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
@@ -3,4 +3,5 @@ export * from './schemas';
3
3
  export * from './user.module';
4
4
  export * from './user.service';
5
5
  export * from './user.controller';
6
+ export * from './user.util';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["user/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC","sourcesContent":["export * from './dtos';\nexport * from './schemas';\nexport * from './user.module';\nexport * from './user.service';\nexport * from './user.controller';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["user/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC","sourcesContent":["export * from './dtos';\nexport * from './schemas';\nexport * from './user.module';\nexport * from './user.service';\nexport * from './user.controller';\nexport * from './user.util';\n"]}
@@ -0,0 +1,3 @@
1
+ import { User } from '@prisma/client';
2
+ export declare const getPushTokens: (users: User[]) => string[];
3
+ //# sourceMappingURL=user.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.util.d.ts","sourceRoot":"/","sources":["user/user.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,eAAO,MAAM,aAAa,UAAW,IAAI,EAAE,KAAG,MAAM,EAEnD,CAAC"}
@@ -0,0 +1,4 @@
1
+ export const getPushTokens = (users) => {
2
+ return users.map((user) => user.pushToken);
3
+ };
4
+ //# sourceMappingURL=user.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.util.js","sourceRoot":"/","sources":["user/user.util.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAY,EAAE;IACvD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC,CAAC","sourcesContent":["import { User } from '@prisma/client';\n\nexport const getPushTokens = (users: User[]): string[] => {\n return users.map((user) => user.pushToken);\n};\n"]}