@lenne.tech/nest-server 9.1.0 → 9.2.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 (117) 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 +47 -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/user/core-user.model.d.ts +2 -0
  59. package/dist/core/modules/user/core-user.model.js +12 -0
  60. package/dist/core/modules/user/core-user.model.js.map +1 -1
  61. package/dist/core.module.js +12 -2
  62. package/dist/core.module.js.map +1 -1
  63. package/dist/index.d.ts +6 -1
  64. package/dist/index.js +6 -1
  65. package/dist/index.js.map +1 -1
  66. package/dist/main.js +23 -0
  67. package/dist/main.js.map +1 -1
  68. package/dist/server/modules/auth/auth.model.js.map +1 -1
  69. package/dist/server/modules/auth/auth.resolver.d.ts +13 -5
  70. package/dist/server/modules/auth/auth.resolver.js +21 -12
  71. package/dist/server/modules/auth/auth.resolver.js.map +1 -1
  72. package/dist/server/modules/auth/auth.service.d.ts +2 -1
  73. package/dist/server/modules/auth/auth.service.js +7 -48
  74. package/dist/server/modules/auth/auth.service.js.map +1 -1
  75. package/dist/server/modules/file/file.module.js +3 -3
  76. package/dist/server/modules/file/file.module.js.map +1 -1
  77. package/dist/server/modules/user/user.model.d.ts +1 -0
  78. package/dist/server/modules/user/user.model.js +19 -0
  79. package/dist/server/modules/user/user.model.js.map +1 -1
  80. package/dist/server/server.module.js +12 -1
  81. package/dist/server/server.module.js.map +1 -1
  82. package/dist/tsconfig.build.tsbuildinfo +1 -1
  83. package/package.json +32 -27
  84. package/src/config.env.ts +41 -2
  85. package/src/core/common/filters/http-exception-log.filter.ts +27 -0
  86. package/src/core/common/interceptors/check-security.interceptor.ts +51 -0
  87. package/src/core/common/interfaces/server-options.interface.ts +67 -30
  88. package/src/core/common/models/core-model.model.ts +7 -0
  89. package/src/core/common/plugins/complexity.plugin.ts +31 -0
  90. package/src/core/common/plugins/mongoose-id.plugin.js +4 -2
  91. package/src/core/common/services/config.service.ts +4 -4
  92. package/src/core/common/services/module.service.ts +2 -2
  93. package/src/core/modules/auth/core-auth.model.ts +15 -2
  94. package/src/core/modules/auth/core-auth.module.ts +8 -2
  95. package/src/core/modules/auth/core-auth.resolver.ts +93 -10
  96. package/src/core/modules/auth/guards/auth.guard.ts +12 -5
  97. package/src/core/modules/auth/guards/refresh-token.guard.ts +5 -0
  98. package/src/core/modules/auth/guards/roles.guard.ts +1 -1
  99. package/src/core/modules/auth/inputs/core-auth-sign-in.input.ts +3 -0
  100. package/src/core/modules/auth/inputs/core-auth-sign-up.input.ts +3 -0
  101. package/src/core/modules/auth/interfaces/core-auth-user.interface.ts +15 -0
  102. package/src/core/modules/auth/interfaces/jwt-payload.interface.ts +1 -1
  103. package/src/core/modules/auth/services/core-auth-user.service.ts +15 -0
  104. package/src/core/modules/auth/services/core-auth.service.ts +216 -18
  105. package/src/core/modules/auth/strategies/jwt-refresh.strategy.ts +56 -0
  106. package/src/core/modules/auth/{jwt.strategy.ts → strategies/jwt.strategy.ts} +16 -5
  107. package/src/core/modules/user/core-user.model.ts +17 -1
  108. package/src/core.module.ts +14 -2
  109. package/src/index.ts +6 -1
  110. package/src/main.ts +29 -0
  111. package/src/server/modules/auth/auth.model.ts +1 -1
  112. package/src/server/modules/auth/auth.resolver.ts +26 -8
  113. package/src/server/modules/auth/auth.service.ts +20 -61
  114. package/src/server/modules/file/file.module.ts +3 -3
  115. package/src/server/modules/user/user.model.ts +29 -0
  116. package/src/server/server.module.ts +12 -1
  117. package/dist/core/modules/auth/jwt.strategy.js.map +0 -1
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var JwtRefreshStrategy_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.JwtRefreshStrategy = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const passport_1 = require("@nestjs/passport");
16
+ const bcrypt = require("bcrypt");
17
+ const passport_jwt_1 = require("passport-jwt");
18
+ const config_service_1 = require("../../../common/services/config.service");
19
+ const core_auth_service_1 = require("../services/core-auth.service");
20
+ let JwtRefreshStrategy = JwtRefreshStrategy_1 = class JwtRefreshStrategy extends (0, passport_1.PassportStrategy)(passport_jwt_1.Strategy, 'jwt-refresh') {
21
+ constructor(authService, configService) {
22
+ super({
23
+ jwtFromRequest: passport_jwt_1.ExtractJwt.fromExtractors([
24
+ JwtRefreshStrategy_1.extractJWTFromCookie,
25
+ passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken(),
26
+ ]),
27
+ privateKey: configService.get('jwt.refresh.privateKey'),
28
+ publicKey: configService.get('jwt.refresh.publicKey'),
29
+ secret: configService.get('jwt.refresh.secret') || configService.get('jwt.refresh.secretOrPrivateKey'),
30
+ secretOrKey: configService.get('jwt.refresh.secretOrPrivateKey') || configService.get('jwt.refresh.secret'),
31
+ secretOrKeyProvider: configService.get('jwt.refresh.secretOrKeyProvider'),
32
+ passReqToCallback: true,
33
+ });
34
+ this.authService = authService;
35
+ this.configService = configService;
36
+ }
37
+ static extractJWTFromCookie(req) {
38
+ return req?.cookies?.refreshToken || null;
39
+ }
40
+ async validate(req, payload) {
41
+ const user = await this.authService.validateUser(payload);
42
+ if (!user) {
43
+ throw new common_1.UnauthorizedException();
44
+ }
45
+ const refreshToken = req
46
+ .get('Authorization')
47
+ .replace(/bearer/i, '')
48
+ .trim();
49
+ const refreshTokenMatches = await bcrypt.compare(refreshToken, user.refreshToken);
50
+ if (!refreshTokenMatches) {
51
+ throw new common_1.ForbiddenException('Access Denied');
52
+ }
53
+ return user;
54
+ }
55
+ };
56
+ JwtRefreshStrategy = JwtRefreshStrategy_1 = __decorate([
57
+ (0, common_1.Injectable)(),
58
+ __metadata("design:paramtypes", [core_auth_service_1.CoreAuthService, config_service_1.ConfigService])
59
+ ], JwtRefreshStrategy);
60
+ exports.JwtRefreshStrategy = JwtRefreshStrategy;
61
+ //# sourceMappingURL=jwt-refresh.strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-refresh.strategy.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/strategies/jwt-refresh.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAuF;AACvF,+CAAoD;AACpD,iCAAiC;AAEjC,+CAAoD;AACpD,4EAAwE;AACxE,qEAAgE;AAGzD,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,EAAE,aAAa,CAAC;IAC/E,YAA+B,WAA4B,EAAqB,aAA4B;QAC1G,KAAK,CAAC;YACJ,cAAc,EAAE,yBAAU,CAAC,cAAc,CAAC;gBACxC,oBAAkB,CAAC,oBAAoB;gBACvC,yBAAU,CAAC,2BAA2B,EAAE;aACzC,CAAC;YACF,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACvD,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,uBAAuB,CAAC;YACrD,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,gCAAgC,CAAC;YACtG,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,gCAAgC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAC3G,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,iCAAiC,CAAC;YACzE,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QAZ0B,gBAAW,GAAX,WAAW,CAAiB;QAAqB,kBAAa,GAAb,aAAa,CAAe;IAa5G,CAAC;IAKO,MAAM,CAAC,oBAAoB,CAAC,GAAgB;QAClD,OAAO,GAAG,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC;IAC5C,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,GAAY,EAAE,OAAY;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,8BAAqB,EAAE,CAAC;SACnC;QAGD,MAAM,YAAY,GAAG,GAAG;aACrB,GAAG,CAAC,eAAe,CAAC;aACpB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACtB,IAAI,EAAE,CAAC;QACV,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClF,IAAI,CAAC,mBAAmB,EAAE;YACxB,MAAM,IAAI,2BAAkB,CAAC,eAAe,CAAC,CAAC;SAC/C;QAGD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA9CY,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAEiC,mCAAe,EAAoC,8BAAa;GADjG,kBAAkB,CA8C9B;AA9CY,gDAAkB"}
@@ -1,11 +1,12 @@
1
- import { ConfigService } from '../../common/services/config.service';
2
- import { JwtPayload } from './interfaces/jwt-payload.interface';
3
- import { CoreAuthService } from './services/core-auth.service';
1
+ import { ConfigService } from '../../../common/services/config.service';
2
+ import { JwtPayload } from '../interfaces/jwt-payload.interface';
3
+ import { CoreAuthService } from '../services/core-auth.service';
4
4
  declare const JwtStrategy_base: new (...args: any[]) => any;
