public async Task <AppStorageBrowseModel> GetFolderContentAsync(AppStorageBrowseModel model) { var folderItem = await GetByAlias(model.Alias); if (folderItem == null) { return(null); } if (model.Path.StartsWith(Path.DirectorySeparatorChar)) { model.Path = model.Path.Substring(1); } var cachedItem = await GetCacheItemAsync(folderItem.Id); var serverPath = Path.Combine(cachedItem.RootFolder, model.Path); var dirInfo = new DirectoryInfo(serverPath); if (!dirInfo.Exists) { return(null); } model.Folders = dirInfo.EnumerateDirectories().Select(x => x.Name).ToArray(); model.Files = dirInfo.EnumerateFiles(model.Filter).Select(x => x.Name).ToArray(); return(model); }
public async Task _03_GetFolderContentAsync() { var faModel = new AppStorageBrowseModel { Alias = "icons", Path = "fa", Filter = "*.*" }; var result = await Target.GetFolderContentAsync(faModel); Assert.IsNotNull(result); Assert.IsNotEmpty(result.Folders); Assert.IsEmpty(result.Files); var biModel = new AppStorageBrowseModel { Alias = "icons", Path = "bi", Filter = "*.svg" }; result = await Target.GetFolderContentAsync(biModel); Assert.IsNotNull(result); Assert.IsNotEmpty(result.Files); Assert.IsEmpty(result.Folders); }