@lenne.tech/nest-server 9.1.0 → 9.2.1

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 (121) hide show
  1. package/dist/config.env.js +41 -2
  2. package/dist/config.env.js.map +1 -1
  3. package/dist/core/common/filters/http-exception-log.filter.d.ts +4 -0
  4. package/dist/core/common/filters/http-exception-log.filter.js +30 -0
  5. package/dist/core/common/filters/http-exception-log.filter.js.map +1 -0
  6. package/dist/core/common/interceptors/check-security.interceptor.d.ts +5 -0
  7. package/dist/core/common/interceptors/check-security.interceptor.js +46 -0
  8. package/dist/core/common/interceptors/check-security.interceptor.js.map +1 -0
  9. package/dist/core/common/interfaces/server-options.interface.d.ts +16 -6
  10. package/dist/core/common/models/core-model.model.d.ts +1 -0
  11. package/dist/core/common/models/core-model.model.js +3 -0
  12. package/dist/core/common/models/core-model.model.js.map +1 -1
  13. package/dist/core/common/plugins/complexity.plugin.d.ts +9 -0
  14. package/dist/core/common/plugins/complexity.plugin.js +47 -0
  15. package/dist/core/common/plugins/complexity.plugin.js.map +1 -0
  16. package/dist/core/common/plugins/mongoose-id.plugin.d.ts +1 -2
  17. package/dist/core/common/plugins/mongoose-id.plugin.js +7 -2
  18. package/dist/core/common/plugins/mongoose-id.plugin.js.map +1 -1
  19. package/dist/core/common/services/config.service.d.ts +4 -4
  20. package/dist/core/common/services/config.service.js.map +1 -1
  21. package/dist/core/common/services/module.service.js +2 -2
  22. package/dist/core/common/services/module.service.js.map +1 -1
  23. package/dist/core/modules/auth/core-auth.model.d.ts +4 -1
  24. package/dist/core/modules/auth/core-auth.model.js +12 -1
  25. package/dist/core/modules/auth/core-auth.model.js.map +1 -1
  26. package/dist/core/modules/auth/core-auth.module.d.ts +3 -1
  27. package/dist/core/modules/auth/core-auth.module.js +7 -2
  28. package/dist/core/modules/auth/core-auth.module.js.map +1 -1
  29. package/dist/core/modules/auth/core-auth.resolver.d.ts +22 -2
  30. package/dist/core/modules/auth/core-auth.resolver.js +77 -9
  31. package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
  32. package/dist/core/modules/auth/guards/auth.guard.d.ts +1 -1
  33. package/dist/core/modules/auth/guards/auth.guard.js +9 -4
  34. package/dist/core/modules/auth/guards/auth.guard.js.map +1 -1
  35. package/dist/core/modules/auth/guards/refresh-token.guard.d.ts +4 -0
  36. package/dist/core/modules/auth/guards/refresh-token.guard.js +18 -0
  37. package/dist/core/modules/auth/guards/refresh-token.guard.js.map +1 -0
  38. package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
  39. package/dist/core/modules/auth/inputs/core-auth-sign-in.input.d.ts +1 -0
  40. package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js +5 -0
  41. package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js.map +1 -1
  42. package/dist/core/modules/auth/inputs/core-auth-sign-up.input.d.ts +1 -0
  43. package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js +5 -0
  44. package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js.map +1 -1
  45. package/dist/core/modules/auth/interfaces/core-auth-user.interface.d.ts +3 -0
  46. package/dist/core/modules/auth/interfaces/jwt-payload.interface.d.ts +1 -1
  47. package/dist/core/modules/auth/services/core-auth-user.service.d.ts +3 -0
  48. package/dist/core/modules/auth/services/core-auth-user.service.js.map +1 -1
  49. package/dist/core/modules/auth/services/core-auth.service.d.ts +23 -5
  50. package/dist/core/modules/auth/services/core-auth.service.js +121 -13
  51. package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
  52. package/dist/core/modules/auth/strategies/jwt-refresh.strategy.d.ts +12 -0
  53. package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js +61 -0
  54. package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js.map +1 -0
  55. package/dist/core/modules/auth/{jwt.strategy.d.ts → strategies/jwt.strategy.d.ts} +4 -3
  56. package/dist/core/modules/auth/{jwt.strategy.js → strategies/jwt.strategy.js} +12 -5
  57. package/dist/core/modules/auth/strategies/jwt.strategy.js.map +1 -0
  58. package/dist/core/modules/file/core-file.controller.d.ts +2 -2
  59. package/dist/core/modules/file/core-file.controller.js +2 -2
  60. package/dist/core/modules/file/core-file.controller.js.map +1 -1
  61. package/dist/core/modules/user/core-user.model.d.ts +2 -0
  62. package/dist/core/modules/user/core-user.model.js +12 -0
  63. package/dist/core/modules/user/core-user.model.js.map +1 -1
  64. package/dist/core.module.js +12 -2
  65. package/dist/core.module.js.map +1 -1
  66. package/dist/index.d.ts +6 -1
  67. package/dist/index.js +6 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/main.js +23 -0
  70. package/dist/main.js.map +1 -1
  71. package/dist/server/modules/auth/auth.model.js.map +1 -1
  72. package/dist/server/modules/auth/auth.resolver.d.ts +13 -5
  73. package/dist/server/modules/auth/auth.resolver.js +21 -12
  74. package/dist/server/modules/auth/auth.resolver.js.map +1 -1
  75. package/dist/server/modules/auth/auth.service.d.ts +2 -1
  76. package/dist/server/modules/auth/auth.service.js +7 -48
  77. package/dist/server/modules/auth/auth.service.js.map +1 -1
  78. package/dist/server/modules/file/file.module.js +3 -3
  79. package/dist/server/modules/file/file.module.js.map +1 -1
  80. package/dist/server/modules/user/user.model.d.ts +1 -0
  81. package/dist/server/modules/user/user.model.js +19 -0
  82. package/dist/server/modules/user/user.model.js.map +1 -1
  83. package/dist/server/server.module.js +12 -1
  84. package/dist/server/server.module.js.map +1 -1
  85. package/dist/tsconfig.build.tsbuildinfo +1 -1
  86. package/package.json +32 -27
  87. package/src/config.env.ts +41 -2
  88. package/src/core/common/filters/http-exception-log.filter.ts +27 -0
  89. package/src/core/common/interceptors/check-security.interceptor.ts +52 -0
  90. package/src/core/common/interfaces/server-options.interface.ts +67 -30
  91. package/src/core/common/models/core-model.model.ts +7 -0
  92. package/src/core/common/plugins/complexity.plugin.ts +31 -0
  93. package/src/core/common/plugins/mongoose-id.plugin.js +4 -2
  94. package/src/core/common/services/config.service.ts +4 -4
  95. package/src/core/common/services/module.service.ts +2 -2
  96. package/src/core/modules/auth/core-auth.model.ts +15 -2
  97. package/src/core/modules/auth/core-auth.module.ts +8 -2
  98. package/src/core/modules/auth/core-auth.resolver.ts +93 -10
  99. package/src/core/modules/auth/guards/auth.guard.ts +12 -5
  100. package/src/core/modules/auth/guards/refresh-token.guard.ts +5 -0
  101. package/src/core/modules/auth/guards/roles.guard.ts +1 -1
  102. package/src/core/modules/auth/inputs/core-auth-sign-in.input.ts +3 -0
  103. package/src/core/modules/auth/inputs/core-auth-sign-up.input.ts +3 -0
  104. package/src/core/modules/auth/interfaces/core-auth-user.interface.ts +15 -0
  105. package/src/core/modules/auth/interfaces/jwt-payload.interface.ts +1 -1
  106. package/src/core/modules/auth/services/core-auth-user.service.ts +15 -0
  107. package/src/core/modules/auth/services/core-auth.service.ts +216 -18
  108. package/src/core/modules/auth/strategies/jwt-refresh.strategy.ts +56 -0
  109. package/src/core/modules/auth/{jwt.strategy.ts → strategies/jwt.strategy.ts} +16 -5
  110. package/src/core/modules/file/core-file.controller.ts +2 -2
  111. package/src/core/modules/user/core-user.model.ts +17 -2
  112. package/src/core.module.ts +14 -2
  113. package/src/index.ts +6 -1
  114. package/src/main.ts +29 -0
  115. package/src/server/modules/auth/auth.model.ts +1 -1
  116. package/src/server/modules/auth/auth.resolver.ts +26 -8
  117. package/src/server/modules/auth/auth.service.ts +20 -61
  118. package/src/server/modules/file/file.module.ts +3 -3
  119. package/src/server/modules/user/user.model.ts +29 -0
  120. package/src/server/server.module.ts +12 -1
  121. package/dist/core/modules/auth/jwt.strategy.js.map +0 -1
