@c8y/bootstrap 1022.34.0 → 1022.44.3
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,15 +1,17 @@
|
|
|
1
|
-
import type { BasicAuth, BearerAuthFromSessionStorage, Client, CookieAuth, IApplication, IAuthentication, ICurrentTenant, IUser } from '@c8y/client';
|
|
1
|
+
import type { BasicAuth, BearerAuthFromSessionStorage, Client, CookieAuth, IApplication, IAuthentication, ICurrentTenant, ICurrentUser, IUser } from '@c8y/client';
|
|
2
2
|
export declare const TOKEN_KEY = "_tcy8";
|
|
3
3
|
export declare const TFATOKEN_KEY = "TFAToken";
|
|
4
4
|
export declare const queryParamsThatRequireRedirectToLoginApp: readonly ["email", "token", "code", "session_state", "error", "error_description"];
|
|
5
5
|
export declare function loadManifest(client: Client, options?: Record<string, any>): Promise<IApplication>;
|
|
6
|
+
export declare function addCssClassesForApp(app: IApplication): void;
|
|
7
|
+
export declare function addCssVariablesForApp(app: IApplication): void;
|
|
6
8
|
export declare function redirectToLoginApp(options?: Record<string, any>): void;
|
|
7
9
|
/**
|
|
8
10
|
* Redirects to the login application in case the user is not logged in.
|
|
9
11
|
*/
|
|
10
12
|
export declare function ensureLoggedInIfRequired(options?: Record<string, any>): Promise<false | {
|
|
11
13
|
client: Client;
|
|
12
|
-
currentUser: IUser;
|
|
14
|
+
currentUser: IUser | ICurrentUser;
|
|
13
15
|
currentApp: IApplication;
|
|
14
16
|
currentTenant: ICurrentTenant;
|
|
15
17
|
}>;
|
|
@@ -17,7 +19,7 @@ export declare function isLocal(): boolean;
|
|
|
17
19
|
export declare function getCurrentContextPath(options?: Record<string, any>): string | undefined;
|
|
18
20
|
export declare function getCurrentUser(): Promise<{
|
|
19
21
|
client: Client;
|
|
20
|
-
currentUser: IUser;
|
|
22
|
+
currentUser: IUser | ICurrentUser;
|
|
21
23
|
}>;
|
|
22
24
|
export declare function pickAuthStrategy(bearer: typeof BearerAuthFromSessionStorage, basic: typeof BasicAuth, cookie: typeof CookieAuth): BearerAuthFromSessionStorage | BasicAuth | CookieAuth;
|
|
23
25
|
export declare function getAuthStrategy(): Promise<IAuthentication>;
|
|
@@ -25,6 +25,40 @@ export async function loadManifest(client, options) {
|
|
|
25
25
|
throw ex;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
+
const attributes = ['key', 'name', 'contextPath'];
|
|
29
|
+
export function addCssClassesForApp(app) {
|
|
30
|
+
if (!app) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
for (const attr of attributes) {
|
|
34
|
+
const value = app[attr];
|
|
35
|
+
if (!value || typeof value !== 'string') {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const normalizedValue = value.toLowerCase().replace(/[^a-z0-9\-\_]+/g, '-');
|
|
39
|
+
document.body.classList.add(`c8y-app-${attr}_${normalizedValue}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function addCssVariablesForApp(app) {
|
|
43
|
+
if (!app) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
let content = '';
|
|
47
|
+
for (const attr of attributes) {
|
|
48
|
+
const value = app[attr];
|
|
49
|
+
if (!value || typeof value !== 'string') {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
content += `--c8y-app-${attr}: '${value}';\n`;
|
|
53
|
+
}
|
|
54
|
+
if (!content) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const style = document.createElement('style');
|
|
58
|
+
style.setAttribute('id', 'app-css-variables');
|
|
59
|
+
style.appendChild(document.createTextNode(`:root {\n${content}\n}`));
|
|
60
|
+
document.querySelector('body').appendChild(style);
|
|
61
|
+
}
|
|
28
62
|
export function redirectToLoginApp(options) {
|
|
29
63
|
// to redirect back to the current page after login
|
|
30
64
|
const pathWithSearch = window.location.pathname + window.location.search + window.location.hash;
|
|
@@ -76,6 +110,8 @@ export async function ensureLoggedInIfRequired(options) {
|
|
|
76
110
|
}
|
|
77
111
|
}
|
|
78
112
|
}
|
|
113
|
+
addCssClassesForApp(currentApp);
|
|
114
|
+
addCssVariablesForApp(currentApp);
|
|
79
115
|
return { ...clientAndCurrentUser, currentApp, currentTenant };
|
|
80
116
|
}
|
|
81
117
|
export function isLocal() {
|
|
@@ -94,8 +130,19 @@ export async function getCurrentUser() {
|
|
|
94
130
|
try {
|
|
95
131
|
const clientLib = await getClientLib();
|
|
96
132
|
client = new clientLib.Client(await getAuthStrategy());
|
|
97
|
-
|
|
98
|
-
|
|
133
|
+
try {
|
|
134
|
+
const { data } = await client.user.current();
|
|
135
|
+
currentUser = data;
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
if (e.res?.status === 403) {
|
|
139
|
+
const { data } = await client.user.currentWithEffectiveRoles();
|
|
140
|
+
currentUser = data;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
throw e;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
99
146
|
}
|
|
100
147
|
catch (e) {
|
|
101
148
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-check.js","sourceRoot":"","sources":["../../login-check/login-check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login-check.js","sourceRoot":"","sources":["../../login-check/login-check.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC;AACjC,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AAEvC,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,4BAA4B;IAC5B,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,eAAe;IACf,OAAO;IACP,mBAAmB;CACX,CAAC;AAEX,SAAS,YAAY;IACnB,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,OAA6B;IAC9E,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,qBAAqB,GAAG,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,GACjC,MAAM,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;QAC3E,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAA2C,CAAC;AAE5F,MAAM,UAAU,mBAAmB,CAAC,GAAiB;IACnD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;IACT,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QACD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAC5E,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,eAAe,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAiB;IACrD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QACD,OAAO,IAAI,aAAa,IAAI,MAAM,KAAK,MAAM,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC9C,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,OAAO,KAAK,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA6B;IAC9D,mDAAmD;IACnD,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAChG,cAAc,CAAC,OAAO,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;IAEpE,MAAM,kBAAkB,GAAG,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,CAAC;IAC/E,yCAAyC;IACzC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAA6B;IAS1E,MAAM,oBAAoB,GAAG,MAAM,cAAc,EAAE,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,wCAAwC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC7E,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CACvB,CAAC;IACF,IAAI,CAAC,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACrE,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,aAAa,GAA0B,IAAI,CAAC;IAChD,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;gBAChE,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;YACpD,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,UAAU,GAAwB;QACpC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,qBAAqB,EAAE;QACpC,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;IAEF,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC;gBACpD,8EAA8E;gBAC9E,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAC5D,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAElC,OAAO,EAAE,GAAG,oBAAoB,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAA+B,EAAE;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACxF,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,MAAc,CAAC;IACnB,IAAI,WAAiC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;QACvC,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBAC/D,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAA2C,EAC3C,KAAuB,EACvB,MAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,MAAM,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAa;IACf,CAAC;IACD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,MAAM,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IACvC,OAAO,gBAAgB,CACrB,SAAS,CAAC,4BAA4B,EACtC,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,UAAU,CACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { IApplication, ICurrentTenant, IUser } from '@c8y/client';
|
|
1
|
+
import type { IApplication, ICurrentTenant, ICurrentUser, IUser } from '@c8y/client';
|
|
2
2
|
import type { RemoteModuleFactoryWithMetadata } from '../plugins/plugins';
|
|
3
3
|
export interface BootstrapMetaData {
|
|
4
4
|
options: Record<string, any>;
|
|
5
|
-
currentUser?: IUser;
|
|
5
|
+
currentUser?: IUser | ICurrentUser;
|
|
6
6
|
currentApp?: IApplication;
|
|
7
7
|
currentTenant?: ICurrentTenant;
|
|
8
8
|
remoteModuleFactories?: Array<RemoteModuleFactoryWithMetadata>;
|