@livequery/nestjs 2.0.2 → 2.0.4

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.
@@ -1,6 +1,4 @@
1
1
  import { LivequeryWebsocketSync } from './LivequeryWebsocketSync.js';
2
- import { Observable } from 'rxjs';
3
- import { ApiGatewayConnector } from './ApiGatewayConnector.js';
4
2
  export type Routing = {
5
3
  [ref: string]: {
6
4
  dpaths: string[];
@@ -14,6 +12,10 @@ export type Routing = {
14
12
  };
15
13
  };
16
14
  export type ServiceApiMetadata = {
15
+ id: string;
16
+ namespace: string;
17
+ role: 'service' | 'gateway';
18
+ host: string;
17
19
  name: string;
18
20
  port: number;
19
21
  paths: Array<{
@@ -21,6 +23,7 @@ export type ServiceApiMetadata = {
21
23
  path: string;
22
24
  }>;
23
25
  websocket?: string;
26
+ sig: string;
24
27
  };
25
28
  export type ServiceApiStatus = {
26
29
  id: string;
@@ -30,20 +33,16 @@ export type ServiceApiStatus = {
30
33
  id: string;
31
34
  online: false;
32
35
  };
33
- export type ApiGatewayConnectorService = {
34
- $wait_service_online: () => Promise<void>;
35
- $watch: () => Observable<{
36
- id: string;
37
- online: boolean;
38
- ip_addresses: string[];
39
- }>;
40
- $node_id: (id: string) => ApiGatewayConnector;
36
+ export type ApiGatewayClientOptions = {
37
+ id: string;
38
+ name: string;
39
+ controllers: any[];
40
+ port: number;
41
41
  };
42
42
  export declare class ApiGateway {
43
43
  #private;
44
- private ApiGatewayConnector;
45
44
  private LivequeryWebsocketSync;
46
- constructor(ApiGatewayConnector: ApiGatewayConnectorService, LivequeryWebsocketSync: LivequeryWebsocketSync);
45
+ constructor(LivequeryWebsocketSync: LivequeryWebsocketSync);
47
46
  private get;
48
47
  private post;
49
48
  private patch;
@@ -1,28 +1,42 @@
1
1
  import { __decorate, __metadata, __param } from "tslib";
2
- import { Controller, Delete, Get, Inject, Optional, Patch, Post, Put, Request, Res, } from '@nestjs/common';
2
+ import { Controller, Delete, Get, Optional, Patch, Post, Put, Request, Res, } from '@nestjs/common';
3
3
  import * as http from 'http';
4
4
  import { IncomingMessage } from 'http';
5
5
  import { LivequeryWebsocketSync } from './LivequeryWebsocketSync.js';
6
- import { mergeMap, firstValueFrom, tap, timer, filter } from 'rxjs';
7
- import { ApiGatewayConnector } from './ApiGatewayConnector.js';
6
+ import { API_GATEWAY_NAMESPACE } from './const.js';
7
+ import { RxjsUdp } from './RxjsUdp.js';
8
+ import { mergeMap } from 'rxjs/operators';
8
9
  let ApiGateway = class ApiGateway {
9
- ApiGatewayConnector;
10
10
  LivequeryWebsocketSync;
11
11
  #services = new Map;
12
12
  #routing = {};
13
- constructor(ApiGatewayConnector, LivequeryWebsocketSync) {
14
- this.ApiGatewayConnector = ApiGatewayConnector;
13
+ #udp = new RxjsUdp();
14
+ constructor(LivequeryWebsocketSync) {
15
15
  this.LivequeryWebsocketSync = LivequeryWebsocketSync;
16
- ApiGatewayConnector.$watch().pipe(tap(node => !node.online && this.#disconnect(node.id)), filter(node => node.online), mergeMap(node => node.online ? this.#join(node.id, node.ip_addresses) : null, 1)).subscribe();
16
+ this.#udp = new RxjsUdp();
17
+ this.#udp.pipe(mergeMap(async ({ host, port }) => {
18
+ const r = await fetch(`http://${host}:${port}/api-gateway/metadata`).then(r => r.json());
19
+ r.data && r.data.namespace == API_GATEWAY_NAMESPACE && this.#join({ ...r.data, host });
20
+ })).subscribe();
21
+ this.#udp.broadcast({
22
+ namespace: API_GATEWAY_NAMESPACE,
23
+ host: '',
24
+ id: '',
25
+ name: '',
26
+ paths: [],
27
+ port: 0,
28
+ role: 'gateway',
29
+ sig: ''
30
+ });
17
31
  }
18
32
  async #disconnect(id) {
19
33
  const service = this.#services.get(id);
20
34
  if (!service)
21
35
  return;
22
- process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service API OFFLINE: ${service.metadata.name} at ${service.host}:${service.metadata.port}`);
23
- process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Websocket API OFFLINE: ${service.metadata.name} at ${service.host}:${service.metadata.port}${service.metadata.websocket}`);
36
+ process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service API OFFLINE: ${service.name} at ${service.host}:${service.port}`);
37
+ process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Websocket API OFFLINE: ${service.name} at ${service.host}:${service.port}${service.websocket}`);
24
38
  this.#services.delete(id);
25
- const hostname = `${service.host}:${service.metadata.port}`;
39
+ const hostname = `${service.host}:${service.port}`;
26
40
  for (let routes = [this.#routing]; routes.length > 0; routes = routes.map(c => [...Object.values(c)].map(c => c.children).filter(c => !!c)).flat(2)) {
27
41
  for (const route of routes) {
28
42
  for (const { methods } of Object.values(route || {})) {
@@ -35,36 +49,13 @@ let ApiGateway = class ApiGateway {
35
49
  }
36
50
  }
37
51
  }
38
- async #find_api_host(hosts, port, loop = 10) {
39
- for (let i = 1; i <= loop; i++) {
40
- for (const hostname of hosts) {
41
- const connected = await new Promise(s => {
42
- const request = http.request({
43
- hostname,
44
- port,
45
- method: 'HEAD'
46
- });
47
- request.on('response', () => s(true));
48
- request.on('error', () => s(false));
49
- request.end();
50
- });
51
- if (connected)
52
- return hostname;
53
- await firstValueFrom(timer(1000));
54
- }
55
- }
56
- }
57
- async #join(id, ip_addresses) {
58
- if (this.#services.has(id))
59
- return;
60
- const metadata = await this.ApiGatewayConnector.$node_id(id).list();
61
- const host = await this.#find_api_host(ip_addresses, metadata.port);
62
- if (!host)
52
+ async #join(metadata) {
53
+ if (this.#services.has(metadata.id))
63
54
  return;
64
- this.#services.set(id, { host, metadata });
65
- const hostname = `${host}:${metadata.port}`;
66
- process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service API online: ${metadata.name} at ${host}:${metadata.port}`);
67
- process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Websocket API online: ${metadata.name} at ${host}:${metadata.port}${metadata.websocket}`);
55
+ this.#services.set(metadata.id, metadata);
56
+ const hostname = `${metadata.host}:${metadata.port}`;
57
+ process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service API online: ${metadata.name} at ${metadata.host}:${metadata.port}`);
58
+ metadata.websocket && process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Websocket API online: ${metadata.name} at ${metadata.host}:${metadata.port}${metadata.websocket}`);
68
59
  metadata.websocket && this.LivequeryWebsocketSync?.connect(`ws://${hostname}${metadata.websocket}`);
69
60
  for (const { method, path } of metadata.paths) {
70
61
  const refs = path.split('/').map(r => {
@@ -154,7 +145,7 @@ let ApiGateway = class ApiGateway {
154
145
  })
155
146
  .on('error', e => {
156
147
  console.error(e);
157
- res.json({ error: { code: "PROXY_ERROR" } });
148
+ res.json({ error: { code: "SERVICE_API_OFFLINE" } });
158
149
  })
159
150
  .on('upgrade', (ireq, socket, head) => {
160
151
  }));
@@ -217,9 +208,8 @@ __decorate([
217
208
  ], ApiGateway.prototype, "del", null);
218
209
  ApiGateway = __decorate([
219
210
  Controller(`*`),
220
- __param(0, Inject(ApiGatewayConnector)),
221
- __param(1, Optional()),
222
- __metadata("design:paramtypes", [Object, LivequeryWebsocketSync])
211
+ __param(0, Optional()),
212
+ __metadata("design:paramtypes", [LivequeryWebsocketSync])
223
213
  ], ApiGateway);
224
214
  export { ApiGateway };
225
215
  //# sourceMappingURL=ApiGateway.js.map
@@ -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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"}
@@ -0,0 +1,14 @@
1
+ import { ModulesContainer } from "@nestjs/core";
2
+ import { ServiceApiMetadata } from "./ApiGateway.js";
3
+ import { LivequeryWebsocketSync } from "./LivequeryWebsocketSync.js";
4
+ export declare class ApiGatewayLinker {
5
+ private LivequeryWebsocketSync;
6
+ private readonly modulesContainer;
7
+ private static udp;
8
+ constructor(LivequeryWebsocketSync: LivequeryWebsocketSync, modulesContainer: ModulesContainer);
9
+ onModuleInit(): void;
10
+ static broadcast(name: string, local_api_port: number): Promise<void>;
11
+ metadata(): {
12
+ data: ServiceApiMetadata;
13
+ };
14
+ }
@@ -0,0 +1,70 @@
1
+ import { __decorate, __metadata, __param } from "tslib";
2
+ import { Controller, Get, Inject, Optional } from "@nestjs/common";
3
+ import { ModulesContainer } from "@nestjs/core";
4
+ import { listPaths } from "./helpers/listPaths.js";
5
+ import { LivequeryWebsocketSync, WEBSOCKET_PATH } from "./LivequeryWebsocketSync.js";
6
+ import { BehaviorSubject, merge } from "rxjs";
7
+ import { randomUUID, createHash } from "crypto";
8
+ import { API_GATEWAY_NAMESPACE } from "./const.js";
9
+ import { filter, tap } from 'rxjs/operators';
10
+ import { RxjsUdp } from "./RxjsUdp.js";
11
+ const $METADATA = new BehaviorSubject({
12
+ namespace: API_GATEWAY_NAMESPACE,
13
+ role: 'service',
14
+ host: '',
15
+ id: randomUUID(),
16
+ name: '',
17
+ paths: [],
18
+ port: 0,
19
+ sig: ''
20
+ });
21
+ let ApiGatewayLinker = class ApiGatewayLinker {
22
+ LivequeryWebsocketSync;
23
+ modulesContainer;
24
+ static udp = new RxjsUdp();
25
+ constructor(LivequeryWebsocketSync, modulesContainer) {
26
+ this.LivequeryWebsocketSync = LivequeryWebsocketSync;
27
+ this.modulesContainer = modulesContainer;
28
+ const paths = [...this.modulesContainer.values()].map(m => (listPaths([...m.controllers.keys()].map(c => c)))).flat(2);
29
+ $METADATA.next({
30
+ ...$METADATA.getValue(),
31
+ paths,
32
+ websocket: this.LivequeryWebsocketSync ? WEBSOCKET_PATH : undefined
33
+ });
34
+ }
35
+ onModuleInit() {
36
+ $METADATA.next({
37
+ ...$METADATA.getValue(),
38
+ sig: createHash('md5').update(API_GATEWAY_NAMESPACE).digest('base64')
39
+ });
40
+ }
41
+ static async broadcast(name, local_api_port) {
42
+ $METADATA.next({
43
+ ...$METADATA.getValue(),
44
+ name,
45
+ port: local_api_port
46
+ });
47
+ const $udp = new RxjsUdp();
48
+ merge($udp.pipe(filter(m => m.role == 'gateway')), $METADATA.pipe(filter(m => !!m.sig))).pipe(tap(() => $udp.broadcast($METADATA.getValue()))).subscribe();
49
+ }
50
+ metadata() {
51
+ return {
52
+ data: $METADATA.getValue()
53
+ };
54
+ }
55
+ };
56
+ __decorate([
57
+ Get('metadata'),
58
+ __metadata("design:type", Function),
59
+ __metadata("design:paramtypes", []),
60
+ __metadata("design:returntype", void 0)
61
+ ], ApiGatewayLinker.prototype, "metadata", null);
62
+ ApiGatewayLinker = __decorate([
63
+ Controller('/api-gateway'),
64
+ __param(0, Optional()),
65
+ __param(0, Inject()),
66
+ __metadata("design:paramtypes", [LivequeryWebsocketSync,
67
+ ModulesContainer])
68
+ ], ApiGatewayLinker);
69
+ export { ApiGatewayLinker };
70
+ //# sourceMappingURL=ApiGatewayLinker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiGatewayLinker.js","sourceRoot":"","sources":["../../src/ApiGatewayLinker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Observable } from "rxjs";
2
+ import { ServiceApiMetadata } from "./ApiGateway.js";
3
+ export declare class RxjsUdp extends Observable<ServiceApiMetadata> {
4
+ #private;
5
+ readonly id: `${string}-${string}-${string}-${string}-${string}`;
6
+ constructor();
7
+ broadcast(metadata: ServiceApiMetadata): Promise<void>;
8
+ }
@@ -0,0 +1,49 @@
1
+ import { createSocket } from "dgram";
2
+ import { Observable } from "rxjs";
3
+ import { networkInterfaces } from 'os';
4
+ import { API_GATEWAY_NAMESPACE, API_GATEWAY_UDP_ADDRESS, API_GATEWAY_UDP_PORT } from "./const.js";
5
+ import { randomUUID } from "crypto";
6
+ export class RxjsUdp extends Observable {
7
+ id = randomUUID();
8
+ #udp = createSocket({
9
+ type: 'udp4',
10
+ reuseAddr: true
11
+ });
12
+ #broadcast_ips = ['localhost', '255.255.255.255'];
13
+ constructor() {
14
+ super(o => {
15
+ this.#udp.bind({
16
+ address: '0.0.0.0',
17
+ port: API_GATEWAY_UDP_PORT,
18
+ }, () => this.#udp.setBroadcast(true));
19
+ this.#udp.on('message', async (raw, rinfo) => {
20
+ try {
21
+ const info = JSON.parse(raw.toString('utf-8'));
22
+ if (info.namespace == API_GATEWAY_NAMESPACE && info.id != this.id) {
23
+ o.next({ ...info, host: rinfo.address });
24
+ }
25
+ }
26
+ catch (e) {
27
+ }
28
+ });
29
+ const network_address = (Object.entries(networkInterfaces())
30
+ .filter(([i]) => !i.startsWith('lo'))
31
+ .map(e => e[1])
32
+ .flat(2)
33
+ .filter(d => d.family == 'IPv4')
34
+ .map(d => d.address.split('.').slice(0, 3).join('.') + '.255'));
35
+ const env_address = API_GATEWAY_UDP_ADDRESS.split(',').map(a => a.trim()).filter(a => !!a);
36
+ for (const address of [...network_address, ...env_address]) {
37
+ const splited = address.split('.');
38
+ splited.length == 4 && this.#broadcast_ips.push(address);
39
+ splited.length == 3 && new Array(256).fill(0).map((_, i) => this.#broadcast_ips.push(`${address}.${i}`));
40
+ }
41
+ });
42
+ }
43
+ async broadcast(metadata) {
44
+ for (const host of this.#broadcast_ips) {
45
+ await this.#udp.send(JSON.stringify({ ...metadata, id: this.id }), API_GATEWAY_UDP_PORT, host);
46
+ }
47
+ }
48
+ }
49
+ //# sourceMappingURL=RxjsUdp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RxjsUdp.js","sourceRoot":"","sources":["../../src/RxjsUdp.ts"],"names":[],"mappings":"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"}
@@ -1 +1,4 @@
1
1
  export declare const LIVEQUERY_MAGIC_KEY: string;
