mongodb-dynamic-api 3.2.1 → 4.0.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 (195) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +34 -3
  3. package/package.json +5 -2
  4. package/src/adapters/socket-adapter.d.ts +3 -3
  5. package/src/adapters/socket-adapter.js.map +1 -1
  6. package/src/builders/route-decorators/auth-decorators.builder.d.ts +1 -1
  7. package/src/builders/route-decorators/route-decorators.builder.d.ts +1 -1
  8. package/src/builders/route-decorators/route-decorators.builder.js.map +1 -1
  9. package/src/decorators/validator-pipe.decorator.js.map +1 -1
  10. package/src/dynamic-api.module.js +4 -1
  11. package/src/dynamic-api.module.js.map +1 -1
  12. package/src/guards/jwt-socket.guard.js +1 -1
  13. package/src/guards/jwt-socket.guard.js.map +1 -1
  14. package/src/helpers/swagger-config.helper.js.map +1 -1
  15. package/src/interceptors/dynamic-api-cache.interceptor.d.ts +3 -2
  16. package/src/interceptors/dynamic-api-cache.interceptor.js +4 -0
  17. package/src/interceptors/dynamic-api-cache.interceptor.js.map +1 -1
  18. package/src/interfaces/dynamic-api-decorator-builder.interface.d.ts +1 -1
  19. package/src/interfaces/dynamic-api-global-state.interface.d.ts +3 -0
  20. package/src/interfaces/dynamic-api-swagger-options.type.d.ts +1 -1
  21. package/src/modules/auth/auth-broadcast.helper.d.ts +3 -0
  22. package/src/modules/auth/auth-broadcast.helper.js +11 -0
  23. package/src/modules/auth/auth-broadcast.helper.js.map +1 -0
  24. package/src/modules/auth/auth-events.constants.d.ts +13 -0
  25. package/src/modules/auth/auth-events.constants.js +28 -0
  26. package/src/modules/auth/auth-events.constants.js.map +1 -0
  27. package/src/modules/auth/auth.helper.d.ts +19 -5
  28. package/src/modules/auth/auth.helper.js +15 -8
  29. package/src/modules/auth/auth.helper.js.map +1 -1
  30. package/src/modules/auth/auth.module.d.ts +5 -2
  31. package/src/modules/auth/auth.module.js +45 -6
  32. package/src/modules/auth/auth.module.js.map +1 -1
  33. package/src/modules/auth/guards/index.d.ts +2 -0
  34. package/src/modules/auth/guards/index.js +2 -0
  35. package/src/modules/auth/guards/index.js.map +1 -1
  36. package/src/modules/auth/guards/jwt-refresh/jwt-refresh.guard.d.ts +4 -0
  37. package/src/modules/auth/guards/jwt-refresh/jwt-refresh.guard.js +18 -0
  38. package/src/modules/auth/guards/jwt-refresh/jwt-refresh.guard.js.map +1 -0
  39. package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js +1 -1
  40. package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js.map +1 -1
  41. package/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.d.ts +8 -0
  42. package/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.js +62 -0
  43. package/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.js.map +1 -0
  44. package/src/modules/auth/index.d.ts +2 -0
  45. package/src/modules/auth/index.js +2 -0
  46. package/src/modules/auth/index.js.map +1 -1
  47. package/src/modules/auth/interfaces/auth-controller.interface.d.ts +19 -4
  48. package/src/modules/auth/interfaces/auth-gateway.interface.d.ts +2 -0
  49. package/src/modules/auth/interfaces/auth-options.interface.d.ts +19 -2
  50. package/src/modules/auth/interfaces/auth-service.interface.d.ts +3 -0
  51. package/src/modules/auth/mixins/auth-controller.mixin.d.ts +2 -2
  52. package/src/modules/auth/mixins/auth-controller.mixin.js +112 -18
  53. package/src/modules/auth/mixins/auth-controller.mixin.js.map +1 -1
  54. package/src/modules/auth/mixins/auth-gateway.mixin.d.ts +2 -2
  55. package/src/modules/auth/mixins/auth-gateway.mixin.js +65 -31
  56. package/src/modules/auth/mixins/auth-gateway.mixin.js.map +1 -1
  57. package/src/modules/auth/services/base-auth.service.d.ts +9 -0
  58. package/src/modules/auth/services/base-auth.service.js +74 -15
  59. package/src/modules/auth/services/base-auth.service.js.map +1 -1
  60. package/src/modules/auth/strategies/index.d.ts +1 -0
  61. package/src/modules/auth/strategies/index.js +1 -0
  62. package/src/modules/auth/strategies/index.js.map +1 -1
  63. package/src/modules/auth/strategies/jwt-refresh.strategy.d.ts +14 -0
  64. package/src/modules/auth/strategies/jwt-refresh.strategy.js +45 -0
  65. package/src/modules/auth/strategies/jwt-refresh.strategy.js.map +1 -0
  66. package/src/modules/auth/strategies/jwt.strategy.d.ts +3 -1
  67. package/src/modules/auth/strategies/jwt.strategy.js.map +1 -1
  68. package/src/routes/aggregate/base-aggregate.service.js.map +1 -1
  69. package/src/routes/create-many/base-create-many.service.js.map +1 -1
  70. package/src/routes/create-one/base-create-one.service.js.map +1 -1
  71. package/src/routes/delete-many/base-delete-many.service.js.map +1 -1
  72. package/src/routes/delete-one/base-delete-one.service.js.map +1 -1
  73. package/src/routes/duplicate-many/base-duplicate-many.service.js +4 -3
  74. package/src/routes/duplicate-many/base-duplicate-many.service.js.map +1 -1
  75. package/src/routes/duplicate-one/base-duplicate-one.service.js +3 -2
  76. package/src/routes/duplicate-one/base-duplicate-one.service.js.map +1 -1
  77. package/src/routes/get-many/base-get-many.service.js.map +1 -1
  78. package/src/routes/get-one/base-get-one.service.js.map +1 -1
  79. package/src/routes/replace-one/base-replace-one.service.js +3 -2
  80. package/src/routes/replace-one/base-replace-one.service.js.map +1 -1
  81. package/src/routes/update-many/base-update-many.service.js.map +1 -1
  82. package/src/routes/update-one/base-update-one.service.js.map +1 -1
  83. package/src/services/base/base.service.d.ts +3 -3
  84. package/src/services/base/base.service.js +26 -8
  85. package/src/services/base/base.service.js.map +1 -1
  86. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js +3 -0
  87. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js.map +1 -1
  88. package/src/version.json +1 -1
  89. package/test/e2e.setup.d.ts +3 -2
  90. package/test/e2e.setup.js +5 -4
  91. package/test/e2e.setup.js.map +1 -1
  92. package/test/for-feature/base-entity.e2e-spec.js +316 -0
  93. package/test/for-feature/base-entity.e2e-spec.js.map +1 -0
  94. package/test/for-feature/http-broadcast.e2e-spec.js +187 -0
  95. package/test/for-feature/http-broadcast.e2e-spec.js.map +1 -0
  96. package/test/for-feature/soft-deletable-entity.e2e-spec.d.ts +1 -0
  97. package/test/for-feature/soft-deletable-entity.e2e-spec.js +335 -0
  98. package/test/for-feature/soft-deletable-entity.e2e-spec.js.map +1 -0
  99. package/test/for-feature/websockets.e2e-spec.d.ts +1 -0
  100. package/test/for-feature/websockets.e2e-spec.js +324 -0
  101. package/test/for-feature/websockets.e2e-spec.js.map +1 -0
  102. package/test/for-root/auth-api-basic.e2e-spec.d.ts +1 -0
  103. package/test/for-root/auth-api-basic.e2e-spec.js +338 -0
  104. package/test/for-root/auth-api-basic.e2e-spec.js.map +1 -0
  105. package/test/for-root/auth-api-broadcast.e2e-spec.d.ts +1 -0
  106. package/test/for-root/auth-api-broadcast.e2e-spec.js +82 -0
  107. package/test/for-root/auth-api-broadcast.e2e-spec.js.map +1 -0
  108. package/test/for-root/auth-api-login.e2e-spec.d.ts +1 -0
  109. package/test/for-root/auth-api-login.e2e-spec.js +103 -0
  110. package/test/for-root/auth-api-login.e2e-spec.js.map +1 -0
  111. package/test/for-root/auth-api-logout.e2e-spec.d.ts +1 -0
  112. package/test/for-root/auth-api-logout.e2e-spec.js +74 -0
  113. package/test/for-root/auth-api-logout.e2e-spec.js.map +1 -0
  114. package/test/for-root/auth-api-refresh-token-cookie.e2e-spec.d.ts +1 -0
  115. package/test/for-root/auth-api-refresh-token-cookie.e2e-spec.js +110 -0
  116. package/test/for-root/auth-api-refresh-token-cookie.e2e-spec.js.map +1 -0
  117. package/test/for-root/auth-api-refresh-token.e2e-spec.d.ts +1 -0
  118. package/test/for-root/auth-api-refresh-token.e2e-spec.js +153 -0
  119. package/test/for-root/auth-api-refresh-token.e2e-spec.js.map +1 -0
  120. package/test/for-root/auth-api-register.e2e-spec.d.ts +1 -0
  121. package/test/for-root/auth-api-register.e2e-spec.js +116 -0
  122. package/test/for-root/auth-api-register.e2e-spec.js.map +1 -0
  123. package/test/for-root/auth-api-reset-password.e2e-spec.d.ts +1 -0
  124. package/test/for-root/auth-api-reset-password.e2e-spec.js +168 -0
  125. package/test/for-root/auth-api-reset-password.e2e-spec.js.map +1 -0
  126. package/test/for-root/initialization.e2e-spec.d.ts +1 -0
  127. package/test/for-root/initialization.e2e-spec.js +84 -0
  128. package/test/for-root/initialization.e2e-spec.js.map +1 -0
  129. package/test/for-root/websockets-auth-basic.e2e-spec.d.ts +1 -0
  130. package/test/for-root/websockets-auth-basic.e2e-spec.js +313 -0
  131. package/test/for-root/websockets-auth-basic.e2e-spec.js.map +1 -0
  132. package/test/for-root/websockets-auth-broadcast.e2e-spec.d.ts +1 -0
  133. package/test/for-root/websockets-auth-broadcast.e2e-spec.js +86 -0
  134. package/test/for-root/websockets-auth-broadcast.e2e-spec.js.map +1 -0
  135. package/test/for-root/websockets-auth-login.e2e-spec.d.ts +1 -0
  136. package/test/for-root/websockets-auth-login.e2e-spec.js +107 -0
  137. package/test/for-root/websockets-auth-login.e2e-spec.js.map +1 -0
  138. package/test/for-root/websockets-auth-refresh-token.e2e-spec.d.ts +1 -0
  139. package/test/for-root/websockets-auth-refresh-token.e2e-spec.js +104 -0
  140. package/test/for-root/websockets-auth-refresh-token.e2e-spec.js.map +1 -0
  141. package/test/for-root/websockets-auth-register.e2e-spec.d.ts +1 -0
  142. package/test/for-root/websockets-auth-register.e2e-spec.js +131 -0
  143. package/test/for-root/websockets-auth-register.e2e-spec.js.map +1 -0
  144. package/test/for-root/websockets-auth-reset-password.e2e-spec.d.ts +1 -0
  145. package/test/for-root/websockets-auth-reset-password.e2e-spec.js +164 -0
  146. package/test/for-root/websockets-auth-reset-password.e2e-spec.js.map +1 -0
  147. package/test/shared/entities/basic-user.factory.d.ts +12 -0
  148. package/test/shared/entities/basic-user.factory.js +31 -0
  149. package/test/shared/entities/basic-user.factory.js.map +1 -0
  150. package/test/shared/entities/broadcast-user.factory.d.ts +13 -0
  151. package/test/shared/entities/broadcast-user.factory.js +35 -0
  152. package/test/shared/entities/broadcast-user.factory.js.map +1 -0
  153. package/test/shared/entities/index.d.ts +7 -0
  154. package/test/shared/entities/index.js +24 -0
  155. package/test/shared/entities/index.js.map +1 -0
  156. package/test/shared/entities/login-user.factory.d.ts +14 -0
  157. package/test/shared/entities/login-user.factory.js +39 -0
  158. package/test/shared/entities/login-user.factory.js.map +1 -0
  159. package/test/shared/entities/refresh-token-user.factory.d.ts +13 -0
  160. package/test/shared/entities/refresh-token-user.factory.js +35 -0
  161. package/test/shared/entities/refresh-token-user.factory.js.map +1 -0
  162. package/test/shared/entities/register-user.factory.d.ts +14 -0
  163. package/test/shared/entities/register-user.factory.js +39 -0
  164. package/test/shared/entities/register-user.factory.js.map +1 -0
  165. package/test/shared/entities/reset-password-user.factory.d.ts +14 -0
  166. package/test/shared/entities/reset-password-user.factory.js +39 -0
  167. package/test/shared/entities/reset-password-user.factory.js.map +1 -0
  168. package/test/shared/entities/validated-user.factory.d.ts +12 -0
  169. package/test/shared/entities/validated-user.factory.js +40 -0
  170. package/test/shared/entities/validated-user.factory.js.map +1 -0
  171. package/test/shared/fixtures/index.d.ts +2 -0
  172. package/test/shared/fixtures/index.js +19 -0
  173. package/test/shared/fixtures/index.js.map +1 -0
  174. package/test/shared/fixtures/login.fixtures.d.ts +16 -0
  175. package/test/shared/fixtures/login.fixtures.js +20 -0
  176. package/test/shared/fixtures/login.fixtures.js.map +1 -0
  177. package/test/shared/fixtures/register.fixtures.d.ts +10 -0
  178. package/test/shared/fixtures/register.fixtures.js +14 -0
  179. package/test/shared/fixtures/register.fixtures.js.map +1 -0
  180. package/test/shared/index.d.ts +4 -0
  181. package/test/shared/index.js +24 -0
  182. package/test/shared/index.js.map +1 -0
  183. package/test/shared/init-app.d.ts +3 -0
  184. package/test/shared/init-app.js +19 -0
  185. package/test/shared/init-app.js.map +1 -0
  186. package/test/shared/init-module.d.ts +4 -0
  187. package/test/shared/init-module.js +16 -0
  188. package/test/shared/init-module.js.map +1 -0
  189. package/tsconfig.tsbuildinfo +1 -1
  190. package/test/dynamic-api-for-feature.e2e-spec.js +0 -1100
  191. package/test/dynamic-api-for-feature.e2e-spec.js.map +0 -1
  192. package/test/dynamic-api-for-root.e2e-spec.js +0 -1573
  193. package/test/dynamic-api-for-root.e2e-spec.js.map +0 -1
  194. /package/test/{dynamic-api-for-feature.e2e-spec.d.ts → for-feature/base-entity.e2e-spec.d.ts} +0 -0
  195. /package/test/{dynamic-api-for-root.e2e-spec.d.ts → for-feature/http-broadcast.e2e-spec.d.ts} +0 -0
