@livequery/nestjs 2.0.56 → 2.0.146

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 (50) hide show
  1. package/build/src/ApiGateway.js.map +1 -1
  2. package/build/src/ApiGatewayLinker.d.ts +15 -7
  3. package/build/src/ApiGatewayLinker.js +55 -48
  4. package/build/src/ApiGatewayLinker.js.map +1 -1
  5. package/build/src/ApiServiceLinker.d.ts +12 -0
  6. package/build/src/ApiServiceLinker.js +46 -0
  7. package/build/src/ApiServiceLinker.js.map +1 -0
  8. package/build/src/LivequeryDatasourceInterceptors.d.ts +8 -2
  9. package/build/src/LivequeryDatasourceInterceptors.js +16 -8
  10. package/build/src/LivequeryDatasourceInterceptors.js.map +1 -1
  11. package/build/src/LivequeryInterceptor.d.ts +4 -9
  12. package/build/src/LivequeryInterceptor.js +33 -31
  13. package/build/src/LivequeryInterceptor.js.map +1 -1
  14. package/build/src/LivequeryWebsocketSync.d.ts +1 -61
  15. package/build/src/LivequeryWebsocketSync.js +4 -224
  16. package/build/src/LivequeryWebsocketSync.js.map +1 -1
  17. package/build/src/RxjsUdp.d.ts +11 -11
  18. package/build/src/RxjsUdp.js +37 -32
  19. package/build/src/RxjsUdp.js.map +1 -1
  20. package/build/src/SimpleApiGateway.d.ts +5 -0
  21. package/build/src/SimpleApiGateway.js +14 -0
  22. package/build/src/SimpleApiGateway.js.map +1 -0
  23. package/build/src/UdpDiscovery.d.ts +35 -0
  24. package/build/src/UdpDiscovery.js +231 -0
  25. package/build/src/UdpDiscovery.js.map +1 -0
  26. package/build/src/WebsocketGateway.d.ts +29 -0
  27. package/build/src/WebsocketGateway.js +257 -0
  28. package/build/src/WebsocketGateway.js.map +1 -0
  29. package/build/src/const.d.ts +1 -1
  30. package/build/src/const.js +1 -1
  31. package/build/src/const.js.map +1 -1
  32. package/build/src/helpers/PathHelper.d.ts +1 -1
  33. package/build/src/helpers/createDatasourceMapper.d.ts +3 -3
  34. package/build/src/helpers/createDatasourceMapper.js +2 -2
  35. package/build/src/helpers/createDatasourceMapper.js.map +1 -1
  36. package/build/src/helpers/hidePrivateFields.d.ts +1 -1
  37. package/build/src/helpers/listPaths.d.ts +2 -2
  38. package/build/src/helpers/listPaths.js +30 -19
  39. package/build/src/helpers/listPaths.js.map +1 -1
  40. package/build/src/index.d.ts +6 -4
  41. package/build/src/index.js +5 -3
  42. package/build/src/index.js.map +1 -1
  43. package/build/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +3 -1
  45. package/build/tests/gateway.d.ts +0 -2
  46. package/build/tests/gateway.js +0 -17
  47. package/build/tests/gateway.js.map +0 -1
  48. package/build/tests/service.d.ts +0 -14
  49. package/build/tests/service.js +0 -73
  50. package/build/tests/service.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ApiGateway.js","sourceRoot":"","sources":["../../src/ApiGateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiGateway.js","sourceRoot":"","sources":["../../src/ApiGateway.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,16 @@
