Files
dbgate/packages/tools/src/testPermission.ts
Jan Prochazka b9cb8c3a45 prettier
2021-01-23 07:24:46 +01:00

17 lines
576 B
TypeScript

import _escapeRegExp from 'lodash/escapeRegExp';
import _isString from 'lodash/isString';
export function compilePermissions(permissions: string[] | string) {
if (!permissions) return null;
if (_isString(permissions)) permissions = permissions.split(',');
return permissions.map(x => new RegExp('^' + _escapeRegExp(x).replace(/\\\*/g, '.*') + '$'));
}
export function testPermission(tested: string, permissions: RegExp[]) {
if (!permissions) return true;
for (const permission of permissions) {
if (tested.match(permission)) return true;
}
return false;
}