1// Copyright 2015-present 650 Industries. All rights reserved.
2#import "EXScopedFilePermissionModule.h"
3#import <EXFileSystemInterface/EXFileSystemInterface.h>
4#import <EXConstantsInterface/EXConstantsInterface.h>
5
6@implementation EXScopedFilePermissionModule
7
8- (EXFileSystemPermissionFlags)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 EXFileSystemPermissionNone;
15}
16
17- (BOOL)shouldForbidAccessToExternalDirectories {
18  id<EXConstantsInterface> constantsModule = [[self moduleRegistry] getModuleImplementingProtocol:@protocol(EXConstantsInterface)];
19  return [@"expo" isEqualToString:constantsModule.appOwnership];
20}
21
22@end
23