@@ -1,10 +1,13 @@
1
+ import { MiddlewareConsumer, NestModule } from '@nestjs/common';
1
2
  import { BaseEntity } from '../../models';
2
3
  import { DynamicApiAuthOptions } from './interfaces';
3
- export declare class AuthModule {
4
+ export declare class AuthModule implements NestModule {
5
+ private static useCookie;
6
+ configure(consumer: MiddlewareConsumer): void;
4
7
  static forRoot<Entity extends BaseEntity>(options: DynamicApiAuthOptions<Entity>): {
5
8
  module: typeof AuthModule;
6
9
  imports: (import("@nestjs/common").Type<any> | import("@nestjs/common").ForwardReference<any> | import("@nestjs/common").DynamicModule | Promise<import("@nestjs/common").DynamicModule>)[];
7
- providers: (import("../..").DynamicAPIServiceProvider | import("@nestjs/common").Provider)[];
10
+ providers: (import("../../interfaces").DynamicAPIServiceProvider | import("@nestjs/common").Provider)[];
8
11
  controllers: import("@nestjs/common").Type<any>[];
9
12
  };
10
13
  private static initializeAuthOptions;
@@ -8,28 +8,48 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var AuthModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.AuthModule = void 0;
11
+ const cookieParser = require("cookie-parser");
11
12
  const common_1 = require("@nestjs/common");
12
13
  const jwt_1 = require("@nestjs/jwt");
13
14
  const mongoose_1 = require("@nestjs/mongoose");
14
15
  const passport_1 = require("@nestjs/passport");
15
16
  const dynamic_api_module_1 = require("../../dynamic-api.module");
17
+ const gateways_1 = require("../../gateways");
16
18
  const helpers_1 = require("../../helpers");
17
19
  const services_1 = require("../../services");
18
20
  const auth_helper_1 = require("./auth.helper");
19
21
  const strategies_1 = require("./strategies");
20
22
  let AuthModule = AuthModule_1 = class AuthModule {
23
+ configure(consumer) {
24
+ if (AuthModule_1.useCookie) {
25
+ consumer.apply(cookieParser()).forRoutes('*');
26
+ }
27
+ }
21
28
  static forRoot(options) {
22
- const { userEntity, login: { loginField, passwordField, ...login }, getAccount, register, updateAccount, resetPassword, jwt: { secret, expiresIn }, validationPipeOptions, webSocket, extraImports, extraProviders, extraControllers, } = this.initializeAuthOptions(options);
29
+ const { userEntity, login: { loginField, passwordField, ...login }, getAccount, register, updateAccount, resetPassword, refreshToken, jwt: { secret, expiresIn }, validationPipeOptions, webSocket, extraImports, extraProviders, extraControllers, } = this.initializeAuthOptions(options);
30
+ AuthModule_1.useCookie = refreshToken?.useCookie ?? false;
23
31
  const { resetPasswordCallback, ...resetPasswordOptionsRest } = resetPassword;
24
32
  const resetPasswordOptions = resetPasswordCallback
25
33
  ? { resetPasswordCallback, ...resetPasswordOptionsRest }
26
34
  : undefined;
27
- const AuthController = (0, auth_helper_1.createAuthController)(userEntity, { loginField, passwordField, ...login }, getAccount, register, validationPipeOptions, resetPasswordOptions, updateAccount);
28
- const AuthServiceProvider = (0, auth_helper_1.createAuthServiceProvider)(userEntity, { loginField, passwordField, ...login }, getAccount?.callback, register, resetPasswordOptions, updateAccount);
35
+ const AuthController = (0, auth_helper_1.createAuthController)(userEntity, { loginField, passwordField, ...login }, {
36
+ getAccountOptions: getAccount,
37
+ registerOptions: register,
38
+ validationPipeOptions,
39
+ resetPasswordOptions,
40
+ updateAccountOptions: updateAccount,
41
+ refreshTokenOptions: refreshToken,
42
+ });
43
+ const AuthServiceProvider = (0, auth_helper_1.createAuthServiceProvider)(userEntity, { loginField, passwordField, ...login }, getAccount?.callback, register, resetPasswordOptions, updateAccount, refreshToken);
29
44
  const LocalStrategyProvider = (0, auth_helper_1.createLocalStrategyProvider)(loginField, passwordField, login.abilityPredicate);
30
45
  const schema = (0, helpers_1.buildSchemaFromEntity)(userEntity);
31
46
  services_1.DynamicApiGlobalStateService.addEntitySchema(userEntity, schema);
32
47
  const gatewayOptions = (0, helpers_1.initializeConfigFromOptions)(webSocket ?? dynamic_api_module_1.DynamicApiModule.state.get('gatewayOptions'));
48
+ const hasBroadcast = !!(login?.broadcast || register?.broadcast || getAccount?.broadcast || updateAccount?.broadcast);
49
+ const broadcastProviders = hasBroadcast ? [
50
+ services_1.DynamicApiBroadcastService,
51
+ (0, gateways_1.createDynamicApiBroadcastGateway)(dynamic_api_module_1.DynamicApiModule.state.get('broadcastGatewayOptions') ?? {}),
52
+ ] : [];
33
53
  const webSocketsProviders = !gatewayOptions ? [] : [
34
54
  {
35
55
  provide: auth_helper_1.authGatewayProviderName,
@@ -37,7 +57,15 @@ let AuthModule = AuthModule_1 = class AuthModule {
37
57
  loginField,
38
58
  passwordField,
39
59
  ...login,
40
- }, getAccount, register, resetPasswordOptions, updateAccount, { ...gatewayOptions, validationPipeOptions }),
60
+ }, {
61
+ ...gatewayOptions,
62
+ validationPipeOptions,
63
+ getAccountOptions: getAccount,
64
+ registerOptions: register,
65
+ resetPasswordOptions,
66
+ updateAccountOptions: updateAccount,
67
+ refreshTokenOptions: refreshToken,
68
+ }),
41
69
  },
42
70
  ];
43
71
  return {
@@ -61,19 +89,23 @@ let AuthModule = AuthModule_1 = class AuthModule {
61
89
  AuthServiceProvider,
62
90
  LocalStrategyProvider,
63
91
  strategies_1.JwtStrategy,
92
+ strategies_1.JwtRefreshStrategy,
64
93
  services_1.BcryptService,
94
+ ...broadcastProviders,
65
95
  ...webSocketsProviders,
66
96
  ...extraProviders,
67
97
  ],
68
98
  controllers: [AuthController, ...extraControllers],
69
99
  };
70
100
  }
