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
package/test/e2e.setup.js CHANGED
@@ -12,11 +12,41 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.TestGateway = exports.server = exports.handleSocketResponse = exports.handleSocketException = exports.closeTestingApp = exports.createTestingApp = void 0;
15
+ exports.TestGateway = exports.server = exports.handleSocketBroadcast = exports.handleSocketResponse = exports.handleSocketException = exports.closeTestingApp = exports.createTestingApp = exports.TestSocketAdapter = void 0;
16
16
  const websockets_1 = require("@nestjs/websockets");
17
17
  const mongoose_1 = require("mongoose");
18
18
  const supertest = require("supertest");
19
19
  const socket_io_client_1 = require("socket.io-client");
20
+ const test_socket_adapter_1 = require("./test-socket-adapter");
21
+ Object.defineProperty(exports, "TestSocketAdapter", { enumerable: true, get: function () { return test_socket_adapter_1.TestSocketAdapter; } });
22
+ const DEFAULT_SOCKET_TIMEOUT_MS = 5000;
23
+ const DEFAULT_SOCKET_CONNECT_TIMEOUT_MS = 5000;
24
+ const toError = (error, fallbackMessage) => {
25
+ return error instanceof Error ? error : new Error(fallbackMessage);
26
+ };
27
+ const waitForSocketConnect = async (socket, socketName, connectTimeoutMs) => {
28
+ if (socket.connected) {
29
+ return;
30
+ }
31
+ await new Promise((resolve, reject) => {
32
+ let lastConnectError;
33
+ const onConnect = () => {
34
+ clearTimeout(timeoutRef);
35
+ socket.off('connect_error', onConnectError);
36
+ resolve();
37
+ };
38
+ const onConnectError = (error) => {
39
+ lastConnectError = toError(error, `${socketName} socket failed to connect`);
40
+ };
41
+ const timeoutRef = setTimeout(() => {
42
+ socket.off('connect', onConnect);
43
+ socket.off('connect_error', onConnectError);
44
+ reject(lastConnectError ?? new Error(`${socketName} socket connection timed out after ${connectTimeoutMs}ms`));
45
+ }, connectTimeoutMs);
46
+ socket.on('connect_error', onConnectError);
47
+ socket.once('connect', onConnect);
48
+ });
49
+ };
20
50
  const truncateMongoDb = async () => {
21
51
  const connection = await mongoose_1.default.createConnection(`${process.env.MONGO_DB_URL}`).asPromise();
22
52
  const collections = await connection.db.collections();
@@ -32,12 +62,22 @@ const verifyApp = () => {
32
62
  }
33
63
  return supertest.agent(global.app.getHttpServer());
34
64
  };
