@livequery/nestjs 2.0.30 → 2.0.31

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.
@@ -15,8 +15,6 @@ export type Routing = {
15
15
  };
16
16
  };
17
17
  export type ServiceApiMetadata = {
18
- id: string;
19
- namespace: string;
20
18
  role: 'service' | 'gateway';
21
19
  name: string;
22
20
  port: number;
@@ -25,7 +23,6 @@ export type ServiceApiMetadata = {
25
23
  path: string;
26
24
  }>;
27
25
  websocket?: string;
28
- auth: string;
29
26
  wsauth?: string;
30
27
  linked: string[];
31
28
  target?: string;
@@ -2,70 +2,39 @@ import { __decorate, __metadata, __param } from "tslib";
2
2
  import { Controller, Delete, Get, Optional, Patch, Post, Put, Request, Res, } from '@nestjs/common';
3
3
  import * as http from 'http';
4
4
  import { LivequeryWebsocketSync } from './LivequeryWebsocketSync.js';
5
- import { API_GATEWAY_NAMESPACE } from './const.js';
5
+ import { API_GATEWAY_UDP_PORT, LIVEQUERY_API_GATEWAY_DEBUG, SERVICE_API_UDP_PORT } from './const.js';
6
6
  import { RxjsUdp } from './RxjsUdp.js';
7
7
  import { mergeMap, filter, debounceTime, groupBy } from 'rxjs/operators';
8
- import { merge, of } from 'rxjs';
9
- import { generateKeyPairSync } from 'crypto';
10
- import jwt from 'jsonwebtoken';
11
8
  let ApiGateway = class ApiGateway {
12
9
  lws;
13
10
  #services = new Map;
14
11
  #routing = {};
15
- #secret = generateKeyPairSync('ec', {
16
- namedCurve: 'P-256',
17
- publicKeyEncoding: { type: 'spki', format: 'pem' },
18
- privateKeyEncoding: { type: 'pkcs8', format: 'pem' },
19
- });
20
12
  constructor(lws) {
21
13
  this.lws = lws;
22
- const udp = new RxjsUdp();
23
- merge(udp, of({
24
- host: '',
25
- namespace: API_GATEWAY_NAMESPACE,
26
- id: udp.id,
27
- name: 'seeding-gateway',
28
- paths: [],
29
- port: 0,
30
- role: 'service',
31
- linked: [],
32
- auth: ''
33
- })).pipe(filter(m => m.role == 'service'), filter(m => !this.#services.has(m.id)), groupBy(m => m.id), mergeMap($ => $.pipe(debounceTime(500), mergeMap(async ({ host, ...data }) => {
34
- if (!data.auth) {
35
- const auth = jwt.sign({}, this.#secret.privateKey, {
36
- algorithm: 'ES256',
37
- expiresIn: 3600
38
- });
39
- const me = {
40
- namespace: API_GATEWAY_NAMESPACE,
41
- id: udp.id,
42
- name: '',
14
+ const udp = new RxjsUdp(API_GATEWAY_UDP_PORT);
15
+ udp.pipe(filter(m => m.role == 'service'), filter(m => !this.#services.has(m.id)), groupBy(m => m.id), mergeMap($ => $.pipe(debounceTime(1000), mergeMap(async (e) => {
16
+ await this.#join(e);
17
+ })))).subscribe();
18
+ setTimeout(() => {
19
+ udp.broadcast({
20
+ port: SERVICE_API_UDP_PORT,
21
+ payload: {
22
+ name: 'API gateway',
43
23
  paths: [],
44
24
  port: 0,
45
25
  role: 'gateway',
46
- auth,
47
26
  linked: [...this.#services.keys()]
48
- };
49
- udp.broadcast(me, host || undefined);
50
- return;
51
- }
52
- try {
53
- jwt.verify(data.auth, this.#secret.publicKey);
54
- await this.#join(host, data);
55
- return;
56
- }
57
- catch (e) {
58
- }
59
- })))).subscribe();
27
+ }
28
+ });
29
+ }, 1000);
60
30
  }