71
- static initializeAuthOptions({ userEntity, jwt, login, register, updateAccount, getAccount, resetPassword, validationPipeOptions, webSocket, extraImports = [], extraProviders = [], extraControllers = [], }) {
101
+ static initializeAuthOptions({ userEntity, jwt, login, register, updateAccount, getAccount, resetPassword, refreshToken, validationPipeOptions, webSocket, extraImports = [], extraProviders = [], extraControllers = [], }) {
72
102
  return {
73
103
  userEntity: userEntity,
74
104
  jwt: {
75
105
  secret: jwt?.secret ?? 'dynamic-api-jwt-secret',
76
- expiresIn: jwt?.expiresIn ?? '1d',
106
+ expiresIn: jwt?.expiresIn ?? '15m',
107
+ refreshTokenExpiresIn: jwt?.refreshTokenExpiresIn ?? '7d',
108
+ refreshSecret: jwt?.refreshSecret,
77
109
  },
78
110
  login: {
79
111
  ...login,
@@ -99,6 +131,12 @@ let AuthModule = AuthModule_1 = class AuthModule {
99
131
  emailField: (!resetPassword?.emailField ? 'email' : String(resetPassword.emailField)),
100
132
  expirationInMinutes: resetPassword?.expirationInMinutes ?? 10,
101
133
  },
134
+ refreshToken: {
135
+ ...refreshToken,
136
+ useInterceptors: refreshToken?.useInterceptors ?? [],
137
+ refreshTokenField: refreshToken?.refreshTokenField,
138
+ useCookie: refreshToken?.useCookie ?? false,
139
+ },
102
140
  validationPipeOptions: validationPipeOptions,
103
141
  webSocket,
104
142
  extraImports,
@@ -108,6 +146,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
108
146
  }
109
147
  };
110
148
  exports.AuthModule = AuthModule;
149
+ AuthModule.useCookie = false;
111
150
  exports.AuthModule = AuthModule = AuthModule_1 = __decorate([
112
151
  (0, common_1.Module)({})
113
152
  ], AuthModule);
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.module.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export * from './jwt-auth/jwt-auth.guard';
2
+ export * from './jwt-refresh/jwt-refresh.guard';
2
3
  export * from './jwt-socket-auth/jwt-socket-auth.guard';
4
+ export * from './jwt-socket-refresh/jwt-socket-refresh.guard';
3
5
  export * from './local-auth/local-auth.guard';
4
6
  export * from './reset-password/reset-password.guard';
@@ -15,7 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./jwt-auth/jwt-auth.guard"), exports);
18
+ __exportStar(require("./jwt-refresh/jwt-refresh.guard"), exports);
18
19
  __exportStar(require("./jwt-socket-auth/jwt-socket-auth.guard"), exports);
20
+ __exportStar(require("./jwt-socket-refresh/jwt-socket-refresh.guard"), exports);
19
21
  __exportStar(require("./local-auth/local-auth.guard"), exports);
20
22
  __exportStar(require("./reset-password/reset-password.guard"), exports);
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,0EAAwD;AACxD,gEAA8C;AAC9C,wEAAsD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,kEAAgD;AAChD,0EAAwD;AACxD,gFAA8D;AAC9D,gEAA8C;AAC9C,wEAAsD"}
@@ -0,0 +1,4 @@
1
+ declare const JwtRefreshGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
2
+ export declare class JwtRefreshGuard extends JwtRefreshGuard_base {
3
+ }
4
+ export {};
@@ -0,0 +1,18 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.JwtRefreshGuard = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const passport_1 = require("@nestjs/passport");
12
+ let JwtRefreshGuard = class JwtRefreshGuard extends (0, passport_1.AuthGuard)('jwt-refresh') {
13
+ };
14
+ exports.JwtRefreshGuard = JwtRefreshGuard;
15
+ exports.JwtRefreshGuard = JwtRefreshGuard = __decorate([
16
+ (0, common_1.Injectable)()
17
+ ], JwtRefreshGuard);
18
+ //# sourceMappingURL=jwt-refresh.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-refresh.guard.js","sourceRoot":"","sources":["../../../../../../libs/dynamic-api/src/modules/auth/guards/jwt-refresh/jwt-refresh.guard.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA6C;AAGtC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,IAAA,oBAAS,EAAC,aAAa,CAAC;CAAG,CAAA;AAAnD,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;GACA,eAAe,CAAoC"}
@@ -52,7 +52,7 @@ let JwtSocketAuthGuard = JwtSocketAuthGuard_1 = class JwtSocketAuthGuard {
52
52
  }
53
53
  catch (e) {
54
54
  this.logger.warn('extractUserFromToken jwtService.verify error');
55
- this.logger.warn(e.message);
55
+ this.logger.warn(e instanceof Error ? e.message : JSON.stringify(e));
56
56
  throw new websockets_1.WsException('Unauthorized');
57
57
  }
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-socket-auth.guard.js","sourceRoot":"","sources":["../../../../../../libs/dynamic-api/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA2E;AAC3E,qCAAyC;AACzC,mDAAiD;AACjD,mCAAiC;AACjC,uEAAkE;AAElE,+CAA6D;AAGtD,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAAxB;QACY,WAAM,GAAG,IAAI,gCAAuB,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAkDjF,CAAC;IAhDQ,KAAK,CAAC,WAAW,CAAC,OAAyB;QAChD,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjC,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAES,6BAA6B,CAAC,MAAsB;QAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAqB,CAAC;QAEjE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QACtD,MAAM,UAAU,GAAG,IAAI,gBAAU,CAAC;YAChC,MAAM,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;YAC/C,WAAW,EAAE;gBACX,SAAS,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC;aAC3D;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE;gBACtE,MAAM,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;gBAC/C,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAE5B,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF,CAAA;AAnDY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAmD9B"}
1
+ {"version":3,"file":"jwt-socket-auth.guard.js","sourceRoot":"","sources":["../../../../../../libs/dynamic-api/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA2E;AAC3E,qCAAyC;AACzC,mDAAiD;AACjD,mCAAiC;AACjC,uEAAkE;AAElE,+CAA6D;AAGtD,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAAxB;QACY,WAAM,GAAG,IAAI,gCAAuB,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAkDjF,CAAC;IAhDQ,KAAK,CAAC,WAAW,CAAC,OAAyB;QAChD,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjC,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAES,6BAA6B,CAAC,MAAsB;QAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAqB,CAAC;QAEjE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QACtD,MAAM,UAAU,GAAG,IAAI,gBAAU,CAAC;YAChC,MAAM,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;YAC/C,WAAW,EAAE;gBACX,SAAS,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC;aAC3D;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE;gBACtE,MAAM,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;gBAC/C,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF,CAAA;AAnDY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAmD9B"}
@@ -0,0 +1,8 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { ExtendedSocket } from '../../../../interfaces';
3
+ export declare class JwtSocketRefreshGuard implements CanActivate {
4
+ private readonly logger;
5
+ canActivate(context: ExecutionContext): Promise<boolean>;
6
+ protected getRefreshTokenFromSocket(socket: ExtendedSocket): string;
7
+ protected extractUserFromToken(refreshToken: string): Promise<unknown>;
8
+ }
@@ -0,0 +1,62 @@
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 JwtSocketRefreshGuard_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.JwtSocketRefreshGuard = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const jwt_1 = require("@nestjs/jwt");
13
+ const websockets_1 = require("@nestjs/websockets");
14
+ const lodash_1 = require("lodash");
15
+ const dynamic_api_module_1 = require("../../../../dynamic-api.module");
16
+ const logger_1 = require("../../../../logger");
17
+ let JwtSocketRefreshGuard = JwtSocketRefreshGuard_1 = class JwtSocketRefreshGuard {
18
+ constructor() {
19
+ this.logger = new logger_1.MongoDBDynamicApiLogger(JwtSocketRefreshGuard_1.name);
20
+ }
21
+ async canActivate(context) {
22
+ const [socket] = context.getArgs();
23
+ const refreshToken = this.getRefreshTokenFromSocket(socket);
24
+ const user = await this.extractUserFromToken(refreshToken);
25
+ if ((0, lodash_1.isEmpty)(user)) {
26
+ this.logger.warn('No user data from refresh token');
27
+ throw new websockets_1.WsException('Unauthorized');
28
+ }
29
+ socket.user = user;
30
+ return true;
31
+ }
32
+ getRefreshTokenFromSocket(socket) {
33
+ const refreshToken = socket.handshake.query.refreshToken;
34
+ if (!refreshToken) {
35
+ throw new websockets_1.WsException('Unauthorized');
36
+ }
37
+ return refreshToken;
38
+ }
39
+ async extractUserFromToken(refreshToken) {
40
+ const refreshSecret = dynamic_api_module_1.DynamicApiModule.state.get('jwtRefreshSecret');
41
+ const jwtSecret = dynamic_api_module_1.DynamicApiModule.state.get('jwtSecret');
42
+ const secret = refreshSecret ?? jwtSecret;
43
+ const jwtService = new jwt_1.JwtService({ secret });
44
+ try {
45
+ const { iat, exp, jti, ...user } = await jwtService.verifyAsync(refreshToken, {
46
+ secret,
47
+ ignoreExpiration: false,
48
+ });
49
+ return user;
50
+ }
51
+ catch (e) {
52
+ this.logger.warn('extractUserFromToken (refresh) jwtService.verify error');
53
+ this.logger.warn(e instanceof Error ? e.message : JSON.stringify(e));
54
+ throw new websockets_1.WsException('Unauthorized');
55
+ }
56
+ }
57
+ };
58
+ exports.JwtSocketRefreshGuard = JwtSocketRefreshGuard;
59
+ exports.JwtSocketRefreshGuard = JwtSocketRefreshGuard = JwtSocketRefreshGuard_1 = __decorate([
60
+ (0, common_1.Injectable)()
61
+ ], JwtSocketRefreshGuard);
62
+ //# sourceMappingURL=jwt-socket-refresh.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-socket-refresh.guard.js","sourceRoot":"","sources":["../../../../../../libs/dynamic-api/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA2E;AAC3E,qCAAyC;AACzC,mDAAiD;AACjD,mCAAiC;AACjC,uEAAkE;AAElE,+CAA6D;AAGtD,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAA3B;QACY,WAAM,GAAG,IAAI,gCAAuB,CAAC,uBAAqB,CAAC,IAAI,CAAC,CAAC;IA+CpF,CAAC;IA7CQ,KAAK,CAAC,WAAW,CAAC,OAAyB;QAChD,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAE3D,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACpD,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAES,yBAAyB,CAAC,MAAsB;QACxD,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAsB,CAAC;QAEnE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,YAAoB;QACvD,MAAM,aAAa,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAqB,kBAAkB,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAS,WAAW,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,aAAa,IAAI,SAAS,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,gBAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE;gBAC5E,MAAM;gBACN,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF,CAAA;AAhDY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;GACA,qBAAqB,CAgDjC"}
@@ -1,3 +1,5 @@
1
+ export * from './auth-broadcast.helper';
2
+ export * from './auth-events.constants';
1
3
  export * from './guards';
2
4
  export * from './interfaces';
3
5
  export * from './mixins';
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth-broadcast.helper"), exports);
18
+ __exportStar(require("./auth-events.constants"), exports);
17
19
  __exportStar(require("./guards"), exports);
18
20
  __exportStar(require("./interfaces"), exports);
19
21
  __exportStar(require("./mixins"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,+CAA6B;AAC7B,2CAAyB;AACzB,6CAA2B;AAC3B,+CAA6B;AAC7B,gDAA8B;AAC9B,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,0DAAwC;AACxC,2CAAyB;AACzB,+CAA6B;AAC7B,2CAAyB;AACzB,6CAA2B;AAC3B,+CAA6B;AAC7B,gDAA8B;AAC9B,gDAA8B"}
@@ -1,16 +1,31 @@
1
+ import { JwtService } from '@nestjs/jwt';
2
+ import { Response } from 'express';
1
3
  import { BaseEntity } from '../../../models';
4
+ import { DynamicApiBroadcastService } from '../../../services';
2
5
  import { ChangePasswordDto } from '../dtos/change-password.dto';
3
6
  import { ResetPasswordDto } from '../dtos/reset-password.dto';
4
7
  import { AuthService, LoginResponse } from './auth-service.interface';
5
8
  interface AuthController<Entity extends BaseEntity> {
6
- login<Body>(req: any, body: Body): Promise<LoginResponse>;
7
- register<Body>(body: Body): Promise<LoginResponse>;
8
- getAccount(req: any): Promise<Partial<Entity>>;
9
+ login<Body>(req: {
10
+ user: Entity;
11
+ }, body: Body, res: Response): Promise<LoginResponse>;
12
+ register<Body>(body: Body, res: Response): Promise<LoginResponse>;
13
+ getAccount(req: {
14
+ user: Entity;
15
+ }): Promise<Partial<Entity>>;
9
16
  updateAccount<Body>(req: {
10
17
  user: Entity;
11
18
  }, body: Body): Promise<Entity>;
12
19
  resetPassword(body: ResetPasswordDto): Promise<void>;
13
20
  changePassword(body: ChangePasswordDto): Promise<void>;
21
+ refreshToken(req: {
22
+ user: Entity;
23
+ headers: Record<string, string>;
24
+ cookies: Record<string, string>;
25
+ }, res: Response): Promise<LoginResponse>;
26
+ logout(req: {
27
+ user: Entity;
28
+ }, res: Response): Promise<void>;
14
29
  }
15
- type AuthControllerConstructor<Entity extends BaseEntity> = new (service: AuthService<Entity>) => AuthController<Entity>;
30
+ type AuthControllerConstructor<Entity extends BaseEntity> = new (service: AuthService<Entity>, broadcastService?: DynamicApiBroadcastService, jwtService?: JwtService) => AuthController<Entity>;
16
31
  export type { AuthController, AuthControllerConstructor };
@@ -11,6 +11,8 @@ interface AuthGateway<Entity extends BaseEntity> {
11
11
  updateAccount<Body>(socket: ExtendedSocket<Entity>, body: Body): GatewayResponse<Partial<Entity>>;
12
12
  resetPassword(body: ResetPasswordDto): GatewayResponse<void>;
13
13
  changePassword(body: ChangePasswordDto): GatewayResponse<void>;
14
+ refreshToken(socket: ExtendedSocket<Entity>): GatewayResponse<LoginResponse>;
15
+ logout(socket: ExtendedSocket<Entity>): GatewayResponse<void>;
14
16
  }
15
17
  type AuthGatewayConstructor<Entity extends BaseEntity> = new (service: AuthService<Entity>, jwtService: JwtService) => AuthGateway<Entity>;
16
18
  export type { AuthGateway, AuthGatewayConstructor };
@@ -1,9 +1,16 @@
1
1
  import { ModuleMetadata, NestInterceptor, Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { AuthAbilityPredicate, DynamicApiResetPasswordCallback, DynamicApiServiceBeforeSaveCallback, DynamicApiServiceCallback, DynamicApiWebSocketOptions } from '../../../interfaces';
2
+ import { AuthAbilityPredicate, BroadcastAbilityPredicate, DynamicApiResetPasswordCallback, DynamicApiServiceBeforeSaveCallback, DynamicApiServiceCallback, DynamicApiWebSocketOptions } from '../../../interfaces';
3
3
  import { BaseEntity } from '../../../models';
4
4
  type DynamicApiJWTOptions = {
5
5
  secret: string;
6
6
  expiresIn?: string | number;
7
+ refreshTokenExpiresIn?: string | number;
8
+ refreshSecret?: string;
9
+ };
10
+ type DynamicApiAuthBroadcastConfig<Entity extends BaseEntity = any> = {
11
+ enabled: boolean | BroadcastAbilityPredicate<Partial<Entity>>;
12
+ eventName?: string;
13
+ fields?: (keyof Entity)[];
7
14
  };
8
15
  type DynamicApiLoginOptions<Entity extends BaseEntity = any> = {
9
16
  loginField?: keyof Entity;
@@ -12,10 +19,12 @@ type DynamicApiLoginOptions<Entity extends BaseEntity = any> = {
12
19
  abilityPredicate?: AuthAbilityPredicate;
13
20
  additionalFields?: (keyof Entity)[];
14
21
  useInterceptors?: Type<NestInterceptor>[];
22
+ broadcast?: DynamicApiAuthBroadcastConfig<Entity>;
15
23
  };
16
24
  type DynamicApiGetAccountOptions<Entity extends BaseEntity = any> = {
17
25
  callback?: DynamicApiServiceCallback<Entity>;
18
26
  useInterceptors?: Type<NestInterceptor>[];
27
+ broadcast?: DynamicApiAuthBroadcastConfig<Entity>;
19
28
  };
20
29
  type DynamicApiRegisterOptions<Entity extends BaseEntity = any> = {
21
30
  beforeSaveCallback?: DynamicApiServiceBeforeSaveCallback<Entity>;
@@ -27,6 +36,7 @@ type DynamicApiRegisterOptions<Entity extends BaseEntity = any> = {
27
36
  required?: boolean;
28
37
  })[];
29
38
  useInterceptors?: Type<NestInterceptor>[];
39
+ broadcast?: DynamicApiAuthBroadcastConfig<Entity>;
30
40
  };
31
41
  type DynamicApiUpdateAccountOptions<Entity extends BaseEntity = any> = {
32
42
  beforeSaveCallback?: DynamicApiServiceBeforeSaveCallback<Entity>;
@@ -34,6 +44,7 @@ type DynamicApiUpdateAccountOptions<Entity extends BaseEntity = any> = {
34
44
  abilityPredicate?: AuthAbilityPredicate;
35
45
  additionalFieldsToExclude?: (keyof Entity)[];
36
46
  useInterceptors?: Type<NestInterceptor>[];
47
+ broadcast?: DynamicApiAuthBroadcastConfig<Entity>;
37
48
  };
38
49
  type DynamicApiResetPasswordOptions<Entity extends BaseEntity = any> = {
39
50
  emailField?: keyof Entity | string;
@@ -45,6 +56,11 @@ type DynamicApiResetPasswordOptions<Entity extends BaseEntity = any> = {
45
56
  changePasswordAbilityPredicate?: AuthAbilityPredicate;
46
57
  changePasswordUseInterceptors?: Type<NestInterceptor>[];
47
58
  };
59
+ type DynamicApiRefreshTokenOptions<Entity extends BaseEntity = any> = {
60
+ useInterceptors?: Type<NestInterceptor>[];
61
+ refreshTokenField?: keyof Entity;
62
+ useCookie?: boolean;
63
+ };
48
64
  type DynamicApiAuthOptions<Entity extends BaseEntity = any> = {
49
65
  userEntity: Type<Entity>;
50
66
  jwt?: DynamicApiJWTOptions;
@@ -53,10 +69,11 @@ type DynamicApiAuthOptions<Entity extends BaseEntity = any> = {
53
69
  register?: DynamicApiRegisterOptions<Entity>;
54
70
  updateAccount?: DynamicApiUpdateAccountOptions<Entity>;
55
71
  resetPassword?: Partial<DynamicApiResetPasswordOptions<Entity>>;
72
+ refreshToken?: DynamicApiRefreshTokenOptions<Entity>;
56
73
  validationPipeOptions?: ValidationPipeOptions;
57
74
  webSocket?: DynamicApiWebSocketOptions;
58
75
  extraImports?: ModuleMetadata['imports'];
59
76
  extraProviders?: ModuleMetadata['providers'];
60
77
  extraControllers?: ModuleMetadata['controllers'];
61
78
  };
62
- export type { DynamicApiAuthOptions, DynamicApiRegisterOptions, DynamicApiUpdateAccountOptions, DynamicApiGetAccountOptions, DynamicApiJWTOptions, DynamicApiLoginOptions, DynamicApiResetPasswordOptions, };
79
+ export type { DynamicApiAuthBroadcastConfig, DynamicApiAuthOptions, DynamicApiRegisterOptions, DynamicApiUpdateAccountOptions, DynamicApiGetAccountOptions, DynamicApiJWTOptions, DynamicApiLoginOptions, DynamicApiRefreshTokenOptions, DynamicApiResetPasswordOptions, };
@@ -1,6 +1,7 @@
1
1
  import { BaseEntity } from '../../../models';
2
2
  type LoginResponse = {
3
3
  accessToken: string;
4
+ refreshToken?: string;
4
5
  };
5
6
  interface AuthService<Entity extends BaseEntity> {
6
7
  validateUser(login: string, pass: string): Promise<Entity>;
@@ -10,5 +11,7 @@ interface AuthService<Entity extends BaseEntity> {
10
11
  updateAccount(user: Entity, update: Partial<Entity>): Promise<Entity>;
11
12
  resetPassword(email: string): Promise<void>;
12
13
  changePassword(resetPasswordToken: string, newPassword: string): Promise<void>;
14
+ refreshToken(user: Entity, rawToken?: string): Promise<LoginResponse>;
15
+ logout(user: Entity): Promise<void>;
13
16
  }
14
17
  export type { AuthService, LoginResponse };
@@ -1,5 +1,5 @@
1
1
  import { Type } from '@nestjs/common';
2
2
  import { BaseEntity } from '../../../models';
3
- import { AuthControllerConstructor, DynamicApiGetAccountOptions, DynamicApiLoginOptions, DynamicApiRegisterOptions, DynamicApiResetPasswordOptions, DynamicApiUpdateAccountOptions } from '../interfaces';
4
- declare function AuthControllerMixin<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginField, passwordField, additionalFields: additionalRequestFields, useInterceptors: loginUseInterceptors, }: DynamicApiLoginOptions<Entity>, { additionalFields: additionalRegisterFields, protected: registerProtected, abilityPredicate: registerAbilityPredicate, useInterceptors: registerUseInterceptors, }?: DynamicApiRegisterOptions<Entity>, { resetPasswordUseInterceptors, changePasswordUseInterceptors, ...resetPasswordOptions }?: DynamicApiResetPasswordOptions<Entity>, { useInterceptors: updateAccountUseInterceptors, ...updateAccountOptions }?: DynamicApiUpdateAccountOptions<Entity>, { useInterceptors: getAccountUseInterceptors, }?: DynamicApiGetAccountOptions<Entity>): AuthControllerConstructor<Entity>;
3
+ import { AuthControllerConstructor, DynamicApiGetAccountOptions, DynamicApiLoginOptions, DynamicApiRefreshTokenOptions, DynamicApiRegisterOptions, DynamicApiResetPasswordOptions, DynamicApiUpdateAccountOptions } from '../interfaces';
4
+ declare function AuthControllerMixin<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginField, passwordField, additionalFields: additionalRequestFields, useInterceptors: loginUseInterceptors, broadcast: loginBroadcastConfig, }: DynamicApiLoginOptions<Entity>, { additionalFields: additionalRegisterFields, protected: registerProtected, abilityPredicate: registerAbilityPredicate, useInterceptors: registerUseInterceptors, broadcast: registerBroadcastConfig, }?: DynamicApiRegisterOptions<Entity>, { resetPasswordUseInterceptors, changePasswordUseInterceptors, ...resetPasswordOptions }?: DynamicApiResetPasswordOptions<Entity>, { useInterceptors: updateAccountUseInterceptors, broadcast: updateAccountBroadcastConfig, ...updateAccountOptions }?: DynamicApiUpdateAccountOptions<Entity>, { useInterceptors: getAccountUseInterceptors, broadcast: getAccountBroadcastConfig, }?: DynamicApiGetAccountOptions<Entity>, { useInterceptors: refreshTokenUseInterceptors, useCookie, }?: DynamicApiRefreshTokenOptions<Entity>): AuthControllerConstructor<Entity>;
5
5
  export { AuthControllerMixin };