2
+ export declare const API_GATEWAY_NAMESPACE: string;
3
+ export declare const API_GATEWAY_UDP_PORT: number;
4
+ export declare const API_GATEWAY_UDP_ADDRESS: string;
@@ -1,2 +1,5 @@
1
1
  export const LIVEQUERY_MAGIC_KEY = `${process.env.LIVEQUERY_MAGIC_KEY || 'livequery'}/`;
2
+ export const API_GATEWAY_NAMESPACE = process.env.API_GATEWAY_NAMESPACE || 'default';
3
+ export const API_GATEWAY_UDP_PORT = Number(process.env.API_GATEWAY_UDP_PORT || 13579);
4
+ export const API_GATEWAY_UDP_ADDRESS = process.env.API_GATEWAY_UDP_ADDRESS || '';
2
5
  //# sourceMappingURL=const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAC/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,WACvC,GAAG,CAAA"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,WACrE,GAAG,CAAA;AAEP,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,SAAS,CAAA;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK,CAAC,CAAA;AACrF,MAAM,CAAC,MAAM,uBAAuB,GAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAA"}
@@ -14,4 +14,4 @@ export declare const createDatasourceMapper: <Options, StreamPayload, Connection
14
14
  new (): LivequeryDatasource<Options, StreamPayload, Connection>;
