@qelos/plugin-play 3.7.3 → 3.7.7

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 (54) hide show
  1. package/dist/app.d.ts +16 -0
  2. package/dist/app.js +170 -0
  3. package/dist/app.js.map +1 -0
  4. package/dist/authentication.d.ts +10 -0
  5. package/dist/authentication.js +380 -0
  6. package/dist/authentication.js.map +1 -0
  7. package/dist/cache-manager.d.ts +2 -0
  8. package/dist/cache-manager.js +7 -0
  9. package/dist/cache-manager.js.map +1 -0
  10. package/dist/config.d.ts +24 -0
  11. package/dist/config.js +28 -0
  12. package/dist/config.js.map +1 -0
  13. package/dist/crud.d.ts +9 -0
  14. package/dist/crud.js +340 -0
  15. package/dist/crud.js.map +1 -0
  16. package/dist/crud.types.d.ts +69 -0
  17. package/dist/crud.types.js +2 -0
  18. package/dist/crud.types.js.map +1 -0
  19. package/dist/endpoints.d.ts +10 -0
  20. package/dist/endpoints.js +35 -0
  21. package/dist/endpoints.js.map +1 -0
  22. package/dist/handlers.d.ts +47 -0
  23. package/dist/handlers.js +32 -0
  24. package/dist/handlers.js.map +1 -0
  25. package/dist/index.d.ts +14 -0
  26. package/dist/index.js +15 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/injectables.d.ts +6 -0
  29. package/dist/injectables.js +5 -0
  30. package/dist/injectables.js.map +1 -0
  31. package/dist/lifecycle.d.ts +70 -0
  32. package/dist/lifecycle.js +32 -0
  33. package/dist/lifecycle.js.map +1 -0
  34. package/dist/logger.d.ts +5 -0
  35. package/dist/logger.js +12 -0
  36. package/dist/logger.js.map +1 -0
  37. package/dist/manifest.d.ts +37 -0
  38. package/dist/manifest.js +26 -0
  39. package/dist/manifest.js.map +1 -0
  40. package/dist/micro-frontends.d.ts +50 -0
  41. package/dist/micro-frontends.js +19 -0
  42. package/dist/micro-frontends.js.map +1 -0
  43. package/dist/request.types.d.ts +20 -0
  44. package/dist/request.types.js +2 -0
  45. package/dist/request.types.js.map +1 -0
  46. package/dist/response-error.d.ts +8 -0
  47. package/dist/response-error.js +18 -0
  48. package/dist/response-error.js.map +1 -0
  49. package/dist/sdk.d.ts +13 -0
  50. package/dist/sdk.js +63 -0
  51. package/dist/sdk.js.map +1 -0
  52. package/package.json +8 -8
  53. package/src/crud.ts +1 -0
  54. package/src/crud.types.ts +1 -0
