@qelos/plugin-play 3.1.28 → 3.1.29

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.
package/dist/app.js CHANGED
@@ -6,16 +6,24 @@ import { manifest } from './manifest';
6
6
  import config, { setConfig } from './config';
7
7
  import { getCallbackRoute, getFrontendAuthorizationRoute, getFrontendUnAuthorizationRoute, getRefreshTokenRoute, getRegisterRoute, verifyAccessToken, verifyCookieToken } from './authentication';
8
8
  import handlers from './handlers';
9
- import { endpoints } from './endpoints';
9
+ import { endpoints, internalEndpoints } from './endpoints';
10
10
  import { LifecycleEvent, trigger } from './lifecycle';
11
11
  const hooks = new Set();
12
12
  let app;
13
+ let internalApp;
13
14
  export async function start(options) {
14
15
  configure(options?.manifest || {}, options?.config || {});
15
16
  const app = getApp();
17
+ if (internalEndpoints.size) {
18
+ createInternalApp();
19
+ }
16
20
  try {
17
21
  console.log('start application for environment: ', config.dev ? 'development' : 'production');
18
22
  await app.listen({ port: Number(config.port), host: config.host });
23
+ if (internalApp) {
24
+ console.log(`Internal Application listening on: ${config.internalHost}:${config.internalPort}`);
25
+ await internalApp.listen({ port: Number(config.internalPort), host: config.internalHost });
26
+ }
19
27
  }
20
28
  catch (err) {
21
29
  app.log.error(err);
@@ -57,16 +65,7 @@ function createApp() {
57
65
  trigger(LifecycleEvent.beforeCreate, { fastifyOptions, config, manifest });
58
66
  app = fastify(fastifyOptions);
59
67
  trigger(LifecycleEvent.beforeMount, { app, fastifyOptions, config, manifest });
60
- app.addContentTypeParser('application/json', { parseAs: 'string' }, function (req, body, done) {
61
- try {
62
- const bodyStr = body.toString();
63
- done(null, bodyStr ? JSON.parse(bodyStr) : {});
64
- }
65
- catch (err) {
66
- err.statusCode = 400;
67
- done(err, undefined);
68
- }
69
- });
68
+ app.addContentTypeParser('application/json', { parseAs: 'string' }, parseJsonRequest);
70
69
  app.route(getRefreshTokenRoute());
71
70
  app.route(getRegisterRoute());
72
71
  app.route(getCallbackRoute());
@@ -80,6 +79,16 @@ function createApp() {
80
79
  trigger(LifecycleEvent.mounted, { app, config, manifest });
81
80
  return app;
82
81
  }
82
+ function createInternalApp() {
83
+ const fastifyOptions = {
84
+ logger: !!config.dev,
85
+ };
86
+ trigger(LifecycleEvent.beforeInternalAppCreate, { fastifyOptions });
87
+ internalApp = fastify(fastifyOptions);
88
+ internalApp.addContentTypeParser('application/json', { parseAs: 'string' }, parseJsonRequest);
89
+ trigger(LifecycleEvent.internalAppMounted, { app: internalApp });
90
+ return internalApp;
91
+ }
83
92
  function playManifest() {
84
93
  getApp().route({
85
94
  method: 'GET',
@@ -144,4 +153,14 @@ function getHttps() {
144
153
  }
145
154
  return null;
146
155
  }
156
+ function parseJsonRequest(req, body, done) {
157
+ try {
158
+ const bodyStr = body.toString();
159
+ done(null, bodyStr ? JSON.parse(bodyStr) : {});
160
+ }
161
+ catch (err) {
162
+ err.statusCode = 400;
163
+ done(err, undefined);
164
+ }
165
+ }
147
166
  //# sourceMappingURL=app.js.map
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  declare const config: {
2
- port: string | number;
2
+ port: number;
3
+ internalPort: number;
3
4
  host: string;
5
+ internalHost: string;
4
6
  dev: boolean;
5
7
  refreshTokenSecret: string;
6
8
  accessTokenSecret: string;
package/dist/config.js CHANGED
@@ -1,7 +1,11 @@
1
1
  import { join } from 'path';
2
+ const port = Number(process.env.PORT || 1086);
3
+ const host = process.env.HOST || '0.0.0.0';
2
4
  const config = {
3
- port: process.env.PORT || 1086,
4
- host: process.env.HOST || '0.0.0.0',
5
+ port: port,
6
+ internalPort: Number(process.env.INTERNAL_PORT || port + 1),
7
+ host: host,
8
+ internalHost: process.env.INTERNAL_HOST || host,
5
9
  dev: process.env.NODE_ENV !== 'production',
6
10
  refreshTokenSecret: process.env.REFRESH_TOKEN_SECRET,
7
11
  accessTokenSecret: process.env.ACCESS_TOKEN_SECRET,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI;IAC9B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS;IACnC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IAC1C,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;IACpD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IAClD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IAClD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAC/B,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACzC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACzC,cAAc,EAAE;QACd,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC;QAC9D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG;KACzC;CACF,CAAC;AAIF,MAAM,UAAU,SAAS,CAAC,SAAwB;IAChD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;AAC3C,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,GAAG,CAAC,CAAC;IAC3D,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI;IAC/C,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IAC1C,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;IACpD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IAClD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IAClD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAC/B,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACzC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACzC,cAAc,EAAE;QACd,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC;QAC9D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG;KACzC;CACF,CAAC;AAIF,MAAM,UAAU,SAAS,CAAC,SAAwB;IAChD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,eAAe,MAAM,CAAC"}
@@ -1,7 +1,10 @@
1
+ /// <reference types="node" />
1
2
  import { RouteOptions } from 'fastify/types/route';
2
3
  export interface QelosRouteParams extends RouteOptions {
3
4
  verifyToken: boolean;
4
5
  }
5
6
  export declare const endpoints: Map<string, QelosRouteParams>;
7
+ export declare const internalEndpoints: Map<string, RouteOptions<import("fastify").RawServerDefault, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, import("fastify/types/route").RouteGenericInterface, unknown, import("fastify").FastifySchema, import("fastify").FastifyTypeProviderDefault, import("fastify").FastifyBaseLogger>>;
6
8
  export declare function addProxyEndpoint(path: string, options: Partial<QelosRouteParams>): void;
7
9
  export declare function addEndpoint(path: string, options: Partial<QelosRouteParams>): void;
10
+ export declare function addInternalEndpoint(path: string, options: Partial<RouteOptions>): void;
package/dist/endpoints.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { join } from 'path';
2
2
  import manifest from './manifest';
3
3
  export const endpoints = new Map();
4
+ export const internalEndpoints = new Map();
4
5
  export function addProxyEndpoint(path, options) {
5
6
  endpoints.set(join(manifest.apiPath, path), {
6
7
  ...options,
@@ -20,4 +21,13 @@ export function addEndpoint(path, options) {
20
21
  verifyToken: 'verifyToken' in options ? options.verifyToken : true,
21
22
  });
22
23
  }
24
+ export function addInternalEndpoint(path, options) {
25
+ const method = options.method || 'GET';
26
+ internalEndpoints.set(method + '::' + path, {
27
+ ...options,
28
+ url: path,
29
+ method,
30
+ handler: options.handler,
31
+ });
32
+ }
23
33
  //# sourceMappingURL=endpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAMlC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAA;AAE5D,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAkC;IAC/E,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QAC1C,GAAG,OAAO;QACV,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAkC;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE;QAClC,GAAG,OAAO;QACV,GAAG,EAAE,IAAI;QACT,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;KACnE,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAMlC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAA;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAwB,CAAA;AAEhE,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAkC;IAC/E,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QAC1C,GAAG,OAAO;QACV,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAkC;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE;QAClC,GAAG,OAAO;QACV,GAAG,EAAE,IAAI;QACT,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;KACnE,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,OAA8B;IAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,iBAAiB,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE;QAC1C,GAAG,OAAO;QACV,GAAG,EAAE,IAAI;QACT,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAA;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export { ResponseError } from './response-error';
4
4
  export { start, configure, registerToHook } from './app';
5
5
  export { on, LifecycleEvent, BeforeConfigurePayload, BeforeMountPayload, ConfiguredPayload, MountedPayload, BeforeCreatePayload } from './lifecycle';
6
6
  export { onRefreshToken, onManifest, onStoreUser, onNewTenant, onCallback } from './handlers';
7
- export { addEndpoint, addProxyEndpoint } from './endpoints';
7
+ export { addEndpoint, addProxyEndpoint, addInternalEndpoint } from './endpoints';
8
8
  export { getSdkForTenant, getSdk, getSdkForUrl } from './sdk';
9
9
  export { addGroupedMicroFrontends, addMicroFrontend, MicroFrontend } from './micro-frontends';
10
10
  export { addInjectable, Injectable } from './injectables';
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ export { ResponseError } from './response-error';
4
4
  export { start, configure, registerToHook } from './app';
5
5
  export { on, LifecycleEvent } from './lifecycle';
6
6
  export { onRefreshToken, onManifest, onStoreUser, onNewTenant, onCallback } from './handlers';
7
- export { addEndpoint, addProxyEndpoint } from './endpoints';
7
+ export { addEndpoint, addProxyEndpoint, addInternalEndpoint } from './endpoints';
8
8
  export { getSdkForTenant, getSdk, getSdkForUrl } from './sdk';
9
9
  export { addGroupedMicroFrontends, addMicroFrontend } from './micro-frontends';
10
10
  export { addInjectable } from './injectables';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAEzB,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,cAAc,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,EACL,EAAE,EAAE,cAAc,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAC,MAAM,YAAY,CAAC;AAC5F,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAA;AACzD,OAAO,EAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAC,wBAAwB,EAAE,gBAAgB,EAAgB,MAAM,mBAAmB,CAAC;AAE5F,OAAO,EAAC,aAAa,EAAa,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,MAAM,EACP,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAEzB,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,cAAc,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,EACL,EAAE,EAAE,cAAc,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAC,MAAM,YAAY,CAAC;AAC5F,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAA;AAC9E,OAAO,EAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAC,wBAAwB,EAAE,gBAAgB,EAAgB,MAAM,mBAAmB,CAAC;AAE5F,OAAO,EAAC,aAAa,EAAa,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,MAAM,EACP,CAAA"}
@@ -6,7 +6,9 @@ export declare enum LifecycleEvent {
6
6
  beforeMount = 1,
7
7
  mounted = 2,
8
8
  beforeConfigure = 3,
9
- configured = 4
9
+ configured = 4,
10
+ beforeInternalAppCreate = 5,
11
+ internalAppMounted = 6
10
12
  }
11
13
  export interface BeforeCreatePayload {
12
14
  fastifyOptions: {
@@ -40,13 +42,26 @@ export interface ConfiguredPayload {
40
42
  config: ConfigOptions;
41
43
  manifest: ManifestOptions;
42
44
  }
45
+ export interface BeforeInternalAppCreatePayload {
46
+ fastifyOptions: {
47
+ logger: boolean;
48
+ https: string | null;
49
+ } & any;
50
+ }
51
+ export interface InternalAppMountedPayload {
52
+ app: FastifyInstance;
53
+ }
43
54
  export declare function on(eventName: LifecycleEvent.beforeCreate, callback: (payload: BeforeCreatePayload) => unknown): void;
44
55
  export declare function on(eventName: LifecycleEvent.beforeConfigure, callback: (payload: BeforeConfigurePayload) => unknown): void;
45
56
  export declare function on(eventName: LifecycleEvent.beforeMount, callback: (payload: BeforeMountPayload) => unknown): void;
46
57
  export declare function on(eventName: LifecycleEvent.configured, callback: (payload: ConfiguredPayload) => unknown): void;
47
58
  export declare function on(eventName: LifecycleEvent.mounted, callback: (payload: MountedPayload) => unknown): void;
59
+ export declare function on(eventName: LifecycleEvent.beforeInternalAppCreate, callback: (payload: BeforeInternalAppCreatePayload) => unknown): void;
60
+ export declare function on(eventName: LifecycleEvent.internalAppMounted, callback: (payload: InternalAppMountedPayload) => unknown): void;
48
61
  export declare function trigger(eventName: LifecycleEvent.beforeCreate, payload: BeforeCreatePayload): void;
49
62
  export declare function trigger(eventName: LifecycleEvent.beforeConfigure, payload: BeforeConfigurePayload): void;
50
63
  export declare function trigger(eventName: LifecycleEvent.beforeMount, payload: BeforeMountPayload): void;
51
64
  export declare function trigger(eventName: LifecycleEvent.configured, payload: ConfiguredPayload): void;
52
65
  export declare function trigger(eventName: LifecycleEvent.mounted, payload: MountedPayload): void;
66
+ export declare function trigger(eventName: LifecycleEvent.beforeInternalAppCreate, payload: BeforeInternalAppCreatePayload): void;
67
+ export declare function trigger(eventName: LifecycleEvent.internalAppMounted, payload: InternalAppMountedPayload): void;
package/dist/lifecycle.js CHANGED
@@ -5,6 +5,8 @@ export var LifecycleEvent;
5
5
  LifecycleEvent[LifecycleEvent["mounted"] = 2] = "mounted";
6
6
  LifecycleEvent[LifecycleEvent["beforeConfigure"] = 3] = "beforeConfigure";
7
7
  LifecycleEvent[LifecycleEvent["configured"] = 4] = "configured";
8
+ LifecycleEvent[LifecycleEvent["beforeInternalAppCreate"] = 5] = "beforeInternalAppCreate";
9
+ LifecycleEvent[LifecycleEvent["internalAppMounted"] = 6] = "internalAppMounted";
8
10
  })(LifecycleEvent || (LifecycleEvent = {}));
9
11
  const callbacks = {
10
12
  [LifecycleEvent.beforeCreate]: new Set(),
@@ -12,13 +14,17 @@ const callbacks = {
12
14
  [LifecycleEvent.mounted]: new Set(),
13
15
  [LifecycleEvent.beforeConfigure]: new Set(),
14
16
  [LifecycleEvent.configured]: new Set(),
17
+ [LifecycleEvent.beforeInternalAppCreate]: new Set(),
18
+ [LifecycleEvent.internalAppMounted]: new Set(),
15
19
  };
16
20
  export function on(eventName, callback) {
17
21
  callbacks[eventName].add(callback);
18
22
  }
19
23
  export function trigger(eventName, payload) {
20
- callbacks[eventName]?.forEach(callback => {
24
+ const set = callbacks[eventName];
25
+ set?.forEach(callback => {
21
26
  callback(payload);
27
+ set.delete(callback);
22
28
  });
23
29
  }
24
30
  //# sourceMappingURL=lifecycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,mEAAY,CAAA;IACZ,iEAAW,CAAA;IACX,yDAAO,CAAA;IACP,yEAAe,CAAA;IACf,+DAAU,CAAA;AACZ,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAmCD,MAAM,SAAS,GAAG;IAChB,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,EAA0B;IAChE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,EAA0B;IAC/D,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,EAA0B;IAC3D,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,IAAI,GAAG,EAA0B;IACnE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,EAA0B;CAC/D,CAAC;AAOF,MAAM,UAAU,EAAE,CAAC,SAAyB,EAAE,QAAQ;IACpD,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAOD,MAAM,UAAU,OAAO,CAAC,SAAyB,EAAE,OAAO;IACxD,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;QACvC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,cAQX;AARD,WAAY,cAAc;IACxB,mEAAY,CAAA;IACZ,iEAAW,CAAA;IACX,yDAAO,CAAA;IACP,yEAAe,CAAA;IACf,+DAAU,CAAA;IACV,yFAAuB,CAAA;IACvB,+EAAkB,CAAA;AACpB,CAAC,EARW,cAAc,KAAd,cAAc,QAQzB;AA2CD,MAAM,SAAS,GAAG;IAChB,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,EAA0B;IAChE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,EAA0B;IAC/D,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,EAA0B;IAC3D,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,IAAI,GAAG,EAA0B;IACnE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,EAA0B;IAC9D,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,IAAI,GAAG,EAA0B;IAC3E,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,IAAI,GAAG,EAA0B;CACvE,CAAC;AASF,MAAM,UAAU,EAAE,CAAC,SAAyB,EAAE,QAAQ;IACpD,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AASD,MAAM,UAAU,OAAO,CAAC,SAAyB,EAAE,OAAO;IACxD,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;QACtB,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qelos/plugin-play",
3
- "version": "3.1.28",
3
+ "version": "3.1.29",
4
4
  "description": "Play a plugin for Qelos!",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
package/src/app.ts CHANGED
@@ -16,20 +16,30 @@ import {
16
16
  verifyCookieToken
17
17
  } from './authentication';
18
18
  import handlers from './handlers';
19
- import {endpoints} from './endpoints';
19
+ import {endpoints, internalEndpoints} from './endpoints';
20
20
  import {LifecycleEvent, trigger} from './lifecycle';
21
21
 
22
22
  const hooks = new Set<{ subscribedEvent, path, handler }>();
23
23
 
24
24
  let app: FastifyInstance;
25
+ let internalApp: FastifyInstance;
25
26
 
26
27
  export async function start(options?: { manifest?: ManifestOptions, config?: ConfigOptions }) {
27
28
  configure(options?.manifest || {}, options?.config || {});
28
29
 
29
30
  const app = getApp();
31
+ if (internalEndpoints.size) {
32
+ createInternalApp();
33
+ }
30
34
  try {
31
35
  console.log('start application for environment: ', config.dev ? 'development' : 'production');
32
- await app.listen({port: Number(config.port), host: config.host})
36
+ await app.listen({port: Number(config.port), host: config.host});
37
+
38
+ if (internalApp) {
39
+ console.log(`Internal Application listening on: ${config.internalHost}:${config.internalPort}`);
40
+ await internalApp.listen({port: Number(config.internalPort), host: config.internalHost});
41
+ }
42
+
33
43
  } catch (err) {
34
44
  app.log.error(err);
35
45
  process.exit(1);
@@ -78,15 +88,7 @@ function createApp(): FastifyInstance {
78
88
  app = fastify(fastifyOptions);
79
89
  trigger(LifecycleEvent.beforeMount, {app, fastifyOptions, config, manifest});
80
90
 
81
- app.addContentTypeParser('application/json', {parseAs: 'string'}, function (req, body, done) {
82
- try {
83
- const bodyStr = body.toString() as string;
84
- done(null, bodyStr ? JSON.parse(bodyStr) : {})
85
- } catch (err) {
86
- err.statusCode = 400
87
- done(err, undefined)
88
- }
89
- });
91
+ app.addContentTypeParser('application/json', {parseAs: 'string'}, parseJsonRequest);
90
92
 
91
93
  app.route(getRefreshTokenRoute());
92
94
  app.route(getRegisterRoute());
@@ -105,6 +107,20 @@ function createApp(): FastifyInstance {
105
107
  return app;
106
108
  }
107
109
 
110
+ function createInternalApp() {
111
+ const fastifyOptions = {
112
+ logger: !!config.dev,
113
+ };
114
+ trigger(LifecycleEvent.beforeInternalAppCreate, {fastifyOptions})
115
+
116
+ internalApp = fastify(fastifyOptions);
117
+ internalApp.addContentTypeParser('application/json', {parseAs: 'string'}, parseJsonRequest);
118
+
119
+ trigger(LifecycleEvent.internalAppMounted, {app: internalApp})
120
+
121
+ return internalApp;
122
+ }
123
+
108
124
  function playManifest() {
109
125
  getApp().route({
110
126
  method: 'GET',
@@ -172,4 +188,14 @@ function getHttps() {
172
188
  }
173
189
  }
174
190
  return null;
191
+ }
192
+
193
+ function parseJsonRequest(req, body, done) {
194
+ try {
195
+ const bodyStr = body.toString() as string;
196
+ done(null, bodyStr ? JSON.parse(bodyStr) : {})
197
+ } catch (err) {
198
+ err.statusCode = 400
199
+ done(err, undefined)
200
+ }
175
201
  }
package/src/config.ts CHANGED
@@ -1,8 +1,12 @@
1
1
  import { join } from 'path';
2
2
 
3
+ const port = Number(process.env.PORT || 1086);
4
+ const host = process.env.HOST || '0.0.0.0';
3
5
  const config = {
4
- port: process.env.PORT || 1086,
5
- host: process.env.HOST || '0.0.0.0',
6
+ port: port,
7
+ internalPort: Number(process.env.INTERNAL_PORT || port + 1),
8
+ host: host,
9
+ internalHost: process.env.INTERNAL_HOST || host,
6
10
  dev: process.env.NODE_ENV !== 'production',
7
11
  refreshTokenSecret: process.env.REFRESH_TOKEN_SECRET,
8
12
  accessTokenSecret: process.env.ACCESS_TOKEN_SECRET,
package/src/endpoints.ts CHANGED
@@ -7,6 +7,7 @@ export interface QelosRouteParams extends RouteOptions {
7
7
  }
8
8
 
9
9
  export const endpoints = new Map<string, QelosRouteParams>()
10
+ export const internalEndpoints = new Map<string, RouteOptions>()
10
11
 
11
12
  export function addProxyEndpoint(path: string, options: Partial<QelosRouteParams>) {
12
13
  endpoints.set(join(manifest.apiPath, path), {
@@ -28,3 +29,13 @@ export function addEndpoint(path: string, options: Partial<QelosRouteParams>) {
28
29
  verifyToken: 'verifyToken' in options ? options.verifyToken : true,
29
30
  })
30
31
  }
32
+
33
+ export function addInternalEndpoint(path: string, options: Partial<RouteOptions>) {
34
+ const method = options.method || 'GET';
35
+ internalEndpoints.set(method + '::' + path, {
36
+ ...options,
37
+ url: path,
38
+ method,
39
+ handler: options.handler,
40
+ })
41
+ }
package/src/index.ts CHANGED
@@ -10,7 +10,7 @@ export {
10
10
  BeforeCreatePayload
11
11
  } from './lifecycle';
12
12
  export {onRefreshToken, onManifest, onStoreUser, onNewTenant, onCallback} from './handlers';
13
- export {addEndpoint, addProxyEndpoint} from './endpoints'
13
+ export {addEndpoint, addProxyEndpoint, addInternalEndpoint} from './endpoints'
14
14
  export {getSdkForTenant, getSdk, getSdkForUrl} from './sdk';
15
15
  export {addGroupedMicroFrontends, addMicroFrontend, MicroFrontend} from './micro-frontends';
16
16
 
package/src/lifecycle.ts CHANGED
@@ -8,6 +8,8 @@ export enum LifecycleEvent {
8
8
  mounted,
9
9
  beforeConfigure,
10
10
  configured,
11
+ beforeInternalAppCreate,
12
+ internalAppMounted
11
13
  }
12
14
 
13
15
 
@@ -42,6 +44,14 @@ export interface ConfiguredPayload {
42
44
  manifest: ManifestOptions,
43
45
  }
44
46
 
47
+ export interface BeforeInternalAppCreatePayload {
48
+ fastifyOptions: {logger: boolean, https: string | null} & any,
49
+ }
50
+
51
+ export interface InternalAppMountedPayload {
52
+ app: FastifyInstance,
53
+ }
54
+
45
55
 
46
56
  const callbacks = {
47
57
  [LifecycleEvent.beforeCreate]: new Set<((payload) => unknown)>(),
@@ -49,6 +59,8 @@ const callbacks = {
49
59
  [LifecycleEvent.mounted]: new Set<((payload) => unknown)>(),
50
60
  [LifecycleEvent.beforeConfigure]: new Set<((payload) => unknown)>(),
51
61
  [LifecycleEvent.configured]: new Set<((payload) => unknown)>(),
62
+ [LifecycleEvent.beforeInternalAppCreate]: new Set<((payload) => unknown)>(),
63
+ [LifecycleEvent.internalAppMounted]: new Set<((payload) => unknown)>(),
52
64
  };
53
65
 
54
66
  export function on(eventName: LifecycleEvent.beforeCreate, callback: (payload: BeforeCreatePayload) => unknown): void;
@@ -56,6 +68,8 @@ export function on(eventName: LifecycleEvent.beforeConfigure, callback: (payload
56
68
  export function on(eventName: LifecycleEvent.beforeMount, callback: (payload: BeforeMountPayload) => unknown): void;
57
69
  export function on(eventName: LifecycleEvent.configured, callback: (payload: ConfiguredPayload) => unknown): void;
58
70
  export function on(eventName: LifecycleEvent.mounted, callback: (payload: MountedPayload) => unknown): void;
71
+ export function on(eventName: LifecycleEvent.beforeInternalAppCreate, callback: (payload: BeforeInternalAppCreatePayload) => unknown): void;
72
+ export function on(eventName: LifecycleEvent.internalAppMounted, callback: (payload: InternalAppMountedPayload) => unknown): void;
59
73
  export function on(eventName: LifecycleEvent, callback) {
60
74
  callbacks[eventName].add(callback);
61
75
  }
@@ -65,8 +79,12 @@ export function trigger(eventName: LifecycleEvent.beforeConfigure, payload: Befo
65
79
  export function trigger(eventName: LifecycleEvent.beforeMount, payload: BeforeMountPayload): void;
66
80
  export function trigger(eventName: LifecycleEvent.configured, payload: ConfiguredPayload): void;
67
81
  export function trigger(eventName: LifecycleEvent.mounted, payload: MountedPayload): void;
82
+ export function trigger(eventName: LifecycleEvent.beforeInternalAppCreate, payload: BeforeInternalAppCreatePayload): void;
83
+ export function trigger(eventName: LifecycleEvent.internalAppMounted, payload: InternalAppMountedPayload): void;
68
84
  export function trigger(eventName: LifecycleEvent, payload) {
69
- callbacks[eventName]?.forEach(callback => {
70
- callback(payload)
85
+ const set = callbacks[eventName];
86
+ set?.forEach(callback => {
87
+ callback(payload);
88
+ set.delete(callback);
71
89
  })
72
90
  }