15
15
  }, inject_tokens: {
16
16
  [connection_name: string]: any;
17
- }, ...observables: Array<Observable<StreamPayload>>) => [(options: Options) => <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void, import("@nestjs/common").FactoryProvider<any>];
17
+ }, ...observables: Array<Observable<StreamPayload>>) => [(options: Options) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void, import("@nestjs/common").FactoryProvider<any>];
@@ -7,4 +7,4 @@ export { createDatasourceMapper, LivequeryDatasourceOptions, LivequeryDatasource
7
7
  export { LivequeryDatasourceInterceptors } from './LivequeryDatasourceInterceptors.js';
8
8
  export { UseWebsocketPublicKey, UseWebsocketPrivateKey } from './UseWebsocketShareKeyPair.js';
9
9
  export { ApiGateway } from './ApiGateway.js';
10
- export { ApiGatewayConnector } from './ApiGatewayConnector.js';
10
+ export { ApiGatewayLinker } from './ApiGatewayLinker.js';
@@ -7,5 +7,5 @@ export { createDatasourceMapper } from './helpers/createDatasourceMapper.js';
7
7
  export { LivequeryDatasourceInterceptors } from './LivequeryDatasourceInterceptors.js';
8
8
  export { UseWebsocketPublicKey, UseWebsocketPrivateKey } from './UseWebsocketShareKeyPair.js';
9
9
  export { ApiGateway } from './ApiGateway.js';
10
- export { ApiGatewayConnector } from './ApiGatewayConnector.js';
10
+ export { ApiGatewayLinker } from './ApiGatewayLinker.js';
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAwB,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAC/G,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAmD,MAAM,qCAAqC,CAAA;AAC7H,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AACtF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAwB,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAC/G,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAmD,MAAM,qCAAqC,CAAA;AAC7H,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AACtF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "repository": {
6
6
  "url": "git@github.com:livequery/nestjs.git"
7
7
  },
8
- "version": "2.0.2",
8
+ "version": "2.0.4",
9
9
  "description": "Nestjs decorators for @livequery ecosystem",
10
10
  "main": "./build/src/index.js",
11
11
  "types": "./build/src/index.d.ts",
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "type": "module",
24
24
  "devDependencies": {
25
- "@livequery/types": "2.0.0",
25
+ "@livequery/types": "2.0.7",
26
26
  "@nestjs/common": "x",
27
27
  "@nestjs/core": "x",
28
28
  "@types/express": "x",