@@ -12,49 +12,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.AuthService = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const jwt_1 = require("@nestjs/jwt");
15
- const bcrypt = require("bcrypt");
16
- const js_sha256_1 = require("js-sha256");
17
- const roles_decorator_1 = require("../../../core/common/decorators/roles.decorator");
18
- const role_enum_1 = require("../../../core/common/enums/role.enum");
19
- const service_helper_1 = require("../../../core/common/helpers/service.helper");
20
15
  const config_service_1 = require("../../../core/common/services/config.service");
21
16
  const email_service_1 = require("../../../core/common/services/email.service");
17
+ const core_auth_service_1 = require("../../../core/modules/auth/services/core-auth.service");
22
18
  const user_service_1 = require("../user/user.service");
23
19
  const auth_model_1 = require("./auth.model");
24
- const auth_sign_in_input_1 = require("./inputs/auth-sign-in.input");
25
- const auth_sign_up_input_1 = require("./inputs/auth-sign-up.input");
26
- let AuthService = class AuthService {
20
+ let AuthService = class AuthService extends core_auth_service_1.CoreAuthService {
27
21
  constructor(jwtService, emailService, userService, configService) {
22
+ super(userService, jwtService, configService);
28
23
  this.jwtService = jwtService;
29
24
  this.emailService = emailService;
30
25
  this.userService = userService;
31
26
  this.configService = configService;
32
27
  }
33
28
  async signIn(input, serviceOptions) {
34
- const serviceOptionsForUserService = (0, service_helper_1.prepareServiceOptions)(serviceOptions, {
35
- prepareOutput: null,
36
- subFieldSelection: 'user',
37
- });
38
- const user = await this.userService.getViaEmail(input.email, serviceOptionsForUserService);
39
- if (!user ||
40
- !((await bcrypt.compare(input.password, user.password)) ||
41
- (await bcrypt.compare((0, js_sha256_1.sha256)(input.password), user.password)))) {
42
- throw new common_1.UnauthorizedException();
43
- }
44
- const payload = { email: user.email };
45
- return auth_model_1.Auth.map({
46
- token: this.jwtService.sign(payload),
47
- user,
48
- });
29
+ return auth_model_1.Auth.map(await super.signIn(input, serviceOptions));
49
30
  }
50
31
  async signUp(input, serviceOptions) {
51
- const serviceOptionsForUserService = (0, service_helper_1.prepareServiceOptions)(serviceOptions, {
52
- subFieldSelection: 'user',
53
- });
54
- const user = await this.userService.create(input, serviceOptionsForUserService);
55
- if (!user) {
56
- throw Error('Email Address already in use');
57
- }
32
+ const result = await super.signUp(input, serviceOptions);
33
+ const { user } = result;
58
34
  await this.emailService.sendMail(user.email, 'Welcome', {
59
35
  htmlTemplate: 'welcome',
60
36
  templateData: {
@@ -62,28 +38,11 @@ let AuthService = class AuthService {
62
38
  link: this.configService.configFastButReadOnly.email.verificationLink + '/' + user.verificationToken,
63
39
  },
64
40
  });
65
- const payload = { email: user.email };
66
- return auth_model_1.Auth.map({
67
- token: this.jwtService.sign(payload),
68
- user: user,
69
- });
41
+ return auth_model_1.Auth.map(result);
70
42
  }
71
43
  };
72
- __decorate([
73
- (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
74
- __metadata("design:type", Function),
75
- __metadata("design:paramtypes", [auth_sign_in_input_1.AuthSignInInput, Object]),
76
- __metadata("design:returntype", Promise)
77
- ], AuthService.prototype, "signIn", null);
78
- __decorate([
79
- (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
80
- __metadata("design:type", Function),
81
- __metadata("design:paramtypes", [auth_sign_up_input_1.AuthSignUpInput, Object]),
82
- __metadata("design:returntype", Promise)
83
- ], AuthService.prototype, "signUp", null);
84
44
  AuthService = __decorate([
85
45
  (0, common_1.Injectable)(),
86
- (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
87
46
  __metadata("design:paramtypes", [jwt_1.JwtService,
88
47
  email_service_1.EmailService,
89
48
  user_service_1.UserService,
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAyC;AAEzC,iFAA6E;AAC7E,+EAA2E;AAC3E,6FAAwF;AACxF,uDAAmD;AACnD,6CAAoC;AAK7B,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,mCAAe;IAC9C,YAC8B,UAAsB,EAC/B,YAA0B,EACjB,WAAwB,EACxB,aAA4B;QAExD,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QALlB,eAAU,GAAV,UAAU,CAAY;QAC/B,iBAAY,GAAZ,YAAY,CAAc;QACjB,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;IAG1D,CAAC;IAOQ,KAAK,CAAC,MAAM,CAAC,KAAsB,EAAE,cAA+B;QAC3E,OAAO,iBAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7D,CAAC;IAOQ,KAAK,CAAC,MAAM,CAAC,KAAsB,EAAE,cAA+B;QAC3E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACzD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAGxB,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE;YACtD,YAAY,EAAE,SAAS;YACvB,YAAY,EAAE;gBACZ,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB;aACrG;SACF,CAAC,CAAC;QAGH,OAAO,iBAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF,CAAA;AAxCY,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAG+B,gBAAU;QACjB,4BAAY;QACJ,0BAAW;QACT,8BAAa;GAL/C,WAAW,CAwCvB;AAxCY,kCAAW"}
@@ -8,12 +8,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.FileModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
+ const platform_express_1 = require("@nestjs/platform-express");
12
+ const user_module_1 = require("../user/user.module");
13
+ const file_controller_1 = require("./file.controller");
11
14
  const file_resolver_1 = require("./file.resolver");
12
15
  const file_service_1 = require("./file.service");
13
- const file_controller_1 = require("./file.controller");
14
16
  const multer_config_service_1 = require("./multer-config.service");
15
- const platform_express_1 = require("@nestjs/platform-express");
16
- const user_module_1 = require("../user/user.module");
17
17
  let FileModule = class FileModule {
18
18
  };
19
19
  FileModule = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"file.module.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,mDAA+C;AAC/C,iDAA6C;AAC7C,uDAAmD;AACnD,mEAAoE;AACpE,+DAAwD;AACxD,qDAAiD;AAgB1C,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,UAAU;IAXtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,+BAAY,CAAC,aAAa,CAAC;gBACzB,QAAQ,EAAE,iDAAyB;aAC7B,CAAC;YACT,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;SAC7B;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,iDAAyB,EAAE,0BAAW,EAAE,4BAAY,CAAC;QACjE,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG;AAAb,gCAAU"}
1
+ {"version":3,"file":"file.module.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,+DAAwD;AACxD,qDAAiD;AACjD,uDAAmD;AACnD,mDAA+C;AAC/C,iDAA6C;AAC7C,mEAAoE;AAgB7D,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,UAAU;IAXtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,+BAAY,CAAC,aAAa,CAAC;gBACzB,QAAQ,EAAE,iDAAyB;aAC7B,CAAC;YACT,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;SAC7B;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,iDAAyB,EAAE,0BAAW,EAAE,4BAAY,CAAC;QACjE,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG;AAAb,gCAAU"}
@@ -32,5 +32,6 @@ export declare class User extends CoreUserModel implements PersistenceModel {
32
32
  updatedBy: string;
33
33
  init(): this;
34
34
  map(input: any): this;
35
+ securityCheck(user: User, force?: boolean): this;
35
36
  }
36
37
  export declare const UserSchema: Schema<User, import("mongoose").Model<User, any, any, any, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, User>;
@@ -13,6 +13,7 @@ exports.UserSchema = exports.User = void 0;
13
13
  const graphql_1 = require("@nestjs/graphql");
14
14
  const mongoose_1 = require("@nestjs/mongoose");
15
15
  const mongoose_2 = require("mongoose");
16
+ const role_enum_1 = require("../../../core/common/enums/role.enum");
16
17
  const core_user_model_1 = require("../../../core/modules/user/core-user.model");
17
18
  let User = class User extends core_user_model_1.CoreUserModel {
18
19
  constructor() {
@@ -29,6 +30,24 @@ let User = class User extends core_user_model_1.CoreUserModel {
29
30
  super.map(input);
30
31
  return this;
31
32
  }
33
+ securityCheck(user, force) {
34
+ if (force || (user && (user.id === this.id || user.hasRole(role_enum_1.RoleEnum.ADMIN)))) {
35
+ return this;
36
+ }
37
+ if (!user || user.id !== this.id) {
38
+ this.roles = [];
39
+ this.username = null;
40
+ this.verified = null;
41
+ this.verifiedAt = null;
42
+ this.createdAt = null;
43
+ this.createdBy = null;
44
+ this.labels = null;
45
+ this.tags = null;
46
+ this.updatedAt = null;
47
+ this.updatedBy = null;
48
+ }
49
+ return this;
50
+ }
32
51
  };
33
52
  __decorate([
34
53
  (0, graphql_1.Field)({ description: 'URL to avatar file of the user', nullable: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,+CAAiF;AACjF,uCAA4C;AAC5C,gFAA2E;AAUpE,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,+BAAa;IAAhC;;QAUL,WAAM,GAAW,SAAS,CAAC;QAY3B,cAAS,GAAW,SAAS,CAAC;QAY9B,cAAS,GAAW,SAAS,CAAC;IAwBhC,CAAC;IAfU,IAAI;QACX,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;IAKQ,GAAG,CAAC,KAAK;QAChB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAGjB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAlDC;IAAC,IAAA,eAAK,EAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxE,IAAA,eAAI,GAAE;;oCACoB;AAO3B;IAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;;uCACrB;AAO9B;IAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;;uCACrB;AAlCnB,IAAI;IAFhB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IACnC,IAAA,iBAAc,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;GACxB,IAAI,CA0DhB;AA1DY,oBAAI;AA4DJ,QAAA,UAAU,GAAG,wBAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,+CAAiF;AACjF,uCAA4C;AAC5C,oEAAgE;AAChE,gFAA2E;AAUpE,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,+BAAa;IAAhC;;QAUL,WAAM,GAAW,SAAS,CAAC;QAY3B,cAAS,GAAW,SAAS,CAAC;QAY9B,cAAS,GAAW,SAAS,CAAC;IAoDhC,CAAC;IA3CU,IAAI;QACX,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;IAKQ,GAAG,CAAC,KAAK;QAChB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAGjB,OAAO,IAAI,CAAC;IACd,CAAC;IAKQ,aAAa,CAAC,IAAU,EAAE,KAAe;QAChD,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC5E,OAAO,IAAI,CAAC;SACb;QAGD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YAChC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAGvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QAGD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA9EC;IAAC,IAAA,eAAK,EAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxE,IAAA,eAAI,GAAE;;oCACoB;AAO3B;IAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;;uCACrB;AAO9B;IAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;;uCACrB;AAlCnB,IAAI;IAFhB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IACnC,IAAA,iBAAc,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;GACxB,IAAI,CAsFhB;AAtFY,oBAAI;AAwFJ,QAAA,UAAU,GAAG,wBAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC"}
@@ -8,9 +8,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ServerModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
+ const core_1 = require("@nestjs/core");
11
12
  const schedule_1 = require("@nestjs/schedule");
12
13
  const config_env_1 = require("../config.env");
13
14
  const core_module_1 = require("../core.module");
15
+ const check_security_interceptor_1 = require("../core/common/interceptors/check-security.interceptor");
14
16
  const any_scalar_1 = require("../core/common/scalars/any.scalar");
15
17
  const date_scalar_1 = require("../core/common/scalars/date.scalar");
16
18
  const json_scalar_1 = require("../core/common/scalars/json.scalar");
@@ -29,7 +31,16 @@ ServerModule = __decorate([
29
31
  auth_module_1.AuthModule.forRoot(config_env_1.default.jwt),
30
32
  file_module_1.FileModule,
31
33
  ],
32
- providers: [any_scalar_1.Any, cron_jobs_service_1.CronJobs, date_scalar_1.DateScalar, json_scalar_1.JSON],
34
+ providers: [
35
+ any_scalar_1.Any,
36
+ cron_jobs_service_1.CronJobs,
37
+ date_scalar_1.DateScalar,
38
+ json_scalar_1.JSON,
39
+ {
40
+ provide: core_1.APP_INTERCEPTOR,
41
+ useClass: check_security_interceptor_1.CheckSecurityInterceptor,
42
+ },
43
+ ],
33
44
  controllers: [server_controller_1.ServerController],
34
45
  exports: [core_module_1.CoreModule, auth_module_1.AuthModule, file_module_1.FileModule],
35
46
  })
@@ -1 +1 @@
1
- {"version":3,"file":"server.module.js","sourceRoot":"","sources":["../../src/server/server.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAAkD;AAClD,8CAAsC;AACtC,gDAA4C;AAC5C,kEAAwD;AACxD,oEAAgE;AAChE,oEAA0D;AAC1D,uFAAkF;AAClF,2EAA+D;AAC/D,4DAAwD;AACxD,4DAAwD;AACxD,2DAAuD;AAiChD,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAzBxB,IAAA,eAAM,EAAC;QAEN,OAAO,EAAE;YAEP,wBAAU,CAAC,OAAO,CAAC,mCAAe,EAAE,wBAAU,CAAC,OAAO,CAAC,oBAAS,CAAC,GAAG,CAAC,EAAE,oBAAS,CAAC;YAGjF,yBAAc,CAAC,OAAO,EAAE;YAIxB,wBAAU,CAAC,OAAO,CAAC,oBAAS,CAAC,GAAG,CAAC;YAGjC,wBAAU;SACX;QAED,SAAS,EAAE,CAAC,gBAAG,EAAE,4BAAQ,EAAE,wBAAU,EAAE,kBAAI,CAAC;QAG5C,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAG/B,OAAO,EAAE,CAAC,wBAAU,EAAE,wBAAU,EAAE,wBAAU,CAAC;KAC9C,CAAC;GACW,YAAY,CAAG;AAAf,oCAAY"}
1
+ {"version":3,"file":"server.module.js","sourceRoot":"","sources":["../../src/server/server.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uCAA+C;AAC/C,+CAAkD;AAClD,8CAAsC;AACtC,gDAA4C;AAC5C,uGAAkG;AAClG,kEAAwD;AACxD,oEAAgE;AAChE,oEAA0D;AAC1D,uFAAkF;AAClF,2EAA+D;AAC/D,4DAAwD;AACxD,4DAAwD;AACxD,2DAAuD;AA0ChD,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAlCxB,IAAA,eAAM,EAAC;QAEN,OAAO,EAAE;YAEP,wBAAU,CAAC,OAAO,CAAC,mCAAe,EAAE,wBAAU,CAAC,OAAO,CAAC,oBAAS,CAAC,GAAG,CAAC,EAAE,oBAAS,CAAC;YAGjF,yBAAc,CAAC,OAAO,EAAE;YAIxB,wBAAU,CAAC,OAAO,CAAC,oBAAS,CAAC,GAAG,CAAC;YAGjC,wBAAU;SACX;QAED,SAAS,EAAE;YACT,gBAAG;YACH,4BAAQ;YACR,wBAAU;YACV,kBAAI;YACJ;gBACE,OAAO,EAAE,sBAAe;gBACxB,QAAQ,EAAE,qDAAwB;aACnC;SACF;QAGD,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAG/B,OAAO,EAAE,CAAC,wBAAU,EAAE,wBAAU,EAAE,wBAAU,CAAC;KAC9C,CAAC;GACW,YAAY,CAAG;AAAf,oCAAY"}