1
- import { ModulesContainer } from "@nestjs/core";
2
- import { LivequeryWebsocketSync } from "./LivequeryWebsocketSync.js";
3
- export declare class ApiGatewayLinker {
4
- private readonly modulesContainer;
5
- private static $me;
6
- constructor(LivequeryWebsocketSync: LivequeryWebsocketSync, modulesContainer: ModulesContainer);
7
- static broadcast(name: string, port: number): Promise<void>;
1
+ import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
2
+ import { HttpAdapterHost } from '@nestjs/core';
3
+ import { type ServiceApiMetadata, type ServiceApiStatus, UdpDiscovery, WebsocketGateway } from '@livequery/core';
4
+ export type { ServiceApiMetadata, ServiceApiStatus };
5
+ export type ApiGatewayClientOptions = {
6
+ id: string;
7
+ name: string;
8
+ controllers: any[];
9
+ port: number;
10
+ };
11
+ export declare class ApiGateway implements OnModuleInit, OnModuleDestroy {
12
+ #private;
13
+ constructor(lws: WebsocketGateway, discovery: UdpDiscovery<ServiceApiMetadata> | undefined, httpAdapterHost: HttpAdapterHost | undefined);
14
+ onModuleInit(): void;
15
+ onModuleDestroy(): void;
8
16
  }
@@ -1,55 +1,62 @@
1
- var ApiGatewayLinker_1;
2
1
  import { __decorate, __metadata, __param } from "tslib";
3
- import { Controller, Inject, Injectable, Optional } from "@nestjs/common";
4
- import { ModulesContainer } from "@nestjs/core";
5
- import { listPaths } from "./helpers/listPaths.js";
6
- import { LivequeryWebsocketSync, WEBSOCKET_PATH } from "./LivequeryWebsocketSync.js";
7
- import { map, filter, debounceTime, mergeMap, firstValueFrom, ReplaySubject } from "rxjs";
8
- import { RxjsUdp } from "./RxjsUdp.js";
9
- import { API_GATEWAY_NAMESPACE, NODE_ID } from "./const.js";
10
- let ApiGatewayLinker = class ApiGatewayLinker {
11
- static { ApiGatewayLinker_1 = this; }
12
- modulesContainer;
13
- static $me = new ReplaySubject(1);
14
- constructor(LivequeryWebsocketSync, modulesContainer) {
15
- this.modulesContainer = modulesContainer;
16
- const paths = [...this.modulesContainer.values()].map(m => (listPaths([...m.controllers.keys()].map(c => c)))).flat(2);
17
- const metadata$ = ApiGatewayLinker_1.$me.pipe(map(({ name, port }) => {
18
- const metadata = {
19
- node_id: NODE_ID,
20
- host: '',
21
- namespace: API_GATEWAY_NAMESPACE,
22
- name,
23
- port,
24
- role: 'service',
25
- paths,
26
- linked: [],
27
- wsauth: LivequeryWebsocketSync?.auth,
28
- websocket: LivequeryWebsocketSync ? WEBSOCKET_PATH : undefined
29
- };
30
- return metadata;
31
- }));
32
- const udp$ = new RxjsUdp();
33
- udp$.link(metadata$).pipe(filter(node => node.role == 'gateway'), debounceTime(1000), mergeMap(async (node) => {
34
- const metadata = await firstValueFrom(metadata$);
35
- await udp$.broadcast({
36
- hi: false,
37
- node: metadata,
38
- sender_id: metadata.node_id
39
- });
40
- })).subscribe();
2
+ import { Controller, Inject, Optional } from '@nestjs/common';
3
+ import { HttpAdapterHost } from '@nestjs/core';
4
+ import { ApiGatewayHandler, UdpDiscovery, WebsocketGateway } from '@livequery/core';
5
+ let ApiGateway = class ApiGateway {
6
+ #linker;
7
+ #lws;
8
+ #httpAdapterHost;
9
+ constructor(lws, discovery, httpAdapterHost) {
10
+ this.#lws = lws;
11
+ this.#httpAdapterHost = httpAdapterHost;
12
+ this.#linker = new ApiGatewayHandler({
13
+ ws: lws,
14
+ ...(discovery ? { discovery } : {}),
15
+ });
16
+ }
17
+ onModuleInit() {
18
+ const app = this.#httpAdapterHost?.httpAdapter?.getInstance?.();
19
+ if (!app)
20
+ return;
21
+ for (const method of ['get', 'post', 'patch', 'put', 'delete']) {
22
+ if (typeof app[method] === 'function') {
23
+ app[method]('*', (req, res) => {
24
+ void this.#proxy(req, res);
25
+ });
26
+ }
27
+ }
41
28
  }
42
- static async broadcast(name, port) {
43
- this.$me.next({ name, port });
29
+ onModuleDestroy() {
30
+ this.#linker.close();
31
+ }
32
+ #proxy(req, res) {
33
+ if (Number(req.headers['content-length'] || 0) > 0 && !req.rawBody) {
34
+ res.status(500);
35
+ return res.json({
36
+ error: {
37
+ status: 500,
38
+ code: 'MISSING_API_GATEWAY_RAW_BODY',
39
+ message: 'Please enable rawBody = true in NestFactory.create()'
40
+ }
41
+ });
42
+ }
43
+ const client_id = req.headers['x-lcid'] || req.headers['socket_id'];
44
+ const extraHeaders = client_id && this.#lws ? {
45
+ 'x-lcid': client_id,
46
+ 'x-lgid': (req.headers['x-lgid'] ?? this.#lws.id)
47
+ } : undefined;
48
+ return this.#linker.fetch(req, res, extraHeaders);
44
49
  }
45
50
  };
46
- ApiGatewayLinker = ApiGatewayLinker_1 = __decorate([
51
+ ApiGateway = __decorate([
47
52
  Controller(),
48
- Injectable(),
49
53
  __param(0, Optional()),
50
- __param(0, Inject()),
51
- __metadata("design:paramtypes", [LivequeryWebsocketSync,
52
- ModulesContainer])
53
- ], ApiGatewayLinker);
54
- export { ApiGatewayLinker };
54
+ __param(0, Inject(WebsocketGateway)),
55
+ __param(1, Optional()),
56
+ __param(1, Inject(UdpDiscovery)),
57
+ __param(2, Optional()),
58
+ __param(2, Inject(HttpAdapterHost)),
59
+ __metadata("design:paramtypes", [WebsocketGateway, Object, Object])
60
+ ], ApiGateway);
61
+ export { ApiGateway };
55
62
  //# sourceMappingURL=ApiGatewayLinker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApiGatewayLinker.js","sourceRoot":"","sources":["../../src/ApiGatewayLinker.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAW,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAO,aAAa,EAAC,MAAM,MAAM,CAAC;AACvG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKrD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;;IAMJ;IAJb,MAAM,CAAC,GAAG,GAAG,IAAI,aAAa,CAAiC,CAAC,CAAC,CAAA;IAEzE,YAC0B,sBAA8C,EACnD,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAEnD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACvD,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEV,MAAM,SAAS,GAAG,kBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YAC/D,MAAM,QAAQ,GAAuB;gBACjC,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,qBAAqB;gBAChC,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,SAAS;gBACf,KAAK;gBACL,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,sBAAsB,EAAE,IAAI;gBACpC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;aACjE,CAAA;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAA6C,CAAA;QAC/C,MAAM,IAAI,GAAG,IAAI,OAAO,EAAsB,CAAA;QAE9C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,EACtC,YAAY,CAAC,IAAI,CAAC,EAClB,QAAQ,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YAClB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAA;YAChD,MAAM,IAAI,CAAC,SAAS,CAAC;gBACjB,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,QAAQ,CAAC,OAAO;aAC9B,CAAC,CAAA;QACN,CAAC,CAAC,CACL,CAAC,SAAS,EAAE,CAAA;IACjB,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAY;QAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACjC,CAAC;;AA9CQ,gBAAgB;IAF5B,UAAU,EAAE;IACZ,UAAU,EAAE;IAMJ,WAAA,QAAQ,EAAE,CAAA;IAAE,WAAA,MAAM,EAAE,CAAA;qCAAyB,sBAAsB;QACjC,gBAAgB;GAN9C,gBAAgB,CA+C5B"}
1
+ {"version":3,"file":"ApiGatewayLinker.js","sourceRoot":"","sources":["../../src/ApiGatewayLinker.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAiC,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,OAAO,EAAE,iBAAiB,EAAkD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAW5H,IAAM,UAAU,GAAhB,MAAM,UAAU;IACV,OAAO,CAAmB;IAC1B,IAAI,CAAmB;IACvB,gBAAgB,CAA6B;IAEtD,YAC0C,GAAqB,EACzB,SAAuD,EACpD,eAA4C;QAEjF,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAA;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAiB,CAAC;YACjC,EAAE,EAAE,GAAG;YACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAA;IACN,CAAC;IAED,YAAY;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,CAAA;QAC/D,IAAI,CAAC,GAAG;YAAE,OAAM;QAEhB,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAU,EAAE,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;gBACpC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAuE,EAAE,GAAa,EAAE,EAAE;oBACxG,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBAC9B,CAAC,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,eAAe;QACX,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,GAAuE,EAAE,GAAa;QACzF,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACf,OAAO,GAAG,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE;oBACH,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE,8BAA8B;oBACpC,OAAO,EAAE,sDAAsD;iBAClE;aACJ,CAAC,CAAA;QACN,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACnE,MAAM,YAAY,GAAG,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,QAAQ,EAAE,SAAmB;YAC7B,QAAQ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAW;SAC9D,CAAC,CAAC,CAAC,SAAS,CAAA;QAEb,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAgC,EAAE,YAAY,CAAC,CAAA;IAClF,CAAC;CACJ,CAAA;AAvDY,UAAU;IADtB,UAAU,EAAE;IAOJ,WAAA,QAAQ,EAAE,CAAA;IAAE,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACpC,WAAA,QAAQ,EAAE,CAAA;IAAE,WAAA,MAAM,CAAC,YAAY,CAAC,CAAA;IAChC,WAAA,QAAQ,EAAE,CAAA;IAAE,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAFO,gBAAgB;GANtD,UAAU,CAuDtB"}
@@ -0,0 +1,12 @@
1
+ import { OnModuleDestroy } from '@nestjs/common';
2
+ import { ModulesContainer } from '@nestjs/core';
3
+ import { UdpDiscovery, type ServiceApiMetadata, WebsocketGateway } from '@livequery/core';
4
+ export declare class ApiServiceLinker implements OnModuleDestroy {
5
+ #private;
6
+ private static readonly instances;
7
+ constructor(lws: WebsocketGateway, discovery: UdpDiscovery<ServiceApiMetadata> | undefined, modulesContainer: ModulesContainer);
8
+ start(name: string, port: number): void;
9
+ close(): void;
10
+ onModuleDestroy(): void;
11
+ static broadcast(name: string, port: number): Promise<void>;
12
+ }
@@ -0,0 +1,46 @@
1
+ var ApiServiceLinker_1;
2
+ import { __decorate, __metadata, __param } from "tslib";
3
+ import { Controller, Inject, Injectable, Optional } from '@nestjs/common';
4
+ import { ModulesContainer } from '@nestjs/core';
5
+ import { ApiServiceLinker as CoreApiServiceLinker, UdpDiscovery, WebsocketGateway } from '@livequery/core';
6
+ import { listPaths } from './helpers/listPaths.js';
7
+ let ApiServiceLinker = class ApiServiceLinker {
8
+ static { ApiServiceLinker_1 = this; }
9
+ static instances = new Set();
10
+ #linker;
11
+ constructor(lws, discovery, modulesContainer) {
12
+ const paths = [...modulesContainer.values()].flatMap(m => (listPaths([...m.controllers.keys()].map(c => c))));
13
+ this.#linker = new CoreApiServiceLinker({
14
+ paths,
15
+ ws: lws,
16
+ ...(discovery ? { discovery } : {}),
17
+ });
18
+ ApiServiceLinker_1.instances.add(this);
19
+ }
20
+ start(name, port) {
21
+ this.#linker.start(name, port);
22
+ }
23
+ close() {
24
+ ApiServiceLinker_1.instances.delete(this);
25
+ this.#linker.close();
26
+ }
27
+ onModuleDestroy() {
28
+ this.close();
29
+ }
30
+ static async broadcast(name, port) {
31
+ for (const instance of this.instances) {
32
+ instance.start(name, port);
33
+ }
34
+ }
35
+ };
36
+ ApiServiceLinker = ApiServiceLinker_1 = __decorate([
37
+ Controller(),
38
+ Injectable(),
39
+ __param(0, Optional()),
40
+ __param(0, Inject(WebsocketGateway)),
41
+ __param(1, Optional()),
42
+ __param(1, Inject(UdpDiscovery)),
43
+ __metadata("design:paramtypes", [WebsocketGateway, Object, ModulesContainer])
44
+ ], ApiServiceLinker);
45
+ export { ApiServiceLinker };
46
+ //# sourceMappingURL=ApiServiceLinker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiServiceLinker.js","sourceRoot":"","sources":["../../src/ApiServiceLinker.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAmB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,YAAY,EAA2B,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACnI,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAI3C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;;IACjB,MAAM,CAAU,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAA;IAEtD,OAAO,CAAsB;IAEtC,YAC0C,GAAqB,EACzB,SAAuD,EACzF,gBAAkC;QAElC,MAAM,KAAK,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CACtD,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC;YACpC,KAAK;YACL,EAAE,EAAE,GAAG;YACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAA;QACF,kBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,IAAY;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,KAAK;QACD,kBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED,eAAe;QACX,IAAI,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAY;QAC7C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC9B,CAAC;IACL,CAAC;;AAtCQ,gBAAgB;IAF5B,UAAU,EAAE;IACZ,UAAU,EAAE;IAOJ,WAAA,QAAQ,EAAE,CAAA;IAAE,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACpC,WAAA,QAAQ,EAAE,CAAA;IAAE,WAAA,MAAM,CAAC,YAAY,CAAC,CAAA;qCADU,gBAAgB,UAEzC,gBAAgB;GAR7B,gBAAgB,CAuC5B"}
@@ -12,7 +12,10 @@ export type LivequeryDatasource<Config, RouteOptions> = Subject<WebsocketSyncPay
12
12
  method: number;
