mongodb-dynamic-api 5.4.2 → 6.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 (102) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +42 -0
  3. package/package.json +1 -1
  4. package/src/adapters/socket-adapter.d.ts +3 -1
  5. package/src/adapters/socket-adapter.js +17 -1
  6. package/src/adapters/socket-adapter.js.map +1 -1
  7. package/src/decorators/validator-pipe.decorator.d.ts +1 -1
  8. package/src/decorators/validator-pipe.decorator.js +8 -1
  9. package/src/decorators/validator-pipe.decorator.js.map +1 -1
  10. package/src/dynamic-api.module.js +7 -2
  11. package/src/dynamic-api.module.js.map +1 -1
  12. package/src/gateways/base.gateway.js +5 -1
  13. package/src/gateways/base.gateway.js.map +1 -1
  14. package/src/guards/base-policies.guard.js +4 -2
  15. package/src/guards/base-policies.guard.js.map +1 -1
  16. package/src/helpers/auth-token.helper.js +1 -7
  17. package/src/helpers/auth-token.helper.js.map +1 -1
  18. package/src/helpers/authenticated-room.constant.d.ts +1 -0
  19. package/src/helpers/authenticated-room.constant.js +5 -0
  20. package/src/helpers/authenticated-room.constant.js.map +1 -0
  21. package/src/helpers/index.d.ts +1 -0
  22. package/src/helpers/index.js +1 -0
  23. package/src/helpers/index.js.map +1 -1
  24. package/src/helpers/request-filter.helper.d.ts +2 -1
  25. package/src/helpers/request-filter.helper.js +10 -0
  26. package/src/helpers/request-filter.helper.js.map +1 -1
  27. package/src/helpers/resolve-broadcast.helper.d.ts +1 -0
  28. package/src/helpers/resolve-broadcast.helper.js +6 -1
  29. package/src/helpers/resolve-broadcast.helper.js.map +1 -1
  30. package/src/helpers/socket-config.helper.js +1 -1
  31. package/src/helpers/socket-config.helper.js.map +1 -1
  32. package/src/helpers/validation-config.helper.d.ts +1 -1
  33. package/src/helpers/validation-config.helper.js +2 -2
  34. package/src/helpers/validation-config.helper.js.map +1 -1
  35. package/src/helpers/ws-config.store.js +2 -2
  36. package/src/helpers/ws-config.store.js.map +1 -1
  37. package/src/interfaces/dynamic-api-broadcast-config.interface.d.ts +1 -0
  38. package/src/modules/auth/auth.module.d.ts +0 -1
  39. package/src/modules/auth/auth.module.js +1 -14
  40. package/src/modules/auth/auth.module.js.map +1 -1
  41. package/src/modules/auth/interfaces/auth-options.interface.d.ts +1 -0
  42. package/src/modules/auth/jwt-secrets.helper.d.ts +3 -0
  43. package/src/modules/auth/jwt-secrets.helper.js +15 -0
  44. package/src/modules/auth/jwt-secrets.helper.js.map +1 -0
  45. package/src/modules/auth/mixins/auth-gateway.mixin.js +2 -0
  46. package/src/modules/auth/mixins/auth-gateway.mixin.js.map +1 -1
  47. package/src/pipes/dynamic-api-validation.pipe.d.ts +10 -0
  48. package/src/pipes/dynamic-api-validation.pipe.js +32 -0
  49. package/src/pipes/dynamic-api-validation.pipe.js.map +1 -0
  50. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js +5 -1
  51. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js.map +1 -1
  52. package/src/version.json +1 -1
  53. package/test/e2e.setup.d.ts +4 -0
  54. package/test/e2e.setup.js +13 -0
  55. package/test/e2e.setup.js.map +1 -1
  56. package/test/for-feature/ability-predicate-request-filters.e2e-spec.js +10 -0
  57. package/test/for-feature/ability-predicate-request-filters.e2e-spec.js.map +1 -1
  58. package/test/for-feature/callbacks-user.e2e-spec.js +3 -2
  59. package/test/for-feature/callbacks-user.e2e-spec.js.map +1 -1
  60. package/test/for-feature/presence.e2e-spec.js +1 -1
  61. package/test/for-feature/presence.e2e-spec.js.map +1 -1
  62. package/test/for-feature/presenter-viewer-context.e2e-spec.js +2 -1
  63. package/test/for-feature/presenter-viewer-context.e2e-spec.js.map +1 -1
  64. package/test/for-feature/validation-strict-bodies.e2e-spec.d.ts +1 -0
  65. package/test/for-feature/validation-strict-bodies.e2e-spec.js +88 -0
  66. package/test/for-feature/validation-strict-bodies.e2e-spec.js.map +1 -0
  67. package/test/for-feature/websockets-authenticated-broadcast.e2e-spec.d.ts +1 -0
  68. package/test/for-feature/websockets-authenticated-broadcast.e2e-spec.js +121 -0
  69. package/test/for-feature/websockets-authenticated-broadcast.e2e-spec.js.map +1 -0
  70. package/test/for-feature/websockets.e2e-spec.js +9 -1
  71. package/test/for-feature/websockets.e2e-spec.js.map +1 -1
  72. package/test/for-root/auth-api-basic.e2e-spec.js +3 -3
  73. package/test/for-root/auth-api-basic.e2e-spec.js.map +1 -1
  74. package/test/for-root/auth-api-broadcast.e2e-spec.js +4 -4
  75. package/test/for-root/auth-api-broadcast.e2e-spec.js.map +1 -1
  76. package/test/for-root/auth-api-passwordless.e2e-spec.js +1 -1
  77. package/test/for-root/auth-api-passwordless.e2e-spec.js.map +1 -1
  78. package/test/for-root/auth-api-rate-limit.e2e-spec.js +2 -1
  79. package/test/for-root/auth-api-rate-limit.e2e-spec.js.map +1 -1
  80. package/test/for-root/auth-api-token-types.e2e-spec.js +5 -0
  81. package/test/for-root/auth-api-token-types.e2e-spec.js.map +1 -1
  82. package/test/for-root/health-check.e2e-spec.js +1 -1
  83. package/test/for-root/health-check.e2e-spec.js.map +1 -1
  84. package/test/for-root/websockets-auth-basic.e2e-spec.js +9 -15
  85. package/test/for-root/websockets-auth-basic.e2e-spec.js.map +1 -1
  86. package/test/for-root/websockets-auth-broadcast.e2e-spec.js +4 -4
  87. package/test/for-root/websockets-auth-broadcast.e2e-spec.js.map +1 -1
  88. package/test/for-root/websockets-auth-refresh-token.e2e-spec.js +4 -4
  89. package/test/for-root/websockets-auth-refresh-token.e2e-spec.js.map +1 -1
  90. package/test/for-root/websockets-invalid-token.e2e-spec.js +9 -9
  91. package/test/for-root/websockets-invalid-token.e2e-spec.js.map +1 -1
  92. package/test/shared/index.d.ts +1 -0
  93. package/test/shared/index.js +4 -1
  94. package/test/shared/index.js.map +1 -1
  95. package/test/shared/init-app.js +2 -1
  96. package/test/shared/init-app.js.map +1 -1
  97. package/test/shared/init-module.js +2 -1
  98. package/test/shared/init-module.js.map +1 -1
  99. package/test/shared/test-jwt.d.ts +6 -0
  100. package/test/shared/test-jwt.js +9 -0
  101. package/test/shared/test-jwt.js.map +1 -0
  102. package/tsconfig.tsbuildinfo +1 -1
