@directus/api
Version:
Directus is a real-time API and App dashboard for managing SQL database content
10 lines (9 loc) • 707 B
TypeScript
import type { Permission } from '@directus/types';
/**
* Merges multiple permission lists into a flat list of unique permissions.
* @param strategy `and` or `or` deduplicate permissions while `intersection` makes sure only common permissions across all lists are kept and overlapping permissions are merged through `and`.
* @param permissions List of permission lists to merge.
* @returns A flat list of unique permissions.
*/
export declare function mergePermissions(strategy: 'and' | 'or' | 'intersection', ...permissions: Permission[][]): Permission[];
export declare function mergePermission(strategy: 'and' | 'or', currentPerm: Permission, newPerm: Permission): Omit<Permission, 'id' | 'system'>;