13
13
  options: RouteOptions;
14
14
  }>): Promise<void>;
15
- query: (query: LivequeryRequest, options: RouteOptions) => Promise<any>;
15
+ query: (query: LivequeryRequest, options: RouteOptions) => Promise<{
16
+ items: any[];
17
+ item: any;
18
+ }>;
16
19
  };
17
20
  export type DatatasourceRouteMetadata<RouteOptions> = {
18
21
  datasource: Symbol;
@@ -28,5 +31,8 @@ export declare class LivequeryDatasourceInterceptors implements NestInterceptor
28
31
  options: Options;
29
32
  method: any;
30
33
  }[];
31
- intercept(ctx: ExecutionContext, next: CallHandler): Promise<import("rxjs").Observable<any>>;
34
+ intercept(ctx: ExecutionContext, next: CallHandler): Promise<import("rxjs").Observable<{
35
+ items: any[];
36
+ item: any;
37
+ }>>;
32
38
  }
@@ -3,14 +3,20 @@ import { __decorate, __metadata } from "tslib";
3
3
  import { Injectable } from '@nestjs/common';
4
4
  import { map, mergeMap } from 'rxjs';
5
5
  import { DiscoveryService, ModuleRef, Reflector } from '@nestjs/core';
6
- import { hidePrivateFields } from './helpers/hidePrivateFields.js';
7
- import { PathHelper } from './helpers/PathHelper.js';
6
+ import { hidePrivateFields } from '@livequery/core';
8
7
  export class LivequeryItemMapper {
9
8
  mapper;
10
9
  constructor(mapper) {
11
10
  this.mapper = mapper;
12
11
  }
13
12
  }