@@ -0,0 +1,5 @@
1
+ import manifest from './manifest';
2
+ export function addInjectable(injectable) {
3
+ manifest.injectables.push(injectable);
4
+ }
5
+ //# sourceMappingURL=injectables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectables.js","sourceRoot":"","sources":["../src/injectables.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAQlC,MAAM,UAAU,aAAa,CAAC,UAAsB;IAClD,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { FastifyInstance } from 'fastify';
2
+ import { ConfigOptions } from './config';
3
+ import { ManifestOptions } from './manifest';
4
+ export declare enum LifecycleEvent {
5
+ beforeCreate = 0,
6
+ beforeMount = 1,
7
+ mounted = 2,
8
+ beforeConfigure = 3,
9
+ configured = 4,
10
+ beforeInternalAppCreate = 5,
11
+ internalAppMounted = 6,
12
+ appMounted = 7
13
+ }
14
+ export interface BeforeCreatePayload {
15
+ fastifyOptions: {
16
+ logger: boolean;
17
+ https: string | null;
18
+ } & any;
19
+ config: ConfigOptions;
20
+ manifest: ManifestOptions;
21
+ }
22
+ export interface BeforeMountPayload {
23
+ app: FastifyInstance;
24
+ fastifyOptions: {
25
+ logger: boolean;
26
+ https: string | null;
27
+ } & any;
28
+ config: ConfigOptions;
29
+ manifest: ManifestOptions;
30
+ }
31
+ export interface MountedPayload {
32
+ app: FastifyInstance;
33
+ config: ConfigOptions;
34
+ manifest: ManifestOptions;
35
+ }
36
+ export interface BeforeConfigurePayload {
37
+ config: ConfigOptions;
38
+ manifest: ManifestOptions;
39
+ manifestOptions: ManifestOptions;
40
+ configOptions: ConfigOptions;
41
+ }
42
+ export interface ConfiguredPayload {
43
+ config: ConfigOptions;
44
+ manifest: ManifestOptions;
45
+ }
46
+ export interface BeforeInternalAppCreatePayload {
47
+ fastifyOptions: {
48
+ logger: boolean;
49
+ https: string | null;
50
+ } & any;
51
+ }
52
+ export interface AppMountedPayload {
53
+ app: FastifyInstance;
54
+ }
55
+ export declare function on(eventName: LifecycleEvent.beforeCreate, callback: (payload: BeforeCreatePayload) => unknown): void;
56
+ export declare function on(eventName: LifecycleEvent.beforeConfigure, callback: (payload: BeforeConfigurePayload) => unknown): void;
57
+ export declare function on(eventName: LifecycleEvent.beforeMount, callback: (payload: BeforeMountPayload) => unknown): void;
58
+ export declare function on(eventName: LifecycleEvent.configured, callback: (payload: ConfiguredPayload) => unknown): void;
59
+ export declare function on(eventName: LifecycleEvent.mounted, callback: (payload: MountedPayload) => unknown): void;
60
+ export declare function on(eventName: LifecycleEvent.beforeInternalAppCreate, callback: (payload: BeforeInternalAppCreatePayload) => unknown): void;
61
+ export declare function on(eventName: LifecycleEvent.internalAppMounted, callback: (payload: AppMountedPayload) => unknown): void;
62
+ export declare function on(eventName: LifecycleEvent.appMounted, callback: (payload: AppMountedPayload) => unknown): void;
63
+ export declare function trigger(eventName: LifecycleEvent.beforeCreate, payload: BeforeCreatePayload): void;
64
+ export declare function trigger(eventName: LifecycleEvent.beforeConfigure, payload: BeforeConfigurePayload): void;
65
+ export declare function trigger(eventName: LifecycleEvent.beforeMount, payload: BeforeMountPayload): void;
66
+ export declare function trigger(eventName: LifecycleEvent.configured, payload: ConfiguredPayload): void;
67
+ export declare function trigger(eventName: LifecycleEvent.mounted, payload: MountedPayload): void;
68
+ export declare function trigger(eventName: LifecycleEvent.beforeInternalAppCreate, payload: BeforeInternalAppCreatePayload): void;
69
+ export declare function trigger(eventName: LifecycleEvent.internalAppMounted, payload: AppMountedPayload): void;
70
+ export declare function trigger(eventName: LifecycleEvent.appMounted, payload: AppMountedPayload): void;
@@ -0,0 +1,32 @@
1
+ export var LifecycleEvent;
2
+ (function (LifecycleEvent) {
3
+ LifecycleEvent[LifecycleEvent["beforeCreate"] = 0] = "beforeCreate";
4
+ LifecycleEvent[LifecycleEvent["beforeMount"] = 1] = "beforeMount";
5
+ LifecycleEvent[LifecycleEvent["mounted"] = 2] = "mounted";
6
+ LifecycleEvent[LifecycleEvent["beforeConfigure"] = 3] = "beforeConfigure";
7
+ LifecycleEvent[LifecycleEvent["configured"] = 4] = "configured";
8
+ LifecycleEvent[LifecycleEvent["beforeInternalAppCreate"] = 5] = "beforeInternalAppCreate";
9
+ LifecycleEvent[LifecycleEvent["internalAppMounted"] = 6] = "internalAppMounted";
10
+ LifecycleEvent[LifecycleEvent["appMounted"] = 7] = "appMounted";
11
+ })(LifecycleEvent || (LifecycleEvent = {}));
12
+ const callbacks = {
13
+ [LifecycleEvent.beforeCreate]: new Set(),
14
+ [LifecycleEvent.beforeMount]: new Set(),
15
+ [LifecycleEvent.mounted]: new Set(),
16
+ [LifecycleEvent.beforeConfigure]: new Set(),
17
+ [LifecycleEvent.configured]: new Set(),
18
+ [LifecycleEvent.beforeInternalAppCreate]: new Set(),
19
+ [LifecycleEvent.internalAppMounted]: new Set(),
20
+ [LifecycleEvent.appMounted]: new Set(),
21
+ };
22
+ export function on(eventName, callback) {
23
+ callbacks[eventName].add(callback);
24
+ }
25
+ export function trigger(eventName, payload) {
26
+ const set = callbacks[eventName];
27
+ set?.forEach(callback => {
28
+ callback(payload);
29
+ set.delete(callback);
30
+ });
31
+ }
32
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,cASX;AATD,WAAY,cAAc;IACxB,mEAAY,CAAA;IACZ,iEAAW,CAAA;IACX,yDAAO,CAAA;IACP,yEAAe,CAAA;IACf,+DAAU,CAAA;IACV,yFAAuB,CAAA;IACvB,+EAAkB,CAAA;IAClB,+DAAU,CAAA;AACZ,CAAC,EATW,cAAc,KAAd,cAAc,QASzB;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;IACtE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,EAA0B;CAC/D,CAAC;AAUF,MAAM,UAAU,EAAE,CAAC,SAAyB,EAAE,QAAQ;IACpD,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAUD,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"}
@@ -0,0 +1,5 @@
1
+ declare const logger: {
2
+ log: (...data: any[]) => void;
3
+ error: (...data: any[]) => void;
4
+ };
5
+ export default logger;
package/dist/logger.js ADDED
@@ -0,0 +1,12 @@
1
+ import config from './config';
2
+ const showLogs = config.dev || process.env.VERBOSE_LOGS;
3
+ const logger = {
4
+ log: (() => undefined),
5
+ error: (() => undefined)
6
+ };
7
+ if (showLogs) {
8
+ logger.log = console.log;
9
+ logger.error = console.error;
10
+ }
11
+ export default logger;
12
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AACxD,MAAM,MAAM,GAAG;IACb,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA+B;IACpD,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAA+B;CACvD,CAAA;AAED,IAAI,QAAQ,EAAE;IACZ,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACzB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CAC9B;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { Crud } from './crud.types';
2
+ export declare const manifest: {
3
+ name: any;
4
+ description: any;
5
+ appUrl: string;
6
+ apiPath: any;
7
+ manifestUrl: string;
8
+ registerUrl: string;
9
+ callbackUrl: string;
10
+ authorizeUrl: string;
11
+ unAuthorizeUrl: string;
12
+ proxyPath: string;
13
+ proxyUrl: string;
14
+ subscribedEvents: any[];
15
+ navBarGroups: any[];
16
+ microFrontends: any[];
17
+ injectables: any[];
18
+ cruds: Crud[];
19
+ authAcquire: {
20
+ refreshTokenUrl: string;
21
+ refreshTokenKey: string;
22
+ accessTokenKey: string;
23
+ };
24
+ };
25
+ export type NavBarGroup = {
26
+ key: string;
27
+ name: string;
28
+ iconName?: string;
29
+ iconSvg?: string;
30
+ priority?: number;
31
+ };
32
+ export type ManifestOptions = Partial<typeof manifest> & {
33
+ appUrl?: string;
34
+ navBarGroups?: NavBarGroup[];
35
+ cruds?: Crud[];
36
+ };
37
+ export default manifest;
@@ -0,0 +1,26 @@
1
+ const pkg = require(process.cwd() + '/package.json');
2
+ export const manifest = {
3
+ name: pkg.name,
4
+ description: pkg.description,
5
+ appUrl: process.env.APP_URL || '',
6
+ apiPath: pkg.name,
7
+ manifestUrl: '/api/play-manifest',
8
+ registerUrl: '/api/register',
9
+ callbackUrl: '/api/callback',
10
+ authorizeUrl: '/api/authorize',
11
+ unAuthorizeUrl: '/api/un-authorize',
12
+ proxyPath: '/api/play',
13
+ proxyUrl: '',
14
+ subscribedEvents: [],
15
+ navBarGroups: [],
16
+ microFrontends: [],
17
+ injectables: [],
18
+ cruds: [],
19
+ authAcquire: {
20
+ refreshTokenUrl: '/api/token/refresh',
21
+ refreshTokenKey: 'refresh_token',
22
+ accessTokenKey: 'access_token'
23
+ }
24
+ };
25
+ export default manifest;
26
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAEA,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,GAAG,CAAC,IAAI;IACd,WAAW,EAAE,GAAG,CAAC,WAAW;IAC5B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE;IACjC,OAAO,EAAE,GAAG,CAAC,IAAI;IACjB,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,eAAe;IAC5B,YAAY,EAAE,gBAAgB;IAC9B,cAAc,EAAE,mBAAmB;IACnC,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,EAAE;IACZ,gBAAgB,EAAE,EAAE;IACpB,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE;IACf,KAAK,EAAE,EAAY;IACnB,WAAW,EAAE;QACX,eAAe,EAAE,oBAAoB;QACrC,eAAe,EAAE,eAAe;QAChC,cAAc,EAAE,cAAc;KAC/B;CACF,CAAC;AAQF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { NavBarGroup } from './manifest';
2
+ export interface IframeMicroFrontend extends GlobalMicroFrontend {
3
+ url: string;
4
+ }
5
+ interface PreDesignedMicroFrontend extends GlobalMicroFrontend {
6
+ use: string;
7
+ crud: string;
8
+ structure: string;
9
+ }
10
+ export declare enum NavBarPosition {
11
+ TOP = "top",
12
+ BOTTOM = "bottom",
13
+ USER_DROPDOWN = "user-dropdown"
14
+ }
15
+ export interface GlobalMicroFrontend {
16
+ name: string;
17
+ description: string;
18
+ roles?: string[];
19
+ workspaceRoles?: string[];
20
+ searchQuery?: boolean;
21
+ searchPlaceholder?: string;
22
+ navigateAfterSubmit?: {
23
+ name: string;
24
+ params?: any;
25
+ query?: any;
26
+ };
27
+ clearAfterSubmit?: boolean;
28
+ route?: {
29
+ name: string;
30
+ path: string;
31
+ navBarPosition: NavBarPosition | false;
32
+ group?: string;
33
+ iconName?: string;
34
+ iconSvg?: string;
35
+ };
36
+ component?: {
37
+ page: string;
38
+ position: 'top' | 'left' | 'right' | 'bottom';
39
+ };
40
+ modal?: {
41
+ name: string;
42
+ params: string[] | Record<string, string>;
43
+ size: 'sm' | 'md' | 'lg' | 'full';
44
+ };
45
+ }
46
+ export type MicroFrontendOptions = IframeMicroFrontend | PreDesignedMicroFrontend;
47
+ export type MicroFrontend = IframeMicroFrontend | PreDesignedMicroFrontend;
48
+ export declare function addMicroFrontend(mfe: MicroFrontendOptions): void;
49
+ export declare function addGroupedMicroFrontends(group: NavBarGroup, mfeArray: (MicroFrontendOptions | false | null | undefined)[]): void;
50
+ export {};
@@ -0,0 +1,19 @@
1
+ import manifest from './manifest';
2
+ export var NavBarPosition;
3
+ (function (NavBarPosition) {
4
+ NavBarPosition["TOP"] = "top";
5
+ NavBarPosition["BOTTOM"] = "bottom";
6
+ NavBarPosition["USER_DROPDOWN"] = "user-dropdown";
7
+ })(NavBarPosition || (NavBarPosition = {}));
8
+ export function addMicroFrontend(mfe) {
9
+ manifest.microFrontends.push({ ...mfe });
10
+ }
11
+ export function addGroupedMicroFrontends(group, mfeArray) {
12
+ manifest.navBarGroups.push(group);
13
+ mfeArray.forEach(mfe => {
14
+ if (mfe) {
15
+ addMicroFrontend({ ...mfe, route: { ...mfe.route, group: group.key } });
16
+ }
17
+ });
18
+ }
19
+ //# sourceMappingURL=micro-frontends.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"micro-frontends.js","sourceRoot":"","sources":["../src/micro-frontends.ts"],"names":[],"mappings":"AAAA,OAAO,QAAyB,MAAM,YAAY,CAAC;AAYnD,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,mCAAiB,CAAA;IACjB,iDAA+B,CAAA;AACjC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAqCD,MAAM,UAAU,gBAAgB,CAAC,GAAyB;IACxD,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAkB,EAAE,QAA6D;IACxH,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACrB,IAAI,GAAG,EAAE;YACP,gBAAgB,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;SACxE;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { StandardPayload } from './handlers';
2
+ export type RequestUser = {
3
+ _id: string;
4
+ username: string;
5
+ email?: string;
6
+ phone?: string;
7
+ firstName: string;
8
+ lastName: string;
9
+ roles: string[];
10
+ workspace?: {
11
+ _id: string;
12
+ roles: string[];
13
+ };
14
+ };
15
+ declare module 'fastify' {
16
+ interface FastifyRequest {
17
+ tenantPayload: StandardPayload & any;
18
+ user?: RequestUser;
19
+ }
20
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=request.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.types.js","sourceRoot":"","sources":["../src/request.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export declare class ResponseError extends Error {
2
+ status: number;
3
+ responseMessage?: string;
4
+ internalMetadata: any;
5
+ constructor(messageOrData: string | any & {
6
+ message: string;
7
+ }, status?: number, responseMessage?: string);
8
+ }
@@ -0,0 +1,18 @@
1
+ export class ResponseError extends Error {
2
+ status;
3
+ responseMessage;
4
+ internalMetadata;
5
+ constructor(messageOrData, status = 401, responseMessage) {
6
+ const message = messageOrData.message || messageOrData;
7
+ super(message);
8
+ this.status = status;
9
+ this.responseMessage = responseMessage;
10
+ if (!this.responseMessage) {
11
+ this.responseMessage = message;
12
+ }
13
+ if (typeof messageOrData === 'object') {
14
+ this.internalMetadata = messageOrData;
15
+ }
16
+ }
17
+ }
18
+ //# sourceMappingURL=response-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-error.js","sourceRoot":"","sources":["../src/response-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAGgC;IAA6B;IAFnG,gBAAgB,CAAM;IAEtB,YAAY,aAAiD,EAAS,SAAiB,GAAG,EAAS,eAAwB;QACzH,MAAM,OAAO,GAAW,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QAFqD,WAAM,GAAN,MAAM,CAAc;QAAS,oBAAe,GAAf,eAAe,CAAS;QAGzH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;SAChC;QACD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACrC,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC;SACvC;IACH,CAAC;CACF"}
package/dist/sdk.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import QelosAdministratorSDK from '@qelos/sdk/dist/administrator';
2
+ import { StandardPayload } from './handlers';
3
+ export declare function authenticate(): Promise<{
4
+ payload: import("@qelos/sdk/dist/authentication").BasicPayload & {
5
+ token: string;
6
+ refreshToken: string;
7
+ };
8
+ }>;
9
+ export declare function getSdkForUrl<T = any>(appUrl: string, refreshToken?: string, accessToken?: string): QelosAdministratorSDK;
10
+ export declare function getSdk(): QelosAdministratorSDK;
11
+ export declare function getSdkForTenant(tenantPayload: StandardPayload): Promise<QelosAdministratorSDK | null>;
12
+ export declare function getEncryptedDataForTenant(tenantPayload: StandardPayload, encryptedId?: string): Promise<any>;
13
+ export declare function setEncryptedDataForTenant(tenantPayload: StandardPayload, encryptedId: string, data: any): Promise<void>;
package/dist/sdk.js ADDED
@@ -0,0 +1,63 @@
1
+ import { fetch as undiciFetch } from 'undici';
2
+ import QelosAdministratorSDK from '@qelos/sdk/dist/administrator';
3
+ import config from './config';
4
+ import logger from './logger';
5
+ let localSdk;
6
+ export function authenticate() {
7
+ return localSdk.authentication.oAuthSignin({ username: config.qelosUsername, password: config.qelosPassword });
8
+ }
9
+ async function bootstrapAuthenticate() {
10
+ try {
11
+ await localSdk.authentication.oAuthSignin({ username: config.qelosUsername, password: config.qelosPassword });
12
+ console.log('authenticated successfully to ' + config.qelosUrl);
13
+ }
14
+ catch (err) {
15
+ console.log('could not authenticate to own qelos app');
16
+ logger.error('connect to qelos error: ', err);
17
+ process.exit(1);
18
+ }
19
+ }
20
+ export function getSdkForUrl(appUrl, refreshToken, accessToken) {
21
+ const options = {
22
+ appUrl,
23
+ forceRefresh: true,
24
+ fetch: globalThis.fetch || undiciFetch,
25
+ ...(config.sdkOptions || {}),
26
+ };
27
+ if (refreshToken) {
28
+ options.refreshToken = refreshToken;
29
+ }
30
+ if (accessToken) {
31
+ options.accessToken = accessToken;
32
+ }
33
+ return new QelosAdministratorSDK(options);
34
+ }
35
+ export function getSdk() {
36
+ if (localSdk) {
37
+ return localSdk;
38
+ }
39
+ localSdk = getSdkForUrl(config.qelosUrl);
40
+ bootstrapAuthenticate().catch();
41
+ return localSdk;
42
+ }
43
+ export async function getSdkForTenant(tenantPayload) {
44
+ try {
45
+ const data = await getEncryptedDataForTenant(tenantPayload, config.userPayloadSecret);
46
+ if (!data.appUrl) {
47
+ return null;
48
+ }
49
+ const sdk = getSdkForUrl(data.appUrl, data.currentAuthPayload?.refreshToken, data.currentAuthPayload?.token);
50
+ return sdk;
51
+ }
52
+ catch (e) {
53
+ logger.log(e);
54
+ return null;
55
+ }
56
+ }
57
+ export function getEncryptedDataForTenant(tenantPayload, encryptedId = '') {
58
+ return getSdk().users.getEncryptedData(tenantPayload.sub, encryptedId);
59
+ }
60
+ export function setEncryptedDataForTenant(tenantPayload, encryptedId = '', data) {
61
+ return getSdk().users.setEncryptedData(tenantPayload.sub, encryptedId, data);
62
+ }
63
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qelos/plugin-play",
3
- "version": "3.7.3",
3
+ "version": "3.7.7",
4
4
  "description": "Play a plugin for Qelos!",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
@@ -13,17 +13,17 @@
13
13
  "access": "public"
14
14
  },