@@ -14,11 +14,14 @@ 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
- exports.initApp = exports.initModule = void 0;
17
+ exports.withTestJwtSecrets = exports.TEST_JWT_SECRETS = exports.initApp = exports.initModule = void 0;
18
18
  __exportStar(require("./entities"), exports);
19
19
  __exportStar(require("./fixtures"), exports);
20
20
  var init_module_1 = require("./init-module");
21
21
  Object.defineProperty(exports, "initModule", { enumerable: true, get: function () { return init_module_1.initModule; } });
22
22
  var init_app_1 = require("./init-app");
23
23
  Object.defineProperty(exports, "initApp", { enumerable: true, get: function () { return init_app_1.initApp; } });
24
+ var test_jwt_1 = require("./test-jwt");
25
+ Object.defineProperty(exports, "TEST_JWT_SECRETS", { enumerable: true, get: function () { return test_jwt_1.TEST_JWT_SECRETS; } });
26
+ Object.defineProperty(exports, "withTestJwtSecrets", { enumerable: true, get: function () { return test_jwt_1.withTestJwtSecrets; } });
24
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAEhB,uCAAkE;AAAzD,4GAAA,gBAAgB,OAAA;AAAE,8GAAA,kBAAkB,OAAA"}
@@ -4,11 +4,12 @@ exports.initApp = void 0;
4
4
  const testing_1 = require("@nestjs/testing");
