Add permissions.ts utility file
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
1
src/utilities/index.ts
Normal file
1
src/utilities/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { isPermissionForPath, clearPermissions } from './permissions';
|
19
src/utilities/permissions.ts
Normal file
19
src/utilities/permissions.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import {
|
||||
getPersistedUriPermissions,
|
||||
releasePersistableUriPermission,
|
||||
} from 'react-native-scoped-storage';
|
||||
|
||||
const isPermissionForPath = (permission: string, path: string) => {
|
||||
return path.startsWith(permission + '/');
|
||||
};
|
||||
|
||||
const clearPermissions = async (excepts: string[] = []) => {
|
||||
const permissions = await getPersistedUriPermissions();
|
||||
permissions.forEach(permission => {
|
||||
if (!excepts.some(except => isPermissionForPath(permission, except))) {
|
||||
void releasePersistableUriPermission(permission);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export { isPermissionForPath, clearPermissions };
|
Reference in New Issue
Block a user