13
+ function normalizeRouteRef(path) {
14
+ const pathname = path.split('?')[0].split('~')[0];
15
+ const segments = pathname.split('/').filter(Boolean);
16
+ const livequeryIndex = segments.indexOf('livequery');
17
+ const refSegments = livequeryIndex === -1 ? segments : segments.slice(livequeryIndex + 1);
18
+ return refSegments.map(segment => segment.startsWith(':') ? segment.slice(1) : segment).join('/');
19
+ }
14
20
  let LivequeryDatasourceInterceptors = LivequeryDatasourceInterceptors_1 = class LivequeryDatasourceInterceptors {
15
21
  reflector;
16
22
  discovery;
@@ -23,22 +29,24 @@ let LivequeryDatasourceInterceptors = LivequeryDatasourceInterceptors_1 = class
23
29
  getRoutes(token) {
24
30
  const controllers = this.discovery.getControllers();
25
31
  return controllers.map(controller => {
26
- const names = Object.getOwnPropertyNames(controller.metatype.prototype) || [];
32
+ const metatype = controller.metatype;
33
+ if (!metatype)
34
+ return [];
35
+ const names = Object.getOwnPropertyNames(metatype.prototype) || [];
27
36
  return names.map(name => {
28
- const fn = controller.metatype.prototype[name];
37
+ const fn = metatype.prototype[name];
29
38
  const metadata = this.reflector.get(LivequeryDatasourceInterceptors_1, fn);
30
39
  if (!metadata || (token && metadata.datasource != token))
31
40
  return [];
32
- const cpaths = [Reflect.getMetadata('path', controller.metatype)].flat(2);
41
+ const cpaths = [Reflect.getMetadata('path', metatype)].flat(2);
33
42
  const mpaths = [Reflect.getMetadata('path', fn)].flat(2);
34
43
  const paths = cpaths.map(a => mpaths.map(b => {
35
44
  const x = (a || '').trim().replace(/^\/+|\/+$/g, '');
36
45
  const y = (b || '').trim().replace(/^\/+|\/+$/g, '');
37
46
  const joined = (x == '' || y == '') ? `${x}${y}` : `${x}/${y}`;
38
- const { ref } = PathHelper.parseHttpRequestPath(joined);
39
- return ref;
47
+ return normalizeRouteRef(joined);
40
48
  })).flat(2);
41
- const method = Reflect.getMetadata('method', controller.metatype.prototype[name]);
49
+ const method = Reflect.getMetadata('method', metatype.prototype[name]);
42
50
  return paths.map(path => ({
43
51
  path,
44
52
  options: metadata.options,
@@ -1 +1 @@
1
- {"version":3,"file":"LivequeryDatasourceInterceptors.js","sourceRoot":"","sources":["../../src/LivequeryDatasourceInterceptors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LivequeryDatasourceInterceptors.js","sourceRoot":"","sources":["../../src/LivequeryDatasourceInterceptors.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,9 @@
1
1
  import { CallHandler, ExecutionContext, NestInterceptor } from "@nestjs/common";
2
- import { LivequeryWebsocketSync } from "./LivequeryWebsocketSync.js";
3
- export type RealtimeSubscription = {
4
- ref: string;
5
- client_id: string;
6
- gateway_id: string;
7
- listener_node_id: string;
8
- };
2
+ import { WebsocketGateway } from "@livequery/core";
9
3
  export declare class LivequeryInterceptor implements NestInterceptor {
10
- private LivequeryWebsocketSync;
11
- constructor(LivequeryWebsocketSync: LivequeryWebsocketSync);
4
+ #private;
5
+ private WebsocketGateway?;
6
+ constructor(WebsocketGateway?: WebsocketGateway | undefined);
12
7
  intercept(context: ExecutionContext, next: CallHandler): Promise<import("rxjs").Observable<any>>;
13
8
  }
14
9
  export declare const UseLivequeryInterceptor: () => MethodDecorator & ClassDecorator;
@@ -1,40 +1,42 @@
1
1
  import { __decorate, __metadata, __param } from "tslib";
2
2
  import { Inject, Injectable, Optional, UseInterceptors } from "@nestjs/common";
3
3
  import { map } from "rxjs/operators";
4
- import { PathHelper } from "./helpers/PathHelper.js";
5
- import { LivequeryWebsocketSync } from "./LivequeryWebsocketSync.js";
6
- import { hidePrivateFields } from "./helpers/hidePrivateFields.js";
4
+ import { hidePrivateFields, LivequeryRequestParser, WebsocketGateway } from "@livequery/core";
7
5
  let LivequeryInterceptor = class LivequeryInterceptor {
8
- LivequeryWebsocketSync;
9
- constructor(LivequeryWebsocketSync) {
10
- this.LivequeryWebsocketSync = LivequeryWebsocketSync;
6
+ WebsocketGateway;
7
+ #parser = new LivequeryRequestParser();
8
+ constructor(WebsocketGateway) {
9
+ this.WebsocketGateway = WebsocketGateway;
11
10
  }
12
11
  async intercept(context, next) {
13
12
  const req = context.switchToHttp().getRequest();
14
- const { ref, is_collection, collection_ref, doc_id, } = PathHelper.parseHttpRequestPath(req._parsedUrl.pathname);
15
- const { collection_ref: schema_collection_ref, ref: schema_ref } = PathHelper.parseHttpRequestPath(req.route.path);
16
- req.livequery = {
17
- ref,
18
- schema_ref,
19
- collection_ref,
20
- schema_collection_ref,
21
- is_collection,
22
- doc_id,
23
- options: req.query,
24
- keys: req.params,
25
- body: req.body,
26
- method: req.method.toLowerCase()
27
- };
28
- const client_id = req.headers['x-lcid'] || req.headers.socket_id;
29
- const gateway_id = req.headers['x-lgid'] || this.LivequeryWebsocketSync?.id;
30
- const cursor = req.query[':after'] || req.query[':before'] || req.query[':around'];
31
- const e = {
32
- client_id,
33
- gateway_id,
34
- ref: req.livequery.ref,
35
- listener_node_id: this.LivequeryWebsocketSync.id
13
+ const ctx = {
14
+ request: {
15
+ path: req.originalUrl ?? req.url ?? req._parsedUrl?.pathname ?? '',
16
+ ref: req.route?.path ?? req.path ?? req.url ?? '',
17
+ params: req.params ?? {},
18
+ query: req.query ?? {},
19
+ body: req.body,
20
+ method: req.method,
21
+ headers: new Headers(req.headers),
22
+ }
36
23
  };
37
- req.method == 'GET' && gateway_id && client_id && !cursor ? this.LivequeryWebsocketSync?.listen([e]) : null;
24
+ this.#parser.handle(ctx);
25
+ const parsed = ctx.livequery;
26
+ if (parsed) {
27
+ req.livequery = {
28
+ ...parsed,
29
+ schema_ref: parsed.schema_collection_ref,
30
+ is_collection: parsed.document_id === undefined,
31
+ doc_id: parsed.document_id,
32
+ options: parsed.query,
33
+ method: parsed.method.toLowerCase(),
34
+ };
35
+ }
36
+ const cursor = req.query?.[':after'] || req.query?.[':before'] || req.query?.[':around'];
37
+ if (parsed && req.method === 'GET' && !cursor) {
38
+ this.WebsocketGateway?.handle(ctx);
39
+ }
38
40
  return next.handle().pipe(map(response => {
39
41
  if (response.item) {
40
42
  return {
@@ -49,8 +51,8 @@ let LivequeryInterceptor = class LivequeryInterceptor {
49
51
  LivequeryInterceptor = __decorate([
50
52
  Injectable(),
51
53
  __param(0, Optional()),
52
- __param(0, Inject(LivequeryWebsocketSync)),
53
- __metadata("design:paramtypes", [LivequeryWebsocketSync])
54
+ __param(0, Inject(WebsocketGateway)),
55
+ __metadata("design:paramtypes", [WebsocketGateway])
54
56
  ], LivequeryInterceptor);
55
57
  export { LivequeryInterceptor };
56
58
  export const UseLivequeryInterceptor = () => UseInterceptors(LivequeryInterceptor);
@@ -1 +1 @@
1
- {"version":3,"file":"LivequeryInterceptor.js","sourceRoot":"","sources":["../../src/LivequeryInterceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LivequeryInterceptor.js","sourceRoot":"","sources":["../../src/LivequeryInterceptor.ts"],"names":[],"mappings":"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"}
@@ -1,62 +1,2 @@
1
- import { Subject, Observable, Subscription } from "rxjs";
2
- import { RealtimeSubscription } from "./LivequeryInterceptor.js";
3
- import { UpdatedData, LivequeryBaseEntity } from "@livequery/types";
4
- import WebSocket from 'ws';
5
- export type WebSocketHelloEvent = {
6
- event: 'hello';
7
- gid: string;
8
- };
9
- export type WebSocketUnsubscribeEvent = {
10
- event: 'unsubscribe';
11
- data: {
12
- ref?: string;
13
- refs?: string;
14
- client_id: string;
15
- };
16
- };
17
- export type WebSocketStartEvent = {
18
- event: 'start';
19
- data: {
20
- id: string;
21
- auth: string;
22
- };
23
- };
24
- export type WebSocketSubscribeEvent = RealtimeSubscription & {
25
- event: 'subscribe';
26
- };
27
- export type WebSocketSyncEvent = {
28
- event: 'sync';
29
- cids: string[];
30
- data?: {
31
- changes: UpdatedData[];
32
- };
33
- };
34
- export type WebsocketWithMetadata = WebSocket & {
35
- gateway: boolean;
36
- id: string;
37
- refs: Set<string>;
38
- };
39
- export type SubscriptionMetadata = {
40
- gateway_id: string;
41
- listener_node_id: string;
42
- };
43
- export type SubscriberMetadata = Map<Ref, Subject<'STOP'>>;
44
- type Ref = string;
45
- export declare const WEBSOCKET_PATH: string;
46
- export declare class LivequeryWebsocketSync extends Subject<UpdatedData> {
47
- #private;
48
- readonly id: `${string}-${string}-${string}-${string}-${string}`;
49
- readonly auth: `${string}-${string}-${string}-${string}-${string}`;
50
- constructor();
51
- link<T extends LivequeryBaseEntity>(ref: string, handler: (o?: Observable<UpdatedData<T>>) => Promise<Observable<UpdatedData<T>>> | Observable<UpdatedData<T>> | undefined | void): Promise<void>;
52
- connect(url: string, auth: string, ondisconect?: Function): Subscription;
53
- start(socket: WebsocketWithMetadata, { id, auth }: WebSocketStartEvent['data']): void;
54
- unref(socket: WebsocketWithMetadata, body: {
55
- ref?: string;
56
- client_id?: string;
57
- refs?: string[];
58
- }): void;
59
- private handleDisconnect;
60
- listen(e: Array<RealtimeSubscription>): void;
1
+ export declare class LivequeryWebsocketSync {
61
2
  }
62
- export {};