mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-17 12:56:05 +00:00
add auth enabling hints
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
import type { AppAuthSchema } from "auth/auth-schema";
|
||||
import { useBknd } from "ui/client/bknd";
|
||||
import { routes } from "ui/lib/routes";
|
||||
|
||||
export function useBkndAuth() {
|
||||
const { config, schema, actions: bkndActions } = useBknd();
|
||||
const { config, schema, actions: bkndActions, app } = useBknd();
|
||||
|
||||
const actions = {
|
||||
config: {
|
||||
@@ -33,7 +34,29 @@ export function useBkndAuth() {
|
||||
}
|
||||
}
|
||||
};
|
||||
const $auth = {};
|
||||
|
||||
const minimum_permissions = [
|
||||
"system.access.admin",
|
||||
"system.access.api",
|
||||
"system.config.read",
|
||||
"system.config.read.secrets",
|
||||
"system.build"
|
||||
];
|
||||
const $auth = {
|
||||
roles: {
|
||||
none: Object.keys(config.auth.roles ?? {}).length === 0,
|
||||
minimum_permissions,
|
||||
has_admin: Object.entries(config.auth.roles ?? {}).some(
|
||||
([name, role]) =>
|
||||
role.implicit_allow ||
|
||||
minimum_permissions.every((p) => role.permissions?.includes(p))
|
||||
)
|
||||
},
|
||||
routes: {
|
||||
settings: app.getSettingsPath(["auth"]),
|
||||
listUsers: app.getAbsolutePath("/data/" + routes.data.entity.list(config.auth.entity_name))
|
||||
}
|
||||
};
|
||||
|
||||
return {
|
||||
$auth,
|
||||
|
||||
Reference in New Issue
Block a user