@dudousxd/adonis-authkit-react 0.1.0 → 0.1.2
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/build/src/roles.js +15 -8
- package/build/src/use_auth.js +5 -1
- package/package.json +2 -2
package/build/src/roles.js
CHANGED
|
@@ -1,32 +1,39 @@
|
|
|
1
|
+
function hasRole(arr, role) {
|
|
2
|
+
return arr.includes(role);
|
|
3
|
+
}
|
|
4
|
+
function hasAnyRole(arr, roles) {
|
|
5
|
+
return roles.some((role) => arr.includes(role));
|
|
6
|
+
}
|
|
7
|
+
function hasAllRoles(arr, roles) {
|
|
8
|
+
return roles.every((role) => arr.includes(role));
|
|
9
|
+
}
|
|
1
10
|
export function hasGlobalRole(user, role) {
|
|
2
11
|
if (!user)
|
|
3
12
|
return false;
|
|
4
|
-
return user.globalRoles
|
|
13
|
+
return hasRole(user.globalRoles, role);
|
|
5
14
|
}
|
|
6
15
|
export function hasAnyGlobalRole(user, roles) {
|
|
7
16
|
if (!user)
|
|
8
17
|
return false;
|
|
9
|
-
return
|
|
18
|
+
return hasAnyRole(user.globalRoles, roles);
|
|
10
19
|
}
|
|
11
20
|
export function hasAllGlobalRoles(user, roles) {
|
|
12
21
|
if (!user)
|
|
13
22
|
return false;
|
|
14
|
-
return
|
|
23
|
+
return hasAllRoles(user.globalRoles, roles);
|
|
15
24
|
}
|
|
16
25
|
export function hasAppRole(user, role) {
|
|
17
26
|
if (!user || !user.appRoles)
|
|
18
27
|
return false;
|
|
19
|
-
return user.appRoles
|
|
28
|
+
return hasRole(user.appRoles, role);
|
|
20
29
|
}
|
|
21
30
|
export function hasAnyAppRole(user, roles) {
|
|
22
31
|
if (!user || !user.appRoles)
|
|
23
32
|
return false;
|
|
24
|
-
|
|
25
|
-
return roles.some((role) => appRoles.includes(role));
|
|
33
|
+
return hasAnyRole(user.appRoles, roles);
|
|
26
34
|
}
|
|
27
35
|
export function hasAllAppRoles(user, roles) {
|
|
28
36
|
if (!user || !user.appRoles)
|
|
29
37
|
return false;
|
|
30
|
-
|
|
31
|
-
return roles.every((role) => appRoles.includes(role));
|
|
38
|
+
return hasAllRoles(user.appRoles, roles);
|
|
32
39
|
}
|
package/build/src/use_auth.js
CHANGED
|
@@ -10,7 +10,11 @@ const UNAUTHENTICATED = {
|
|
|
10
10
|
export function useAuth() {
|
|
11
11
|
const contextValue = useContext(AuthContext);
|
|
12
12
|
const pageProps = usePage().props;
|
|
13
|
-
const
|
|
13
|
+
const resolved = contextValue ?? pageProps?.authkit;
|
|
14
|
+
if (!resolved && typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {
|
|
15
|
+
console.warn('[authkit] useAuth(): nenhum <AuthProvider> nem shared-prop `authkit` encontrado — retornando estado não-autenticado.');
|
|
16
|
+
}
|
|
17
|
+
const authkit = resolved ?? UNAUTHENTICATED;
|
|
14
18
|
return useMemo(() => {
|
|
15
19
|
const user = authkit.user ?? null;
|
|
16
20
|
const globalRoles = authkit.globalRoles ?? user?.globalRoles ?? [];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dudousxd/adonis-authkit-react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Frontend ergonomics over AuthKit for AdonisJS + Inertia + React apps: a typed useAuth() hook, role-gating hooks and gating components.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "dudousxd",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"react-dom": "19.2.6"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@dudousxd/adonis-authkit-core": "0.
|
|
44
|
+
"@dudousxd/adonis-authkit-core": "0.2.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@adonisjs/tsconfig": "2.0.0",
|