1// Copyright 2015-present 650 Industries. All rights reserved.
2#import "EXScopedFilePermissionModule.h"
3#import <UMFileSystemInterface/UMFileSystemInterface.h>
4#import <UMConstantsInterface/UMConstantsInterface.h>
5
6@implementation EXScopedFilePermissionModule
7
8- (UMFileSystemPermissionFlags)getExternalPathPermissions:(NSString *)path
9{
10  // may block access to external paths which contain "ExponentExperienceData"
11  if (![self shouldForbidAccessToExternalDirectories] || (![path containsString:@"ExponentExperienceData"])) {
12    return [super getExternalPathPermissions:path];
13  }
14  return UMFileSystemPermissionNone;
15}
16
17- (BOOL)shouldForbidAccessToExternalDirectories {
18  id<UMConstantsInterface> constantsModule = [[self moduleRegistry] getModuleImplementingProtocol:@protocol(UMConstantsInterface)];
19  return [@"expo" isEqualToString:constantsModule.appOwnership];
20}
21
22@end
23