61
- async #join(host, metadata) {
62
- if (this.#services.has(metadata.id))
63
- return;
31
+ async #join(metadata) {
32
+ const host = metadata.host;
64
33
  const hostname = `${host}:${metadata.port}`;
65
34
  const subscription = metadata.websocket && this.lws?.connect(`ws://${hostname}${metadata.websocket}`, metadata.wsauth, () => this.#disconnect(metadata.id));
66
35
  this.#services.set(metadata.id, { metadata, subscription, host });
67
- process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service API online: ${metadata.name} at ${host}:${metadata.port}`);
68
- metadata.websocket && process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service websocket online: ${metadata.name} at ${host}:${metadata.port}${metadata.websocket}`);
36
+ LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service API online: ${metadata.name} at ${host}:${metadata.port}`);
37
+ LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service websocket online: ${metadata.name} at ${host}:${metadata.port}${metadata.websocket}`);
69
38
  for (const { method, path } of metadata.paths || []) {
70
39
  const refs = path.split('/').map(r => {
71
40
  if (r.includes(':')) {
@@ -111,8 +80,8 @@ let ApiGateway = class ApiGateway {
111
80
  return;
112
81
  const { metadata, subscription, host } = service;
113
82
  subscription.unsubscribe();
114
- process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service API OFFLINE: ${metadata.name} at ${host}:${metadata.port}`);
115
- process.env.LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service websocket OFFLINE: ${metadata.name} at ${host}:${metadata.port}${metadata.websocket}`);
83
+ LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service API OFFLINE: ${metadata.name} at ${host}:${metadata.port}`);
84
+ LIVEQUERY_API_GATEWAY_DEBUG && console.log(`Service websocket OFFLINE: ${metadata.name} at ${host}:${metadata.port}${metadata.websocket}`);
116
85
  this.#services.delete(id);
117
86
  const hostname = `${host}:${metadata.port}`;
118
87
  for (let routes = [this.#routing]; routes.length > 0; routes = routes.map(c => [...Object.values(c)].map(c => c.children).filter(c => !!c)).flat(2)) {
@@ -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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"}
@@ -4,8 +4,8 @@ import { Controller, Inject, Injectable, Optional } from "@nestjs/common";
4
4
  import { ModulesContainer } from "@nestjs/core";
5
5
  import { listPaths } from "./helpers/listPaths.js";
6
6
  import { LivequeryWebsocketSync, WEBSOCKET_PATH } from "./LivequeryWebsocketSync.js";
7
- import { merge, Subject, of, mergeMap } from "rxjs";
8
- import { API_GATEWAY_NAMESPACE } from "./const.js";
7
+ import { Subject, mergeMap } from "rxjs";
8
+ import { API_GATEWAY_UDP_PORT, SERVICE_API_UDP_PORT } from "./const.js";
9
9
  import { filter, combineLatestWith, debounceTime, groupBy } from 'rxjs/operators';
10
10
  import { RxjsUdp } from "./RxjsUdp.js";
11
11
  let ApiGatewayLinker = class ApiGatewayLinker {
@@ -15,28 +15,38 @@ let ApiGatewayLinker = class ApiGatewayLinker {
15
15
  constructor(LivequeryWebsocketSync, modulesContainer) {
16
16
  this.modulesContainer = modulesContainer;
17
17
  const paths = [...this.modulesContainer.values()].map(m => (listPaths([...m.controllers.keys()].map(c => c)))).flat(2);
18
- const $udp = new RxjsUdp();
19
- const metadata = {
20
- namespace: API_GATEWAY_NAMESPACE,
21
- role: 'service',
22
- id: $udp.id,
23
- name: 'seeding-service',
24
- paths,
25
- port: 0,
26
- linked: [],
27
- auth: '',
28
- wsauth: LivequeryWebsocketSync?.auth,
29
- websocket: LivequeryWebsocketSync ? WEBSOCKET_PATH : undefined
30
- };
31
- merge($udp, of({ ...metadata, role: 'gateway' })).pipe(filter(m => m.role == 'gateway'), filter(r => !r.linked.includes($udp.id)), combineLatestWith(ApiGatewayLinker_1.$me), groupBy(([a, b]) => a.id), mergeMap($ => $.pipe(debounceTime(500), mergeMap(async ([a, { name, port }]) => {
32
- const me = {
33
- ...metadata,
18
+ const $udp = new RxjsUdp(SERVICE_API_UDP_PORT);
19
+ $udp.pipe(filter(m => m.role == 'gateway'), filter(r => !r.linked.includes($udp.id)), combineLatestWith(ApiGatewayLinker_1.$me), groupBy(([a, b]) => a.id), mergeMap($ => $.pipe(debounceTime(1000), mergeMap(async ([{ host }, { name, port }]) => {
20
+ const payload = {
21
+ role: 'service',
22
+ paths,
23
+ linked: [],
24
+ wsauth: LivequeryWebsocketSync?.auth,
25
+ websocket: LivequeryWebsocketSync ? WEBSOCKET_PATH : undefined,
34
26
  name,
35
27
  port,
36
- auth: a.auth
37
28
  };
38
- $udp.broadcast(me);
29
+ $udp.broadcast({
30
+ payload,
31
+ port: API_GATEWAY_UDP_PORT,
32
+ host
33
+ });
39
34
  })))).subscribe();
35
+ combineLatestWith(ApiGatewayLinker_1.$me);
36
+ ApiGatewayLinker_1.$me.subscribe(({ name, port }) => {
37
+ $udp.broadcast({
38
+ port: API_GATEWAY_UDP_PORT,
39
+ payload: {
40
+ name,
41
+ port,
42
+ role: 'service',
43
+ paths,
44
+ linked: [],
45
+ wsauth: LivequeryWebsocketSync?.auth,
46
+ websocket: LivequeryWebsocketSync ? WEBSOCKET_PATH : undefined
47
+ }
48
+ });
49
+ });
40
50
  }
41
51
  static async broadcast(name, port) {
42
52
  this.$me.next({ name, port });
@@ -1 +1 @@
1
- {"version":3,"file":"ApiGatewayLinker.js","sourceRoot":"","sources":["../../src/ApiGatewayLinker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiGatewayLinker.js","sourceRoot":"","sources":["../../src/ApiGatewayLinker.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,17 @@
1
1
  import { Observable } from "rxjs";
2
- import { ServiceApiMetadata } from "./ApiGateway.js";
3
- export declare class RxjsUdp extends Observable<ServiceApiMetadata & {
2
+ export type UdpHello<T> = T & {
3
+ id: string;
4
4
  host: string;
5
- }> {
5
+ namespace: string;
6
+ };
7
+ export declare class RxjsUdp<T> extends Observable<UdpHello<T>> {
6
8
  #private;
9
+ private port;
7
10
  readonly id: `${string}-${string}-${string}-${string}-${string}`;
8
- constructor();
9
- broadcast(metadata: ServiceApiMetadata, ip?: string): Promise<void>;
10
- forService(): void;
11
+ constructor(port: number);
12
+ broadcast({ payload, port, host }: {
13
+ port: number;
14
+ payload: T;
15
+ host?: string;
16
+ }): Promise<void>;
11
17
  }
@@ -1,23 +1,35 @@
1
1
  import { createSocket } from "dgram";
2
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";
3
+ import { API_GATEWAY_NAMESPACE, API_GATEWAY_UDP_ADDRESS } from "./const.js";
5
4
  import { randomUUID } from "crypto";
6
5
  export class RxjsUdp extends Observable {
6
+ port;
7
7
  id = randomUUID();
8
8
  #udp = createSocket({
9
- type: 'udp4',
9
+ type: 'udp6',
10
10
  reuseAddr: true
11
11
  });
12
- #broadcast_ips = ['localhost'];
13
- constructor() {
12
+ #whitelist_ips = [
13
+ '127.0.0.1',
14
+ ...API_GATEWAY_UDP_ADDRESS.split(',').map(a => {
15
+ const s = a.trim().split('.');
16
+ if (s.length == 4)
17
+ return [a.trim()];
18
+ if (s.length == 3)
19
+ return new Array(255).fill(0).map((_, i) => [...s, i].join('.'));
20
+ return [];
21
+ }).flat(2)
22
+ ];
23
+ constructor(port) {
14
24
  super(o => {
15
25
  this.#udp.bind({
16
26
  address: '0.0.0.0',
17
- port: API_GATEWAY_UDP_PORT,
27
+ port,
18
28
  }, () => this.#udp.setBroadcast(true));
19
29
  this.#udp.on('message', async (raw, rinfo) => {
20
30
  try {
31
+ if (!this.#whitelist_ips.includes(rinfo.address))
32
+ return;
21
33
  const info = JSON.parse(raw.toString('utf-8'));
22
34
  if (info.namespace == API_GATEWAY_NAMESPACE && info.id != this.id) {
23
35
  o.next({ ...info, host: rinfo.address });
@@ -26,29 +38,21 @@ export class RxjsUdp extends Observable {
26
38
  catch (e) {
27
39
  }
28
40
  });
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
41
  });
42
+ this.port = port;
42
43
  }
43
- async broadcast(metadata, ip) {
44
- for (const host of [
45
- ...this.#broadcast_ips,
46
- ...ip ? [ip] : []
47
- ]) {
48
- await this.#udp.send(JSON.stringify({ ...metadata, id: this.id }), API_GATEWAY_UDP_PORT, host);
44
+ async broadcast({ payload, port, host }) {
45
+ const hosts = host ? [host] : this.#whitelist_ips;
46
+ const data = JSON.stringify({
47
+ namespace: API_GATEWAY_NAMESPACE,
48
+ id: this.id,
49
+ ...payload,
50
+ });
51
+ for (const host of hosts) {
52
+ await new Promise(s => {
53
+ this.#udp.send(data, port, host, s);
54
+ });
49
55
  }
50
56
  }
51
- forService() {
52
- }
53
57
  }
54
58
  //# sourceMappingURL=RxjsUdp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RxjsUdp.js","sourceRoot":"","sources":["../../src/RxjsUdp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RxjsUdp.js","sourceRoot":"","sources":["../../src/RxjsUdp.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export declare const LIVEQUERY_MAGIC_KEY: string;
2
2
  export declare const API_GATEWAY_NAMESPACE: string;
3
3
  export declare const API_GATEWAY_UDP_PORT: number;
4
+ export declare const SERVICE_API_UDP_PORT: number;
4
5
  export declare const API_GATEWAY_UDP_ADDRESS: string;
6
+ export declare const LIVEQUERY_API_GATEWAY_DEBUG: string | boolean;
@@ -1,5 +1,7 @@
1
1
  export const LIVEQUERY_MAGIC_KEY = `${process.env.LIVEQUERY_MAGIC_KEY || 'livequery'}/`;
2
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 || '0.0.0.0';
3
+ export const API_GATEWAY_UDP_PORT = Number(process.env.API_GATEWAY_UDP_PORT || 13578);
4
+ export const SERVICE_API_UDP_PORT = Number(process.env.SERVICE_API_UDP_PORT || 13579);
5
+ export const API_GATEWAY_UDP_ADDRESS = process.env.API_GATEWAY_UDP_ADDRESS || '192.168.2';
6
+ export const LIVEQUERY_API_GATEWAY_DEBUG = process.env.LIVEQUERY_API_GATEWAY_DEBUG || true;
5
7
  //# 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,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,WAAW,GAAG,CAAA;AAEvF,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,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,SAAS,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,WAAW,GAAG,CAAA;AAEvF,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,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK,CAAC,CAAA;AACrF,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,WAAW,CAAA;AACzF,MAAM,CAAC,MAAM,2BAA2B,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,IAAI,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ import { createSocket } from "dgram";
2
+
3
+
4
+ const udp = createSocket({
5
+ type: 'udp4',
6
+ reuseAddr: true
7
+ });
8
+
9
+
10
+ udp.on('message', async (raw, rinfo) => {
11
+ console.log({ rinfo, data: raw.toString('utf8') })
12
+ })
13
+
14
+
15
+ udp.bind({
16
+ address: '0.0.0.0',
17
+ port: 13579,
18
+ }, () =>{
19
+ udp.setBroadcast(true)
20
+ udp.send('VKL', 13579, 'localhost')
21
+ })
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a.js","sourceRoot":"","sources":["../../tests/a.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAI5C,MAAM,CAAC,GAAG,IAAI,OAAO,EAAE,CAAA;AACvB,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;IACb,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;AAC3C,CAAC,CAAC,CAAA;AAGF,UAAU,CAAC,GAAG,EAAE;IACZ,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AACnB,CAAC,EAAE,IAAI,CAAC,CAAA"}
@@ -15,5 +15,5 @@ AppModule = __decorate([
15
15
  export { AppModule };
16
16
  const app = await NestFactory.create(AppModule, { rawBody: true });
17
17
  app.useWebSocketAdapter(new WsAdapter(app));
18
- await app.listen(8081);
18
+ await app.listen(process.argv[2] || 8000);
19
19
  //# sourceMappingURL=gateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../tests/gateway.ts"],"names":[],"mappings":";AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAMxC,IAAM,SAAS,GAAf,MAAM,SAAS;CAAI,CAAA;AAAb,SAAS;IAJrB,MAAM,CAAC;QACJ,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,SAAS,EAAE,CAAC,sBAAsB,CAAC;KACtC,CAAC;GACW,SAAS,CAAI;;AAG1B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAClE,GAAG,CAAC,mBAAmB,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAC3C,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../tests/gateway.ts"],"names":[],"mappings":";AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAMxC,IAAM,SAAS,GAAf,MAAM,SAAS;CAAI,CAAA;AAAb,SAAS;IAJrB,MAAM,CAAC;QACJ,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,SAAS,EAAE,CAAC,sBAAsB,CAAC;KACtC,CAAC;GACW,SAAS,CAAI;;AAG1B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAClE,GAAG,CAAC,mBAAmB,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAC3C,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA"}
@@ -60,6 +60,6 @@ AppModule = __decorate([
60
60
  export { AppModule };
61
61
  const app = await NestFactory.create(AppModule);
62
62
  app.useWebSocketAdapter(new WsAdapter(app));
63
- await app.listen(8088);
64
- ApiGatewayLinker.broadcast('Service API', 8088);
63
+ await app.listen(3000);
64
+ ApiGatewayLinker.broadcast('Service API', 3000);
65
65
  //# sourceMappingURL=service.js.map
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.30",
8
+ "version": "2.0.31",
9
9
  "description": "Nestjs decorators for @livequery ecosystem",
10
10
  "main": "./build/src/index.js",
11
11
  "types": "./build/src/index.d.ts",