mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-29 09:53:59 +00:00
29 lines
886 B
TypeScript
29 lines
886 B
TypeScript
import { compilePermissions, testPermission } from 'dbgate-tools';
|
|
import { useConfig } from './metadataLoaders';
|
|
|
|
let compiled = null;
|
|
|
|
export default function hasPermission(tested) {
|
|
// console.log('TESTING PERM', tested, compiled, testPermission(tested, compiled));
|
|
return testPermission(tested, compiled);
|
|
}
|
|
|
|
export function subscribePermissionCompiler() {
|
|
// console.log('subscribePermissionCompiler', compiled);
|
|
|
|
useConfig().subscribe(value => {
|
|
if (!value) return;
|
|
const { permissions } = value;
|
|
compiled = compilePermissions(permissions);
|
|
// console.log('COMPILED PERMS', compiled);
|
|
});
|
|
}
|
|
|
|
export function setConfigForPermissions(config) {
|
|
compiled = compilePermissions(config?.permissions || []);
|
|
}
|
|
|
|
export function isAllowedDatabaseRunScript(databasePermissionRole) {
|
|
return !databasePermissionRole || databasePermissionRole == 'run_script';
|
|
}
|
|
|