5
5
  const src_1 = require("../../src");
6
6
  const e2e_setup_1 = require("../e2e.setup");
7
+ const test_jwt_1 = require("./test-jwt");
7
8
  const initApp = async (forFeatureOptions, forRootOptions = {}, initFixtures, initMainCb, testGateway) => {
8
9
  const uri = process.env.MONGO_DB_URL;
9
10
  const moduleRef = await testing_1.Test.createTestingModule({
10
11
  imports: [
11
- src_1.DynamicApiModule.forRoot(uri, forRootOptions),
12
+ src_1.DynamicApiModule.forRoot(uri, (0, test_jwt_1.withTestJwtSecrets)(forRootOptions)),
12
13
  src_1.DynamicApiModule.forFeature(forFeatureOptions),
13
14
  ],
14
15
  providers: testGateway ? [e2e_setup_1.TestGateway] : [],
@@ -1 +1 @@
1
- {"version":3,"file":"init-app.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/shared/init-app.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAEvC,mCAKmB;AACnB,4CAA6D;AAMtD,MAAM,OAAO,GAAG,KAAK,EAC1B,iBAAsD,EACtD,iBAAuD,EAAE,EACzD,YAAwD,EACxD,UAAwC,EACxC,WAAqB,EACN,EAAE;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAErC,MAAM,SAAS,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC;QAC/C,OAAO,EAAE;YACP,sBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC;YAC7C,sBAAgB,CAAC,UAAU,CAAC,iBAAiB,CAAC;SAC/C;QACD,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,uBAAW,CAAC,CAAC,CAAC,CAAC,EAAE;KAC5C,CAAC,CAAC,OAAO,EAAE,CAAC;IAEb,MAAM,IAAA,4BAAgB,EAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC,CAAC;AAlBW,QAAA,OAAO,WAkBlB"}
1
+ {"version":3,"file":"init-app.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/shared/init-app.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAEvC,mCAKmB;AACnB,4CAA6D;AAC7D,yCAAgD;AAMzC,MAAM,OAAO,GAAG,KAAK,EAC1B,iBAAsD,EACtD,iBAAuD,EAAE,EACzD,YAAwD,EACxD,UAAwC,EACxC,WAAqB,EACN,EAAE;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAErC,MAAM,SAAS,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC;QAC/C,OAAO,EAAE;YACP,sBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAA,6BAAkB,EAAC,cAAc,CAAC,CAAC;YACjE,sBAAgB,CAAC,UAAU,CAAC,iBAAiB,CAAC;SAC/C;QACD,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,uBAAW,CAAC,CAAC,CAAC,CAAC,EAAE;KAC5C,CAAC,CAAC,OAAO,EAAE,CAAC;IAEb,MAAM,IAAA,4BAAgB,EAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC,CAAC;AAlBW,QAAA,OAAO,WAkBlB"}
@@ -4,10 +4,11 @@ exports.initModule = void 0;
4
4
  const testing_1 = require("@nestjs/testing");
5
5
  const src_1 = require("../../src");
6
6
  const e2e_setup_1 = require("../e2e.setup");
7
+ const test_jwt_1 = require("./test-jwt");
7
8
  const initModule = async (dynamicApiForRootOptions, initFixtures, initMainCb, testGateway) => {
8
9
  const uri = process.env.MONGO_DB_URL;
9
10
  const moduleRef = await testing_1.Test.createTestingModule({
10
- imports: [src_1.DynamicApiModule.forRoot(uri, dynamicApiForRootOptions)],
11
+ imports: [src_1.DynamicApiModule.forRoot(uri, (0, test_jwt_1.withTestJwtSecrets)(dynamicApiForRootOptions))],
11
12
  providers: testGateway ? [e2e_setup_1.TestGateway] : [],
12
13
  }).compile();
13
14
  return (0, e2e_setup_1.createTestingApp)(moduleRef, initFixtures, initMainCb);
@@ -1 +1 @@
1
- {"version":3,"file":"init-module.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/shared/init-module.ts"],"names":[],"mappings":";;;AACA,6CAAuC;AAEvC,mCAAuE;AACvE,4CAA6D;AAMtD,MAAM,UAAU,GAAG,KAAK,EAC7B,wBAAkD,EAClD,YAAiE,EACjE,UAAqD,EACrD,WAAqB,EACM,EAAE;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAErC,MAAM,SAAS,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC;QAC/C,OAAO,EAAE,CAAC,sBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QAClE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,uBAAW,CAAC,CAAC,CAAC,CAAC,EAAE;KAC5C,CAAC,CAAC,OAAO,EAAE,CAAC;IAEb,OAAO,IAAA,4BAAgB,EAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAC/D,CAAC,CAAC;AAdW,QAAA,UAAU,cAcrB"}
1
+ {"version":3,"file":"init-module.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/shared/init-module.ts"],"names":[],"mappings":";;;AACA,6CAAuC;AAEvC,mCAAuE;AACvE,4CAA6D;AAC7D,yCAAgD;AAMzC,MAAM,UAAU,GAAG,KAAK,EAC7B,wBAAkD,EAClD,YAAiE,EACjE,UAAqD,EACrD,WAAqB,EACM,EAAE;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAErC,MAAM,SAAS,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC;QAC/C,OAAO,EAAE,CAAC,sBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAA,6BAAkB,EAAC,wBAAwB,CAAC,CAAC,CAAC;QACtF,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,uBAAW,CAAC,CAAC,CAAC,CAAC,EAAE;KAC5C,CAAC,CAAC,OAAO,EAAE,CAAC;IAEb,OAAO,IAAA,4BAAgB,EAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAC/D,CAAC,CAAC;AAdW,QAAA,UAAU,cAcrB"}
@@ -0,0 +1,6 @@
1
+ import { DynamicApiForRootOptions } from '../../src';
2
+ export declare const TEST_JWT_SECRETS: {
3
+ secret: string;
4
+ refreshSecret: string;
5
+ };
6
+ export declare const withTestJwtSecrets: <Options extends DynamicApiForRootOptions>(options: Options) => Options;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withTestJwtSecrets = exports.TEST_JWT_SECRETS = void 0;
4
+ exports.TEST_JWT_SECRETS = { secret: 'e2e-jwt-secret', refreshSecret: 'e2e-jwt-refresh-secret' };
5
+ const withTestJwtSecrets = (options) => (options?.useAuth
6
+ ? { ...options, useAuth: { ...options.useAuth, jwt: { ...exports.TEST_JWT_SECRETS, ...options.useAuth.jwt } } }
7
+ : options);
8
+ exports.withTestJwtSecrets = withTestJwtSecrets;
9
+ //# sourceMappingURL=test-jwt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-jwt.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/shared/test-jwt.ts"],"names":[],"mappings":";;;AAGa,QAAA,gBAAgB,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,wBAAwB,EAAE,CAAC;AAG/F,MAAM,kBAAkB,GAAG,CAA2C,OAAgB,EAAW,EAAE,CAAC,CACzG,OAAO,EAAE,OAAO;IACd,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,wBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE;IACvG,CAAC,CAAC,OAAO,CACZ,CAAC;AAJW,QAAA,kBAAkB,sBAI7B"}