@smartsoft001/nestjs 1.1.91 → 2.60.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 (62) hide show
  1. package/.eslintrc.json +30 -0
  2. package/README.md +345 -4
  3. package/jest.config.ts +10 -0
  4. package/package.json +12 -46
  5. package/project.json +37 -0
  6. package/src/{index.d.ts → index.ts} +3 -3
  7. package/src/lib/auth/{index.d.ts → index.ts} +1 -0
  8. package/src/lib/auth/jwt.strategy.ts +24 -0
  9. package/src/lib/auth/permission.service.spec.ts +61 -0
  10. package/src/lib/auth/permission.service.ts +34 -0
  11. package/src/lib/decorators/user/user.decorator.ts +26 -0
  12. package/src/lib/filters/execution/exception.filter.ts +89 -0
  13. package/src/lib/filters/execution/execution.filter.spec.ts +107 -0
  14. package/src/lib/filters/index.ts +1 -0
  15. package/src/lib/shared.config.ts +21 -0
  16. package/src/lib/shared.module.ts +55 -0
  17. package/tsconfig.json +22 -0
  18. package/tsconfig.lib.json +10 -0
  19. package/tsconfig.spec.json +15 -0
  20. package/src/index.js +0 -9
  21. package/src/index.js.map +0 -1
  22. package/src/lib/auth/index.js +0 -5
  23. package/src/lib/auth/index.js.map +0 -1
  24. package/src/lib/auth/jwt.strategy.d.ts +0 -8
  25. package/src/lib/auth/jwt.strategy.js +0 -30
  26. package/src/lib/auth/jwt.strategy.js.map +0 -1
  27. package/src/lib/auth/permission.service.d.ts +0 -7
  28. package/src/lib/auth/permission.service.js +0 -28
  29. package/src/lib/auth/permission.service.js.map +0 -1
  30. package/src/lib/controllers/health/health.controller.d.ts +0 -10
  31. package/src/lib/controllers/health/health.controller.js +0 -37
  32. package/src/lib/controllers/health/health.controller.js.map +0 -1
  33. package/src/lib/controllers/index.d.ts +0 -2
  34. package/src/lib/controllers/index.js +0 -8
  35. package/src/lib/controllers/index.js.map +0 -1
  36. package/src/lib/decorators/index.js +0 -5
  37. package/src/lib/decorators/index.js.map +0 -1
  38. package/src/lib/decorators/user/user.decorator.d.ts +0 -1
  39. package/src/lib/decorators/user/user.decorator.js +0 -9
  40. package/src/lib/decorators/user/user.decorator.js.map +0 -1
  41. package/src/lib/filters/exception/exception.filter.d.ts +0 -4
  42. package/src/lib/filters/exception/exception.filter.js +0 -49
  43. package/src/lib/filters/exception/exception.filter.js.map +0 -1
  44. package/src/lib/filters/index.d.ts +0 -1
  45. package/src/lib/filters/index.js +0 -5
  46. package/src/lib/filters/index.js.map +0 -1
  47. package/src/lib/services/health-db/health-db.service.d.ts +0 -7
  48. package/src/lib/services/health-db/health-db.service.js +0 -39
  49. package/src/lib/services/health-db/health-db.service.js.map +0 -1
  50. package/src/lib/services/index.d.ts +0 -3
  51. package/src/lib/services/index.js +0 -10
  52. package/src/lib/services/index.js.map +0 -1
  53. package/src/lib/shared.config.d.ts +0 -15
  54. package/src/lib/shared.config.js +0 -11
  55. package/src/lib/shared.config.js.map +0 -1
  56. package/src/lib/shared.module.d.ts +0 -14
  57. package/src/lib/shared.module.js +0 -49
  58. package/src/lib/shared.module.js.map +0 -1
  59. package/test-setup.d.ts +0 -0
  60. package/test-setup.js +0 -1
  61. package/test-setup.js.map +0 -1
  62. /package/src/lib/decorators/{index.d.ts → index.ts} +0 -0
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HealthDbService = void 0;
4
- const tslib_1 = require("tslib");
5
- const terminus_1 = require("@nestjs/terminus");
6
- const common_1 = require("@nestjs/common");
7
- const domain_core_1 = require("@smartsoft001/domain-core");
8
- let HealthDbService = exports.HealthDbService = class HealthDbService extends terminus_1.HealthIndicator {
9
- constructor(repository) {
10
- super();
11
- this.repository = repository;
12
- }
13
- async isHealthy(key) {
14
- const dbKey = 'health';
15
- try {
16
- const item = await this.repository.getById(dbKey);
17
- const user = { username: '_' + key, permissions: [] };
18
- const update = {
19
- id: dbKey,
20
- checkDate: new Date(),
21
- };
22
- if (!item) {
23
- await this.repository.create(update, user);
24
- }
25
- else {
26
- await this.repository.updatePartial(update, user);
27
- }
28
- return this.getStatus(key, true);
29
- }
30
- catch (e) {
31
- throw new terminus_1.HealthCheckError('Database check failed', e);
32
- }
33
- }
34
- };
35
- exports.HealthDbService = HealthDbService = tslib_1.__decorate([
36
- (0, common_1.Injectable)(),
37
- tslib_1.__metadata("design:paramtypes", [domain_core_1.IItemRepository])
38
- ], HealthDbService);
39
- //# sourceMappingURL=health-db.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health-db.service.js","sourceRoot":"","sources":["../../../../../../../../libs/shared/nestjs/src/lib/services/health-db/health-db.service.ts"],"names":[],"mappings":";;;;AAAA,+CAA4F;AAC5F,2CAA4C;AAE5C,2DAA4D;AAGrD,IAAM,eAAe,6BAArB,MAAM,eAAgB,SAAQ,0BAAe;IAClD,YAAoB,UAAgC;QAClD,KAAK,EAAE,CAAC;QADU,eAAU,GAAV,UAAU,CAAsB;IAEpD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,MAAM,KAAK,GAAG,QAAQ,CAAC;QAEvB,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;YACtD,MAAM,MAAM,GAAG;gBACb,EAAE,EAAE,KAAK;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;YAEF,IAAI,CAAC,IAAI,EAAE;gBACT,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aAC5C;iBAAM;gBACL,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aACnD;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SAClC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,2BAAgB,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;SACxD;IACH,CAAC;CACF,CAAA;0BA3BY,eAAe;IAD3B,IAAA,mBAAU,GAAE;6CAEqB,6BAAe;GADpC,eAAe,CA2B3B"}
@@ -1,3 +0,0 @@
1
- import { HealthDbService } from "./health-db/health-db.service";
2
- export * from "./health-db/health-db.service";
3
- export declare const SERVICES: (typeof HealthDbService)[];
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SERVICES = void 0;
4
- const tslib_1 = require("tslib");
5
- const health_db_service_1 = require("./health-db/health-db.service");
6
- tslib_1.__exportStar(require("./health-db/health-db.service"), exports);
7
- exports.SERVICES = [
8
- health_db_service_1.HealthDbService
9
- ];
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/shared/nestjs/src/lib/services/index.ts"],"names":[],"mappings":";;;;AAAA,qEAAgE;AAEhE,wEAA8C;AAEjC,QAAA,QAAQ,GAAG;IACtB,mCAAe;CAChB,CAAC"}
@@ -1,15 +0,0 @@
1
- export declare class SharedConfig {
2
- tokenConfig?: {
3
- secretOrPrivateKey: string;
4
- expiredIn: number;
5
- };
6
- permissions?: {
7
- create?: Array<string>;
8
- read?: Array<string>;
9
- update?: Array<string>;
10
- delete?: Array<string>;
11
- [key: string]: Array<string>;
12
- };
13
- type?: any;
14
- }
15
- export type PermissionType = "create" | "read" | "update" | "delete" | string;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SharedConfig = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@nestjs/common");
6
- let SharedConfig = exports.SharedConfig = class SharedConfig {
7
- };
8
- exports.SharedConfig = SharedConfig = tslib_1.__decorate([
9
- (0, common_1.Injectable)()
10
- ], SharedConfig);
11
- //# sourceMappingURL=shared.config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.config.js","sourceRoot":"","sources":["../../../../../../libs/shared/nestjs/src/lib/shared.config.ts"],"names":[],"mappings":";;;;AAAA,2CAA4C;AAGrC,IAAM,YAAY,0BAAlB,MAAM,YAAY;CAaxB,CAAA;uBAbY,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CAaxB"}
@@ -1,14 +0,0 @@
1
- import { DynamicModule } from '@nestjs/common';
2
- import { SharedConfig } from './shared.config';
3
- export declare class SharedModule {
4
- static forFeature(config: SharedConfig): DynamicModule;
5
- static forRoot(config: SharedConfig & {
6
- db: {
7
- host: string;
8
- port: number;
9
- database: string;
10
- username?: string;
11
- password?: string;
12
- };
13
- }): DynamicModule;
14
- }
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SharedModule = void 0;
4
- const terminus_1 = require("@nestjs/terminus");
5
- const axios_1 = require("@nestjs/axios");
6
- const mongo_1 = require("@smartsoft001/mongo");
7
- const jwt_strategy_1 = require("./auth/jwt.strategy");
8
- const shared_config_1 = require("./shared.config");
9
- const permission_service_1 = require("./auth/permission.service");
10
- const controllers_1 = require("./controllers");
11
- const services_1 = require("./services");
12
- class SharedModule {
13
- static forFeature(config) {
14
- return {
15
- module: SharedModule,
16
- providers: [
17
- { provide: shared_config_1.SharedConfig, useValue: config },
18
- jwt_strategy_1.JwtStrategy,
19
- permission_service_1.PermissionService,
20
- ],
21
- exports: [
22
- { provide: shared_config_1.SharedConfig, useValue: config },
23
- permission_service_1.PermissionService,
24
- jwt_strategy_1.JwtStrategy,
25
- ],
26
- };
27
- }
28
- static forRoot(config) {
29
- return {
30
- module: SharedModule,
31
- controllers: [...controllers_1.CONTROLLERS],
32
- imports: [
33
- SharedModule.forFeature(config),
34
- mongo_1.MongoModule.forRoot({
35
- ...config.db,
36
- collection: '_app',
37
- }),
38
- terminus_1.TerminusModule.forRoot({
39
- errorLogStyle: 'json',
40
- }),
41
- axios_1.HttpModule,
42
- ],
43
- providers: [...services_1.SERVICES],
44
- exports: [SharedModule.forFeature(config)],
45
- };
46
- }
47
- }
48
- exports.SharedModule = SharedModule;
49
- //# sourceMappingURL=shared.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.module.js","sourceRoot":"","sources":["../../../../../../libs/shared/nestjs/src/lib/shared.module.ts"],"names":[],"mappings":";;;AACA,+CAAkD;AAClD,yCAA2C;AAE3C,+CAAkD;AAElD,sDAAkD;AAClD,mDAA+C;AAC/C,kEAA8D;AAC9D,+CAA4C;AAE5C,yCAAsC;AAEtC,MAAa,YAAY;IACvB,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,4BAAY,EAAE,QAAQ,EAAE,MAAM,EAAE;gBAC3C,0BAAW;gBACX,sCAAiB;aAClB;YACD,OAAO,EAAE;gBACP,EAAE,OAAO,EAAE,4BAAY,EAAE,QAAQ,EAAE,MAAM,EAAE;gBAC3C,sCAAiB;gBACjB,0BAAW;aACZ;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,MAQC;QAED,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,CAAC,GAAG,yBAAW,CAAC;YAC7B,OAAO,EAAE;gBACP,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC/B,mBAAW,CAAC,OAAO,CAAC;oBAClB,GAAG,MAAM,CAAC,EAAE;oBACZ,UAAU,EAAE,MAAM;iBACnB,CAAC;gBACF,yBAAc,CAAC,OAAO,CAAC;oBACrB,aAAa,EAAE,MAAM;iBACtB,CAAC;gBACF,kBAAU;aACX;YACD,SAAS,EAAE,CAAC,GAAG,mBAAQ,CAAC;YACxB,OAAO,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SAC3C,CAAC;IACJ,CAAC;CACF;AA9CD,oCA8CC"}
package/test-setup.d.ts DELETED
File without changes
package/test-setup.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=test-setup.js.map
package/test-setup.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../../../../libs/shared/nestjs/test-setup.ts"],"names":[],"mappings":""}
File without changes