@archbase/security 4.0.38 → 4.0.40
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/archbase-security-4.0.40.tgz +0 -0
- package/dist/index.js +1066 -887
- package/dist/src/ArchbaseAuthenticator.d.ts +6 -0
- package/dist/src/ArchbaseLogin.d.ts +11 -1
- package/dist/src/ArchbaseMfaSetup.d.ts +24 -0
- package/dist/src/hooks/useArchbaseAuthenticationManager.d.ts +3 -0
- package/dist/src/index.d.ts +1 -0
- package/package.json +5 -5
- package/dist/archbase-security-4.0.38.tgz +0 -0
package/dist/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
|
-
import * as
|
|
3
|
-
import { decorate as
|
|
4
|
-
import { compressString as
|
|
5
|
-
import
|
|
6
|
-
import { jwtDecode as
|
|
7
|
-
import { jsx as
|
|
8
|
-
import
|
|
9
|
-
import { BehaviorSubject as
|
|
10
|
-
import { ArchbaseRemoteApiService as
|
|
11
|
-
import { v4 as
|
|
12
|
-
import { Card as
|
|
13
|
-
import { useFocusTrap as
|
|
14
|
-
import { IconCopy as
|
|
15
|
-
import { ArchbaseDialog as
|
|
16
|
-
import { useContainer as
|
|
17
|
-
class
|
|
2
|
+
import * as U from "inversify";
|
|
3
|
+
import { decorate as Mt, injectable as Nt } from "inversify";
|
|
4
|
+
import { compressString as Bt, decompressString as Ot, IOCContainer as Lt, ARCHBASE_IOC_API_TYPE as X, processErrorMessage as oe, IsNotEmpty as Q, IsOptional as de, IsBoolean as re, IsEmail as $t, getKeyByEnumValue as Ye, useArchbasePasswordRemember as zt, getI18nextInstance as x, useArchbaseTheme as jt, isEmailValidate as Ft, useArchbaseAppContext as Vt } from "@archbase/core";
|
|
5
|
+
import G from "crypto-js";
|
|
6
|
+
import { jwtDecode as Wt } from "jwt-decode";
|
|
7
|
+
import { jsx as n, jsxs as P, Fragment as ne } from "react/jsx-runtime";
|
|
8
|
+
import ot, { useState as h, useEffect as K, createContext as je, useMemo as nt, useRef as it, useCallback as Se, useContext as Fe } from "react";
|
|
9
|
+
import { BehaviorSubject as Xe } from "rxjs";
|
|
10
|
+
import { ArchbaseRemoteApiService as me, useArchbaseStore as at } from "@archbase/data";
|
|
11
|
+
import { v4 as Z } from "uuid";
|
|
12
|
+
import { Card as Ve, Text as j, Divider as Te, Stack as be, TextInput as Ae, Button as W, Anchor as Qe, Group as le, Select as Ht, Tooltip as Gt, Loader as ct, PasswordInput as Le, Checkbox as Jt, Alert as Ze, Code as et, CopyButton as tt, SimpleGrid as Kt, useMantineColorScheme as qt, Box as Yt, Skeleton as Ie } from "@mantine/core";
|
|
13
|
+
import { useFocusTrap as lt } from "@mantine/hooks";
|
|
14
|
+
import { IconCopy as Xt } from "@tabler/icons-react";
|
|
15
|
+
import { ArchbaseQRCode as Qt, ArchbaseDialog as rt } from "@archbase/components";
|
|
16
|
+
import { useContainer as Ue } from "inversify-react";
|
|
17
|
+
class dt {
|
|
18
18
|
id;
|
|
19
19
|
displayName;
|
|
20
20
|
email;
|
|
@@ -24,10 +24,10 @@ class Ze {
|
|
|
24
24
|
this.id = e.id, this.displayName = e.displayName, this.email = e.email, this.photo = e.photo, this.isAdmin = e.isAdmin;
|
|
25
25
|
}
|
|
26
26
|
static newInstance() {
|
|
27
|
-
return new
|
|
27
|
+
return new dt({});
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
class
|
|
30
|
+
class ut {
|
|
31
31
|
username;
|
|
32
32
|
password;
|
|
33
33
|
remember;
|
|
@@ -35,16 +35,16 @@ class et {
|
|
|
35
35
|
this.username = e.username, this.password = e.password, this.remember = e.remember;
|
|
36
36
|
}
|
|
37
37
|
static newInstance() {
|
|
38
|
-
return new
|
|
38
|
+
return new ut({});
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
const
|
|
42
|
-
class
|
|
41
|
+
const ae = "YngzI1guK3dGaElFcFY9MywqK3xgPzg/Ojg7eD8xRmg=", Me = "c1ab58e7-c113-4225-a190-a9e59d1207fc", Ne = "6faf6932-a0b5-457b-83b1-8d89ddbd91fd", Be = "602b05c5-ec46-451e-aba6-187e463bc245", Oe = "8b4a7c2d-9e5f-4163-b8a7-3f2c9d8e5a1b";
|
|
42
|
+
class Zt {
|
|
43
43
|
getUsernameAndPassword() {
|
|
44
44
|
try {
|
|
45
|
-
const e = localStorage.getItem(
|
|
45
|
+
const e = localStorage.getItem(Ne);
|
|
46
46
|
if (e) {
|
|
47
|
-
const t =
|
|
47
|
+
const t = G.AES.decrypt(e, ae).toString(G.enc.Utf8), o = atob(t).split(":");
|
|
48
48
|
return { username: o[0], password: o[1], remember: !0 };
|
|
49
49
|
} else
|
|
50
50
|
return null;
|
|
@@ -53,14 +53,14 @@ class Vt {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
saveUsernameAndPassword(e, t) {
|
|
56
|
-
const s = btoa(`${e}:${t}`), o =
|
|
57
|
-
localStorage.setItem(
|
|
56
|
+
const s = btoa(`${e}:${t}`), o = G.AES.encrypt(s, ae).toString();
|
|
57
|
+
localStorage.setItem(Ne, o);
|
|
58
58
|
}
|
|
59
59
|
getUsername() {
|
|
60
60
|
try {
|
|
61
|
-
const e = localStorage.getItem(
|
|
61
|
+
const e = localStorage.getItem(Be);
|
|
62
62
|
if (e) {
|
|
63
|
-
const t =
|
|
63
|
+
const t = G.AES.decrypt(e, ae).toString(G.enc.Utf8);
|
|
64
64
|
return atob(t);
|
|
65
65
|
} else
|
|
66
66
|
return null;
|
|
@@ -69,42 +69,42 @@ class Vt {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
saveUsername(e) {
|
|
72
|
-
const t = btoa(e), s =
|
|
73
|
-
localStorage.setItem(
|
|
72
|
+
const t = btoa(e), s = G.AES.encrypt(t, ae).toString();
|
|
73
|
+
localStorage.setItem(Be, s);
|
|
74
74
|
}
|
|
75
75
|
isTokenExpired(e, t = 300) {
|
|
76
76
|
let s = e;
|
|
77
77
|
if (!s && !this.getToken())
|
|
78
78
|
return !0;
|
|
79
79
|
try {
|
|
80
|
-
const o =
|
|
80
|
+
const o = Wt(s.access_token);
|
|
81
81
|
if (!o)
|
|
82
82
|
return !0;
|
|
83
|
-
const
|
|
84
|
-
return
|
|
83
|
+
const a = Math.floor(Date.now() / 1e3), c = o.exp;
|
|
84
|
+
return a > c - t;
|
|
85
85
|
} catch {
|
|
86
86
|
return !0;
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
saveToken(e) {
|
|
90
90
|
if (e) {
|
|
91
|
-
const t = JSON.stringify(e), s =
|
|
92
|
-
localStorage.setItem(
|
|
91
|
+
const t = JSON.stringify(e), s = G.AES.encrypt(t, ae).toString(), o = Bt(s);
|
|
92
|
+
localStorage.setItem(Me, o);
|
|
93
93
|
} else
|
|
94
94
|
this.clearToken();
|
|
95
95
|
}
|
|
96
96
|
clearUsernameAndPassword() {
|
|
97
|
-
localStorage.removeItem(
|
|
97
|
+
localStorage.removeItem(Ne), localStorage.removeItem(Be);
|
|
98
98
|
}
|
|
99
99
|
clearToken() {
|
|
100
|
-
localStorage.removeItem(
|
|
100
|
+
localStorage.removeItem(Me);
|
|
101
101
|
}
|
|
102
102
|
getToken() {
|
|
103
103
|
try {
|
|
104
|
-
const e = localStorage.getItem(
|
|
104
|
+
const e = localStorage.getItem(Me);
|
|
105
105
|
if (!e)
|
|
106
106
|
return null;
|
|
107
|
-
const t =
|
|
107
|
+
const t = Ot(e), s = G.AES.decrypt(t, ae).toString(G.enc.Utf8);
|
|
108
108
|
return JSON.parse(s);
|
|
109
109
|
} catch {
|
|
110
110
|
return null;
|
|
@@ -112,37 +112,37 @@ class Vt {
|
|
|
112
112
|
}
|
|
113
113
|
saveContext(e) {
|
|
114
114
|
try {
|
|
115
|
-
const t =
|
|
116
|
-
localStorage.setItem(
|
|
115
|
+
const t = G.AES.encrypt(e, ae).toString();
|
|
116
|
+
localStorage.setItem(Oe, t);
|
|
117
117
|
} catch (t) {
|
|
118
118
|
console.warn("Erro ao salvar contexto:", t);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
getContext() {
|
|
122
122
|
try {
|
|
123
|
-
const e = localStorage.getItem(
|
|
124
|
-
return e ?
|
|
123
|
+
const e = localStorage.getItem(Oe);
|
|
124
|
+
return e ? G.AES.decrypt(e, ae).toString(G.enc.Utf8) : null;
|
|
125
125
|
} catch {
|
|
126
126
|
return null;
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
clearContext() {
|
|
130
|
-
localStorage.removeItem(
|
|
130
|
+
localStorage.removeItem(Oe);
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
-
|
|
134
|
-
function
|
|
133
|
+
Mt(Nt(), Zt);
|
|
134
|
+
function ht(r) {
|
|
135
135
|
const t = new Uint8Array(1);
|
|
136
|
-
return window.crypto.getRandomValues(t), t[0] >= Math.floor(256 / r) * r ?
|
|
136
|
+
return window.crypto.getRandomValues(t), t[0] >= Math.floor(256 / r) * r ? ht(r) : t[0] % r;
|
|
137
137
|
}
|
|
138
|
-
function
|
|
138
|
+
function er(r) {
|
|
139
139
|
let e = "";
|
|
140
140
|
const t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
141
141
|
for (let s = 0; s < r; s++)
|
|
142
|
-
e += t.charAt(
|
|
142
|
+
e += t.charAt(ht(t.length - 1));
|
|
143
143
|
return e;
|
|
144
144
|
}
|
|
145
|
-
async function
|
|
145
|
+
async function tr(r) {
|
|
146
146
|
if (!window.crypto.subtle?.digest)
|
|
147
147
|
throw new Error(
|
|
148
148
|
"The context/environment is not secure, and does not support the 'crypto.subtle' module. See: https://developer.mozilla.org/en-US/docs/Web/API/Crypto/subtle for details"
|
|
@@ -150,36 +150,36 @@ async function Wt(r) {
|
|
|
150
150
|
const t = new TextEncoder().encode(r), s = await window.crypto.subtle.digest("SHA-256", t), o = String.fromCharCode(...new Uint8Array(s));
|
|
151
151
|
return btoa(o).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
152
152
|
}
|
|
153
|
-
class
|
|
153
|
+
class pt extends Error {
|
|
154
154
|
status;
|
|
155
155
|
statusText;
|
|
156
156
|
constructor(e, t, s) {
|
|
157
157
|
super(s), this.name = "FetchError", this.status = e, this.statusText = t;
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
function
|
|
160
|
+
function rr(r) {
|
|
161
161
|
let e = "";
|
|
162
162
|
return Object.entries(r).forEach(([t, s]) => {
|
|
163
163
|
e += (e ? "&" : "") + t + "=" + encodeURIComponent(s);
|
|
164
164
|
}), e;
|
|
165
165
|
}
|
|
166
|
-
async function
|
|
166
|
+
async function sr(r, e) {
|
|
167
167
|
return fetch(r, {
|
|
168
168
|
method: "POST",
|
|
169
|
-
body:
|
|
169
|
+
body: rr(e),
|
|
170
170
|
headers: { "Content-Type": "application/x-www-form-urlencoded" }
|
|
171
171
|
}).then(async (t) => {
|
|
172
172
|
if (!t.ok) {
|
|
173
173
|
const s = await t.text();
|
|
174
|
-
throw new
|
|
174
|
+
throw new pt(t.status, t.statusText, s);
|
|
175
175
|
}
|
|
176
176
|
return t;
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
|
-
const
|
|
180
|
-
async function
|
|
181
|
-
const t =
|
|
182
|
-
return sessionStorage.setItem(
|
|
179
|
+
const ft = "PKCE_code_verifier", $e = "ROCP_auth_state";
|
|
180
|
+
async function or(r, e) {
|
|
181
|
+
const t = er(96);
|
|
182
|
+
return sessionStorage.setItem(ft, t), tr(t).then((s) => {
|
|
183
183
|
const o = new URLSearchParams({
|
|
184
184
|
response_type: "code",
|
|
185
185
|
client_id: r.clientId,
|
|
@@ -188,23 +188,23 @@ async function Jt(r, e) {
|
|
|
188
188
|
code_challenge_method: "S256",
|
|
189
189
|
...r.extraAuthParameters
|
|
190
190
|
});
|
|
191
|
-
r.scope !== void 0 && o.append("scope", r.scope), sessionStorage.removeItem(
|
|
192
|
-
const
|
|
193
|
-
|
|
191
|
+
r.scope !== void 0 && o.append("scope", r.scope), sessionStorage.removeItem($e);
|
|
192
|
+
const a = e ?? r.state;
|
|
193
|
+
a && (sessionStorage.setItem($e, a), o.append("state", a)), r?.preLogin && r.preLogin(), window.location.replace(`${r.authorizationEndpoint}?${o.toString()}`);
|
|
194
194
|
});
|
|
195
195
|
}
|
|
196
|
-
function
|
|
196
|
+
function nr(r) {
|
|
197
197
|
return r.access_token !== void 0;
|
|
198
198
|
}
|
|
199
|
-
function
|
|
200
|
-
return
|
|
201
|
-
if (
|
|
199
|
+
function mt(r, e) {
|
|
200
|
+
return sr(r, e).then((t) => t.json().then((s) => {
|
|
201
|
+
if (nr(s))
|
|
202
202
|
return s;
|
|
203
203
|
throw Error(s);
|
|
204
204
|
}));
|
|
205
205
|
}
|
|
206
|
-
const
|
|
207
|
-
const t = new URLSearchParams(window.location.search).get("code"), s = window.sessionStorage.getItem(
|
|
206
|
+
const ir = (r) => {
|
|
207
|
+
const t = new URLSearchParams(window.location.search).get("code"), s = window.sessionStorage.getItem(ft);
|
|
208
208
|
if (!t)
|
|
209
209
|
throw Error(`Parâmetro 'código' não encontrado na URL.
|
|
210
210
|
A autenticação ocorreu?`);
|
|
@@ -221,8 +221,8 @@ A autenticação ocorreu?`);
|
|
|
221
221
|
...r.extraTokenParameters,
|
|
222
222
|
...r.extraAuthParams
|
|
223
223
|
};
|
|
224
|
-
return
|
|
225
|
-
},
|
|
224
|
+
return mt(r.tokenEndpoint, o);
|
|
225
|
+
}, ar = (r) => {
|
|
226
226
|
const { config: e, refreshToken: t } = r, s = {
|
|
227
227
|
grant_type: "refresh_token",
|
|
228
228
|
refresh_token: t,
|
|
@@ -231,101 +231,101 @@ A autenticação ocorreu?`);
|
|
|
231
231
|
redirect_uri: e.redirectUri,
|
|
232
232
|
...e.extraTokenParameters
|
|
233
233
|
};
|
|
234
|
-
return
|
|
234
|
+
return mt(e.tokenEndpoint, s);
|
|
235
235
|
};
|
|
236
|
-
function
|
|
237
|
-
const
|
|
236
|
+
function cr(r, e, t, s, o, a) {
|
|
237
|
+
const c = new URLSearchParams({
|
|
238
238
|
token: t || e,
|
|
239
239
|
token_type_hint: t ? "refresh_token" : "access_token",
|
|
240
240
|
client_id: r.clientId,
|
|
241
241
|
post_logout_redirect_uri: r.logoutRedirect ?? r.redirectUri,
|
|
242
|
-
ui_locales: window.navigator.languages.reduce((i,
|
|
242
|
+
ui_locales: window.navigator.languages.reduce((i, l) => i + " " + l),
|
|
243
243
|
...r.extraLogoutParameters
|
|
244
244
|
});
|
|
245
|
-
s &&
|
|
245
|
+
s && c.append("id_token_hint", s), o && c.append("state", o), a && c.append("logout_hint", a), window.location.replace(`${r.logoutEndpoint}?${c.toString()}`);
|
|
246
246
|
}
|
|
247
|
-
function
|
|
248
|
-
const e = r.get("state"), t = sessionStorage.getItem(
|
|
247
|
+
function lr(r) {
|
|
248
|
+
const e = r.get("state"), t = sessionStorage.getItem($e);
|
|
249
249
|
if (e !== t)
|
|
250
250
|
throw new Error(
|
|
251
251
|
'"state" valor recebido do servidor de autenticação não corresponde à solicitação do cliente. Possível falsificação de solicitação entre sites'
|
|
252
252
|
);
|
|
253
253
|
}
|
|
254
|
-
function
|
|
255
|
-
const s = t === "session" ? sessionStorage : localStorage, [o,
|
|
254
|
+
function ce(r, e, t) {
|
|
255
|
+
const s = t === "session" ? sessionStorage : localStorage, [o, a] = h(() => {
|
|
256
256
|
const i = s.getItem(r);
|
|
257
257
|
try {
|
|
258
258
|
return i ? JSON.parse(i) : e;
|
|
259
|
-
} catch (
|
|
259
|
+
} catch (l) {
|
|
260
260
|
return console.warn(
|
|
261
261
|
`Falha ao analisar o valor armazenado para '${r}'.
|
|
262
262
|
Continuando com o valor padrão.
|
|
263
|
-
Error: ${
|
|
263
|
+
Error: ${l.message}`
|
|
264
264
|
), e;
|
|
265
265
|
}
|
|
266
|
-
}),
|
|
266
|
+
}), c = (i) => {
|
|
267
267
|
if (i === void 0) {
|
|
268
|
-
|
|
268
|
+
a(i), s.removeItem(r);
|
|
269
269
|
return;
|
|
270
270
|
}
|
|
271
271
|
try {
|
|
272
|
-
const
|
|
273
|
-
|
|
272
|
+
const l = i instanceof Function ? i(o) : i;
|
|
273
|
+
a(l), s.setItem(r, JSON.stringify(l));
|
|
274
274
|
} catch {
|
|
275
275
|
console.log(`Falha ao armazenar valor '${i}' para chave '${r}'`);
|
|
276
276
|
}
|
|
277
277
|
};
|
|
278
|
-
return
|
|
279
|
-
const i = (
|
|
280
|
-
|
|
278
|
+
return K(() => {
|
|
279
|
+
const i = (l) => {
|
|
280
|
+
l.storageArea === s && l.key === r && a(JSON.parse(l.newValue ?? ""));
|
|
281
281
|
};
|
|
282
282
|
return window.addEventListener("storage", i, !1), () => window.removeEventListener("storage", i, !1);
|
|
283
|
-
}), [o,
|
|
283
|
+
}), [o, c];
|
|
284
284
|
}
|
|
285
|
-
const
|
|
285
|
+
const $r = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
286
286
|
__proto__: null,
|
|
287
|
-
default:
|
|
287
|
+
default: ce
|
|
288
288
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
289
|
-
function
|
|
289
|
+
function Ce(r) {
|
|
290
290
|
return ["", void 0, null].includes(r);
|
|
291
291
|
}
|
|
292
|
-
function
|
|
292
|
+
function dr(r) {
|
|
293
293
|
const {
|
|
294
294
|
autoLogin: e = !0,
|
|
295
295
|
clearURL: t = !0,
|
|
296
296
|
decodeToken: s = !0,
|
|
297
297
|
scope: o = void 0,
|
|
298
|
-
preLogin:
|
|
299
|
-
postLogin:
|
|
298
|
+
preLogin: a = () => null,
|
|
299
|
+
postLogin: c = () => null,
|
|
300
300
|
onRefreshTokenExpire: i = void 0,
|
|
301
|
-
storage:
|
|
302
|
-
} = r,
|
|
301
|
+
storage: l = "local"
|
|
302
|
+
} = r, g = {
|
|
303
303
|
...r,
|
|
304
304
|
autoLogin: e,
|
|
305
305
|
clearURL: t,
|
|
306
306
|
decodeToken: s,
|
|
307
307
|
scope: o,
|
|
308
|
-
preLogin:
|
|
309
|
-
postLogin:
|
|
308
|
+
preLogin: a,
|
|
309
|
+
postLogin: c,
|
|
310
310
|
onRefreshTokenExpire: i,
|
|
311
|
-
storage:
|
|
311
|
+
storage: l
|
|
312
312
|
};
|
|
313
|
-
return
|
|
313
|
+
return ur(g), g;
|
|
314
314
|
}
|
|
315
|
-
function
|
|
316
|
-
if (
|
|
315
|
+
function ur(r) {
|
|
316
|
+
if (Ce(r?.clientId))
|
|
317
317
|
throw Error(
|
|
318
318
|
"'clientId' deve ser definido no objeto 'ArchbaseAuthConfig' passado para ArchbaseAuthProvider"
|
|
319
319
|
);
|
|
320
|
-
if (
|
|
320
|
+
if (Ce(r?.authorizationEndpoint))
|
|
321
321
|
throw Error(
|
|
322
322
|
"'authorizationEndpoint' deve ser definido no objeto 'ArchbaseAuthConfig' passado para ArchbaseAuthProvider"
|
|
323
323
|
);
|
|
324
|
-
if (
|
|
324
|
+
if (Ce(r?.tokenEndpoint))
|
|
325
325
|
throw Error(
|
|
326
326
|
"'tokenEndpoint' deve ser definido no objeto 'ArchbaseAuthConfig' passado para ArchbaseAuthProvider"
|
|
327
327
|
);
|
|
328
|
-
if (
|
|
328
|
+
if (Ce(r?.redirectUri))
|
|
329
329
|
throw Error(
|
|
330
330
|
"'redirectUri' deve ser definido no objeto 'ArchbaseAuthConfig' passado para ArchbaseAuthProvider"
|
|
331
331
|
);
|
|
@@ -337,23 +337,23 @@ function er(r) {
|
|
|
337
337
|
"Usar 'extraAuthParams' e 'extraTokenParameters' não é recomendado. Eles fazem a mesma coisa e você deve usar apenas 'extraTokenParameters'"
|
|
338
338
|
);
|
|
339
339
|
}
|
|
340
|
-
const
|
|
341
|
-
function
|
|
340
|
+
const pe = 600, he = (r) => Math.round(Date.now() / 1e3 + r);
|
|
341
|
+
function st(r) {
|
|
342
342
|
return Math.round(Date.now()) / 1e3 + 30 >= r;
|
|
343
343
|
}
|
|
344
|
-
const
|
|
344
|
+
const hr = [
|
|
345
345
|
"refresh_expires_in",
|
|
346
346
|
// KeyCloak
|
|
347
347
|
"refresh_token_expires_in"
|
|
348
348
|
// Azure AD
|
|
349
349
|
];
|
|
350
|
-
function
|
|
351
|
-
for (const t of
|
|
350
|
+
function pr(r, e) {
|
|
351
|
+
for (const t of hr)
|
|
352
352
|
if (t in e)
|
|
353
353
|
return e[t];
|
|
354
|
-
return e.refresh_token ? r +
|
|
354
|
+
return e.refresh_token ? r + pe : r;
|
|
355
355
|
}
|
|
356
|
-
const
|
|
356
|
+
const Pe = (r) => {
|
|
357
357
|
try {
|
|
358
358
|
const t = r.split(".")[1].replace(/-/g, "+").replace(/_/g, "/"), s = decodeURIComponent(
|
|
359
359
|
atob(t).split("").map(function(o) {
|
|
@@ -368,88 +368,88 @@ const ge = (r) => {
|
|
|
368
368
|
Você pode desativar a decodificação JWT definindo o valor 'decodeToken' como 'falso' na configuração.`
|
|
369
369
|
);
|
|
370
370
|
}
|
|
371
|
-
},
|
|
371
|
+
}, fr = je({
|
|
372
372
|
token: "",
|
|
373
373
|
login: () => null,
|
|
374
374
|
logOut: () => null,
|
|
375
375
|
error: null,
|
|
376
376
|
loginInProgress: !1
|
|
377
|
-
}),
|
|
378
|
-
const t =
|
|
377
|
+
}), zr = ({ authConfig: r, children: e }) => {
|
|
378
|
+
const t = nt(() => dr(r), [r]), [s, o] = ce(
|
|
379
379
|
"ROCP_refreshToken",
|
|
380
380
|
void 0,
|
|
381
381
|
t.storage
|
|
382
|
-
), [
|
|
382
|
+
), [a, c] = ce(
|
|
383
383
|
"ROCP_refreshTokenExpire",
|
|
384
|
-
|
|
384
|
+
he(2 * pe),
|
|
385
385
|
t.storage
|
|
386
|
-
), [i,
|
|
386
|
+
), [i, l] = ce("ROCP_token", "", t.storage), [g, E] = ce(
|
|
387
387
|
"ROCP_tokenExpire",
|
|
388
|
-
|
|
388
|
+
he(pe),
|
|
389
389
|
t.storage
|
|
390
|
-
), [
|
|
390
|
+
), [d, _] = ce(
|
|
391
391
|
"ROCP_idToken",
|
|
392
392
|
void 0,
|
|
393
393
|
t.storage
|
|
394
|
-
), [
|
|
394
|
+
), [v, f] = ce(
|
|
395
395
|
"ROCP_loginInProgress",
|
|
396
396
|
!1,
|
|
397
397
|
t.storage
|
|
398
|
-
), [
|
|
398
|
+
), [S, D] = ce(
|
|
399
399
|
"ROCP_refreshInProgress",
|
|
400
400
|
!1,
|
|
401
401
|
t.storage
|
|
402
|
-
), [
|
|
403
|
-
let
|
|
404
|
-
function
|
|
405
|
-
o(void 0),
|
|
402
|
+
), [B, O] = h(), [F, N] = h(), [w, m] = h(null);
|
|
403
|
+
let R;
|
|
404
|
+
function V() {
|
|
405
|
+
o(void 0), l(""), E(he(pe)), c(he(pe)), _(void 0), O(void 0), N(void 0), f(!1);
|
|
406
406
|
}
|
|
407
|
-
function
|
|
408
|
-
|
|
407
|
+
function C(p, y) {
|
|
408
|
+
V(), m(null), t?.logoutEndpoint && cr(t, i, s, d, p, y);
|
|
409
409
|
}
|
|
410
|
-
function
|
|
411
|
-
|
|
412
|
-
let
|
|
410
|
+
function L(p) {
|
|
411
|
+
V(), f(!0);
|
|
412
|
+
let y = p;
|
|
413
413
|
p && typeof p != "string" && (console.warn(
|
|
414
414
|
`O estado de login aprovado deve ser do tipo 'string'. Recebido'${p}'. Ignorando o valor...`
|
|
415
|
-
),
|
|
416
|
-
console.error(
|
|
415
|
+
), y = void 0), or(t, y).catch((te) => {
|
|
416
|
+
console.error(te), m(te.message), f(!1);
|
|
417
417
|
});
|
|
418
418
|
}
|
|
419
|
-
function
|
|
420
|
-
|
|
421
|
-
const
|
|
422
|
-
|
|
423
|
-
const
|
|
424
|
-
|
|
419
|
+
function q(p) {
|
|
420
|
+
l(p.access_token), o(p.refresh_token);
|
|
421
|
+
const y = t.tokenExpiresIn ?? p.expires_in ?? pe;
|
|
422
|
+
E(he(y));
|
|
423
|
+
const te = t.refreshTokenExpiresIn ?? pr(y, p);
|
|
424
|
+
c(he(te)), _(p.id_token);
|
|
425
425
|
try {
|
|
426
|
-
p.id_token && N(
|
|
427
|
-
} catch (
|
|
428
|
-
console.warn(`Falha ao decodificar idToken: ${
|
|
426
|
+
p.id_token && N(Pe(p.id_token));
|
|
427
|
+
} catch (T) {
|
|
428
|
+
console.warn(`Falha ao decodificar idToken: ${T.message}`);
|
|
429
429
|
}
|
|
430
430
|
try {
|
|
431
|
-
t.decodeToken && O(
|
|
432
|
-
} catch (
|
|
433
|
-
console.warn(`Falha ao decodificar o token de acesso: ${
|
|
431
|
+
t.decodeToken && O(Pe(p.access_token));
|
|
432
|
+
} catch (T) {
|
|
433
|
+
console.warn(`Falha ao decodificar o token de acesso: ${T.message}`);
|
|
434
434
|
}
|
|
435
435
|
}
|
|
436
|
-
function
|
|
437
|
-
return p || !t.onRefreshTokenExpire ?
|
|
436
|
+
function ee(p = !1) {
|
|
437
|
+
return p || !t.onRefreshTokenExpire ? L() : t.onRefreshTokenExpire({ login: L });
|
|
438
438
|
}
|
|
439
|
-
function
|
|
440
|
-
if (i &&
|
|
441
|
-
if (
|
|
442
|
-
return
|
|
439
|
+
function Y(p = !1) {
|
|
440
|
+
if (i && st(g) && !(S && !p)) {
|
|
441
|
+
if (st(a))
|
|
442
|
+
return ee(p);
|
|
443
443
|
if (s) {
|
|
444
|
-
|
|
445
|
-
if (
|
|
446
|
-
if (
|
|
447
|
-
return
|
|
448
|
-
console.error(
|
|
444
|
+
D(!0), ar({ config: t, refreshToken: s }).then((y) => q(y)).catch((y) => {
|
|
445
|
+
if (y instanceof pt) {
|
|
446
|
+
if (y.status === 400)
|
|
447
|
+
return ee(p);
|
|
448
|
+
console.error(y), m(y.message), p && L();
|
|
449
449
|
} else
|
|
450
|
-
|
|
450
|
+
y instanceof Error && (console.error(y), m(y.message), p && L());
|
|
451
451
|
}).finally(() => {
|
|
452
|
-
|
|
452
|
+
D(!1);
|
|
453
453
|
});
|
|
454
454
|
return;
|
|
455
455
|
}
|
|
@@ -458,55 +458,55 @@ const ge = (r) => {
|
|
|
458
458
|
);
|
|
459
459
|
}
|
|
460
460
|
}
|
|
461
|
-
|
|
462
|
-
const
|
|
463
|
-
return
|
|
464
|
-
if (
|
|
461
|
+
K(() => (R = setInterval(() => Y(), 1e4), () => clearInterval(R)), [i, s, a, g]);
|
|
462
|
+
const ie = it(!1);
|
|
463
|
+
return K(() => {
|
|
464
|
+
if (v) {
|
|
465
465
|
const p = new URLSearchParams(window.location.search);
|
|
466
466
|
if (!p.get("code")) {
|
|
467
|
-
const
|
|
468
|
-
console.error(
|
|
467
|
+
const y = p.get("error_description") || "Estado de autorização inválido. Atualizar a página pode resolver o problema.";
|
|
468
|
+
console.error(y), m(y), C();
|
|
469
469
|
return;
|
|
470
470
|
}
|
|
471
|
-
if (!
|
|
472
|
-
|
|
471
|
+
if (!ie.current) {
|
|
472
|
+
ie.current = !0;
|
|
473
473
|
try {
|
|
474
|
-
|
|
475
|
-
} catch (
|
|
476
|
-
console.error(
|
|
474
|
+
lr(p);
|
|
475
|
+
} catch (y) {
|
|
476
|
+
console.error(y), m(y.message);
|
|
477
477
|
}
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
}).catch((
|
|
481
|
-
console.error(
|
|
478
|
+
ir(t).then((y) => {
|
|
479
|
+
q(y), t?.postLogin && t.postLogin();
|
|
480
|
+
}).catch((y) => {
|
|
481
|
+
console.error(y), m(y.message);
|
|
482
482
|
}).finally(() => {
|
|
483
|
-
t.clearURL && window.history.replaceState(null, "", window.location.pathname),
|
|
483
|
+
t.clearURL && window.history.replaceState(null, "", window.location.pathname), f(!1);
|
|
484
484
|
});
|
|
485
485
|
}
|
|
486
486
|
return;
|
|
487
487
|
}
|
|
488
488
|
if (!i && t.autoLogin)
|
|
489
|
-
return
|
|
489
|
+
return L();
|
|
490
490
|
try {
|
|
491
|
-
|
|
491
|
+
d && N(Pe(d));
|
|
492
492
|
} catch (p) {
|
|
493
493
|
console.warn(`Falha ao decodificar idToken: ${p.message}`);
|
|
494
494
|
}
|
|
495
495
|
try {
|
|
496
|
-
t.decodeToken && O(
|
|
496
|
+
t.decodeToken && O(Pe(i));
|
|
497
497
|
} catch (p) {
|
|
498
498
|
console.warn(`Falha ao decodificar o token de acesso: ${p.message}`);
|
|
499
499
|
}
|
|
500
|
-
|
|
501
|
-
}, []), /* @__PURE__ */
|
|
502
|
-
|
|
500
|
+
Y(!0);
|
|
501
|
+
}, []), /* @__PURE__ */ n(
|
|
502
|
+
fr.Provider,
|
|
503
503
|
{
|
|
504
|
-
value: { token: i, tokenData:
|
|
504
|
+
value: { token: i, tokenData: B, idToken: d, idTokenData: F, login: L, logOut: C, error: w, loginInProgress: v },
|
|
505
505
|
children: e
|
|
506
506
|
}
|
|
507
507
|
);
|
|
508
508
|
};
|
|
509
|
-
class
|
|
509
|
+
class gt {
|
|
510
510
|
resourceService;
|
|
511
511
|
resource;
|
|
512
512
|
actions;
|
|
@@ -515,7 +515,7 @@ class nt {
|
|
|
515
515
|
error;
|
|
516
516
|
isAdmin;
|
|
517
517
|
constructor(e, t, s) {
|
|
518
|
-
this.resourceService =
|
|
518
|
+
this.resourceService = Lt.getContainer().get(X.Resource), this.resource = { resourceName: e, resourceDescription: t }, this.alreadyApplied = !1, this.actions = [], this.permissions = [], this.error = "", this.isAdmin = s;
|
|
519
519
|
}
|
|
520
520
|
registerAction(e, t) {
|
|
521
521
|
!this.alreadyApplied && this.actions.findIndex((s) => s.actionName === e) < 0 && this.actions.push({ actionName: e, actionDescription: t });
|
|
@@ -524,7 +524,7 @@ class nt {
|
|
|
524
524
|
this.alreadyApplied || (this.alreadyApplied = !0, this.resourceService.registerResource({ resource: this.resource, actions: this.actions }).then((t) => {
|
|
525
525
|
this.permissions = t.permissions, this.error = "", e && e();
|
|
526
526
|
}).catch((t) => {
|
|
527
|
-
this.alreadyApplied = !1, this.error =
|
|
527
|
+
this.alreadyApplied = !1, this.error = oe(t);
|
|
528
528
|
}));
|
|
529
529
|
}
|
|
530
530
|
hasPermission(e) {
|
|
@@ -586,10 +586,10 @@ class nt {
|
|
|
586
586
|
return [...this.actions];
|
|
587
587
|
}
|
|
588
588
|
}
|
|
589
|
-
class
|
|
589
|
+
class J {
|
|
590
590
|
static instance;
|
|
591
|
-
_currentTenant = new
|
|
592
|
-
_availableTenants = new
|
|
591
|
+
_currentTenant = new Xe(null);
|
|
592
|
+
_availableTenants = new Xe([]);
|
|
593
593
|
constructor() {
|
|
594
594
|
const e = localStorage.getItem("tenant_info");
|
|
595
595
|
if (e)
|
|
@@ -600,7 +600,7 @@ class V {
|
|
|
600
600
|
}
|
|
601
601
|
}
|
|
602
602
|
static getInstance() {
|
|
603
|
-
return
|
|
603
|
+
return J.instance || (J.instance = new J()), J.instance;
|
|
604
604
|
}
|
|
605
605
|
get currentTenant$() {
|
|
606
606
|
return this._currentTenant.asObservable();
|
|
@@ -629,15 +629,15 @@ class V {
|
|
|
629
629
|
return t && (e["X-TENANT-ID"] = t.id), e;
|
|
630
630
|
}
|
|
631
631
|
}
|
|
632
|
-
function
|
|
633
|
-
return
|
|
632
|
+
function jr() {
|
|
633
|
+
return J.getInstance();
|
|
634
634
|
}
|
|
635
|
-
var
|
|
636
|
-
for (var o = void 0,
|
|
637
|
-
(
|
|
638
|
-
return o &&
|
|
639
|
-
},
|
|
640
|
-
const
|
|
635
|
+
var fe = /* @__PURE__ */ ((r) => (r.USER = "user", r.PROFILE = "profile", r.GROUP = "group", r))(fe || {}), mr = Object.defineProperty, k = (r, e, t, s) => {
|
|
636
|
+
for (var o = void 0, a = r.length - 1, c; a >= 0; a--)
|
|
637
|
+
(c = r[a]) && (o = c(e, t, o) || o);
|
|
638
|
+
return o && mr(e, t, o), o;
|
|
639
|
+
}, gr = /* @__PURE__ */ ((r) => (r.VIEW = "VIEW", r.API = "API", r))(gr || {});
|
|
640
|
+
const yt = class wt {
|
|
641
641
|
id;
|
|
642
642
|
code;
|
|
643
643
|
version;
|
|
@@ -648,20 +648,20 @@ const it = class at {
|
|
|
648
648
|
description;
|
|
649
649
|
intervals;
|
|
650
650
|
constructor(e) {
|
|
651
|
-
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || "", this.updateEntityDate = e.updateEntityDate || "", this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.description = e.description || "", this.intervals = e.intervals ? e.intervals.map((t) => new
|
|
651
|
+
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || "", this.updateEntityDate = e.updateEntityDate || "", this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.description = e.description || "", this.intervals = e.intervals ? e.intervals.map((t) => new yr(t)) : [];
|
|
652
652
|
}
|
|
653
|
-
static newInstance = () => new
|
|
654
|
-
id:
|
|
653
|
+
static newInstance = () => new wt({
|
|
654
|
+
id: Z(),
|
|
655
655
|
intervals: []
|
|
656
656
|
});
|
|
657
657
|
};
|
|
658
|
-
|
|
659
|
-
|
|
658
|
+
k([
|
|
659
|
+
Q({
|
|
660
660
|
message: "archbase:Informe a descrição do cronograma de acesso"
|
|
661
661
|
})
|
|
662
|
-
],
|
|
663
|
-
let
|
|
664
|
-
const
|
|
662
|
+
], yt.prototype, "description");
|
|
663
|
+
let vt = yt;
|
|
664
|
+
const De = class bt {
|
|
665
665
|
id;
|
|
666
666
|
code;
|
|
667
667
|
version;
|
|
@@ -674,30 +674,30 @@ const Ae = class lt {
|
|
|
674
674
|
startTime;
|
|
675
675
|
endTime;
|
|
676
676
|
constructor(e) {
|
|
677
|
-
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.updateEntityDate = e.updateEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.accessSchedule = e.accessSchedule ? new
|
|
677
|
+
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.updateEntityDate = e.updateEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.accessSchedule = e.accessSchedule ? new vt(e.accessSchedule) : void 0, this.dayOfWeek = e.dayOfWeek || 0, this.startTime = e.startTime || "", this.endTime = e.endTime || "";
|
|
678
678
|
}
|
|
679
|
-
static newInstance = () => new
|
|
680
|
-
id:
|
|
679
|
+
static newInstance = () => new bt({
|
|
680
|
+
id: Z(),
|
|
681
681
|
dayOfWeek: (/* @__PURE__ */ new Date()).getDay(),
|
|
682
682
|
startTime: "08:00",
|
|
683
683
|
endTime: "17:00"
|
|
684
684
|
});
|
|
685
685
|
};
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
],
|
|
689
|
-
|
|
690
|
-
|
|
686
|
+
k([
|
|
687
|
+
de()
|
|
688
|
+
], De.prototype, "accessSchedule");
|
|
689
|
+
k([
|
|
690
|
+
Q({
|
|
691
691
|
message: "archbase:Informe a hora de início"
|
|
692
692
|
})
|
|
693
|
-
],
|
|
694
|
-
|
|
695
|
-
|
|
693
|
+
], De.prototype, "startTime");
|
|
694
|
+
k([
|
|
695
|
+
Q({
|
|
696
696
|
message: "archbase:Informe a hora de término"
|
|
697
697
|
})
|
|
698
|
-
],
|
|
699
|
-
let
|
|
700
|
-
class
|
|
698
|
+
], De.prototype, "endTime");
|
|
699
|
+
let yr = De;
|
|
700
|
+
class ge {
|
|
701
701
|
id;
|
|
702
702
|
code;
|
|
703
703
|
version;
|
|
@@ -712,20 +712,20 @@ class le {
|
|
|
712
712
|
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || "", this.updateEntityDate = e.updateEntityDate || "", this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.name = e.name || "", this.description = e.description || "", this.actions = e.actions || [];
|
|
713
713
|
}
|
|
714
714
|
}
|
|
715
|
-
|
|
716
|
-
|
|
715
|
+
k([
|
|
716
|
+
Q({
|
|
717
717
|
message: "archbase:Informe o nome"
|
|
718
718
|
})
|
|
719
|
-
],
|
|
720
|
-
|
|
721
|
-
|
|
719
|
+
], ge.prototype, "name");
|
|
720
|
+
k([
|
|
721
|
+
Q({
|
|
722
722
|
message: "archbase:Informe a descrição"
|
|
723
723
|
})
|
|
724
|
-
],
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
],
|
|
728
|
-
const
|
|
724
|
+
], ge.prototype, "description");
|
|
725
|
+
k([
|
|
726
|
+
de()
|
|
727
|
+
], ge.prototype, "actions");
|
|
728
|
+
const ye = class At {
|
|
729
729
|
id;
|
|
730
730
|
code;
|
|
731
731
|
version;
|
|
@@ -741,48 +741,48 @@ const de = class dt {
|
|
|
741
741
|
actionVersion;
|
|
742
742
|
isNewAction;
|
|
743
743
|
constructor(e) {
|
|
744
|
-
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.updateEntityDate = e.updateEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.name = e.name || "", this.description = e.description || "", this.resource = e.resource ? new
|
|
744
|
+
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.updateEntityDate = e.updateEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.name = e.name || "", this.description = e.description || "", this.resource = e.resource ? new xt(e.resource) : void 0, this.category = e.category || "", this.active = e.active || !1, this.actionVersion = e.actionVersion || "", this.isNewAction = e.isNewAction || !1;
|
|
745
745
|
}
|
|
746
|
-
static newInstance = () => new
|
|
747
|
-
id:
|
|
746
|
+
static newInstance = () => new At({
|
|
747
|
+
id: Z(),
|
|
748
748
|
active: !0,
|
|
749
749
|
isNewAction: !0
|
|
750
750
|
});
|
|
751
751
|
};
|
|
752
|
-
|
|
753
|
-
|
|
752
|
+
k([
|
|
753
|
+
Q({
|
|
754
754
|
message: "archbase:Informe o nome para a ação"
|
|
755
755
|
})
|
|
756
|
-
],
|
|
757
|
-
|
|
758
|
-
|
|
756
|
+
], ye.prototype, "name");
|
|
757
|
+
k([
|
|
758
|
+
Q({
|
|
759
759
|
message: "archbase:Informe a descrição para a ação"
|
|
760
760
|
})
|
|
761
|
-
],
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
],
|
|
765
|
-
|
|
766
|
-
|
|
761
|
+
], ye.prototype, "description");
|
|
762
|
+
k([
|
|
763
|
+
de()
|
|
764
|
+
], ye.prototype, "resource");
|
|
765
|
+
k([
|
|
766
|
+
Q({
|
|
767
767
|
message: "archbase:Informe a categoria para a ação"
|
|
768
768
|
})
|
|
769
|
-
],
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
],
|
|
773
|
-
let
|
|
774
|
-
class
|
|
769
|
+
], ye.prototype, "category");
|
|
770
|
+
k([
|
|
771
|
+
re()
|
|
772
|
+
], ye.prototype, "active");
|
|
773
|
+
let wr = ye;
|
|
774
|
+
class Ee extends ge {
|
|
775
775
|
type;
|
|
776
776
|
isNewProfile;
|
|
777
777
|
constructor(e) {
|
|
778
|
-
super(e), this.type =
|
|
778
|
+
super(e), this.type = fe.PROFILE, this.isNewProfile = e.isNewProfile || !1;
|
|
779
779
|
}
|
|
780
|
-
static newInstance = () => new
|
|
781
|
-
id:
|
|
780
|
+
static newInstance = () => new Ee({
|
|
781
|
+
id: Z(),
|
|
782
782
|
isNewProfile: !0
|
|
783
783
|
});
|
|
784
784
|
}
|
|
785
|
-
class
|
|
785
|
+
class We {
|
|
786
786
|
id;
|
|
787
787
|
code;
|
|
788
788
|
version;
|
|
@@ -792,25 +792,25 @@ class Be {
|
|
|
792
792
|
lastModifiedByUser;
|
|
793
793
|
group;
|
|
794
794
|
constructor(e) {
|
|
795
|
-
this.id = e.id, this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.updateEntityDate = e.updateEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.group = e.group ? new
|
|
795
|
+
this.id = e.id, this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.updateEntityDate = e.updateEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.group = e.group ? new xe(e.group) : void 0;
|
|
796
796
|
}
|
|
797
|
-
static newInstance = (e) => new
|
|
798
|
-
id:
|
|
797
|
+
static newInstance = (e) => new We({
|
|
798
|
+
id: Z(),
|
|
799
799
|
group: e
|
|
800
800
|
});
|
|
801
801
|
}
|
|
802
|
-
class
|
|
802
|
+
class xe extends ge {
|
|
803
803
|
type;
|
|
804
804
|
isNewGroup;
|
|
805
805
|
constructor(e) {
|
|
806
|
-
super(e), this.type =
|
|
806
|
+
super(e), this.type = fe.GROUP, this.isNewGroup = e.isNewGroup || !1;
|
|
807
807
|
}
|
|
808
|
-
static newInstance = () => new
|
|
809
|
-
id:
|
|
808
|
+
static newInstance = () => new xe({
|
|
809
|
+
id: Z(),
|
|
810
810
|
isNewGroup: !0
|
|
811
811
|
});
|
|
812
812
|
}
|
|
813
|
-
const
|
|
813
|
+
const _e = class Et {
|
|
814
814
|
id;
|
|
815
815
|
code;
|
|
816
816
|
version;
|
|
@@ -827,28 +827,28 @@ const be = class ut {
|
|
|
827
827
|
constructor(e) {
|
|
828
828
|
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || "", this.updateEntityDate = e.updateEntityDate || "", this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.name = e.name || "", this.description = e.description || "", this.actions = e.actions || [], this.active = e.active || !1, this.type = e.type || "VIEW", this.isNewResource = e.isNewResource || !1;
|
|
829
829
|
}
|
|
830
|
-
static newInstance = () => new
|
|
831
|
-
id:
|
|
830
|
+
static newInstance = () => new Et({
|
|
831
|
+
id: Z(),
|
|
832
832
|
actions: [],
|
|
833
833
|
active: !0,
|
|
834
834
|
isNewResource: !0
|
|
835
835
|
});
|
|
836
836
|
};
|
|
837
|
-
|
|
838
|
-
|
|
837
|
+
k([
|
|
838
|
+
Q({
|
|
839
839
|
message: "archbase:Informe o nome para o recurso"
|
|
840
840
|
})
|
|
841
|
-
],
|
|
842
|
-
|
|
843
|
-
|
|
841
|
+
], _e.prototype, "name");
|
|
842
|
+
k([
|
|
843
|
+
Q({
|
|
844
844
|
message: "archbase:Informe a descrição para o recurso"
|
|
845
845
|
})
|
|
846
|
-
],
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
],
|
|
850
|
-
let
|
|
851
|
-
const
|
|
846
|
+
], _e.prototype, "description");
|
|
847
|
+
k([
|
|
848
|
+
re()
|
|
849
|
+
], _e.prototype, "active");
|
|
850
|
+
let xt = _e;
|
|
851
|
+
const H = class kt extends ge {
|
|
852
852
|
userName;
|
|
853
853
|
password;
|
|
854
854
|
changePasswordOnNextLogin;
|
|
@@ -868,10 +868,10 @@ const M = class pt extends le {
|
|
|
868
868
|
type;
|
|
869
869
|
isNewUser;
|
|
870
870
|
constructor(e) {
|
|
871
|
-
super(e), this.type =
|
|
871
|
+
super(e), this.type = fe.USER, this.userName = e.userName || "", this.password = e.password || "", this.changePasswordOnNextLogin = e.changePasswordOnNextLogin || !1, this.allowPasswordChange = e.allowPasswordChange || !1, this.allowMultipleLogins = e.allowMultipleLogins || !1, this.passwordNeverExpires = e.passwordNeverExpires || !1, this.accountDeactivated = e.accountDeactivated || !1, this.accountLocked = e.accountLocked || !1, this.unlimitedAccessHours = e.unlimitedAccessHours || !1, this.isAdministrator = e.isAdministrator || !1, this.accessSchedule = e.accessSchedule ? new vt(e.accessSchedule) : void 0, this.groups = e.groups ? e.groups.map((t) => new We(t)) : [], this.profile = e.profile ? new Ee(e.profile) : void 0, this.email = e.email || "", this.avatar = e.avatar || void 0, this.isNewUser = e.isNewUser || !1, this.nickname = e.nickname;
|
|
872
872
|
}
|
|
873
|
-
static newInstance = () => new
|
|
874
|
-
id:
|
|
873
|
+
static newInstance = () => new kt({
|
|
874
|
+
id: Z(),
|
|
875
875
|
userName: "",
|
|
876
876
|
password: "",
|
|
877
877
|
groups: [],
|
|
@@ -882,54 +882,54 @@ const M = class pt extends le {
|
|
|
882
882
|
isNewUser: !0
|
|
883
883
|
});
|
|
884
884
|
};
|
|
885
|
-
|
|
886
|
-
|
|
885
|
+
k([
|
|
886
|
+
Q({
|
|
887
887
|
message: "archbase:Informe o nome de usuário"
|
|
888
888
|
})
|
|
889
|
-
],
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
],
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
],
|
|
896
|
-
|
|
897
|
-
q()
|
|
898
|
-
], M.prototype, "allowMultipleLogins");
|
|
899
|
-
v([
|
|
900
|
-
q()
|
|
901
|
-
], M.prototype, "passwordNeverExpires");
|
|
902
|
-
v([
|
|
903
|
-
q()
|
|
904
|
-
], M.prototype, "accountDeactivated");
|
|
905
|
-
v([
|
|
906
|
-
q()
|
|
907
|
-
], M.prototype, "accountLocked");
|
|
908
|
-
v([
|
|
909
|
-
q()
|
|
910
|
-
], M.prototype, "unlimitedAccessHours");
|
|
911
|
-
v([
|
|
912
|
-
q()
|
|
913
|
-
], M.prototype, "isAdministrator");
|
|
914
|
-
v([
|
|
889
|
+
], H.prototype, "userName");
|
|
890
|
+
k([
|
|
891
|
+
re()
|
|
892
|
+
], H.prototype, "changePasswordOnNextLogin");
|
|
893
|
+
k([
|
|
894
|
+
re()
|
|
895
|
+
], H.prototype, "allowPasswordChange");
|
|
896
|
+
k([
|
|
915
897
|
re()
|
|
916
|
-
],
|
|
917
|
-
|
|
898
|
+
], H.prototype, "allowMultipleLogins");
|
|
899
|
+
k([
|
|
918
900
|
re()
|
|
919
|
-
],
|
|
920
|
-
|
|
901
|
+
], H.prototype, "passwordNeverExpires");
|
|
902
|
+
k([
|
|
921
903
|
re()
|
|
922
|
-
],
|
|
923
|
-
|
|
924
|
-
|
|
904
|
+
], H.prototype, "accountDeactivated");
|
|
905
|
+
k([
|
|
906
|
+
re()
|
|
907
|
+
], H.prototype, "accountLocked");
|
|
908
|
+
k([
|
|
909
|
+
re()
|
|
910
|
+
], H.prototype, "unlimitedAccessHours");
|
|
911
|
+
k([
|
|
912
|
+
re()
|
|
913
|
+
], H.prototype, "isAdministrator");
|
|
914
|
+
k([
|
|
915
|
+
de()
|
|
916
|
+
], H.prototype, "accessSchedule");
|
|
917
|
+
k([
|
|
918
|
+
de()
|
|
919
|
+
], H.prototype, "groups");
|
|
920
|
+
k([
|
|
921
|
+
de()
|
|
922
|
+
], H.prototype, "profile");
|
|
923
|
+
k([
|
|
924
|
+
$t(
|
|
925
925
|
{},
|
|
926
926
|
{
|
|
927
927
|
message: "archbase:Informe um email válido"
|
|
928
928
|
}
|
|
929
929
|
)
|
|
930
|
-
],
|
|
931
|
-
let
|
|
932
|
-
const
|
|
930
|
+
], H.prototype, "email");
|
|
931
|
+
let Re = H;
|
|
932
|
+
const He = class ze {
|
|
933
933
|
id;
|
|
934
934
|
code;
|
|
935
935
|
version;
|
|
@@ -943,35 +943,35 @@ const Me = class De {
|
|
|
943
943
|
companyId;
|
|
944
944
|
projectId;
|
|
945
945
|
constructor(e) {
|
|
946
|
-
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || "", this.updateEntityDate = e.updateEntityDate || "", this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.security = e.security ?
|
|
946
|
+
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || "", this.updateEntityDate = e.updateEntityDate || "", this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.security = e.security ? ze.createDtoFromJson(e.security) : void 0, this.action = e.action ? new wr(e.action) : void 0, this.tenantId = e.tenantId || "", this.companyId = e.companyId || "", this.projectId = e.projectId || "";
|
|
947
947
|
}
|
|
948
948
|
static createDtoFromJson(e) {
|
|
949
949
|
switch (e.type) {
|
|
950
950
|
case "profile":
|
|
951
|
-
return new
|
|
951
|
+
return new Ee(e);
|
|
952
952
|
case "group":
|
|
953
|
-
return new
|
|
953
|
+
return new xe(e);
|
|
954
954
|
case "user":
|
|
955
|
-
return new
|
|
955
|
+
return new Re(e);
|
|
956
956
|
default:
|
|
957
957
|
throw new Error("Unknown DTO type");
|
|
958
958
|
}
|
|
959
959
|
}
|
|
960
|
-
static newInstance = () => new
|
|
961
|
-
id:
|
|
960
|
+
static newInstance = () => new ze({
|
|
961
|
+
id: Z(),
|
|
962
962
|
tenantId: "",
|
|
963
963
|
companyId: "",
|
|
964
964
|
projectId: ""
|
|
965
965
|
});
|
|
966
966
|
};
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
],
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
],
|
|
973
|
-
let
|
|
974
|
-
class
|
|
967
|
+
k([
|
|
968
|
+
de()
|
|
969
|
+
], He.prototype, "security");
|
|
970
|
+
k([
|
|
971
|
+
de()
|
|
972
|
+
], He.prototype, "action");
|
|
973
|
+
let Fr = He;
|
|
974
|
+
class Ge {
|
|
975
975
|
id;
|
|
976
976
|
code;
|
|
977
977
|
version;
|
|
@@ -989,13 +989,13 @@ class Oe {
|
|
|
989
989
|
activated;
|
|
990
990
|
isNovoToken;
|
|
991
991
|
constructor(e) {
|
|
992
|
-
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || "", this.updateEntityDate = e.updateEntityDate || "", this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.tenantId = e.tenantId || "", this.user = e.user ? new
|
|
992
|
+
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || "", this.updateEntityDate = e.updateEntityDate || "", this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.tenantId = e.tenantId || "", this.user = e.user ? new Re(e.user) : void 0, this.name = e.name || "", this.description = e.description || "", this.token = e.token || "", this.expirationDate = e.expirationDate, this.revoked = e.revoked, this.activated = e.activated || !1;
|
|
993
993
|
}
|
|
994
|
-
static newInstance = () => new
|
|
995
|
-
id:
|
|
994
|
+
static newInstance = () => new Ge({
|
|
995
|
+
id: Z()
|
|
996
996
|
});
|
|
997
997
|
}
|
|
998
|
-
class
|
|
998
|
+
class Je {
|
|
999
999
|
id;
|
|
1000
1000
|
code;
|
|
1001
1001
|
version;
|
|
@@ -1012,23 +1012,23 @@ class Le {
|
|
|
1012
1012
|
user;
|
|
1013
1013
|
isNewAccessToken;
|
|
1014
1014
|
constructor(e) {
|
|
1015
|
-
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.updateEntityDate = e.updateEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.token = e.token || "", this.tokenType = e.tokenType || void 0, this.user = e.user ? new
|
|
1015
|
+
this.id = e.id || "", this.code = e.code || "", this.version = e.version || 0, this.createEntityDate = e.createEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.updateEntityDate = e.updateEntityDate || (/* @__PURE__ */ new Date()).toISOString(), this.createdByUser = e.createdByUser || "", this.lastModifiedByUser = e.lastModifiedByUser || "", this.token = e.token || "", this.tokenType = e.tokenType || void 0, this.user = e.user ? new Re(e.user) : void 0, this.revoked = e.revoked || !1, this.expired = e.expired || !1, this.expirationTime = e.expirationTime || 0, this.expirationDate = e.expirationDate || "", this.isNewAccessToken = e.isNewAccessToken || !1;
|
|
1016
1016
|
}
|
|
1017
|
-
static newInstance = () => new
|
|
1018
|
-
id:
|
|
1017
|
+
static newInstance = () => new Je({
|
|
1018
|
+
id: Z(),
|
|
1019
1019
|
active: !0,
|
|
1020
1020
|
isNewAccessToken: !0
|
|
1021
1021
|
});
|
|
1022
1022
|
}
|
|
1023
|
-
class
|
|
1023
|
+
class St extends me {
|
|
1024
1024
|
constructor(e) {
|
|
1025
1025
|
super(e);
|
|
1026
1026
|
}
|
|
1027
1027
|
configureHeaders() {
|
|
1028
|
-
return
|
|
1028
|
+
return J.getInstance().getHeaders();
|
|
1029
1029
|
}
|
|
1030
1030
|
transform(e) {
|
|
1031
|
-
return new
|
|
1031
|
+
return new Re(e);
|
|
1032
1032
|
}
|
|
1033
1033
|
getEndpoint() {
|
|
1034
1034
|
return "/api/v1/user";
|
|
@@ -1047,17 +1047,17 @@ class ft extends ce {
|
|
|
1047
1047
|
return this.transform(t);
|
|
1048
1048
|
}
|
|
1049
1049
|
}
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
class
|
|
1050
|
+
U.decorate(U.inject(X.ApiClient), St, 0);
|
|
1051
|
+
U.decorate(U.injectable(), St);
|
|
1052
|
+
class It extends me {
|
|
1053
1053
|
constructor(e) {
|
|
1054
1054
|
super(e);
|
|
1055
1055
|
}
|
|
1056
1056
|
configureHeaders() {
|
|
1057
|
-
return
|
|
1057
|
+
return J.getInstance().getHeaders();
|
|
1058
1058
|
}
|
|
1059
1059
|
transform(e) {
|
|
1060
|
-
return new
|
|
1060
|
+
return new xe(e);
|
|
1061
1061
|
}
|
|
1062
1062
|
getEndpoint() {
|
|
1063
1063
|
return "/api/v1/group";
|
|
@@ -1069,17 +1069,17 @@ class mt extends ce {
|
|
|
1069
1069
|
return e.isNewGroup;
|
|
1070
1070
|
}
|
|
1071
1071
|
}
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
class
|
|
1072
|
+
U.decorate(U.inject(X.ApiClient), It, 0);
|
|
1073
|
+
U.decorate(U.injectable(), It);
|
|
1074
|
+
class Ct extends me {
|
|
1075
1075
|
constructor(e) {
|
|
1076
1076
|
super(e);
|
|
1077
1077
|
}
|
|
1078
1078
|
configureHeaders() {
|
|
1079
|
-
return
|
|
1079
|
+
return J.getInstance().getHeaders();
|
|
1080
1080
|
}
|
|
1081
1081
|
transform(e) {
|
|
1082
|
-
return new
|
|
1082
|
+
return new Ee(e);
|
|
1083
1083
|
}
|
|
1084
1084
|
getEndpoint() {
|
|
1085
1085
|
return "/api/v1/userProfile";
|
|
@@ -1091,17 +1091,17 @@ class gt extends ce {
|
|
|
1091
1091
|
return e.isNewProfile;
|
|
1092
1092
|
}
|
|
1093
1093
|
}
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
class
|
|
1094
|
+
U.decorate(U.inject(X.ApiClient), Ct, 0);
|
|
1095
|
+
U.decorate(U.injectable(), Ct);
|
|
1096
|
+
class Pt extends me {
|
|
1097
1097
|
constructor(e) {
|
|
1098
1098
|
super(e);
|
|
1099
1099
|
}
|
|
1100
1100
|
configureHeaders() {
|
|
1101
|
-
return
|
|
1101
|
+
return J.getInstance().getHeaders();
|
|
1102
1102
|
}
|
|
1103
1103
|
transform(e) {
|
|
1104
|
-
return new
|
|
1104
|
+
return new Ge(e);
|
|
1105
1105
|
}
|
|
1106
1106
|
getEndpoint() {
|
|
1107
1107
|
return "/api/v1/apiToken";
|
|
@@ -1113,12 +1113,12 @@ class yt extends ce {
|
|
|
1113
1113
|
return e.isNovoToken;
|
|
1114
1114
|
}
|
|
1115
1115
|
async create(e, t, s, o) {
|
|
1116
|
-
const
|
|
1116
|
+
const a = await this.client.post(
|
|
1117
1117
|
`${this.getEndpoint()}/create?email=${e}&expirationDate=${t}&name=${s}&description=${o}`,
|
|
1118
1118
|
void 0,
|
|
1119
1119
|
this.configureHeaders()
|
|
1120
1120
|
);
|
|
1121
|
-
return this.transform(
|
|
1121
|
+
return this.transform(a);
|
|
1122
1122
|
}
|
|
1123
1123
|
async revoke(e) {
|
|
1124
1124
|
await this.client.post(
|
|
@@ -1128,17 +1128,17 @@ class yt extends ce {
|
|
|
1128
1128
|
);
|
|
1129
1129
|
}
|
|
1130
1130
|
}
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
class
|
|
1131
|
+
U.decorate(U.inject(X.ApiClient), Pt, 0);
|
|
1132
|
+
U.decorate(U.injectable(), Pt);
|
|
1133
|
+
class Tt extends me {
|
|
1134
1134
|
constructor(e) {
|
|
1135
1135
|
super(e);
|
|
1136
1136
|
}
|
|
1137
1137
|
configureHeaders() {
|
|
1138
|
-
return
|
|
1138
|
+
return J.getInstance().getHeaders();
|
|
1139
1139
|
}
|
|
1140
1140
|
transform(e) {
|
|
1141
|
-
return new
|
|
1141
|
+
return new Je(e);
|
|
1142
1142
|
}
|
|
1143
1143
|
getEndpoint() {
|
|
1144
1144
|
return "/api/v1/accessToken";
|
|
@@ -1157,17 +1157,17 @@ class wt extends ce {
|
|
|
1157
1157
|
);
|
|
1158
1158
|
}
|
|
1159
1159
|
}
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
class
|
|
1160
|
+
U.decorate(U.inject(X.ApiClient), Tt, 0);
|
|
1161
|
+
U.decorate(U.injectable(), Tt);
|
|
1162
|
+
class Ut extends me {
|
|
1163
1163
|
constructor(e) {
|
|
1164
1164
|
super(e);
|
|
1165
1165
|
}
|
|
1166
1166
|
configureHeaders() {
|
|
1167
|
-
return
|
|
1167
|
+
return J.getInstance().getHeaders();
|
|
1168
1168
|
}
|
|
1169
1169
|
transform(e) {
|
|
1170
|
-
return new
|
|
1170
|
+
return new xt(e);
|
|
1171
1171
|
}
|
|
1172
1172
|
getEndpoint() {
|
|
1173
1173
|
return "/api/v1/resource";
|
|
@@ -1191,7 +1191,7 @@ class vt extends ce {
|
|
|
1191
1191
|
!1,
|
|
1192
1192
|
{
|
|
1193
1193
|
params: {
|
|
1194
|
-
type:
|
|
1194
|
+
type: Ye(fe, t)
|
|
1195
1195
|
}
|
|
1196
1196
|
}
|
|
1197
1197
|
);
|
|
@@ -1202,7 +1202,7 @@ class vt extends ce {
|
|
|
1202
1202
|
{
|
|
1203
1203
|
securityId: e,
|
|
1204
1204
|
actionId: t,
|
|
1205
|
-
type:
|
|
1205
|
+
type: Ye(fe, s)
|
|
1206
1206
|
},
|
|
1207
1207
|
this.configureHeaders()
|
|
1208
1208
|
);
|
|
@@ -1221,537 +1221,715 @@ class vt extends ce {
|
|
|
1221
1221
|
);
|
|
1222
1222
|
}
|
|
1223
1223
|
}
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
function
|
|
1224
|
+
U.decorate(U.inject(X.ApiClient), Ut, 0);
|
|
1225
|
+
U.decorate(U.injectable(), Ut);
|
|
1226
|
+
function Vr({
|
|
1227
1227
|
onLogin: r,
|
|
1228
1228
|
error: e,
|
|
1229
1229
|
onClickForgotPassword: t,
|
|
1230
1230
|
loginLabel: s = "Email",
|
|
1231
1231
|
loginPlaceholder: o,
|
|
1232
|
-
afterInputs:
|
|
1233
|
-
showMockUsersSelector:
|
|
1232
|
+
afterInputs: a,
|
|
1233
|
+
showMockUsersSelector: c = !1,
|
|
1234
1234
|
mockUsers: i = [],
|
|
1235
|
-
mockUsersGroupMap:
|
|
1236
|
-
options:
|
|
1237
|
-
onChangeUsername:
|
|
1238
|
-
disabledLogin:
|
|
1239
|
-
isCheckingUsername:
|
|
1240
|
-
showSignIn:
|
|
1235
|
+
mockUsersGroupMap: l,
|
|
1236
|
+
options: g = {},
|
|
1237
|
+
onChangeUsername: E,
|
|
1238
|
+
disabledLogin: d = !1,
|
|
1239
|
+
isCheckingUsername: _ = !1,
|
|
1240
|
+
showSignIn: v = !0,
|
|
1241
|
+
mfaRequired: f = !1,
|
|
1242
|
+
onVerifyMfa: S,
|
|
1243
|
+
mfaError: D,
|
|
1244
|
+
onCancelMfa: B,
|
|
1245
|
+
isVerifyingMfa: O = !1
|
|
1241
1246
|
}) {
|
|
1242
|
-
const
|
|
1243
|
-
username:
|
|
1244
|
-
password:
|
|
1245
|
-
rememberMe:
|
|
1246
|
-
clearRememberMe:
|
|
1247
|
-
} =
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
}, [e]),
|
|
1251
|
-
|
|
1252
|
-
}, [
|
|
1253
|
-
const
|
|
1254
|
-
|
|
1255
|
-
},
|
|
1256
|
-
|
|
1257
|
-
},
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1247
|
+
const F = lt(), {
|
|
1248
|
+
username: N,
|
|
1249
|
+
password: w,
|
|
1250
|
+
rememberMe: m,
|
|
1251
|
+
clearRememberMe: R
|
|
1252
|
+
} = zt(), [V, C] = h(N), [L, q] = h(w), [ee, Y] = h(m), [ie, p] = h(!1), [y, te] = h(null), [T, ue] = h("");
|
|
1253
|
+
K(() => {
|
|
1254
|
+
p(!!e);
|
|
1255
|
+
}, [e]), K(() => {
|
|
1256
|
+
N !== V && (C(N), E?.(N)), w !== L && q(w), m !== ee && Y(m);
|
|
1257
|
+
}, [N, w, m]);
|
|
1258
|
+
const se = () => {
|
|
1259
|
+
p(!1);
|
|
1260
|
+
}, we = () => {
|
|
1261
|
+
V && L && r(V, L, ee).finally(() => p(!0));
|
|
1262
|
+
}, u = () => {
|
|
1263
|
+
const A = T.trim();
|
|
1264
|
+
A && S && S(A);
|
|
1265
|
+
}, b = () => {
|
|
1266
|
+
if (!l)
|
|
1267
|
+
return i.map((M) => ({
|
|
1268
|
+
value: M.email,
|
|
1269
|
+
label: M.email
|
|
1262
1270
|
}));
|
|
1263
|
-
const
|
|
1264
|
-
const
|
|
1265
|
-
return
|
|
1266
|
-
value:
|
|
1267
|
-
label:
|
|
1268
|
-
})),
|
|
1271
|
+
const A = i.reduce((M, ve) => {
|
|
1272
|
+
const ke = l[ve.type];
|
|
1273
|
+
return ke && (M[ke] || (M[ke] = []), M[ke].push({
|
|
1274
|
+
value: ve.email,
|
|
1275
|
+
label: ve.email
|
|
1276
|
+
})), M;
|
|
1269
1277
|
}, {});
|
|
1270
|
-
return Object.entries(
|
|
1271
|
-
group:
|
|
1272
|
-
items:
|
|
1278
|
+
return Object.entries(A).map(([M, ve]) => ({
|
|
1279
|
+
group: M,
|
|
1280
|
+
items: ve
|
|
1273
1281
|
}));
|
|
1274
|
-
},
|
|
1275
|
-
if (
|
|
1276
|
-
const
|
|
1277
|
-
|
|
1282
|
+
}, I = () => {
|
|
1283
|
+
if (y) {
|
|
1284
|
+
const A = i.find((M) => M.email === y);
|
|
1285
|
+
A && (C(A.email), q(A.password), se());
|
|
1278
1286
|
}
|
|
1279
|
-
},
|
|
1287
|
+
}, $ = {
|
|
1280
1288
|
withBorder: !0,
|
|
1281
1289
|
shadow: "md",
|
|
1282
1290
|
p: 30,
|
|
1283
1291
|
mt: 30,
|
|
1284
1292
|
radius: "md",
|
|
1285
1293
|
w: 400,
|
|
1286
|
-
...
|
|
1294
|
+
...g.cardProps
|
|
1287
1295
|
};
|
|
1288
|
-
return /* @__PURE__ */
|
|
1289
|
-
|
|
1296
|
+
return /* @__PURE__ */ P(
|
|
1297
|
+
Ve,
|
|
1290
1298
|
{
|
|
1291
|
-
|
|
1299
|
+
...$,
|
|
1292
1300
|
pos: "relative",
|
|
1293
|
-
ref:
|
|
1301
|
+
ref: F,
|
|
1294
1302
|
children: [
|
|
1295
|
-
|
|
1296
|
-
/* @__PURE__ */
|
|
1297
|
-
|
|
1303
|
+
v && /* @__PURE__ */ P(ne, { children: [
|
|
1304
|
+
/* @__PURE__ */ n(
|
|
1305
|
+
j,
|
|
1298
1306
|
{
|
|
1299
1307
|
c: "light-dark(var(--mantine-color-black), var(--mantine-color-white))",
|
|
1300
1308
|
fw: 800,
|
|
1301
1309
|
fz: { base: "20px", md: "35px" },
|
|
1302
1310
|
style: { textAlign: "center", letterSpacing: "-1px" },
|
|
1303
1311
|
mt: "xs",
|
|
1304
|
-
children:
|
|
1312
|
+
children: x().t("archbase:signIn")
|
|
1305
1313
|
}
|
|
1306
1314
|
),
|
|
1307
|
-
/* @__PURE__ */
|
|
1315
|
+
/* @__PURE__ */ n(Te, { m: "md" })
|
|
1308
1316
|
] }),
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
/* @__PURE__ */
|
|
1312
|
-
/* @__PURE__ */
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
data: p(),
|
|
1317
|
-
value: H,
|
|
1318
|
-
onChange: (a) => Y(a ?? ""),
|
|
1319
|
-
searchable: !0,
|
|
1320
|
-
clearable: !0,
|
|
1321
|
-
style: { flexGrow: 1 }
|
|
1322
|
-
}
|
|
1323
|
-
),
|
|
1324
|
-
/* @__PURE__ */ d(Bt, { label: "Aplicar", children: /* @__PURE__ */ d(
|
|
1325
|
-
ie,
|
|
1326
|
-
{
|
|
1327
|
-
variant: "light",
|
|
1328
|
-
size: "sm",
|
|
1329
|
-
onClick: n,
|
|
1330
|
-
disabled: !H,
|
|
1331
|
-
"aria-label": "Aplicar usuário mock selecionado",
|
|
1332
|
-
children: /* @__PURE__ */ d(Ft, { size: 16 })
|
|
1333
|
-
}
|
|
1317
|
+
g?.customContentBefore,
|
|
1318
|
+
f && /* @__PURE__ */ P(be, { gap: "md", children: [
|
|
1319
|
+
/* @__PURE__ */ P("div", { children: [
|
|
1320
|
+
/* @__PURE__ */ n(j, { fw: 700, fz: "lg", children: x().t("archbase:mfa.title", "Verificação em duas etapas") }),
|
|
1321
|
+
/* @__PURE__ */ n(j, { c: "dimmed", fz: "sm", children: x().t(
|
|
1322
|
+
"archbase:mfa.subtitle",
|
|
1323
|
+
"Digite o código do seu aplicativo autenticador (ou um código de recuperação)."
|
|
1334
1324
|
) })
|
|
1335
1325
|
] }),
|
|
1336
|
-
/* @__PURE__ */
|
|
1337
|
-
|
|
1338
|
-
/* @__PURE__ */ d(
|
|
1339
|
-
Ce,
|
|
1340
|
-
{
|
|
1341
|
-
label: s,
|
|
1342
|
-
placeholder: o ?? S().t("archbase:usuario@email.com"),
|
|
1343
|
-
rightSection: C ? /* @__PURE__ */ d(Xe, { size: "xs" }) : null,
|
|
1344
|
-
value: D || "",
|
|
1345
|
-
required: !0,
|
|
1346
|
-
onChange: (a) => {
|
|
1347
|
-
N(a.currentTarget.value), b?.(a.currentTarget.value), $();
|
|
1348
|
-
}
|
|
1349
|
-
}
|
|
1350
|
-
),
|
|
1351
|
-
/* @__PURE__ */ d(
|
|
1352
|
-
Ue,
|
|
1353
|
-
{
|
|
1354
|
-
label: S().t("archbase:Password"),
|
|
1355
|
-
placeholder: S().t("archbase:Sua senha"),
|
|
1356
|
-
onChange: (a) => {
|
|
1357
|
-
A(a.currentTarget.value), $();
|
|
1358
|
-
},
|
|
1359
|
-
value: k || "",
|
|
1360
|
-
required: !0,
|
|
1361
|
-
mt: "md"
|
|
1362
|
-
}
|
|
1363
|
-
),
|
|
1364
|
-
/* @__PURE__ */ R(we, { justify: "space-between", mt: "md", children: [
|
|
1365
|
-
/* @__PURE__ */ d(
|
|
1366
|
-
Mt,
|
|
1326
|
+
/* @__PURE__ */ n(
|
|
1327
|
+
Ae,
|
|
1367
1328
|
{
|
|
1368
|
-
label:
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1329
|
+
label: x().t("archbase:mfa.code", "Código de verificação"),
|
|
1330
|
+
placeholder: "000000",
|
|
1331
|
+
value: T,
|
|
1332
|
+
autoFocus: !0,
|
|
1333
|
+
onChange: (A) => ue(A.currentTarget.value),
|
|
1334
|
+
onKeyDown: (A) => {
|
|
1335
|
+
A.key === "Enter" && u();
|
|
1373
1336
|
}
|
|
1374
1337
|
}
|
|
1375
1338
|
),
|
|
1376
|
-
|
|
1377
|
-
|
|
1339
|
+
D && /* @__PURE__ */ n(j, { c: "red", fz: "sm", children: D }),
|
|
1340
|
+
/* @__PURE__ */ n(
|
|
1341
|
+
W,
|
|
1342
|
+
{
|
|
1343
|
+
fullWidth: !0,
|
|
1344
|
+
disabled: !T.trim() || O,
|
|
1345
|
+
loading: O,
|
|
1346
|
+
onClick: u,
|
|
1347
|
+
children: x().t("archbase:mfa.verify", "Verificar")
|
|
1348
|
+
}
|
|
1349
|
+
),
|
|
1350
|
+
B && /* @__PURE__ */ n(
|
|
1351
|
+
Qe,
|
|
1378
1352
|
{
|
|
1379
1353
|
component: "button",
|
|
1380
1354
|
c: "var(--mantine-text-color)",
|
|
1381
1355
|
fz: 14,
|
|
1382
|
-
|
|
1356
|
+
ta: "center",
|
|
1383
1357
|
styles: { root: { cursor: "pointer" } },
|
|
1384
|
-
onClick:
|
|
1385
|
-
children:
|
|
1358
|
+
onClick: B,
|
|
1359
|
+
children: x().t("archbase:mfa.back", "Voltar ao login")
|
|
1386
1360
|
}
|
|
1387
1361
|
)
|
|
1388
1362
|
] }),
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1363
|
+
!f && /* @__PURE__ */ P(ne, { children: [
|
|
1364
|
+
c && /* @__PURE__ */ P(ne, { children: [
|
|
1365
|
+
/* @__PURE__ */ P(le, { gap: "sm", mb: "md", children: [
|
|
1366
|
+
/* @__PURE__ */ n(
|
|
1367
|
+
Ht,
|
|
1368
|
+
{
|
|
1369
|
+
placeholder: "Selecione um usuário mock",
|
|
1370
|
+
data: b(),
|
|
1371
|
+
value: y,
|
|
1372
|
+
onChange: (A) => te(A ?? ""),
|
|
1373
|
+
searchable: !0,
|
|
1374
|
+
clearable: !0,
|
|
1375
|
+
style: { flexGrow: 1 }
|
|
1376
|
+
}
|
|
1377
|
+
),
|
|
1378
|
+
/* @__PURE__ */ n(Gt, { label: "Aplicar", children: /* @__PURE__ */ n(
|
|
1379
|
+
W,
|
|
1380
|
+
{
|
|
1381
|
+
variant: "light",
|
|
1382
|
+
size: "sm",
|
|
1383
|
+
onClick: I,
|
|
1384
|
+
disabled: !y,
|
|
1385
|
+
"aria-label": "Aplicar usuário mock selecionado",
|
|
1386
|
+
children: /* @__PURE__ */ n(Xt, { size: 16 })
|
|
1387
|
+
}
|
|
1388
|
+
) })
|
|
1389
|
+
] }),
|
|
1390
|
+
/* @__PURE__ */ n(Te, { mb: "md" })
|
|
1391
|
+
] }),
|
|
1392
|
+
/* @__PURE__ */ n(
|
|
1393
|
+
Ae,
|
|
1394
|
+
{
|
|
1395
|
+
label: s,
|
|
1396
|
+
placeholder: o ?? x().t("archbase:usuario@email.com"),
|
|
1397
|
+
rightSection: _ ? /* @__PURE__ */ n(ct, { size: "xs" }) : null,
|
|
1398
|
+
value: V || "",
|
|
1399
|
+
required: !0,
|
|
1400
|
+
onChange: (A) => {
|
|
1401
|
+
C(A.currentTarget.value), E?.(A.currentTarget.value), se();
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
),
|
|
1405
|
+
/* @__PURE__ */ n(
|
|
1406
|
+
Le,
|
|
1407
|
+
{
|
|
1408
|
+
label: x().t("archbase:Password"),
|
|
1409
|
+
placeholder: x().t("archbase:Sua senha"),
|
|
1410
|
+
onChange: (A) => {
|
|
1411
|
+
q(A.currentTarget.value), se();
|
|
1412
|
+
},
|
|
1413
|
+
value: L || "",
|
|
1414
|
+
required: !0,
|
|
1415
|
+
mt: "md"
|
|
1416
|
+
}
|
|
1417
|
+
),
|
|
1418
|
+
/* @__PURE__ */ P(le, { justify: "space-between", mt: "md", children: [
|
|
1419
|
+
/* @__PURE__ */ n(
|
|
1420
|
+
Jt,
|
|
1421
|
+
{
|
|
1422
|
+
label: x().t("archbase:Lembre-me"),
|
|
1423
|
+
checked: ee,
|
|
1424
|
+
onChange: (A) => {
|
|
1425
|
+
const M = A.currentTarget.checked;
|
|
1426
|
+
Y(M), M || R();
|
|
1427
|
+
}
|
|
1428
|
+
}
|
|
1429
|
+
),
|
|
1430
|
+
t && /* @__PURE__ */ n(
|
|
1431
|
+
Qe,
|
|
1432
|
+
{
|
|
1433
|
+
component: "button",
|
|
1434
|
+
c: "var(--mantine-text-color)",
|
|
1435
|
+
fz: 14,
|
|
1436
|
+
lh: "20px",
|
|
1437
|
+
styles: { root: { cursor: "pointer" } },
|
|
1438
|
+
onClick: t,
|
|
1439
|
+
children: x().t("archbase:Esqueci minha senha")
|
|
1440
|
+
}
|
|
1441
|
+
)
|
|
1442
|
+
] }),
|
|
1443
|
+
g?.afterInputs || a,
|
|
1444
|
+
/* @__PURE__ */ n(
|
|
1445
|
+
W,
|
|
1446
|
+
{
|
|
1447
|
+
disabled: !L || !V || d,
|
|
1448
|
+
fullWidth: !0,
|
|
1449
|
+
mt: "xl",
|
|
1450
|
+
onClick: we,
|
|
1451
|
+
children: x().t("archbase:signIn")
|
|
1452
|
+
}
|
|
1453
|
+
)
|
|
1454
|
+
] }),
|
|
1455
|
+
g?.customContentAfter,
|
|
1456
|
+
ie && e && /* @__PURE__ */ n(j, { c: "red", mt: "sm", children: e })
|
|
1402
1457
|
]
|
|
1403
1458
|
}
|
|
1404
1459
|
);
|
|
1405
1460
|
}
|
|
1406
|
-
const
|
|
1461
|
+
const z = (r, e) => x().t(r, e);
|
|
1462
|
+
function Wr({
|
|
1463
|
+
enabled: r,
|
|
1464
|
+
onSetup: e,
|
|
1465
|
+
onEnable: t,
|
|
1466
|
+
onDisable: s,
|
|
1467
|
+
onStatusChange: o
|
|
1468
|
+
}) {
|
|
1469
|
+
const [a, c] = h("idle"), [i, l] = h(null), [g, E] = h(""), [d, _] = h([]), [v, f] = h(!1), [S, D] = h(null), B = async () => {
|
|
1470
|
+
f(!0), D(null);
|
|
1471
|
+
try {
|
|
1472
|
+
const w = await e();
|
|
1473
|
+
l(w), E(""), c("setup");
|
|
1474
|
+
} catch (w) {
|
|
1475
|
+
D(w?.message || String(w));
|
|
1476
|
+
} finally {
|
|
1477
|
+
f(!1);
|
|
1478
|
+
}
|
|
1479
|
+
}, O = async () => {
|
|
1480
|
+
const w = g.trim();
|
|
1481
|
+
if (w) {
|
|
1482
|
+
f(!0), D(null);
|
|
1483
|
+
try {
|
|
1484
|
+
const m = await t(w);
|
|
1485
|
+
_(m), c("recovery"), o?.(!0);
|
|
1486
|
+
} catch (m) {
|
|
1487
|
+
D(m?.message || String(m));
|
|
1488
|
+
} finally {
|
|
1489
|
+
f(!1);
|
|
1490
|
+
}
|
|
1491
|
+
}
|
|
1492
|
+
}, F = async () => {
|
|
1493
|
+
f(!0), D(null);
|
|
1494
|
+
try {
|
|
1495
|
+
await s(), l(null), _([]), c("idle"), o?.(!1);
|
|
1496
|
+
} catch (w) {
|
|
1497
|
+
D(w?.message || String(w));
|
|
1498
|
+
} finally {
|
|
1499
|
+
f(!1);
|
|
1500
|
+
}
|
|
1501
|
+
}, N = () => {
|
|
1502
|
+
_([]), l(null), E(""), c("idle");
|
|
1503
|
+
};
|
|
1504
|
+
return /* @__PURE__ */ n(Ve, { withBorder: !0, radius: "md", p: "lg", children: /* @__PURE__ */ P(be, { gap: "md", children: [
|
|
1505
|
+
/* @__PURE__ */ P("div", { children: [
|
|
1506
|
+
/* @__PURE__ */ n(j, { fw: 700, fz: "lg", children: z("archbase:mfa.setup.title", "Autenticação em duas etapas (MFA)") }),
|
|
1507
|
+
/* @__PURE__ */ n(j, { c: "dimmed", fz: "sm", children: z(
|
|
1508
|
+
"archbase:mfa.setup.subtitle",
|
|
1509
|
+
"Proteja o acesso exigindo um código do seu aplicativo autenticador no login."
|
|
1510
|
+
) })
|
|
1511
|
+
] }),
|
|
1512
|
+
S && /* @__PURE__ */ n(Ze, { color: "red", children: S }),
|
|
1513
|
+
r && a === "idle" && /* @__PURE__ */ P(le, { justify: "space-between", children: [
|
|
1514
|
+
/* @__PURE__ */ n(j, { c: "teal", fw: 600, children: z("archbase:mfa.setup.active", "MFA ativo") }),
|
|
1515
|
+
/* @__PURE__ */ n(W, { color: "red", variant: "light", loading: v, onClick: F, children: z("archbase:mfa.setup.disable", "Desativar") })
|
|
1516
|
+
] }),
|
|
1517
|
+
!r && a === "idle" && /* @__PURE__ */ n(W, { loading: v, onClick: B, children: z("archbase:mfa.setup.enable", "Ativar MFA") }),
|
|
1518
|
+
a === "setup" && i && /* @__PURE__ */ P(be, { gap: "sm", align: "center", children: [
|
|
1519
|
+
/* @__PURE__ */ n(j, { fz: "sm", ta: "center", children: z(
|
|
1520
|
+
"archbase:mfa.setup.scan",
|
|
1521
|
+
"Escaneie o QR Code no seu app autenticador (Google Authenticator, Authy…):"
|
|
1522
|
+
) }),
|
|
1523
|
+
/* @__PURE__ */ n(Qt, { value: i.provisioningUri, size: 180, level: "M" }),
|
|
1524
|
+
/* @__PURE__ */ n(j, { fz: "xs", c: "dimmed", ta: "center", children: z("archbase:mfa.setup.manual", "Ou informe o código manualmente:") }),
|
|
1525
|
+
/* @__PURE__ */ P(le, { gap: "xs", children: [
|
|
1526
|
+
/* @__PURE__ */ n(et, { children: i.secret }),
|
|
1527
|
+
/* @__PURE__ */ n(tt, { value: i.secret, children: ({ copied: w, copy: m }) => /* @__PURE__ */ n(W, { size: "xs", variant: "subtle", onClick: m, children: w ? z("archbase:mfa.setup.copied", "Copiado") : z("archbase:mfa.setup.copy", "Copiar") }) })
|
|
1528
|
+
] }),
|
|
1529
|
+
/* @__PURE__ */ n(
|
|
1530
|
+
Ae,
|
|
1531
|
+
{
|
|
1532
|
+
w: "100%",
|
|
1533
|
+
label: z("archbase:mfa.setup.confirmCode", "Digite o código gerado para confirmar"),
|
|
1534
|
+
placeholder: "000000",
|
|
1535
|
+
value: g,
|
|
1536
|
+
onChange: (w) => E(w.currentTarget.value),
|
|
1537
|
+
onKeyDown: (w) => {
|
|
1538
|
+
w.key === "Enter" && O();
|
|
1539
|
+
}
|
|
1540
|
+
}
|
|
1541
|
+
),
|
|
1542
|
+
/* @__PURE__ */ P(le, { w: "100%", justify: "flex-end", children: [
|
|
1543
|
+
/* @__PURE__ */ n(W, { variant: "default", onClick: N, disabled: v, children: z("archbase:mfa.setup.cancel", "Cancelar") }),
|
|
1544
|
+
/* @__PURE__ */ n(W, { onClick: O, loading: v, disabled: !g.trim(), children: z("archbase:mfa.setup.confirm", "Confirmar e ativar") })
|
|
1545
|
+
] })
|
|
1546
|
+
] }),
|
|
1547
|
+
a === "recovery" && /* @__PURE__ */ P(be, { gap: "sm", children: [
|
|
1548
|
+
/* @__PURE__ */ n(Ze, { color: "yellow", children: z(
|
|
1549
|
+
"archbase:mfa.setup.recoveryWarning",
|
|
1550
|
+
"Guarde estes códigos de recuperação em local seguro. Cada um funciona uma única vez e permite entrar se você perder o acesso ao app autenticador. Eles não serão exibidos novamente."
|
|
1551
|
+
) }),
|
|
1552
|
+
/* @__PURE__ */ n(Kt, { cols: 2, spacing: "xs", children: d.map((w) => /* @__PURE__ */ n(et, { fz: "sm", children: w }, w)) }),
|
|
1553
|
+
/* @__PURE__ */ P(le, { justify: "space-between", children: [
|
|
1554
|
+
/* @__PURE__ */ n(tt, { value: d.join(`
|
|
1555
|
+
`), children: ({ copied: w, copy: m }) => /* @__PURE__ */ n(W, { variant: "subtle", onClick: m, children: w ? z("archbase:mfa.setup.copied", "Copiado") : z("archbase:mfa.setup.copyAll", "Copiar todos") }) }),
|
|
1556
|
+
/* @__PURE__ */ n(W, { onClick: N, children: z("archbase:mfa.setup.done", "Guardei os códigos") })
|
|
1557
|
+
] })
|
|
1558
|
+
] })
|
|
1559
|
+
] }) });
|
|
1560
|
+
}
|
|
1561
|
+
const vr = {
|
|
1407
1562
|
position: "relative",
|
|
1408
1563
|
width: "90%",
|
|
1409
1564
|
maxWidth: 400,
|
|
1410
1565
|
padding: 30,
|
|
1411
1566
|
marginTop: 30
|
|
1412
1567
|
};
|
|
1413
|
-
function
|
|
1414
|
-
const
|
|
1415
|
-
async function
|
|
1416
|
-
|
|
1417
|
-
|
|
1568
|
+
function Hr({ error: r, onSendResetPasswordEmail: e, onResetPassword: t, onClickBackToLogin: s, validatePassword: o, validateToken: a, initialEmail: c = "", description: i, style: l }) {
|
|
1569
|
+
const g = lt(), E = jt(), { colorScheme: d } = qt(), [_, v] = h(r ?? ""), [f, S] = h(c), [D, B] = h(""), [O, F] = h(""), [N, w] = h(""), [m, R] = h(!1), [V, C] = h(""), [L, q] = h(""), [ee, Y] = h(""), [ie, p] = h("");
|
|
1570
|
+
async function y(T) {
|
|
1571
|
+
T && (Ft(T) ? await e(T).then(() => {
|
|
1572
|
+
rt.showSuccess(`${x().t("archbase:Um e-mail com instruções para redefinir sua senha foi enviado. Verifique sua caixa de entrada.")}`), R(!0);
|
|
1418
1573
|
}).catch(() => {
|
|
1419
|
-
}) :
|
|
1574
|
+
}) : C(`${x().t("archbase:Email inválido")}`));
|
|
1420
1575
|
}
|
|
1421
|
-
async function
|
|
1422
|
-
if (
|
|
1423
|
-
let
|
|
1424
|
-
|
|
1425
|
-
|
|
1576
|
+
async function te(T, ue, se, we) {
|
|
1577
|
+
if (T && ue && se) {
|
|
1578
|
+
let u = "", b = "", I = "";
|
|
1579
|
+
a && (u = a(), Y(u)), o && (b = o(), Y(b)), se !== we && (I = `${x().t("archbase:A nova senha e a confirmação devem ser iguais.")}`, p(I)), !b && !u && await t(T, ue, se).then(() => {
|
|
1580
|
+
rt.showSuccess(`${x().t("archbase:Senha redefinida com sucesso.")}`), s(), R(!1);
|
|
1426
1581
|
}).catch(() => {
|
|
1427
|
-
|
|
1582
|
+
v(r || `${x().t("archbase:Erro ao redefinir senha.")}`);
|
|
1428
1583
|
});
|
|
1429
1584
|
}
|
|
1430
1585
|
}
|
|
1431
|
-
return
|
|
1432
|
-
r &&
|
|
1433
|
-
}, [r]),
|
|
1434
|
-
|
|
1435
|
-
}, [
|
|
1436
|
-
|
|
1586
|
+
return K(() => {
|
|
1587
|
+
r && v(r);
|
|
1588
|
+
}, [r]), K(() => {
|
|
1589
|
+
v("");
|
|
1590
|
+
}, [f, D, O, N]), /* @__PURE__ */ P(
|
|
1591
|
+
Ve,
|
|
1437
1592
|
{
|
|
1438
1593
|
withBorder: !0,
|
|
1439
1594
|
shadow: "md",
|
|
1440
1595
|
radius: "md",
|
|
1441
|
-
ref:
|
|
1596
|
+
ref: g,
|
|
1442
1597
|
style: {
|
|
1443
|
-
...
|
|
1444
|
-
...
|
|
1598
|
+
...vr,
|
|
1599
|
+
...l
|
|
1445
1600
|
},
|
|
1446
1601
|
children: [
|
|
1447
|
-
|
|
1448
|
-
/* @__PURE__ */
|
|
1449
|
-
|
|
1602
|
+
m ? /* @__PURE__ */ P(ne, { children: [
|
|
1603
|
+
/* @__PURE__ */ n(
|
|
1604
|
+
j,
|
|
1450
1605
|
{
|
|
1451
1606
|
c: "light-dark(var(--mantine-color-black), var(--mantine-color-white))",
|
|
1452
1607
|
fw: 800,
|
|
1453
1608
|
fz: { base: "20px", md: "35px" },
|
|
1454
1609
|
style: { textAlign: "center", letterSpacing: "-1px" },
|
|
1455
1610
|
mt: "xs",
|
|
1456
|
-
children:
|
|
1611
|
+
children: x().t("archbase:Redefinir senha")
|
|
1457
1612
|
}
|
|
1458
1613
|
),
|
|
1459
|
-
/* @__PURE__ */
|
|
1460
|
-
/* @__PURE__ */
|
|
1461
|
-
|
|
1614
|
+
/* @__PURE__ */ n(Te, { m: "xs" }),
|
|
1615
|
+
/* @__PURE__ */ n(
|
|
1616
|
+
Ae,
|
|
1462
1617
|
{
|
|
1463
|
-
label:
|
|
1464
|
-
placeholder: `${
|
|
1465
|
-
value:
|
|
1618
|
+
label: x().t("archbase:Código de segurança"),
|
|
1619
|
+
placeholder: `${x().t("archbase:Código enviado no seu e-mail")}`,
|
|
1620
|
+
value: D || "",
|
|
1466
1621
|
required: !0,
|
|
1467
|
-
onChange: (
|
|
1468
|
-
|
|
1622
|
+
onChange: (T) => {
|
|
1623
|
+
B(T.currentTarget.value), q("");
|
|
1469
1624
|
},
|
|
1470
|
-
error:
|
|
1625
|
+
error: L
|
|
1471
1626
|
}
|
|
1472
1627
|
),
|
|
1473
|
-
/* @__PURE__ */
|
|
1474
|
-
|
|
1628
|
+
/* @__PURE__ */ n(
|
|
1629
|
+
Le,
|
|
1475
1630
|
{
|
|
1476
|
-
label:
|
|
1477
|
-
placeholder:
|
|
1478
|
-
onChange: (
|
|
1479
|
-
|
|
1631
|
+
label: x().t("archbase:Nova senha"),
|
|
1632
|
+
placeholder: x().t("archbase:Nova senha"),
|
|
1633
|
+
onChange: (T) => {
|
|
1634
|
+
F(T.currentTarget.value), Y(""), p("");
|
|
1480
1635
|
},
|
|
1481
1636
|
value: O,
|
|
1482
1637
|
required: !0,
|
|
1483
|
-
error:
|
|
1638
|
+
error: ee
|
|
1484
1639
|
}
|
|
1485
1640
|
),
|
|
1486
|
-
/* @__PURE__ */
|
|
1487
|
-
|
|
1641
|
+
/* @__PURE__ */ n(
|
|
1642
|
+
Le,
|
|
1488
1643
|
{
|
|
1489
|
-
label:
|
|
1490
|
-
placeholder:
|
|
1491
|
-
onChange: (
|
|
1492
|
-
|
|
1644
|
+
label: x().t("archbase:Confirmar senha"),
|
|
1645
|
+
placeholder: x().t("archbase:Confirmar senha"),
|
|
1646
|
+
onChange: (T) => {
|
|
1647
|
+
w(T.currentTarget.value), p("");
|
|
1493
1648
|
},
|
|
1494
1649
|
value: N || "",
|
|
1495
1650
|
required: !0,
|
|
1496
|
-
error:
|
|
1651
|
+
error: ie
|
|
1497
1652
|
}
|
|
1498
1653
|
),
|
|
1499
|
-
/* @__PURE__ */
|
|
1500
|
-
|
|
1654
|
+
/* @__PURE__ */ n(
|
|
1655
|
+
W,
|
|
1501
1656
|
{
|
|
1502
|
-
disabled: !
|
|
1657
|
+
disabled: !f || !D || !O || !N,
|
|
1503
1658
|
mt: "md",
|
|
1504
1659
|
fullWidth: !0,
|
|
1505
|
-
onClick: () =>
|
|
1506
|
-
children: `${
|
|
1660
|
+
onClick: () => te(f, D, O, N),
|
|
1661
|
+
children: `${x().t("archbase:Redefinir senha")}`
|
|
1507
1662
|
}
|
|
1508
1663
|
),
|
|
1509
|
-
/* @__PURE__ */
|
|
1510
|
-
|
|
1664
|
+
/* @__PURE__ */ n(
|
|
1665
|
+
W,
|
|
1511
1666
|
{
|
|
1512
1667
|
mt: "6px",
|
|
1513
1668
|
fullWidth: !0,
|
|
1514
|
-
color:
|
|
1669
|
+
color: d === "dark" ? E.colors.dark[4] : E.colors.gray[7],
|
|
1515
1670
|
onClick: () => {
|
|
1516
|
-
|
|
1671
|
+
V || R(!1);
|
|
1517
1672
|
},
|
|
1518
|
-
children: `${
|
|
1673
|
+
children: `${x().t("archbase:Voltar")}`
|
|
1519
1674
|
}
|
|
1520
1675
|
)
|
|
1521
|
-
] }) : /* @__PURE__ */
|
|
1522
|
-
/* @__PURE__ */
|
|
1523
|
-
|
|
1676
|
+
] }) : /* @__PURE__ */ P(ne, { children: [
|
|
1677
|
+
/* @__PURE__ */ n(
|
|
1678
|
+
j,
|
|
1524
1679
|
{
|
|
1525
1680
|
c: "light-dark(var(--mantine-color-black), var(--mantine-color-white))",
|
|
1526
1681
|
fw: 800,
|
|
1527
1682
|
fz: { base: "20px", md: "35px" },
|
|
1528
1683
|
style: { textAlign: "center", letterSpacing: "-1px" },
|
|
1529
1684
|
mt: "xs",
|
|
1530
|
-
children:
|
|
1685
|
+
children: x().t("archbase:Redefinir senha")
|
|
1531
1686
|
}
|
|
1532
1687
|
),
|
|
1533
|
-
/* @__PURE__ */
|
|
1534
|
-
/* @__PURE__ */
|
|
1535
|
-
/* @__PURE__ */
|
|
1536
|
-
|
|
1688
|
+
/* @__PURE__ */ n(j, { c: "dimmed", fz: 14, style: { textAlign: "justify" }, children: i }),
|
|
1689
|
+
/* @__PURE__ */ n(Te, { m: "md" }),
|
|
1690
|
+
/* @__PURE__ */ n(
|
|
1691
|
+
Ae,
|
|
1537
1692
|
{
|
|
1538
1693
|
label: "Email",
|
|
1539
|
-
placeholder: `${
|
|
1540
|
-
value:
|
|
1694
|
+
placeholder: `${x().t("archbase:usuario@email.com")}`,
|
|
1695
|
+
value: f || "",
|
|
1541
1696
|
required: !0,
|
|
1542
|
-
onChange: (
|
|
1543
|
-
|
|
1697
|
+
onChange: (T) => {
|
|
1698
|
+
S(T.currentTarget.value), C("");
|
|
1544
1699
|
},
|
|
1545
|
-
error:
|
|
1700
|
+
error: V
|
|
1546
1701
|
}
|
|
1547
1702
|
),
|
|
1548
|
-
/* @__PURE__ */
|
|
1549
|
-
|
|
1703
|
+
/* @__PURE__ */ n(
|
|
1704
|
+
W,
|
|
1550
1705
|
{
|
|
1551
|
-
disabled: !
|
|
1706
|
+
disabled: !f,
|
|
1552
1707
|
mt: "md",
|
|
1553
1708
|
fullWidth: !0,
|
|
1554
|
-
onClick: () =>
|
|
1555
|
-
children: `${
|
|
1709
|
+
onClick: () => y(f),
|
|
1710
|
+
children: `${x().t("archbase:Enviar")}`
|
|
1556
1711
|
}
|
|
1557
1712
|
),
|
|
1558
|
-
/* @__PURE__ */
|
|
1559
|
-
|
|
1713
|
+
/* @__PURE__ */ n(
|
|
1714
|
+
W,
|
|
1560
1715
|
{
|
|
1561
1716
|
mt: "6px",
|
|
1562
1717
|
fullWidth: !0,
|
|
1563
|
-
color:
|
|
1718
|
+
color: d === "dark" ? E.colors.dark[4] : E.colors.gray[7],
|
|
1564
1719
|
onClick: () => s && s(),
|
|
1565
|
-
children: `${
|
|
1720
|
+
children: `${x().t("archbase:Voltar")}`
|
|
1566
1721
|
}
|
|
1567
1722
|
)
|
|
1568
1723
|
] }),
|
|
1569
|
-
|
|
1724
|
+
_ ? /* @__PURE__ */ n(j, { c: "red", style: { textAlign: "justify" }, children: _ }) : null
|
|
1570
1725
|
]
|
|
1571
1726
|
}
|
|
1572
1727
|
);
|
|
1573
1728
|
}
|
|
1574
|
-
const
|
|
1575
|
-
const s =
|
|
1729
|
+
const br = () => Vt().user, Dt = "archbaseSecurityManagerStore", Gr = ({ resourceName: r, resourceDescription: e, enableSecurity: t = !0 }) => {
|
|
1730
|
+
const s = at(Dt), o = br(), a = o?.isAdmin ?? !1, c = o?.id, i = it(c), l = nt(() => {
|
|
1576
1731
|
if (!t)
|
|
1577
1732
|
return null;
|
|
1578
|
-
const
|
|
1579
|
-
if (s && s.existsValue(
|
|
1580
|
-
const
|
|
1581
|
-
if (
|
|
1582
|
-
return
|
|
1733
|
+
const g = c ? `${r}_${c}` : r;
|
|
1734
|
+
if (s && s.existsValue(g)) {
|
|
1735
|
+
const d = s.getValue(g);
|
|
1736
|
+
if (d && d.isAdmin === a)
|
|
1737
|
+
return d;
|
|
1583
1738
|
}
|
|
1584
|
-
const
|
|
1585
|
-
return s &&
|
|
1586
|
-
}, [t, r, e,
|
|
1587
|
-
return
|
|
1588
|
-
i.current =
|
|
1589
|
-
}, [
|
|
1590
|
-
},
|
|
1739
|
+
const E = new gt(r, e, a);
|
|
1740
|
+
return s && c && s.setValue(g, E), E;
|
|
1741
|
+
}, [t, r, e, a, c]);
|
|
1742
|
+
return K(() => {
|
|
1743
|
+
i.current = c;
|
|
1744
|
+
}, [c]), { securityManager: l };
|
|
1745
|
+
}, Jr = ({
|
|
1591
1746
|
checkIntervalTokenHasExpired: r = 3e4,
|
|
1592
1747
|
// Verificar a 30 segundos
|
|
1593
1748
|
expirationThresholdOfToken: e = 300
|
|
1594
1749
|
// Antecipar em 5 minutos
|
|
1595
1750
|
}) => {
|
|
1596
|
-
const t =
|
|
1597
|
-
(
|
|
1598
|
-
), s =
|
|
1599
|
-
(
|
|
1600
|
-
), [o,
|
|
1751
|
+
const t = Ue(
|
|
1752
|
+
(u) => u.get(X.TokenManager)
|
|
1753
|
+
), s = Ue(
|
|
1754
|
+
(u) => u.get(X.Authenticator)
|
|
1755
|
+
), [o, a] = h(null), [c, i] = h(!1), [l, g] = h(!0), [E, d] = h(!1), [_, v] = h(!1), [f, S] = h(""), [D, B] = h(""), [O, F] = h(null), [N, w] = h(!1), [m, R] = h(null), V = at(Dt), C = {
|
|
1601
1756
|
hasContextualLogin: typeof s.loginWithContext == "function",
|
|
1602
1757
|
hasFlexibleLogin: typeof s.loginFlexible == "function",
|
|
1603
1758
|
hasSocialLogin: typeof s.loginSocial == "function",
|
|
1604
1759
|
hasRegistration: typeof s.register == "function",
|
|
1605
1760
|
hasContextSupport: typeof t.saveContext == "function"
|
|
1606
1761
|
};
|
|
1607
|
-
|
|
1608
|
-
const
|
|
1609
|
-
if (
|
|
1610
|
-
const
|
|
1611
|
-
if (
|
|
1762
|
+
K(() => {
|
|
1763
|
+
const u = t.getUsername();
|
|
1764
|
+
if (u && u != "" && B(u), C.hasContextSupport && t.getContext) {
|
|
1765
|
+
const I = t.getContext();
|
|
1766
|
+
if (I)
|
|
1612
1767
|
try {
|
|
1613
|
-
const
|
|
1614
|
-
|
|
1615
|
-
} catch (
|
|
1616
|
-
console.warn("Erro ao carregar contexto salvo:",
|
|
1768
|
+
const $ = typeof I == "string" ? JSON.parse(I) : I;
|
|
1769
|
+
F($);
|
|
1770
|
+
} catch ($) {
|
|
1771
|
+
console.warn("Erro ao carregar contexto salvo:", $);
|
|
1617
1772
|
}
|
|
1618
1773
|
}
|
|
1619
|
-
const
|
|
1620
|
-
|
|
1774
|
+
const b = t.getToken();
|
|
1775
|
+
b && (d(!0), S(""), v(!1), a(b)), g(!1);
|
|
1621
1776
|
}, []);
|
|
1622
|
-
const
|
|
1623
|
-
|
|
1624
|
-
},
|
|
1625
|
-
i(!1),
|
|
1626
|
-
},
|
|
1777
|
+
const L = () => {
|
|
1778
|
+
v(!1), S("");
|
|
1779
|
+
}, q = (u) => {
|
|
1780
|
+
i(!1), d(!1), t.clearToken(), u && t.clearUsernameAndPassword(), C.hasContextSupport && t.clearContext && t.clearContext(), B(""), F(null), S(""), v(!1), V.clearAllValues();
|
|
1781
|
+
}, ee = async (u, b, I) => {
|
|
1627
1782
|
try {
|
|
1628
|
-
i(!0),
|
|
1629
|
-
const
|
|
1630
|
-
t.saveToken(
|
|
1631
|
-
} catch (
|
|
1632
|
-
i(!1),
|
|
1783
|
+
i(!0), d(!1);
|
|
1784
|
+
const $ = await s.login(u, b);
|
|
1785
|
+
t.saveToken($), I && t.saveUsernameAndPassword(u, b), t.saveUsername(u), B(u), a($), i(!1), d(!0);
|
|
1786
|
+
} catch ($) {
|
|
1787
|
+
i(!1), d(!1), S(oe($)), v(!0);
|
|
1633
1788
|
}
|
|
1634
|
-
},
|
|
1635
|
-
if (!
|
|
1789
|
+
}, Y = async (u, b = !1) => {
|
|
1790
|
+
if (!C.hasContextualLogin || !s.loginWithContext)
|
|
1636
1791
|
throw new Error("Login contextual não suportado por esta implementação do ArchbaseAuthenticator");
|
|
1637
1792
|
try {
|
|
1638
|
-
i(!0),
|
|
1639
|
-
const { context:
|
|
1793
|
+
i(!0), d(!1);
|
|
1794
|
+
const { context: I, user: $, ...A } = await s.loginWithContext(u);
|
|
1795
|
+
if (A.mfa_required) {
|
|
1796
|
+
R(A.challenge_token ?? null), w(!0), B(u.email), i(!1);
|
|
1797
|
+
return;
|
|
1798
|
+
}
|
|
1799
|
+
const M = {
|
|
1640
1800
|
scope: "",
|
|
1641
|
-
ext_expires_in:
|
|
1642
|
-
...
|
|
1801
|
+
ext_expires_in: A.expires_in,
|
|
1802
|
+
...A
|
|
1643
1803
|
};
|
|
1644
|
-
t.saveToken(
|
|
1645
|
-
} catch (
|
|
1646
|
-
throw i(!1),
|
|
1804
|
+
t.saveToken(M), b ? t.saveUsernameAndPassword(u.email, u.password) : t.clearUsernameAndPassword(), t.saveUsername(u.email), C.hasContextSupport && t.saveContext && I && (t.saveContext(JSON.stringify(I)), F(I)), B(u.email), a(M), i(!1), d(!0);
|
|
1805
|
+
} catch (I) {
|
|
1806
|
+
throw i(!1), d(!1), S(oe(I)), v(!0), I;
|
|
1807
|
+
}
|
|
1808
|
+
}, ie = async (u) => {
|
|
1809
|
+
if (!s.verifyMfa)
|
|
1810
|
+
throw new Error("verifyMfa não suportado por esta implementação do ArchbaseAuthenticator");
|
|
1811
|
+
if (!m)
|
|
1812
|
+
throw new Error("Nenhum desafio de MFA pendente");
|
|
1813
|
+
try {
|
|
1814
|
+
i(!0), S(""), v(!1);
|
|
1815
|
+
const b = await s.verifyMfa(m, u);
|
|
1816
|
+
t.saveToken(b), t.saveUsername(D), a(b), w(!1), R(null), i(!1), d(!0);
|
|
1817
|
+
} catch (b) {
|
|
1818
|
+
throw i(!1), S(oe(b)), v(!0), b;
|
|
1647
1819
|
}
|
|
1648
|
-
},
|
|
1649
|
-
|
|
1820
|
+
}, p = () => {
|
|
1821
|
+
w(!1), R(null), S(""), v(!1);
|
|
1822
|
+
}, y = async (u, b = !1) => {
|
|
1823
|
+
if (!C.hasFlexibleLogin || !s.loginFlexible)
|
|
1650
1824
|
throw new Error("Login flexível não suportado por esta implementação do ArchbaseAuthenticator");
|
|
1651
1825
|
try {
|
|
1652
|
-
i(!0),
|
|
1653
|
-
const { context:
|
|
1826
|
+
i(!0), d(!1);
|
|
1827
|
+
const { context: I, user: $, ...A } = await s.loginFlexible(u), M = {
|
|
1654
1828
|
scope: "",
|
|
1655
|
-
ext_expires_in:
|
|
1656
|
-
...
|
|
1829
|
+
ext_expires_in: A.expires_in,
|
|
1830
|
+
...A
|
|
1657
1831
|
};
|
|
1658
|
-
t.saveToken(
|
|
1659
|
-
} catch (
|
|
1660
|
-
throw i(!1),
|
|
1832
|
+
t.saveToken(M), b && t.saveUsernameAndPassword(u.identifier, u.password), t.saveUsername($.email || u.identifier), C.hasContextSupport && t.saveContext && I && (t.saveContext(JSON.stringify(I)), F(I)), B($.email || u.identifier), a(M), i(!1), d(!0);
|
|
1833
|
+
} catch (I) {
|
|
1834
|
+
throw i(!1), d(!1), S(oe(I)), v(!0), I;
|
|
1661
1835
|
}
|
|
1662
|
-
},
|
|
1663
|
-
if (!
|
|
1836
|
+
}, te = async (u) => {
|
|
1837
|
+
if (!C.hasSocialLogin || !s.loginSocial)
|
|
1664
1838
|
throw new Error("Login social não suportado por esta implementação do ArchbaseAuthenticator");
|
|
1665
1839
|
try {
|
|
1666
|
-
i(!0),
|
|
1667
|
-
const { context:
|
|
1840
|
+
i(!0), d(!1);
|
|
1841
|
+
const { context: b, user: I, ...$ } = await s.loginSocial(u), A = {
|
|
1668
1842
|
scope: "",
|
|
1669
|
-
ext_expires_in:
|
|
1670
|
-
|
|
1843
|
+
ext_expires_in: $.expires_in,
|
|
1844
|
+
...$
|
|
1671
1845
|
};
|
|
1672
|
-
t.saveToken(
|
|
1673
|
-
} catch (
|
|
1674
|
-
throw i(!1),
|
|
1846
|
+
t.saveToken(A), t.saveUsername(I.email), C.hasContextSupport && t.saveContext && b && (t.saveContext(JSON.stringify(b)), F(b)), B(I.email), a(A), i(!1), d(!0);
|
|
1847
|
+
} catch (b) {
|
|
1848
|
+
throw i(!1), d(!1), S(oe(b)), v(!0), b;
|
|
1675
1849
|
}
|
|
1676
|
-
},
|
|
1677
|
-
if (!
|
|
1850
|
+
}, T = async (u) => {
|
|
1851
|
+
if (!C.hasRegistration || !s.register)
|
|
1678
1852
|
throw new Error("Registro não suportado por esta implementação do ArchbaseAuthenticator");
|
|
1679
1853
|
try {
|
|
1680
1854
|
i(!0);
|
|
1681
|
-
const
|
|
1682
|
-
return i(!1),
|
|
1683
|
-
} catch (
|
|
1684
|
-
throw i(!1),
|
|
1855
|
+
const b = await s.register(u);
|
|
1856
|
+
return i(!1), b;
|
|
1857
|
+
} catch (b) {
|
|
1858
|
+
throw i(!1), S(oe(b)), v(!0), b;
|
|
1685
1859
|
}
|
|
1686
|
-
},
|
|
1687
|
-
|
|
1688
|
-
const
|
|
1689
|
-
o && o.access_token && t.isTokenExpired(o, e) &&
|
|
1860
|
+
}, ue = async () => s.getSupportedContexts ? await s.getSupportedContexts() : { supportedContexts: ["DEFAULT"], defaultContext: "DEFAULT" }, se = async (u) => s.validateContext ? await s.validateContext(u) : { context: u, supported: u === "DEFAULT" };
|
|
1861
|
+
K(() => {
|
|
1862
|
+
const u = setInterval(() => {
|
|
1863
|
+
o && o.access_token && t.isTokenExpired(o, e) && we();
|
|
1690
1864
|
}, r);
|
|
1691
1865
|
return () => {
|
|
1692
|
-
clearInterval(
|
|
1866
|
+
clearInterval(u);
|
|
1693
1867
|
};
|
|
1694
1868
|
}, [o]);
|
|
1695
|
-
const
|
|
1869
|
+
const we = async () => {
|
|
1696
1870
|
if (o)
|
|
1697
1871
|
try {
|
|
1698
|
-
const
|
|
1699
|
-
t.saveToken(
|
|
1700
|
-
} catch (
|
|
1701
|
-
console.error("Erro ao renovar o token:",
|
|
1872
|
+
const u = await s.refreshToken(o?.refresh_token);
|
|
1873
|
+
t.saveToken(u), a(u);
|
|
1874
|
+
} catch (u) {
|
|
1875
|
+
console.error("Erro ao renovar o token:", u), q();
|
|
1702
1876
|
}
|
|
1703
1877
|
};
|
|
1704
1878
|
return {
|
|
1705
1879
|
// Métodos básicos (compatibilidade)
|
|
1706
|
-
login:
|
|
1707
|
-
logout:
|
|
1708
|
-
username:
|
|
1709
|
-
isAuthenticated:
|
|
1710
|
-
isAuthenticating:
|
|
1711
|
-
isInitializing:
|
|
1712
|
-
isError:
|
|
1713
|
-
error:
|
|
1714
|
-
clearError:
|
|
1880
|
+
login: ee,
|
|
1881
|
+
logout: q,
|
|
1882
|
+
username: D,
|
|
1883
|
+
isAuthenticated: E,
|
|
1884
|
+
isAuthenticating: c,
|
|
1885
|
+
isInitializing: l,
|
|
1886
|
+
isError: _,
|
|
1887
|
+
error: f,
|
|
1888
|
+
clearError: L,
|
|
1715
1889
|
accessToken: o ? o.access_token : null,
|
|
1716
1890
|
// Métodos opcionais para autenticação avançada
|
|
1717
|
-
loginWithContext:
|
|
1718
|
-
loginFlexible:
|
|
1719
|
-
loginSocial:
|
|
1720
|
-
register:
|
|
1721
|
-
getSupportedContexts:
|
|
1722
|
-
validateContext:
|
|
1891
|
+
loginWithContext: C.hasContextualLogin ? Y : void 0,
|
|
1892
|
+
loginFlexible: C.hasFlexibleLogin ? y : void 0,
|
|
1893
|
+
loginSocial: C.hasSocialLogin ? te : void 0,
|
|
1894
|
+
register: C.hasRegistration ? T : void 0,
|
|
1895
|
+
getSupportedContexts: ue,
|
|
1896
|
+
validateContext: se,
|
|
1897
|
+
// MFA / segundo fator (2 passos)
|
|
1898
|
+
mfaRequired: N,
|
|
1899
|
+
verifyMfa: typeof s.verifyMfa == "function" ? ie : void 0,
|
|
1900
|
+
cancelMfa: p,
|
|
1723
1901
|
// Informações de contexto
|
|
1724
1902
|
context: O,
|
|
1725
1903
|
// Detecção de capacidades
|
|
1726
|
-
capabilities:
|
|
1904
|
+
capabilities: C
|
|
1727
1905
|
};
|
|
1728
|
-
},
|
|
1729
|
-
const r =
|
|
1730
|
-
(s) => s.get(
|
|
1731
|
-
), [e, t] =
|
|
1732
|
-
return
|
|
1906
|
+
}, Kr = () => {
|
|
1907
|
+
const r = Ue(
|
|
1908
|
+
(s) => s.get(X.TokenManager)
|
|
1909
|
+
), [e, t] = h(null);
|
|
1910
|
+
return K(() => {
|
|
1733
1911
|
const s = r.getToken();
|
|
1734
1912
|
s && t(s.access_token);
|
|
1735
1913
|
}, []), {
|
|
1736
1914
|
token: e
|
|
1737
1915
|
};
|
|
1738
|
-
},
|
|
1739
|
-
const r =
|
|
1740
|
-
(
|
|
1741
|
-
), [e, t] =
|
|
1916
|
+
}, qr = () => {
|
|
1917
|
+
const r = Ue(
|
|
1918
|
+
(l) => l.get(X.Authenticator)
|
|
1919
|
+
), [e, t] = h(!1), [s, o] = h("");
|
|
1742
1920
|
return {
|
|
1743
|
-
sendResetPasswordEmail: async (
|
|
1921
|
+
sendResetPasswordEmail: async (l) => {
|
|
1744
1922
|
try {
|
|
1745
|
-
return await r.sendResetPasswordEmail(
|
|
1746
|
-
} catch (
|
|
1747
|
-
throw o(
|
|
1923
|
+
return await r.sendResetPasswordEmail(l);
|
|
1924
|
+
} catch (g) {
|
|
1925
|
+
throw o(oe(g)), t(!0), g;
|
|
1748
1926
|
}
|
|
1749
1927
|
},
|
|
1750
|
-
resetPassword: async (
|
|
1928
|
+
resetPassword: async (l, g, E) => {
|
|
1751
1929
|
try {
|
|
1752
|
-
return await r.resetPassword(
|
|
1753
|
-
} catch (
|
|
1754
|
-
throw o(
|
|
1930
|
+
return await r.resetPassword(l, g, E);
|
|
1931
|
+
} catch (d) {
|
|
1932
|
+
throw o(oe(d)), t(!0), d;
|
|
1755
1933
|
}
|
|
1756
1934
|
},
|
|
1757
1935
|
isError: e,
|
|
@@ -1760,169 +1938,169 @@ const lr = () => Dt().user, At = "archbaseSecurityManagerStore", Nr = ({ resourc
|
|
|
1760
1938
|
t(!1), o("");
|
|
1761
1939
|
}
|
|
1762
1940
|
};
|
|
1763
|
-
},
|
|
1764
|
-
/* @__PURE__ */
|
|
1765
|
-
/* @__PURE__ */
|
|
1766
|
-
/* @__PURE__ */
|
|
1941
|
+
}, Ar = () => /* @__PURE__ */ n(Yt, { p: "xl", style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ P(be, { gap: "md", children: [
|
|
1942
|
+
/* @__PURE__ */ P(le, { gap: "sm", children: [
|
|
1943
|
+
/* @__PURE__ */ n(ct, { size: "sm" }),
|
|
1944
|
+
/* @__PURE__ */ n(j, { size: "sm", c: "dimmed", children: "Carregando permissões..." })
|
|
1767
1945
|
] }),
|
|
1768
|
-
/* @__PURE__ */
|
|
1769
|
-
/* @__PURE__ */
|
|
1770
|
-
/* @__PURE__ */
|
|
1771
|
-
/* @__PURE__ */
|
|
1772
|
-
/* @__PURE__ */
|
|
1946
|
+
/* @__PURE__ */ n(Ie, { height: 40, radius: "sm" }),
|
|
1947
|
+
/* @__PURE__ */ n(Ie, { height: 200, radius: "sm" }),
|
|
1948
|
+
/* @__PURE__ */ P(le, { gap: "md", children: [
|
|
1949
|
+
/* @__PURE__ */ n(Ie, { height: 36, width: 100, radius: "sm" }),
|
|
1950
|
+
/* @__PURE__ */ n(Ie, { height: 36, width: 100, radius: "sm" })
|
|
1773
1951
|
] })
|
|
1774
|
-
] }) }),
|
|
1952
|
+
] }) }), Ke = je(null), Yr = ({
|
|
1775
1953
|
children: r,
|
|
1776
1954
|
user: e,
|
|
1777
1955
|
onError: t
|
|
1778
1956
|
}) => {
|
|
1779
|
-
const [s, o] =
|
|
1780
|
-
|
|
1781
|
-
}, [t]),
|
|
1957
|
+
const [s, o] = h(!1), [a, c] = h(null), [i] = h([]), l = e?.isAdministrator || !1, g = Se((f) => l ? !0 : i.includes(f), [i, l]), E = Se((f) => l ? !0 : f.some((S) => i.includes(S)), [i, l]), d = Se((f) => l ? !0 : f.every((S) => i.includes(S)), [i, l]), _ = Se((f) => {
|
|
1958
|
+
c(f), f && t && t(f);
|
|
1959
|
+
}, [t]), v = {
|
|
1782
1960
|
user: e,
|
|
1783
1961
|
isLoading: s,
|
|
1784
|
-
hasGlobalPermission:
|
|
1785
|
-
hasAnyGlobalPermission:
|
|
1786
|
-
hasAllGlobalPermissions:
|
|
1787
|
-
isAdmin:
|
|
1788
|
-
error:
|
|
1789
|
-
setError:
|
|
1962
|
+
hasGlobalPermission: g,
|
|
1963
|
+
hasAnyGlobalPermission: E,
|
|
1964
|
+
hasAllGlobalPermissions: d,
|
|
1965
|
+
isAdmin: l,
|
|
1966
|
+
error: a,
|
|
1967
|
+
setError: _
|
|
1790
1968
|
};
|
|
1791
|
-
return /* @__PURE__ */
|
|
1792
|
-
},
|
|
1969
|
+
return /* @__PURE__ */ n(Ke.Provider, { value: v, children: r });
|
|
1970
|
+
}, _t = je(null), Er = ({
|
|
1793
1971
|
children: r,
|
|
1794
1972
|
resourceName: e,
|
|
1795
1973
|
resourceDescription: t,
|
|
1796
1974
|
requiredPermissions: s = [],
|
|
1797
1975
|
fallbackComponent: o,
|
|
1798
|
-
loadingComponent:
|
|
1799
|
-
onSecurityReady:
|
|
1976
|
+
loadingComponent: a,
|
|
1977
|
+
onSecurityReady: c,
|
|
1800
1978
|
onError: i
|
|
1801
1979
|
}) => {
|
|
1802
|
-
const
|
|
1803
|
-
if (!
|
|
1980
|
+
const l = Fe(Ke);
|
|
1981
|
+
if (!l)
|
|
1804
1982
|
throw new Error("ArchbaseViewSecurityProvider deve ser usado dentro de um ArchbaseSecurityProvider");
|
|
1805
|
-
const { user:
|
|
1806
|
-
if (
|
|
1807
|
-
if (!
|
|
1808
|
-
|
|
1983
|
+
const { user: g, isAdmin: E } = l, [d, _] = h(null), [v, f] = h(!0), [S, D] = h(null);
|
|
1984
|
+
if (ot.useEffect(() => {
|
|
1985
|
+
if (!g) {
|
|
1986
|
+
f(!1);
|
|
1809
1987
|
return;
|
|
1810
1988
|
}
|
|
1811
|
-
const
|
|
1989
|
+
const m = new gt(e, t, E);
|
|
1812
1990
|
(async () => {
|
|
1813
|
-
|
|
1991
|
+
f(!0);
|
|
1814
1992
|
try {
|
|
1815
|
-
await
|
|
1816
|
-
|
|
1993
|
+
await m.apply(() => {
|
|
1994
|
+
_(m), f(!1), c && c(m);
|
|
1817
1995
|
});
|
|
1818
1996
|
} catch {
|
|
1819
|
-
const
|
|
1820
|
-
|
|
1997
|
+
const C = m.getError() || "Erro ao carregar permissões";
|
|
1998
|
+
D(C), f(!1), i && i(C);
|
|
1821
1999
|
}
|
|
1822
2000
|
})();
|
|
1823
|
-
}, [e, t,
|
|
1824
|
-
return
|
|
1825
|
-
if (
|
|
1826
|
-
return /* @__PURE__ */
|
|
2001
|
+
}, [e, t, g, E, c, i]), v)
|
|
2002
|
+
return a ? /* @__PURE__ */ n(ne, { children: a }) : /* @__PURE__ */ n(Ar, {});
|
|
2003
|
+
if (S)
|
|
2004
|
+
return /* @__PURE__ */ n("div", { className: "archbase-security-error", children: /* @__PURE__ */ P("div", { children: [
|
|
1827
2005
|
"Erro ao carregar permissões: ",
|
|
1828
|
-
|
|
2006
|
+
S
|
|
1829
2007
|
] }) });
|
|
1830
|
-
if (!
|
|
1831
|
-
return o || /* @__PURE__ */
|
|
1832
|
-
if (s.length > 0 &&
|
|
1833
|
-
(
|
|
2008
|
+
if (!g)
|
|
2009
|
+
return o || /* @__PURE__ */ n("div", { className: "archbase-security-no-user", children: /* @__PURE__ */ n("div", { children: "É necessário fazer login para acessar esta área" }) });
|
|
2010
|
+
if (s.length > 0 && d && !s.every(
|
|
2011
|
+
(R) => d.hasPermission(R)
|
|
1834
2012
|
))
|
|
1835
|
-
return o || /* @__PURE__ */
|
|
1836
|
-
/* @__PURE__ */
|
|
1837
|
-
/* @__PURE__ */
|
|
2013
|
+
return o || /* @__PURE__ */ P("div", { className: "archbase-security-access-denied", children: [
|
|
2014
|
+
/* @__PURE__ */ n("div", { children: "Você não possui permissão para acessar esta área" }),
|
|
2015
|
+
/* @__PURE__ */ P("small", { children: [
|
|
1838
2016
|
"Permissões necessárias: ",
|
|
1839
2017
|
s.join(", ")
|
|
1840
2018
|
] })
|
|
1841
2019
|
] });
|
|
1842
|
-
const
|
|
1843
|
-
securityManager:
|
|
1844
|
-
hasPermission: (
|
|
1845
|
-
hasAnyPermission: (
|
|
1846
|
-
hasAllPermissions: (
|
|
1847
|
-
registerAction: (
|
|
1848
|
-
|
|
2020
|
+
const w = {
|
|
2021
|
+
securityManager: d,
|
|
2022
|
+
hasPermission: (m) => d?.hasPermission(m) || !1,
|
|
2023
|
+
hasAnyPermission: (m) => m.some((R) => d?.hasPermission(R) || !1),
|
|
2024
|
+
hasAllPermissions: (m) => m.every((R) => d?.hasPermission(R) || !1),
|
|
2025
|
+
registerAction: (m, R) => {
|
|
2026
|
+
d?.registerAction(m, R);
|
|
1849
2027
|
},
|
|
1850
|
-
isLoading:
|
|
1851
|
-
error:
|
|
2028
|
+
isLoading: v,
|
|
2029
|
+
error: S
|
|
1852
2030
|
};
|
|
1853
|
-
return /* @__PURE__ */
|
|
1854
|
-
},
|
|
1855
|
-
const r =
|
|
2031
|
+
return /* @__PURE__ */ n(_t.Provider, { value: w, children: r });
|
|
2032
|
+
}, xr = () => {
|
|
2033
|
+
const r = Fe(Ke);
|
|
1856
2034
|
if (!r)
|
|
1857
2035
|
throw new Error("useArchbaseSecurity deve ser usado dentro de um ArchbaseSecurityProvider");
|
|
1858
2036
|
return r;
|
|
1859
|
-
},
|
|
1860
|
-
const r =
|
|
2037
|
+
}, qe = () => {
|
|
2038
|
+
const r = Fe(_t);
|
|
1861
2039
|
if (!r)
|
|
1862
2040
|
throw new Error("useArchbaseViewSecurity deve ser usado dentro de um ArchbaseViewSecurityProvider");
|
|
1863
2041
|
return r;
|
|
1864
|
-
},
|
|
1865
|
-
const t =
|
|
1866
|
-
return
|
|
1867
|
-
r && e && (
|
|
1868
|
-
}, [r, e,
|
|
2042
|
+
}, Xr = (r, e) => {
|
|
2043
|
+
const t = qe(), { hasPermission: s, hasAnyPermission: o, hasAllPermissions: a, registerAction: c, securityManager: i, isLoading: l, error: g } = t;
|
|
2044
|
+
return ot.useEffect(() => {
|
|
2045
|
+
r && e && (c("create", `Criar ${e}`), c("edit", `Editar ${e}`), c("delete", `Deletar ${e}`), c("view", `Visualizar ${e}`), c("list", `Listar ${e}`));
|
|
2046
|
+
}, [r, e, c]), {
|
|
1869
2047
|
hasPermission: s,
|
|
1870
2048
|
hasAnyPermission: o,
|
|
1871
|
-
hasAllPermissions:
|
|
1872
|
-
registerAction:
|
|
2049
|
+
hasAllPermissions: a,
|
|
2050
|
+
registerAction: c,
|
|
1873
2051
|
securityManager: i,
|
|
1874
2052
|
canCreate: s("create"),
|
|
1875
2053
|
canEdit: s("edit"),
|
|
1876
2054
|
canDelete: s("delete"),
|
|
1877
2055
|
canView: s("view"),
|
|
1878
2056
|
canList: s("list"),
|
|
1879
|
-
isLoading:
|
|
1880
|
-
error:
|
|
2057
|
+
isLoading: l,
|
|
2058
|
+
error: g
|
|
1881
2059
|
};
|
|
1882
|
-
},
|
|
1883
|
-
const r =
|
|
2060
|
+
}, Qr = () => {
|
|
2061
|
+
const r = qe();
|
|
1884
2062
|
return {
|
|
1885
2063
|
check: r.hasPermission,
|
|
1886
2064
|
checkAny: r.hasAnyPermission,
|
|
1887
2065
|
checkAll: r.hasAllPermissions,
|
|
1888
|
-
isAdmin:
|
|
2066
|
+
isAdmin: xr().isAdmin
|
|
1889
2067
|
};
|
|
1890
|
-
},
|
|
2068
|
+
}, Rt = ({
|
|
1891
2069
|
children: r,
|
|
1892
2070
|
actionName: e,
|
|
1893
2071
|
requiredPermissions: t = [],
|
|
1894
2072
|
requireAll: s = !0,
|
|
1895
2073
|
actionDescription: o,
|
|
1896
|
-
fallback:
|
|
1897
|
-
autoRegister:
|
|
2074
|
+
fallback: a = null,
|
|
2075
|
+
autoRegister: c = !0
|
|
1898
2076
|
}) => {
|
|
1899
|
-
const { hasPermission: i, hasAnyPermission:
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
}, [e, o,
|
|
1903
|
-
let
|
|
1904
|
-
return e ?
|
|
1905
|
-
},
|
|
2077
|
+
const { hasPermission: i, hasAnyPermission: l, hasAllPermissions: g, registerAction: E } = qe();
|
|
2078
|
+
K(() => {
|
|
2079
|
+
c && e && o && E(e, o);
|
|
2080
|
+
}, [e, o, c, E]);
|
|
2081
|
+
let d = !1;
|
|
2082
|
+
return e ? d = i(e) : t.length > 0 ? d = s ? g(t) : l(t) : d = !0, d ? /* @__PURE__ */ n(ne, { children: r }) : /* @__PURE__ */ n(ne, { children: a });
|
|
2083
|
+
}, Zr = ({
|
|
1906
2084
|
actionName: r,
|
|
1907
2085
|
actionDescription: e,
|
|
1908
2086
|
children: t,
|
|
1909
2087
|
onClick: s,
|
|
1910
2088
|
disabled: o = !1,
|
|
1911
|
-
className:
|
|
1912
|
-
style:
|
|
2089
|
+
className: a = "",
|
|
2090
|
+
style: c = {},
|
|
1913
2091
|
variant: i = "primary",
|
|
1914
|
-
size:
|
|
1915
|
-
type:
|
|
2092
|
+
size: l = "medium",
|
|
2093
|
+
type: g = "button"
|
|
1916
2094
|
}) => {
|
|
1917
|
-
const
|
|
1918
|
-
const
|
|
1919
|
-
return `${
|
|
1920
|
-
},
|
|
1921
|
-
const
|
|
2095
|
+
const E = () => {
|
|
2096
|
+
const _ = "archbase-secure-btn", v = `archbase-secure-btn--${i}`, f = `archbase-secure-btn--${l}`;
|
|
2097
|
+
return `${_} ${v} ${f} ${a}`.trim();
|
|
2098
|
+
}, d = () => {
|
|
2099
|
+
const _ = {
|
|
1922
2100
|
small: { padding: "4px 8px", fontSize: "12px" },
|
|
1923
2101
|
medium: { padding: "8px 16px", fontSize: "14px" },
|
|
1924
2102
|
large: { padding: "12px 24px", fontSize: "16px" }
|
|
1925
|
-
},
|
|
2103
|
+
}, v = {
|
|
1926
2104
|
primary: { backgroundColor: "#007bff", color: "white" },
|
|
1927
2105
|
secondary: { backgroundColor: "#6c757d", color: "white" },
|
|
1928
2106
|
danger: { backgroundColor: "#dc3545", color: "white" },
|
|
@@ -1935,44 +2113,44 @@ const lr = () => Dt().user, At = "archbaseSecurityManagerStore", Nr = ({ resourc
|
|
|
1935
2113
|
cursor: o ? "not-allowed" : "pointer",
|
|
1936
2114
|
fontWeight: "500",
|
|
1937
2115
|
opacity: o ? 0.6 : 1,
|
|
1938
|
-
...
|
|
1939
|
-
...
|
|
1940
|
-
...
|
|
2116
|
+
..._[l],
|
|
2117
|
+
...v[i],
|
|
2118
|
+
...c
|
|
1941
2119
|
};
|
|
1942
2120
|
};
|
|
1943
|
-
return /* @__PURE__ */
|
|
1944
|
-
|
|
2121
|
+
return /* @__PURE__ */ n(
|
|
2122
|
+
Rt,
|
|
1945
2123
|
{
|
|
1946
2124
|
actionName: r,
|
|
1947
2125
|
actionDescription: e,
|
|
1948
2126
|
fallback: null,
|
|
1949
|
-
children: /* @__PURE__ */
|
|
2127
|
+
children: /* @__PURE__ */ n(
|
|
1950
2128
|
"button",
|
|
1951
2129
|
{
|
|
1952
|
-
type:
|
|
2130
|
+
type: g,
|
|
1953
2131
|
onClick: s,
|
|
1954
2132
|
disabled: o,
|
|
1955
|
-
className:
|
|
1956
|
-
style:
|
|
2133
|
+
className: E(),
|
|
2134
|
+
style: d(),
|
|
1957
2135
|
children: t
|
|
1958
2136
|
}
|
|
1959
2137
|
)
|
|
1960
2138
|
}
|
|
1961
2139
|
);
|
|
1962
|
-
},
|
|
2140
|
+
}, es = ({
|
|
1963
2141
|
children: r,
|
|
1964
2142
|
actionName: e,
|
|
1965
2143
|
actionDescription: t,
|
|
1966
2144
|
showLabel: s = !0,
|
|
1967
2145
|
label: o,
|
|
1968
|
-
fallbackText:
|
|
1969
|
-
fallbackComponent:
|
|
1970
|
-
}) => e ? /* @__PURE__ */
|
|
1971
|
-
|
|
2146
|
+
fallbackText: a = "Campo não disponível",
|
|
2147
|
+
fallbackComponent: c
|
|
2148
|
+
}) => e ? /* @__PURE__ */ n(
|
|
2149
|
+
Rt,
|
|
1972
2150
|
{
|
|
1973
2151
|
actionName: e,
|
|
1974
2152
|
actionDescription: t,
|
|
1975
|
-
fallback:
|
|
2153
|
+
fallback: c || /* @__PURE__ */ P("div", { className: "archbase-secure-field-fallback", style: {
|
|
1976
2154
|
padding: "8px",
|
|
1977
2155
|
color: "#666",
|
|
1978
2156
|
fontStyle: "italic",
|
|
@@ -1980,99 +2158,100 @@ const lr = () => Dt().user, At = "archbaseSecurityManagerStore", Nr = ({ resourc
|
|
|
1980
2158
|
border: "1px dashed #dee2e6",
|
|
1981
2159
|
borderRadius: "4px"
|
|
1982
2160
|
}, children: [
|
|
1983
|
-
s && o && /* @__PURE__ */
|
|
2161
|
+
s && o && /* @__PURE__ */ P("label", { style: { fontWeight: "bold" }, children: [
|
|
1984
2162
|
o,
|
|
1985
2163
|
": "
|
|
1986
2164
|
] }),
|
|
1987
|
-
|
|
2165
|
+
a
|
|
1988
2166
|
] }),
|
|
1989
2167
|
children: r
|
|
1990
2168
|
}
|
|
1991
|
-
) : /* @__PURE__ */
|
|
1992
|
-
function
|
|
2169
|
+
) : /* @__PURE__ */ n(ne, { children: r });
|
|
2170
|
+
function ts(r, e) {
|
|
1993
2171
|
return function(s) {
|
|
1994
|
-
const { resourceName: o, resourceDescription:
|
|
1995
|
-
return /* @__PURE__ */
|
|
1996
|
-
|
|
2172
|
+
const { resourceName: o, resourceDescription: a, requiredPermissions: c, fallbackComponent: i } = e;
|
|
2173
|
+
return /* @__PURE__ */ n(
|
|
2174
|
+
Er,
|
|
1997
2175
|
{
|
|
1998
2176
|
resourceName: o,
|
|
1999
|
-
resourceDescription:
|
|
2000
|
-
requiredPermissions:
|
|
2177
|
+
resourceDescription: a,
|
|
2178
|
+
requiredPermissions: c,
|
|
2001
2179
|
fallbackComponent: i,
|
|
2002
|
-
children: /* @__PURE__ */
|
|
2180
|
+
children: /* @__PURE__ */ n(r, { ...s })
|
|
2003
2181
|
}
|
|
2004
2182
|
);
|
|
2005
2183
|
};
|
|
2006
2184
|
}
|
|
2007
2185
|
export {
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2186
|
+
Dt as ARCHBASE_SECURITY_MANAGER_STORE,
|
|
2187
|
+
yr as AccessIntervalDto,
|
|
2188
|
+
vt as AccessScheduleDto,
|
|
2189
|
+
Je as AccessTokenDto,
|
|
2190
|
+
wr as ActionDto,
|
|
2191
|
+
Ge as ApiTokenDto,
|
|
2192
|
+
Tt as ArchbaseAccessTokenService,
|
|
2193
|
+
Pt as ArchbaseApiTokenService,
|
|
2194
|
+
fr as ArchbaseAuthContext,
|
|
2195
|
+
zr as ArchbaseAuthProvider,
|
|
2196
|
+
It as ArchbaseGroupService,
|
|
2197
|
+
Vr as ArchbaseLogin,
|
|
2198
|
+
Wr as ArchbaseMfaSetup,
|
|
2199
|
+
Ct as ArchbaseProfileService,
|
|
2200
|
+
Rt as ArchbaseProtectedComponent,
|
|
2201
|
+
Hr as ArchbaseResetPassword,
|
|
2202
|
+
Ut as ArchbaseResourceService,
|
|
2203
|
+
Zr as ArchbaseSecureActionButton,
|
|
2204
|
+
es as ArchbaseSecureFormField,
|
|
2205
|
+
gt as ArchbaseSecurityManager,
|
|
2206
|
+
Yr as ArchbaseSecurityProvider,
|
|
2207
|
+
J as ArchbaseTenantManager,
|
|
2208
|
+
dt as ArchbaseUser,
|
|
2209
|
+
St as ArchbaseUserService,
|
|
2210
|
+
ut as ArchbaseUsernameAndPassword,
|
|
2211
|
+
ut as ArchbaseUsernameAndPasswordImpl,
|
|
2212
|
+
Er as ArchbaseViewSecurityProvider,
|
|
2213
|
+
Oe as CONTEXT_STORAGE_KEY,
|
|
2214
|
+
Zt as DefaultArchbaseTokenManager,
|
|
2215
|
+
Ar as DefaultSecurityLoading,
|
|
2216
|
+
ae as ENCRYPTION_KEY,
|
|
2217
|
+
pt as FetchError,
|
|
2218
|
+
xe as GroupDto,
|
|
2219
|
+
Fr as PermissionDto,
|
|
2220
|
+
Ee as ProfileDto,
|
|
2221
|
+
xt as ResourceDto,
|
|
2222
|
+
ge as SecurityDto,
|
|
2223
|
+
fe as SecurityType,
|
|
2224
|
+
Me as TOKEN_COOKIE_NAME,
|
|
2225
|
+
gr as TipoRecurso,
|
|
2226
|
+
Be as USER_NAME,
|
|
2227
|
+
Ne as USER_NAME_AND_PASSWORD,
|
|
2228
|
+
Re as UserDto,
|
|
2229
|
+
We as UserGroupDto,
|
|
2230
|
+
dr as createInternalConfig,
|
|
2231
|
+
Pe as decodeJWT,
|
|
2232
|
+
he as epochAtSecondsFromNow,
|
|
2233
|
+
st as epochTimeIsPast,
|
|
2234
|
+
ir as fetchTokens,
|
|
2235
|
+
ar as fetchWithRefreshToken,
|
|
2236
|
+
tr as generateCodeChallenge,
|
|
2237
|
+
er as generateRandomString,
|
|
2238
|
+
ht as getRandomInteger,
|
|
2239
|
+
pr as getRefreshExpiresIn,
|
|
2240
|
+
sr as postWithXForm,
|
|
2241
|
+
or as redirectToLogin,
|
|
2242
|
+
cr as redirectToLogout,
|
|
2243
|
+
Jr as useArchbaseAuthenticationManager,
|
|
2244
|
+
Kr as useArchbaseGetCurrentToken,
|
|
2245
|
+
br as useArchbaseGetLoggedUser,
|
|
2246
|
+
Qr as useArchbasePermissionCheck,
|
|
2247
|
+
qr as useArchbaseResetPassword,
|
|
2248
|
+
Xr as useArchbaseSecureForm,
|
|
2249
|
+
xr as useArchbaseSecurity,
|
|
2250
|
+
Gr as useArchbaseSecurityManager,
|
|
2251
|
+
jr as useArchbaseTenantManager,
|
|
2252
|
+
qe as useArchbaseViewSecurity,
|
|
2253
|
+
$r as useBrowserStorage,
|
|
2254
|
+
ur as validateConfig,
|
|
2255
|
+
lr as validateState,
|
|
2256
|
+
ts as withArchbaseSecurity
|
|
2078
2257
|
};
|