65
+ const getAppBaseUrl = () => {
66
+ if (!global.appBaseUrl) {
67
+ throw new Error('App base URL is not initialized');
68
+ }
69
+ return global.appBaseUrl;
70
+ };
35
71
  async function createTestingApp(moduleRef, initFixtures, initMainCb) {
36
72
  global.app = moduleRef.createNestApplication();
37
73
  if (initMainCb) {
38
74
  await initMainCb(global.app);
39
75
  }
40
76
  await global.app.init();
77
+ const server = await global.app.listen(0);
78
+ const address = server.address();
79
+ const port = typeof address === 'object' ? address?.port : 8080;
80
+ global.appBaseUrl = `http://localhost:${port}`;
41
81
  await truncateMongoDb();
42
82
  if (initFixtures) {
43
83
  const connection = await mongoose_1.default.createConnection(`${process.env.MONGO_DB_URL}`).asPromise();
@@ -59,6 +99,7 @@ async function closeTestingApp(connections) {
59
99
  exports.closeTestingApp = closeTestingApp;
60
100
  exports.handleSocketException = jest.fn();
61
101
  exports.handleSocketResponse = jest.fn();
102
+ exports.handleSocketBroadcast = jest.fn();
62
103
  exports.server = {
63
104
  get: async (path, { authToken, query, headers = {} } = {}) => {
64
105
  return verifyApp()
@@ -118,27 +159,81 @@ exports.server = {
118
159
  ...headers,
119
160
  });
120
161
  },
121
- emit: async (event, data, { accessToken, namespace } = {}) => {
162
+ emit: async (event, data, { accessToken, namespace, broadcastEvent, expectBroadcast = false, timeoutMs = DEFAULT_SOCKET_TIMEOUT_MS, connectTimeoutMs = DEFAULT_SOCKET_CONNECT_TIMEOUT_MS } = {}) => {
122
163
  verifyApp();
123
- try {
124
- await global.app.getUrl();
125
- }
126
- catch {
127
- await global.app.listen(8080);
128
- }
129
- return new Promise((resolve) => {
130
- const ws = (0, socket_io_client_1.io)('http://localhost:8080', { query: { accessToken }, path: namespace });
131
- ws.on('exception', (exception) => {
164
+ return new Promise((resolve, reject) => {
165
+ const baseUrl = getAppBaseUrl();
166
+ const emitter = (0, socket_io_client_1.io)(baseUrl, { query: { accessToken }, path: namespace });
167
+ const receiver = expectBroadcast ? (0, socket_io_client_1.io)(baseUrl, { path: namespace }) : undefined;
168
+ const receiverEvent = broadcastEvent || event;
169
+ let settled = false;
170
+ let responseReceived = false;
171
+ let broadcastReceived = !expectBroadcast;
172
+ let responseValue;
173
+ let timeoutRef;
174
+ const cleanup = () => {
175
+ emitter.removeAllListeners();
176
+ emitter.disconnect();
177
+ emitter.close();
178
+ if (receiver) {
179
+ receiver.removeAllListeners();
180
+ receiver.disconnect();
181
+ receiver.close();
182
+ }
183
+ };
184
+ const finalize = (result, error) => {
185
+ if (settled) {
186
+ return;
187
+ }
188
+ settled = true;
189
+ if (timeoutRef) {
190
+ clearTimeout(timeoutRef);
191
+ }
192
+ cleanup();
193
+ if (error) {
194
+ reject(error);
195
+ return;
196
+ }
197
+ resolve(result);
198
+ };
199
+ const tryFinalize = () => {
200
+ if (responseReceived && broadcastReceived) {
201
+ finalize(responseValue);
202
+ }
203
+ };
204
+ if (receiver) {
205
+ receiver.on(receiverEvent, (receivedData) => {
206
+ (0, exports.handleSocketBroadcast)({ event: receiverEvent, data: receivedData });
207
+ broadcastReceived = true;
208
+ tryFinalize();
209
+ });
210
+ }
211
+ emitter.on('exception', (exception) => {
132
212
  (0, exports.handleSocketException)(exception);
133
- ws.close();
134
- resolve(exception);
213
+ responseValue = exception;
214
+ responseReceived = true;
215
+ tryFinalize();
216
+ });
217
+ emitter.on(event, (receivedData) => {
218
+ (0, exports.handleSocketResponse)(receivedData);
219
+ responseValue = receivedData;
220
+ responseReceived = true;
221
+ tryFinalize();
135
222
  });
136
- ws.on(event, (data) => {
137
- (0, exports.handleSocketResponse)(data);
138
- ws.close();
139
- resolve(data);
223
+ timeoutRef = setTimeout(() => {
224
+ finalize(undefined, new Error(`Socket event timeout after ${timeoutMs}ms (responseReceived=${responseReceived}, broadcastReceived=${broadcastReceived}, expectBroadcast=${expectBroadcast}, event=${event}, broadcastEvent=${receiverEvent})`));
225
+ }, timeoutMs);
226
+ const connectPromises = [waitForSocketConnect(emitter, 'Emitter', connectTimeoutMs)];
227
+ if (receiver) {
228
+ connectPromises.push(waitForSocketConnect(receiver, 'Receiver', connectTimeoutMs));
229
+ }
230
+ Promise.all(connectPromises)
231
+ .then(() => {
232
+ emitter.emit(event, data);
233
+ })
234
+ .catch((error) => {
235
+ finalize(undefined, toError(error, 'Socket connection failed'));
140
236
  });
141
- ws.emit(event, data);
142
237
  });
143
238
  },
144
239
  };
@@ -1 +1 @@
1
- {"version":3,"file":"e2e.setup.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/e2e.setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"e2e.setup.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/e2e.setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { IoAdapter } from '@nestjs/platform-socket.io';
2
+ import { ServerOptions } from 'socket.io';
3
+ export declare class TestSocketAdapter extends IoAdapter {
4
+ createIOServer(port: number, options?: ServerOptions & {
5
+ namespace?: string;
6
+ server?: any;
7
+ }): any;
8
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestSocketAdapter = void 0;
4
+ const platform_socket_io_1 = require("@nestjs/platform-socket.io");
5
+ class TestSocketAdapter extends platform_socket_io_1.IoAdapter {
6
+ createIOServer(port, options) {
7
+ const server = super.createIOServer(port, {
8
+ ...options,
9
+ cors: options?.cors ?? {
10
+ origin: '*',
11
+ methods: ['GET', 'POST'],
12
+ credentials: false,
13
+ },
14
+ });
15
+ server.sockets.setMaxListeners(50);
16
+ server.on('connection', (socket) => {
17
+ socket.setMaxListeners(50);
18
+ });
19
+ return server;
20
+ }
21
+ }
22
+ exports.TestSocketAdapter = TestSocketAdapter;
23
+ //# sourceMappingURL=test-socket-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-socket-adapter.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/test-socket-adapter.ts"],"names":[],"mappings":";;;AAAA,mEAAuD;AAGvD,MAAa,iBAAkB,SAAQ,8BAAS;IAC9C,cAAc,CACZ,IAAY,EACZ,OAGC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE;YACxC,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI;gBACrB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACxB,WAAW,EAAE,KAAK;aACnB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAEnC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACjC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAzBD,8CAyBC"}