Add permissions.ts utility file

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2023-07-11 12:25:12 +03:00
parent 55e22efb66
commit 14216307a1
3 changed files with 26 additions and 9 deletions

1
src/utilities/index.ts Normal file
View File

@@ -0,0 +1 @@
export { isPermissionForPath, clearPermissions } from './permissions';

View 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 };