5
5
  export declare class JwtStrategy extends JwtStrategy_base {
6
6
  protected readonly authService: CoreAuthService;
7
7
  protected readonly configService: ConfigService;
8
8
  constructor(authService: CoreAuthService, configService: ConfigService);
9
+ private static extractJWTFromCookie;
9
10
  validate(payload: JwtPayload): Promise<any>;
10
11
  }
11
12
  export {};
@@ -8,17 +8,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  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
+ var JwtStrategy_1;
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.JwtStrategy = void 0;
13
14
  const common_1 = require("@nestjs/common");
14
15
  const passport_1 = require("@nestjs/passport");
15
16
  const passport_jwt_1 = require("passport-jwt");
16
- const config_service_1 = require("../../common/services/config.service");
17
- const core_auth_service_1 = require("./services/core-auth.service");
18
- let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(passport_jwt_1.Strategy) {
17
+ const config_service_1 = require("../../../common/services/config.service");
18
+ const core_auth_service_1 = require("../services/core-auth.service");
19
+ let JwtStrategy = JwtStrategy_1 = class JwtStrategy extends (0, passport_1.PassportStrategy)(passport_jwt_1.Strategy, 'jwt') {
19
20
  constructor(authService, configService) {
20
21
  super({
21
- jwtFromRequest: passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken(),
22
+ jwtFromRequest: passport_jwt_1.ExtractJwt.fromExtractors([
23
+ JwtStrategy_1.extractJWTFromCookie,
24
+ passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken(),
25
+ ]),
22
26
  privateKey: configService.get('jwt.privateKey'),
23
27
  publicKey: configService.get('jwt.publicKey'),
24
28
  secret: configService.get('jwt.secret') || configService.get('jwt.secretOrPrivateKey'),
@@ -28,6 +32,9 @@ let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(pas
28
32
  this.authService = authService;
29
33
  this.configService = configService;
30
34
  }
35
+ static extractJWTFromCookie(req) {
36
+ return req?.cookies?.token || null;
37
+ }
31
38
  async validate(payload) {
32
39
  const user = await this.authService.validateUser(payload);
33
40
  if (!user) {
@@ -36,7 +43,7 @@ let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(pas
36
43
  return user;
37
44
  }
38
45
  };
39
- JwtStrategy = __decorate([
46
+ JwtStrategy = JwtStrategy_1 = __decorate([
40
47
  (0, common_1.Injectable)(),
41
48
  __metadata("design:paramtypes", [core_auth_service_1.CoreAuthService, config_service_1.ConfigService])
42
49
  ], JwtStrategy);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/strategies/jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAmE;AACnE,+CAAoD;AACpD,+CAAoD;AACpD,4EAAwE;AAExE,qEAAgE;AAOzD,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,EAAE,KAAK,CAAC;IAIhE,YAA+B,WAA4B,EAAqB,aAA4B;QAC1G,KAAK,CAAC;YACJ,cAAc,EAAE,yBAAU,CAAC,cAAc,CAAC;gBACxC,aAAW,CAAC,oBAAoB;gBAChC,yBAAU,CAAC,2BAA2B,EAAE;aACzC,CAAC;YACF,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC/C,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC;YAC7C,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACtF,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;YAC3F,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,yBAAyB,CAAC;SAClE,CAAC,CAAC;QAX0B,gBAAW,GAAX,WAAW,CAAiB;QAAqB,kBAAa,GAAb,aAAa,CAAe;IAY5G,CAAC;IAKO,MAAM,CAAC,oBAAoB,CAAC,GAAgB;QAClD,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;IACrC,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,OAAmB;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,8BAAqB,EAAE,CAAC;SACnC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAnCY,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAKiC,mCAAe,EAAoC,8BAAa;GAJjG,WAAW,CAmCvB;AAnCY,kCAAW"}
@@ -9,6 +9,8 @@ export declare abstract class CoreUserModel extends CorePersistenceModel {
9
9
  roles: string[];
10
10
  username: string;
11
11
  passwordResetToken: string;
12
+ refreshToken: string;
13
+ refreshTokens: Record<string, string>;
12
14
  verificationToken: string;
13
15
  verified: boolean;
14
16
  verifiedAt: Date;
@@ -24,6 +24,8 @@ let CoreUserModel = class CoreUserModel extends core_persistence_model_1.CorePer
24
24
  this.roles = undefined;
25
25
  this.username = undefined;
26
26
  this.passwordResetToken = undefined;
27
+ this.refreshToken = undefined;
28
+ this.refreshTokens = undefined;
27
29
  this.verificationToken = undefined;
28
30
  this.verified = undefined;
29
31
  this.verifiedAt = undefined;
@@ -95,6 +97,16 @@ __decorate([
95
97
  (0, mongoose_1.Prop)(),
96
98
  __metadata("design:type", String)
97
99
  ], CoreUserModel.prototype, "passwordResetToken", void 0);
100
+ __decorate([
101
+ (0, class_validator_1.IsOptional)(),
102
+ (0, mongoose_1.Prop)(),
103
+ __metadata("design:type", String)
104
+ ], CoreUserModel.prototype, "refreshToken", void 0);
105
+ __decorate([
106
+ (0, class_validator_1.IsOptional)(),
107
+ (0, mongoose_1.Prop)((0, mongoose_1.raw)({})),
108
+ __metadata("design:type", Object)
109
+ ], CoreUserModel.prototype, "refreshTokens", void 0);
98
110
  __decorate([
99
111
  (0, class_validator_1.IsOptional)(),
100
112
  (0, mongoose_1.Prop)(),
@@ -1 +1 @@
1
- {"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ const mongoose_1 = require("@nestjs/mongoose");
16
16
  const graphqlUploadExpress = require("graphql-upload/graphqlUploadExpress.js");
17
17
  const config_helper_1 = require("./core/common/helpers/config.helper");
18
18
  const map_and_validate_pipe_1 = require("./core/common/pipes/map-and-validate.pipe");
19
+ const complexity_plugin_1 = require("./core/common/plugins/complexity.plugin");
19
20
  const config_service_1 = require("./core/common/services/config.service");
20
21
  const email_service_1 = require("./core/common/services/email.service");
21
22
  const mailjet_service_1 = require("./core/common/services/mailjet.service");
@@ -25,6 +26,13 @@ let CoreModule = CoreModule_1 = class CoreModule {
25
26
  consumer.apply(graphqlUploadExpress()).forRoutes('graphql');
26
27
  }
27
28
  static forRoot(AuthService, AuthModule, options) {
29
+ let cors = {};
30
+ if (options?.cookies) {
31
+ cors = {
32
+ credentials: true,
33
+ origin: true,
34
+ };
35
+ }
28
36
  const config = (0, config_helper_1.merge)({
29
37
  env: 'develop',
30
38
  graphQl: {
@@ -33,7 +41,8 @@ let CoreModule = CoreModule_1 = class CoreModule {
33
41
  inject: [AuthService],
34
42
  useFactory: async (authService) => Object.assign({
35
43
  autoSchemaFile: 'schema.gql',
36
- context: ({ req }) => ({ req }),
44
+ context: ({ req, res }) => ({ req, res }),
45
+ cors,
37
46
  installSubscriptionHandlers: true,
38
47
  subscriptions: {
39
48
  'subscriptions-transport-ws': {
@@ -94,6 +103,7 @@ let CoreModule = CoreModule_1 = class CoreModule {
94
103
  email_service_1.EmailService,
95
104
  template_service_1.TemplateService,
96
105
  mailjet_service_1.MailjetService,
106
+ complexity_plugin_1.ComplexityPlugin,
97
107
  ];
98
108
  return {
99
109
  module: CoreModule_1,
@@ -102,7 +112,7 @@ let CoreModule = CoreModule_1 = class CoreModule {
102
112
  graphql_1.GraphQLModule.forRootAsync(Object.assign({ driver: apollo_1.ApolloDriver }, config.graphQl.driver, config.graphQl.options)),
103
113
  ],
104
114
  providers,
105
- exports: [config_service_1.ConfigService, email_service_1.EmailService, template_service_1.TemplateService, mailjet_service_1.MailjetService],
115
+ exports: [config_service_1.ConfigService, email_service_1.EmailService, template_service_1.TemplateService, mailjet_service_1.MailjetService, complexity_plugin_1.ComplexityPlugin],
106
116
  };
107
117
  }
108
118
  };
@@ -1 +1 @@
1
- {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAkE;AAClE,2CAAsH;AACtH,uCAAwC;AACxC,6CAAgD;AAChD,+CAAkD;AAElD,+EAA+E;AAC/E,uEAA4D;AAE5D,qFAA+E;AAC/E,0EAAsE;AACtE,wEAAoE;AACpE,4EAAwE;AACxE,8EAA0E;AAiBnE,IAAM,UAAU,kBAAhB,MAAM,UAAU;IAIrB,SAAS,CAAC,QAA4B;QACpC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAKD,MAAM,CAAC,OAAO,CAAC,WAAgB,EAAE,UAAe,EAAE,OAAgC;QAEhF,MAAM,MAAM,GAAmB,IAAA,qBAAK,EAClC;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,OAAO,EAAE,CAAC,UAAU,CAAC;oBACrB,MAAM,EAAE,CAAC,WAAW,CAAC;oBACrB,UAAU,EAAE,KAAK,EAAE,WAAgB,EAAE,EAAE,CACrC,MAAM,CAAC,MAAM,CACX;wBACE,cAAc,EAAE,YAAY;wBAC5B,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;wBAC/B,2BAA2B,EAAE,IAAI;wBACjC,aAAa,EAAE;4BACb,4BAA4B,EAAE;gCAC5B,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE;oCACpC,IAAI,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE;wCAEzC,MAAM,SAAS,GACb,eAAe,IAAI,gBAAgB,IAAI,gBAAgB,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wCAExF,IAAI,SAAS,EAAE;4CAEb,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;4CACjD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;4CAErD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;yCAClD;wCAED,MAAM,IAAI,8BAAqB,EAAE,CAAC;qCACnC;gCACH,CAAC;6BACF;4BACD,YAAY,EAAE;gCACZ,SAAS,EAAE,KAAK,EAAE,OAAqB,EAAE,EAAE;oCACzC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;oCAC5C,IAAI,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE;wCAEzC,MAAM,SAAS,GAAW,gBAAgB,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wCACzE,IAAI,SAAS,EAAE;4CAEb,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;4CACjD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;4CAErD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;4CAClB,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC;4CAChC,OAAO,KAAK,CAAC;yCACd;wCAED,MAAM,IAAI,8BAAqB,EAAE,CAAC;qCACnC;gCACH,CAAC;gCACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;6BAC9B;yBACF;qBACF,EACD,OAAO,EAAE,OAAO,EAAE,MAAM,CACzB;iBACJ;gBACD,sBAAsB,EAAE,IAAI;aAC7B;YACD,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE;gBACR,GAAG,EAAE,yCAAyC;gBAC9C,OAAO,EAAE;oBACP,iBAAiB,EAAE,CAAC,UAAU,EAAE,EAAE;wBAEhC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,CAAC;wBACvE,OAAO,UAAU,CAAC;oBACpB,CAAC;iBACF;aACF;SACgB,EACnB,OAAO,CACR,CAAC;QAGF,MAAM,SAAS,GAAG;YAEhB;gBACE,OAAO,EAAE,8BAAa;gBACtB,QAAQ,EAAE,IAAI,8BAAa,CAAC,MAAM,CAAC;aACpC;YAGD;gBACE,OAAO,EAAE,eAAQ;gBACjB,QAAQ,EAAE,0CAAkB;aAC7B;YAGD,4BAAY;YACZ,kCAAe;YACf,gCAAc;SACf,CAAC;QAGF,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,OAAO,EAAE;gBACP,yBAAc,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACpE,uBAAa,CAAC,YAAY,CACxB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,qBAAY,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CACvF;aACF;YACD,SAAS;YACT,OAAO,EAAE,CAAC,8BAAa,EAAE,4BAAY,EAAE,kCAAe,EAAE,gCAAc,CAAC;SACxE,CAAC;IACJ,CAAC;CACF,CAAA;AA1HY,UAAU;IAFtB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CA0HtB;AA1HY,gCAAU"}
1
+ {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export * from './core/common/enums/logical-operator.enum';
10
10
  export * from './core/common/enums/process-type.enum';
11
11
  export * from './core/common/enums/role.enum';
12
12
  export * from './core/common/enums/sort-order.emum';
13
+ export * from './core/common/filters/http-exception-log.filter';
13
14
  export * from './core/common/helpers/common.helper';
14
15
  export * from './core/common/helpers/config.helper';
15
16
  export * from './core/common/helpers/context.helper';
@@ -26,6 +27,7 @@ export * from './core/common/inputs/filter.input';
26
27
  export * from './core/common/inputs/single-filter.input';
27
28
  export * from './core/common/inputs/sort.input';
28
29
  export * from './core/common/interceptors/check-response.interceptor';
30
+ export * from './core/common/interceptors/check-security.interceptor';
29
31
  export * from './core/common/interfaces/core-persistence-model.interface';
30
32
  export * from './core/common/interfaces/cron-job-config.interface';
31
33
  export * from './core/common/interfaces/mailjet-options.interface';
@@ -38,6 +40,8 @@ export * from './core/common/models/core-model.model';
38
40
  export * from './core/common/models/core-persistence.model';
39
41
  export * from './core/common/pipes/check-input.pipe';
40
42
  export * from './core/common/pipes/map-and-validate.pipe';
43
+ export * from './core/common/plugins/complexity.plugin';
44
+ export * from './core/common/plugins/mongoose-id.plugin';
41
45
  export * from './core/common/scalars/any.scalar';
42
46
  export * from './core/common/scalars/date.scalar';
43
47
  export * from './core/common/scalars/json.scalar';
@@ -70,7 +74,8 @@ export * from './core/modules/auth/services/core-auth-user.service';
70
74
  export * from './core/modules/auth/core-auth.model';
71
75
  export * from './core/modules/auth/core-auth.module';
72
76
  export * from './core/modules/auth/core-auth.resolver';
73
- export * from './core/modules/auth/jwt.strategy';
77
+ export * from './core/modules/auth/strategies/jwt.strategy';
78
+ export * from './core/modules/auth/strategies/jwt-refresh.strategy';
74
79
  export * from './core/modules/file/interfaces/file-service-options.interface';
75
80
  export * from './core/modules/file/interfaces/file-upload.interface';
76
81
  export * from './core/modules/file/core-file.controller';
package/dist/index.js CHANGED
@@ -26,6 +26,7 @@ __exportStar(require("./core/common/enums/logical-operator.enum"), exports);
26
26
  __exportStar(require("./core/common/enums/process-type.enum"), exports);
27
27
  __exportStar(require("./core/common/enums/role.enum"), exports);
28
28
  __exportStar(require("./core/common/enums/sort-order.emum"), exports);
29
+ __exportStar(require("./core/common/filters/http-exception-log.filter"), exports);
29
30
  __exportStar(require("./core/common/helpers/common.helper"), exports);
30
31
  __exportStar(require("./core/common/helpers/config.helper"), exports);
31
32
  __exportStar(require("./core/common/helpers/context.helper"), exports);
@@ -42,6 +43,7 @@ __exportStar(require("./core/common/inputs/filter.input"), exports);
42
43
  __exportStar(require("./core/common/inputs/single-filter.input"), exports);
43
44
  __exportStar(require("./core/common/inputs/sort.input"), exports);
44
45
  __exportStar(require("./core/common/interceptors/check-response.interceptor"), exports);
46
+ __exportStar(require("./core/common/interceptors/check-security.interceptor"), exports);
45
47
  __exportStar(require("./core/common/interfaces/core-persistence-model.interface"), exports);
46
48
  __exportStar(require("./core/common/interfaces/cron-job-config.interface"), exports);
47
49
  __exportStar(require("./core/common/interfaces/mailjet-options.interface"), exports);
@@ -54,6 +56,8 @@ __exportStar(require("./core/common/models/core-model.model"), exports);
54
56
  __exportStar(require("./core/common/models/core-persistence.model"), exports);
55
57
  __exportStar(require("./core/common/pipes/check-input.pipe"), exports);
56
58
  __exportStar(require("./core/common/pipes/map-and-validate.pipe"), exports);
59
+ __exportStar(require("./core/common/plugins/complexity.plugin"), exports);
60
+ __exportStar(require("./core/common/plugins/mongoose-id.plugin"), exports);
57
61
  __exportStar(require("./core/common/scalars/any.scalar"), exports);
58
62
  __exportStar(require("./core/common/scalars/date.scalar"), exports);
59
63
  __exportStar(require("./core/common/scalars/json.scalar"), exports);
@@ -86,7 +90,8 @@ __exportStar(require("./core/modules/auth/services/core-auth-user.service"), exp
86
90
  __exportStar(require("./core/modules/auth/core-auth.model"), exports);
87
91
  __exportStar(require("./core/modules/auth/core-auth.module"), exports);
88
92
  __exportStar(require("./core/modules/auth/core-auth.resolver"), exports);
89
- __exportStar(require("./core/modules/auth/jwt.strategy"), exports);
93
+ __exportStar(require("./core/modules/auth/strategies/jwt.strategy"), exports);
94
+ __exportStar(require("./core/modules/auth/strategies/jwt-refresh.strategy"), exports);
90
95
  __exportStar(require("./core/modules/file/interfaces/file-service-options.interface"), exports);
91
96
  __exportStar(require("./core/modules/file/interfaces/file-upload.interface"), exports);
92
97
  __exportStar(require("./core/modules/file/core-file.controller"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,+EAA6D;AAC7D,4EAA0D;AAC1D,wEAAsD;AACtD,gEAA8C;AAC9C,sEAAoD;AACpD,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,kEAAgD;AAChD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,qEAAmD;AACnD,qEAAmD;AACnD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,4FAA0E;AAC1E,qFAAmE;AACnE,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,wEAAsD;AACtD,gFAA8D;AAC9D,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,wEAAsD;AACtD,0EAAwD;AACxD,kFAAgE;AAChE,iEAA+C;AAC/C,2EAAyD;AACzD,+DAA6C;AAC7C,yEAAuD;AACvD,uEAAqD;AACrD,wEAAsD;AACtD,0EAAwD;AACxD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAM7D,wEAAsD;AACtD,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,0FAAwE;AACxE,uFAAqE;AACrE,iFAA+D;AAC/D,sFAAoE;AACpE,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,mEAAiD;AAMjD,gGAA8E;AAC9E,uFAAqE;AACrE,2EAAyD;AACzD,yEAAuD;AACvD,wEAAsD;AACtD,2EAAyD;AAMzD,6EAA2D;AAC3D,oFAAkE;AAClE,sEAAoD;AACpD,wEAAsD;AAMtD,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,+EAA6D;AAC7D,4EAA0D;AAC1D,wEAAsD;AACtD,gEAA8C;AAC9C,sEAAoD;AACpD,kFAAgE;AAChE,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,kEAAgD;AAChD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,qEAAmD;AACnD,qEAAmD;AACnD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,wFAAsE;AACtE,4FAA0E;AAC1E,qFAAmE;AACnE,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,0EAAwD;AACxD,2EAAyD;AACzD,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,wEAAsD;AACtD,gFAA8D;AAC9D,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,wEAAsD;AACtD,0EAAwD;AACxD,kFAAgE;AAChE,iEAA+C;AAC/C,2EAAyD;AACzD,+DAA6C;AAC7C,yEAAuD;AACvD,uEAAqD;AACrD,wEAAsD;AACtD,0EAAwD;AACxD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAM7D,wEAAsD;AACtD,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,0FAAwE;AACxE,uFAAqE;AACrE,iFAA+D;AAC/D,sFAAoE;AACpE,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,8EAA4D;AAC5D,sFAAoE;AAMpE,gGAA8E;AAC9E,uFAAqE;AACrE,2EAAyD;AACzD,yEAAuD;AACvD,wEAAsD;AACtD,2EAAyD;AAMzD,6EAA2D;AAC3D,oFAAkE;AAClE,sEAAoD;AACpD,wEAAsD;AAMtD,qDAAmC"}
package/dist/main.js CHANGED
@@ -2,10 +2,33 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const core_1 = require("@nestjs/core");
4
4
  const child_process_1 = require("child_process");
5
+ const compression = require("compression");
6
+ const cookieParser = require("cookie-parser");
5
7
  const config_env_1 = require("./config.env");
8
+ const http_exception_log_filter_1 = require("./core/common/filters/http-exception-log.filter");
6
9
  const server_module_1 = require("./server/server.module");
7
10
  async function bootstrap() {
8
11
  const server = await core_1.NestFactory.create(server_module_1.ServerModule);
12
+ if (config_env_1.default.logExceptions) {
13
+ server.useGlobalFilters(new http_exception_log_filter_1.HttpExceptionLogFilter());
14
+ }
15
+ if (config_env_1.default.compression) {
16
+ let envCompressionOptions = {};
17
+ if (typeof config_env_1.default.compression === 'object') {
18
+ envCompressionOptions = config_env_1.default.compression;
19
+ }
20
+ const compressionOptions = {
21
+ filter: () => {
22
+ return true;
23
+ },
24
+ threshold: 0,
25
+ ...envCompressionOptions,
26
+ };
27
+ server.use(compression(compressionOptions));
28
+ }
29
+ if (config_env_1.default.cookies) {
30
+ server.use(cookieParser());
31
+ }
9
32
  server.useStaticAssets(config_env_1.default.staticAssets.path, config_env_1.default.staticAssets.options);
10
33
  server.setBaseViewsDir(config_env_1.default.templates.path);
11
34
  server.setViewEngine(config_env_1.default.templates.engine);
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAE3C,iDAAqC;AACrC,6CAAqC;AACrC,0DAAsD;AAKtD,KAAK,UAAU,SAAS;IAEtB,MAAM,MAAM,GAAG,MAAM,kBAAW,CAAC,MAAM,CAErC,4BAAY,CACb,CAAC;IAGF,MAAM,CAAC,eAAe,CAAC,oBAAS,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAGpF,MAAM,CAAC,eAAe,CAAC,oBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAGjD,MAAM,CAAC,UAAU,EAAE,CAAC;IAGpB,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAS,CAAC,IAAI,CAAC,CAAC;IAGpC,IAAI,oBAAS,CAAC,aAAa,EAAE;QAC3B,IAAA,oBAAI,EAAC,oBAAS,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACtD,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzC,OAAO;aACR;YAED,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;gBACnC,OAAO;aACR;QACH,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAGD,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAE3C,iDAAqC;AACrC,2CAA2C;AAC3C,8CAA8C;AAC9C,6CAAqC;AACrC,+FAAyF;AACzF,0DAAsD;AAKtD,KAAK,UAAU,SAAS;IAEtB,MAAM,MAAM,GAAG,MAAM,kBAAW,CAAC,MAAM,CAErC,4BAAY,CACb,CAAC;IAGF,IAAI,oBAAS,CAAC,aAAa,EAAE;QAC3B,MAAM,CAAC,gBAAgB,CAAC,IAAI,kDAAsB,EAAE,CAAC,CAAC;KACvD;IAGD,IAAI,oBAAS,CAAC,WAAW,EAAE;QACzB,IAAI,qBAAqB,GAAG,EAAE,CAAC;QAC/B,IAAI,OAAO,oBAAS,CAAC,WAAW,KAAK,QAAQ,EAAE;YAC7C,qBAAqB,GAAG,oBAAS,CAAC,WAAW,CAAC;SAC/C;QACD,MAAM,kBAAkB,GAAG;YACzB,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,GAAG,qBAAqB;SACzB,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;KAC7C;IAGD,IAAI,oBAAS,CAAC,OAAO,EAAE;QACrB,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;KAC5B;IAGD,MAAM,CAAC,eAAe,CAAC,oBAAS,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAGpF,MAAM,CAAC,eAAe,CAAC,oBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAGjD,MAAM,CAAC,UAAU,EAAE,CAAC;IAGpB,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAS,CAAC,IAAI,CAAC,CAAC;IAGpC,IAAI,oBAAS,CAAC,aAAa,EAAE;QAC3B,IAAA,oBAAI,EAAC,oBAAS,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACtD,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzC,OAAO;aACR;YAED,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;gBACnC,OAAO;aACR;QACH,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAGD,SAAS,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.model.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,4EAAuE;AACvE,gFAA2E;AAC3E,mDAA0C;AAMnC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,+BAAa;IAAhC;;QASL,SAAI,GAAS,SAAS,CAAC;IAsBzB,CAAC;IAbU,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;QACjB,OAAO,IAAA,yBAAU,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAvBC;IAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;8BACnD,iBAAI;kCAAa;AATZ,IAAI;IADhB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;GACtC,IAAI,CA+BhB;AA/BY,oBAAI"}
1
+ {"version":3,"file":"auth.model.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,4EAAuE;AACvE,gFAA2E;AAC3E,mDAA0C;AAMnC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,+BAAa;IAAhC;;QASI,SAAI,GAAS,SAAS,CAAC;IAsBlC,CAAC;IAbU,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;QACjB,OAAO,IAAA,yBAAU,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAvBC;IAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;8BAC1C,iBAAI;kCAAa;AATrB,IAAI;IADhB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;GACtC,IAAI,CA+BhB;AA/BY,oBAAI"}
@@ -1,11 +1,19 @@
1
+ import { Response as ResponseType } from 'express';
1
2
  import { GraphQLResolveInfo } from 'graphql';
3
+ import { ConfigService } from '../../../core/common/services/config.service';
4
+ import { CoreAuthResolver } from '../../../core/modules/auth/core-auth.resolver';
2
5
  import { Auth } from './auth.model';
3
6
  import { AuthService } from './auth.service';
4
7
  import { AuthSignInInput } from './inputs/auth-sign-in.input';
5
8
  import { AuthSignUpInput } from './inputs/auth-sign-up.input';
6
- export declare class AuthResolver {
7
- private readonly authService;
8
- constructor(authService: AuthService);
9
- signIn(info: GraphQLResolveInfo, input: AuthSignInInput): Promise<Auth>;
10
- signUp(info: GraphQLResolveInfo, input: AuthSignUpInput): Promise<Auth>;
9
+ export declare class AuthResolver extends CoreAuthResolver {
10
+ protected readonly authService: AuthService;
11
+ protected readonly configService: ConfigService;
12
+ constructor(authService: AuthService, configService: ConfigService);
13
+ signIn(info: GraphQLResolveInfo, ctx: {
14
+ res: ResponseType;
15
+ }, input: AuthSignInInput): Promise<Auth>;
16
+ signUp(info: GraphQLResolveInfo, ctx: {
17
+ res: ResponseType;
18
+ }, input: AuthSignUpInput): Promise<Auth>;
11
19
  }
@@ -14,32 +14,39 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AuthResolver = void 0;
16
16
  const graphql_1 = require("@nestjs/graphql");
17
+ const config_service_1 = require("../../../core/common/services/config.service");
18
+ const core_auth_resolver_1 = require("../../../core/modules/auth/core-auth.resolver");
17
19
  const auth_model_1 = require("./auth.model");
18
20
  const auth_service_1 = require("./auth.service");
19
21
  const auth_sign_in_input_1 = require("./inputs/auth-sign-in.input");
20
22
  const auth_sign_up_input_1 = require("./inputs/auth-sign-up.input");
21
- let AuthResolver = class AuthResolver {
22
- constructor(authService) {
23
+ let AuthResolver = class AuthResolver extends core_auth_resolver_1.CoreAuthResolver {
24
+ constructor(authService, configService) {
25
+ super(authService, configService);
23
26
  this.authService = authService;
27
+ this.configService = configService;
24
28
  }
25
- async signIn(info, input) {
26
- return this.authService.signIn(input, {
29
+ async signIn(info, ctx, input) {
30
+ const result = await this.authService.signIn(input, {
27
31
  fieldSelection: { info, select: 'signIn' },
28
32
  inputType: auth_sign_in_input_1.AuthSignInInput,
29
33
  });
34
+ return this.processCookies(ctx, result);
30
35
  }
31
- async signUp(info, input) {
32
- return this.authService.signUp(input, {
36
+ async signUp(info, ctx, input) {
37
+ const result = await this.authService.signUp(input, {
33
38
  fieldSelection: { info, select: 'signUp' },
34
39
  });
40
+ return this.processCookies(ctx, result);
35
41
  }
36
42
  };
37
43
  __decorate([
38
- (0, graphql_1.Query)(() => auth_model_1.Auth, { description: 'Sign in and get JWT token' }),
44
+ (0, graphql_1.Mutation)(() => auth_model_1.Auth, { description: 'Sign in and get JWT token' }),
39
45
  __param(0, (0, graphql_1.Info)()),
40
- __param(1, (0, graphql_1.Args)('input')),
46
+ __param(1, (0, graphql_1.Context)()),
47
+ __param(2, (0, graphql_1.Args)('input')),
41
48
  __metadata("design:type", Function),
42
- __metadata("design:paramtypes", [Object, auth_sign_in_input_1.AuthSignInInput]),
49
+ __metadata("design:paramtypes", [Object, Object, auth_sign_in_input_1.AuthSignInInput]),
43
50
  __metadata("design:returntype", Promise)
44
51
  ], AuthResolver.prototype, "signIn", null);
45
52
  __decorate([
@@ -47,14 +54,16 @@ __decorate([
47
54
  description: 'Sign up user and get JWT token',
48
55
  }),
49
56
  __param(0, (0, graphql_1.Info)()),
50
- __param(1, (0, graphql_1.Args)('input')),
57
+ __param(1, (0, graphql_1.Context)()),
58
+ __param(2, (0, graphql_1.Args)('input')),
51
59
  __metadata("design:type", Function),
52
- __metadata("design:paramtypes", [Object, auth_sign_up_input_1.AuthSignUpInput]),
60
+ __metadata("design:paramtypes", [Object, Object, auth_sign_up_input_1.AuthSignUpInput]),
53
61
  __metadata("design:returntype", Promise)
54
62
  ], AuthResolver.prototype, "signUp", null);
55
63
  AuthResolver = __decorate([
56
64
  (0, graphql_1.Resolver)(() => auth_model_1.Auth),
57
- __metadata("design:paramtypes", [auth_service_1.AuthService])
65
+ __metadata("design:paramtypes", [auth_service_1.AuthService,
66
+ config_service_1.ConfigService])
58
67
  ], AuthResolver);
59
68
  exports.AuthResolver = AuthResolver;
60
69
  //# sourceMappingURL=auth.resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAwE;AAExE,6CAAoC;AACpC,iDAA6C;AAC7C,oEAA8D;AAC9D,oEAA8D;AAMvD,IAAM,YAAY,GAAlB,MAAM,YAAY;IAIvB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAMnD,AAAN,KAAK,CAAC,MAAM,CAAS,IAAwB,EAAiB,KAAsB;QAClF,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE;YACpC,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC1C,SAAS,EAAE,oCAAe;SAC3B,CAAC,CAAC;IACL,CAAC;IAQK,AAAN,KAAK,CAAC,MAAM,CAAS,IAAwB,EAAiB,KAAsB;QAClF,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE;YACpC,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAlBO;IADL,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAClD,WAAA,IAAA,cAAI,GAAE,CAAA;IAA4B,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;;6CAAQ,oCAAe;;0CAKnF;AAQK;IAHL,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,iBAAI,EAAE;QACpB,WAAW,EAAE,gCAAgC;KAC9C,CAAC;IACY,WAAA,IAAA,cAAI,GAAE,CAAA;IAA4B,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;;6CAAQ,oCAAe;;0CAInF;AA3BU,YAAY;IADxB,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;qCAKuB,0BAAW;GAJ1C,YAAY,CA4BxB;AA5BY,oCAAY"}
1
+ {"version":3,"file":"auth.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA0E;AAG1E,iFAA6E;AAC7E,sFAAiF;AACjF,6CAAoC;AACpC,iDAA6C;AAC7C,oEAA8D;AAC9D,oEAA8D;AAMvD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,qCAAgB;IAIhD,YAC8B,WAAwB,EACxB,aAA4B;QAExD,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAHN,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;IAG1D,CAAC;IAMc,AAAN,KAAK,CAAC,MAAM,CACX,IAAwB,EACrB,GAA0B,EACtB,KAAsB;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE;YAClD,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC1C,SAAS,EAAE,oCAAe;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAQc,AAAN,KAAK,CAAC,MAAM,CACX,IAAwB,EACrB,GAA0B,EACtB,KAAsB;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE;YAClD,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC3C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AA5BgB;IADd,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAEhE,WAAA,IAAA,cAAI,GAAE,CAAA;IACN,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;;qDAAQ,oCAAe;;0CAOtC;AAQc;IAHd,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,iBAAI,EAAE;QACpB,WAAW,EAAE,gCAAgC;KAC9C,CAAC;IAEC,WAAA,IAAA,cAAI,GAAE,CAAA;IACN,WAAA,IAAA,iBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;;qDAAQ,oCAAe;;0CAMtC;AA1CU,YAAY;IADxB,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;qCAMwB,0BAAW;QACT,8BAAa;GAN/C,YAAY,CA2CxB;AA3CY,oCAAY"}
@@ -2,11 +2,12 @@ import { JwtService } from '@nestjs/jwt';
2
2
  import { ServiceOptions } from '../../../core/common/interfaces/service-options.interface';
3
3
  import { ConfigService } from '../../../core/common/services/config.service';
4
4
  import { EmailService } from '../../../core/common/services/email.service';
5
+ import { CoreAuthService } from '../../../core/modules/auth/services/core-auth.service';
5
6
  import { UserService } from '../user/user.service';
6
7
  import { Auth } from './auth.model';
7
8
  import { AuthSignInInput } from './inputs/auth-sign-in.input';
8
9
  import { AuthSignUpInput } from './inputs/auth-sign-up.input';
9
- export declare class AuthService {
10
+ export declare class AuthService extends CoreAuthService {
10
11
  protected readonly jwtService: JwtService;
11
12
  protected readonly emailService: EmailService;
12
13
  protected readonly userService: UserService;
@@ -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"}