15
15
  "dependencies": {
16
- "@fastify/cookie": "^11.0.1",
17
- "@fastify/static": "^8.0.2",
18
- "@qelos/cache-manager": "^3.7.3",
19
- "@qelos/sdk": "^3.7.3",
20
- "@qelos/web-sdk": "^3.7.3",
21
- "fastify": "^5.1.0",
16
+ "@fastify/cookie": "^8.3.0",
17
+ "@fastify/static": "^6.12.0",
18
+ "@qelos/cache-manager": "^3.7.7",
19
+ "@qelos/sdk": "^3.7.7",
20
+ "@qelos/web-sdk": "^3.7.7",
21
+ "fastify": "~4.3.0",
22
22
  "jsonwebtoken": "^9.0.2",
23
23
  "undici": "^6.20.1"
24
24
  },
25
25
  "devDependencies": {
26
26
  "typescript": "^4.9.5"
27
27
  },
28
- "gitHead": "92d2482e763e3489e558fa25a4ce312952fc3dc5"
28
+ "gitHead": "3d16633c443daab6a480b7ee511b1154d40afe4d"
29
29
  }
package/src/crud.ts CHANGED
@@ -39,6 +39,7 @@ function getMfeScreenOptions(name: string, crud: string, screen: Screen) {
39
39
  structure: screen.structure,
40
40
  roles: screen.roles,
41
41
  workspaceRoles: screen.workspaceRoles,
42
+ workspaceLabels: screen.workspaceLabels,
42
43
  searchQuery: screen.searchQuery,
43
44
  searchPlaceholder: screen.searchPlaceholder,
44
45
  navigateAfterSubmit: screen.navigateAfterSubmit,
package/src/crud.types.ts CHANGED
@@ -17,6 +17,7 @@ export type Crud = {
17
17
  export interface Screen {
18
18
  roles?: string[];
19
19
  workspaceRoles?: string[];
20
+ workspaceLabels?: string[];
20
21
  use?: string;
21
22
  structure?: string;
22
23
  searchQuery?: boolean;