All files / blong-browser/src/hooks usePermission.ts

87.5% Statements 14/16
75% Branches 3/4
100% Functions 1/1
87.5% Lines 14/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 171x 1x 1x 1x 1x 1x 1x 1x 1x 1x 38x 38x     1x 1x  
/**
 * usePermission — check a single named permission.
 */
import {useAppStore} from '../state/appStore.js';
 
/**
 * Returns true if the current user has the given permission.
 * Also accepts a boolean override for testing.
 */
export function usePermission(permission: string | boolean | undefined | null): boolean {
    const permissions = useAppStore(s => s.auth.permissions);
    if (typeof permissions === 'boolean') return permissions;
    if (permission == null) return true;
    if (typeof permission === 'boolean') return permission;
    return permissions[permission] === true;
}