mongodb-dynamic-api 3.0.0 → 3.1.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 (51) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +745 -69
  3. package/package.json +1 -1
  4. package/src/gateways/base.gateway.d.ts +2 -1
  5. package/src/gateways/base.gateway.js +17 -0
  6. package/src/gateways/base.gateway.js.map +1 -1
  7. package/src/interfaces/dynamic-api-ability.interface.d.ts +2 -1
  8. package/src/interfaces/dynamic-api-broadcast-config.interface.d.ts +6 -0
  9. package/src/interfaces/dynamic-api-broadcast-config.interface.js +3 -0
  10. package/src/interfaces/dynamic-api-broadcast-config.interface.js.map +1 -0
  11. package/src/interfaces/dynamic-api-route-config.interface.d.ts +2 -0
  12. package/src/interfaces/index.d.ts +1 -0
  13. package/src/interfaces/index.js +1 -0
  14. package/src/interfaces/index.js.map +1 -1
  15. package/src/routes/create-many/create-many-gateway.mixin.d.ts +1 -1
  16. package/src/routes/create-many/create-many-gateway.mixin.js +5 -3
  17. package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
  18. package/src/routes/create-one/create-one-gateway.mixin.d.ts +1 -1
  19. package/src/routes/create-one/create-one-gateway.mixin.js +5 -3
  20. package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
  21. package/src/routes/delete-many/delete-many-gateway.mixin.d.ts +1 -1
  22. package/src/routes/delete-many/delete-many-gateway.mixin.js +5 -3
  23. package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -1
  24. package/src/routes/delete-one/delete-one-gateway.mixin.d.ts +1 -1
  25. package/src/routes/delete-one/delete-one-gateway.mixin.js +5 -3
  26. package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -1
  27. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.d.ts +1 -1
  28. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +5 -3
  29. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -1
  30. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.d.ts +1 -1
  31. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +5 -3
  32. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -1
  33. package/src/routes/replace-one/replace-one-gateway.mixin.d.ts +1 -1
  34. package/src/routes/replace-one/replace-one-gateway.mixin.js +5 -3
  35. package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -1
  36. package/src/routes/update-many/update-many-gateway.mixin.d.ts +1 -1
  37. package/src/routes/update-many/update-many-gateway.mixin.js +5 -3
  38. package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
  39. package/src/routes/update-one/update-one-gateway.mixin.d.ts +1 -1
  40. package/src/routes/update-one/update-one-gateway.mixin.js +5 -3
  41. package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -1
  42. package/src/version.json +1 -1
  43. package/test/dynamic-api-for-feature.e2e-spec.js +301 -1
  44. package/test/dynamic-api-for-feature.e2e-spec.js.map +1 -1
  45. package/test/e2e.setup.d.ts +12 -2
  46. package/test/e2e.setup.js +113 -18
  47. package/test/e2e.setup.js.map +1 -1
  48. package/test/test-socket-adapter.d.ts +8 -0
  49. package/test/test-socket-adapter.js +23 -0
  50. package/test/test-socket-adapter.js.map +1 -0
  51. package/tsconfig.tsbuildinfo +1 -1
@@ -20,7 +20,7 @@ const gateways_1 = require("../../gateways");
20
20
  const guards_1 = require("../../guards");
21
21
  const helpers_1 = require("../../helpers");
22
22
  const mixins_1 = require("../../mixins");
23
- function UpdateOneGatewayMixin(entity, controllerOptions, { dTOs, useInterceptors = [], ...routeConfig }, version) {
23
+ function UpdateOneGatewayMixin(entity, controllerOptions, { dTOs, useInterceptors = [], broadcast: broadcastConfig, ...routeConfig }, version) {
24
24
  const { routeType, displayedName, isPublic, event, abilityPredicate, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
25
25
  class UpdateOneData extends (dTOs?.body ?? (0, mixins_1.EntityBodyMixin)(entity, true)) {
26
26
  }
@@ -45,7 +45,7 @@ function UpdateOneGatewayMixin(entity, controllerOptions, { dTOs, useInterceptor
45
45
  this.jwtService = jwtService;
46
46
  this.entity = entity;
47
47
  }
48
- async updateOne(_socket, body) {
48
+ async updateOne(socket, body) {
49
49
  if (!body?.id || Object.keys(body).length === 1) {
50
50
  throw new websockets_1.WsException('Invalid request body');
51
51
  }
@@ -53,9 +53,11 @@ function UpdateOneGatewayMixin(entity, controllerOptions, { dTOs, useInterceptor
53
53
  const toEntity = UpdateOneData.toEntity;
54
54
  const entity = await this.service.updateOne(id, toEntity ? toEntity(data) : data);
55
55
  const fromEntity = UpdateOneResponse.fromEntity;
56
+ const responseData = fromEntity ? fromEntity(entity) : entity;
57
+ this.broadcastIfNeeded(socket, event, [responseData], broadcastConfig);
56
58
  return {
57
59
  event,
58
- data: fromEntity ? fromEntity(entity) : entity,
60
+ data: responseData,
59
61
  };
60
62
  }
61
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/update-one/update-one-gateway.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/update-one/update-one-gateway.mixin.ts"],"names":[],"mappings":"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"}
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "3.0.0"
2
+ "version": "3.1.0"
3
3
  }
@@ -18,12 +18,13 @@ require("dotenv/config");
18
18
  const utils_1 = require("./utils");
19
19
  describe('DynamicApiModule forFeature (e2e)', () => {
20
20
  const uri = process.env.MONGO_DB_URL;
21
- const initApp = async (forFeatureOptions, forRootOptions = {}, initFixtures, initMainCb) => {
21
+ const initApp = async (forFeatureOptions, forRootOptions = {}, initFixtures, initMainCb, testGateway) => {
22
22
  const moduleRef = await testing_1.Test.createTestingModule({
23
23
  imports: [
24
24
  src_1.DynamicApiModule.forRoot(uri, forRootOptions),
25
25
  src_1.DynamicApiModule.forFeature(forFeatureOptions),
26
26
  ],
27
+ providers: testGateway ? [e2e_setup_1.TestGateway] : [],
27
28
  }).compile();
28
29
  await (0, e2e_setup_1.createTestingApp)(moduleRef, initFixtures, initMainCb);
29
30
  };
@@ -634,5 +635,304 @@ describe('DynamicApiModule forFeature (e2e)', () => {
634
635
  });
635
636
  });
636
637
  });
638
+ describe('Websockets', () => {
639
+ let UserEntity = class UserEntity extends src_1.BaseEntity {
640
+ };
641
+ __decorate([
642
+ (0, mongoose_1.Prop)({ type: String, required: true }),
643
+ __metadata("design:type", String)
644
+ ], UserEntity.prototype, "email", void 0);
645
+ __decorate([
646
+ (0, mongoose_1.Prop)({ type: String, required: true }),
647
+ __metadata("design:type", String)
648
+ ], UserEntity.prototype, "password", void 0);
649
+ __decorate([
650
+ (0, mongoose_1.Prop)({ type: Boolean, default: false }),
651
+ __metadata("design:type", Boolean)
652
+ ], UserEntity.prototype, "isAdmin", void 0);
653
+ UserEntity = __decorate([
654
+ (0, mongoose_1.Schema)({ collection: 'users' })
655
+ ], UserEntity);
656
+ let ProductEntity = class ProductEntity extends src_1.BaseEntity {
657
+ };
658
+ __decorate([
659
+ (0, mongoose_1.Prop)({ type: String, required: true }),
660
+ __metadata("design:type", String)
661
+ ], ProductEntity.prototype, "name", void 0);
662
+ __decorate([
663
+ (0, mongoose_1.Prop)({ type: Boolean, default: false }),
664
+ __metadata("design:type", Boolean)
665
+ ], ProductEntity.prototype, "inStock", void 0);
666
+ __decorate([
667
+ (0, mongoose_1.Prop)({ type: String }),
668
+ __metadata("design:type", String)
669
+ ], ProductEntity.prototype, "status", void 0);
670
+ ProductEntity = __decorate([
671
+ (0, mongoose_1.Schema)({ collection: 'products' })
672
+ ], ProductEntity);
673
+ const customEvent = 'product-custom-event';
674
+ let adminAccessToken;
675
+ let userAccessToken;
676
+ let firstProduct;
677
+ let secondProduct;
678
+ beforeEach(async () => {
679
+ const fixtures = async (_) => {
680
+ const model = await (0, utils_1.getModelFromEntity)(ProductEntity);
681
+ await model.insertMany([
682
+ { name: 'mayo', inStock: true },
683
+ { name: 'ketchup' },
684
+ ]).then(([mayoProduct, ketchupProduct]) => {
685
+ firstProduct = mayoProduct;
686
+ secondProduct = ketchupProduct;
687
+ });
688
+ };
689
+ await initApp({
690
+ entity: ProductEntity,
691
+ controllerOptions: {
692
+ apiTag: 'Product',
693
+ path: 'products',
694
+ },
695
+ routes: [
696
+ { type: 'GetMany', isPublic: true },
697
+ {
698
+ type: 'CreateMany',
699
+ webSocket: true,
700
+ broadcast: {
701
+ enabled: (_, user) => user.isAdmin === true,
702
+ },
703
+ },
704
+ {
705
+ type: 'CreateOne',
706
+ webSocket: true,
707
+ broadcast: { enabled: true },
708
+ },
709
+ {
710
+ type: 'UpdateMany',
711
+ webSocket: true,
712
+ broadcast: {
713
+ enabled: false,
714
+ eventName: customEvent,
715
+ },
716
+ },
717
+ {
718
+ type: 'UpdateOne',
719
+ webSocket: true,
720
+ broadcast: {
721
+ enabled: true,
722
+ eventName: customEvent,
723
+ },
724
+ },
725
+ {
726
+ type: 'ReplaceOne',
727
+ webSocket: true,
728
+ broadcast: {
729
+ enabled: true,
730
+ },
731
+ },
732
+ {
733
+ type: 'DuplicateOne',
734
+ webSocket: true,
735
+ broadcast: {
736
+ enabled: (_, user) => user.isAdmin === true,
737
+ eventName: customEvent,
738
+ },
739
+ },
740
+ {
741
+ type: 'DuplicateMany',
742
+ webSocket: true,
743
+ broadcast: {
744
+ enabled: true,
745
+ },
746
+ },
747
+ {
748
+ type: 'DeleteOne',
749
+ webSocket: true,
750
+ broadcast: {
751
+ enabled: true,
752
+ },
753
+ },
754
+ {
755
+ type: 'DeleteMany',
756
+ webSocket: true,
757
+ broadcast: {
758
+ enabled: true,
759
+ },
760
+ },
761
+ ],
762
+ }, {
763
+ useAuth: {
764
+ userEntity: UserEntity,
765
+ login: {
766
+ additionalFields: ['isAdmin'],
767
+ },
768
+ webSocket: true,
769
+ },
770
+ }, fixtures, async (app) => {
771
+ app.useWebSocketAdapter(new e2e_setup_1.TestSocketAdapter(app));
772
+ }, true);
773
+ adminAccessToken = (await e2e_setup_1.server.emit('auth-register', { email: 'unit@test.co', password: 'test', isAdmin: true })).accessToken;
774
+ userAccessToken = (await e2e_setup_1.server.emit('auth-register', { email: 'toto@test.co', password: 'test' })).accessToken;
775
+ });
776
+ it('[CreateOne] should broadcast created product to all clients', async () => {
777
+ await e2e_setup_1.server.emit('create-one-product', { name: 'mustard', inStock: true }, { accessToken: adminAccessToken, expectBroadcast: true });
778
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
779
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith({
780
+ event: 'create-one-product',
781
+ data: expect.arrayContaining([
782
+ expect.objectContaining({
783
+ name: 'mustard',
784
+ inStock: true,
785
+ }),
786
+ ]),
787
+ });
788
+ });
789
+ it('[CreateMany] should broadcast created products to all clients when admin', async () => {
790
+ await e2e_setup_1.server.emit('create-many-product', {
791
+ list: [
792
+ { name: 'mustard', inStock: true },
793
+ { name: 'relish', inStock: false },
794
+ ],
795
+ }, { accessToken: adminAccessToken, expectBroadcast: true });
796
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
797
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith({
798
+ event: 'create-many-product',
799
+ data: expect.arrayContaining([
800
+ expect.objectContaining({
801
+ name: 'mustard',
802
+ inStock: true,
803
+ }),
804
+ expect.objectContaining({
805
+ name: 'relish',
806
+ inStock: false,
807
+ }),
808
+ ]),
809
+ });
810
+ });
811
+ it('[CreateMany] should NOT broadcast created products when user is not admin', async () => {
812
+ await e2e_setup_1.server.emit('create-many-product', {
813
+ list: [
814
+ { name: 'pickles', inStock: true },
815
+ { name: 'onions', inStock: false },
816
+ ],
817
+ }, { accessToken: userAccessToken });
818
+ expect(e2e_setup_1.handleSocketBroadcast).not.toHaveBeenCalled();
819
+ });
820
+ it('[UpdateOne] should broadcast updated product to all clients with custom event name', async () => {
821
+ await e2e_setup_1.server.emit('update-one-product', {
822
+ id: firstProduct.id,
823
+ name: 'updated mayo',
824
+ inStock: false,
825
+ }, { accessToken: adminAccessToken, broadcastEvent: customEvent, expectBroadcast: true });
826
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
827
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith({
828
+ event: customEvent,
829
+ data: expect.arrayContaining([
830
+ expect.objectContaining({
831
+ id: firstProduct.id,
832
+ name: 'updated mayo',
833
+ inStock: false,
834
+ }),
835
+ ]),
836
+ });
837
+ });
838
+ it('[UpdateMany] should NOT broadcast updated products when broadcast is disabled', async () => {
839
+ const { body: products } = await e2e_setup_1.server.get('/products');
840
+ await e2e_setup_1.server.emit('update-many-product', {
841
+ ids: products.map(p => p.id),
842
+ status: 'updated',
843
+ }, { accessToken: adminAccessToken });
844
+ expect(e2e_setup_1.handleSocketBroadcast).not.toHaveBeenCalled();
845
+ });
846
+ it('[DeleteOne] should broadcast deleted product id to all clients', async () => {
847
+ await e2e_setup_1.server.emit('delete-one-product', {
848
+ id: firstProduct.id,
849
+ }, { accessToken: adminAccessToken, expectBroadcast: true });
850
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
851
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith({
852
+ event: 'delete-one-product',
853
+ data: expect.arrayContaining([
854
+ expect.objectContaining({
855
+ id: firstProduct.id,
856
+ }),
857
+ ]),
858
+ });
859
+ });
860
+ it('[ReplaceOne] should broadcast replaced product to all clients', async () => {
861
+ await e2e_setup_1.server.emit('replace-one-product', {
862
+ id: firstProduct.id,
863
+ name: 'replaced mayo',
864
+ inStock: false,
865
+ }, { accessToken: adminAccessToken, expectBroadcast: true });
866
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
867
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith({
868
+ event: 'replace-one-product',
869
+ data: expect.arrayContaining([
870
+ expect.objectContaining({
871
+ id: firstProduct.id,
872
+ name: 'replaced mayo',
873
+ inStock: false,
874
+ }),
875
+ ]),
876
+ });
877
+ });
878
+ it('[DuplicateOne] should broadcast duplicated product to all clients with custom event name when admin', async () => {
879
+ await e2e_setup_1.server.emit('duplicate-one-product', {
880
+ id: firstProduct.id,
881
+ name: 'duplicated mayo',
882
+ }, { accessToken: adminAccessToken, broadcastEvent: customEvent, expectBroadcast: true });
883
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
884
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith({
885
+ event: customEvent,
886
+ data: expect.arrayContaining([
887
+ expect.objectContaining({
888
+ name: 'duplicated mayo',
889
+ inStock: firstProduct.inStock,
890
+ }),
891
+ ]),
892
+ });
893
+ });
894
+ it('[DuplicateOne] should NOT broadcast duplicated product when user is not admin', async () => {
895
+ await e2e_setup_1.server.emit('duplicate-one-product', {
896
+ id: firstProduct.id,
897
+ name: 'duplicated mayo user',
898
+ }, { accessToken: userAccessToken });
899
+ expect(e2e_setup_1.handleSocketBroadcast).not.toHaveBeenCalled();
900
+ });
901
+ it('[DuplicateMany] should broadcast duplicated products to all clients', async () => {
902
+ await e2e_setup_1.server.emit('duplicate-many-product', {
903
+ ids: [secondProduct.id, firstProduct.id],
904
+ status: 'duplicated',
905
+ }, { accessToken: adminAccessToken, expectBroadcast: true });
906
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
907
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith({
908
+ event: 'duplicate-many-product',
909
+ data: expect.arrayContaining([
910
+ expect.objectContaining({
911
+ id: expect.any(String),
912
+ name: secondProduct.name,
913
+ inStock: secondProduct.inStock,
914
+ status: 'duplicated',
915
+ }),
916
+ expect.objectContaining({
917
+ id: expect.any(String),
918
+ name: firstProduct.name,
919
+ inStock: firstProduct.inStock,
920
+ status: 'duplicated',
921
+ }),
922
+ ]),
923
+ });
924
+ });
925
+ it('[DeleteMany] should broadcast deleted product ids to all clients', async () => {
926
+ const products = [firstProduct, secondProduct];
927
+ await e2e_setup_1.server.emit('delete-many-product', {
928
+ ids: products.map(p => p.id),
929
+ }, { accessToken: adminAccessToken, expectBroadcast: true });
930
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
931
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith({
932
+ event: 'delete-many-product',
933
+ data: expect.arrayContaining(products.map(p => ({ id: p.id }))),
934
+ });
935
+ });
936
+ });
637
937
  });
638
938
  //# sourceMappingURL=dynamic-api-for-feature.e2e-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-api-for-feature.e2e-spec.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/dynamic-api-for-feature.e2e-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-api-for-feature.e2e-spec.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/dynamic-api-for-feature.e2e-spec.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@
27
27
  import { INestApplication } from '@nestjs/common';
28
28
  import { TestingModule } from '@nestjs/testing';
29
29
  import mongoose from 'mongoose';
30
+ import { TestSocketAdapter } from './test-socket-adapter';
31
+ export { TestSocketAdapter };
30
32
  type RequestOptions<Query extends object = any> = {
31
33
  query?: Query;
32
34
  authToken?: string;
@@ -35,18 +37,27 @@ type RequestOptions<Query extends object = any> = {
35
37
  type SocketOptions = {
36
38
  accessToken?: string;
37
39
  namespace?: string;
40
+ broadcastEvent?: string;
41
+ expectBroadcast?: boolean;
42
+ timeoutMs?: number;
43
+ connectTimeoutMs?: number;
38
44
  };
45
+ declare global {
46
+ var app: INestApplication | undefined;
47
+ var appBaseUrl: string | undefined;
48
+ }
39
49
  export declare function createTestingApp(moduleRef: TestingModule, initFixtures?: (connection: mongoose.Connection) => Promise<void>, initMainCb?: (app: INestApplication) => Promise<void>): Promise<INestApplication<any>>;
40
50
  export declare function closeTestingApp(connections: mongoose.Connection[]): Promise<void>;
41
51
  export declare const handleSocketException: jest.Mock<any, any, any>;
42
52
  export declare const handleSocketResponse: jest.Mock<any, any, any>;
53
+ export declare const handleSocketBroadcast: jest.Mock<any, any, any>;
43
54
  export declare const server: {
44
55
  get: <Query extends object = any, Response_1 = any>(path: string, { authToken, query, headers }?: RequestOptions<Query>) => Promise<Response_1>;
45
56
  post: <Body_1 extends object, Response_2 = any, Query_1 extends object = any>(path: string, body: Body_1, { authToken, query, headers }?: RequestOptions<Query_1>) => Promise<Response_2>;
46
57
  patch: <Body_2 extends object, Response_3 = any, Query_2 extends object = any>(path: string, body: Body_2, { authToken, query, headers }?: RequestOptions<Query_2>) => Promise<Response_3>;
47
58
  put: <Body_3 extends object, Response_4 = any, Query_3 extends object = any>(path: string, body: Body_3, { authToken, query, headers }?: RequestOptions<Query_3>) => Promise<Response_4>;
48
59
  delete: <Query_4 extends object = any, Response_5 = any>(path: string, { authToken, query, headers }?: RequestOptions<Query_4>) => Promise<Response_5>;
49
- emit: <Data, Response_6 = any>(event: string, data?: Data, { accessToken, namespace }?: SocketOptions) => Promise<Response_6>;
60
+ emit: <Data, Response_6 = any>(event: string, data?: Data, { accessToken, namespace, broadcastEvent, expectBroadcast, timeoutMs, connectTimeoutMs }?: SocketOptions) => Promise<Response_6>;
50
61
  };
51
62
  export declare class TestGateway {
52
63
  test(data: any): {
@@ -54,4 +65,3 @@ export declare class TestGateway {
54
65
  data: any;
55
66
  };
56
67
  }
57
- export {};