private Task <IResultList <IAssetFolderEntity> > GetAssetFoldersAsync(DomainId parentId, AssetFolderScope scope) { if (scope == AssetFolderScope.Path) { return(Task.FromResult(ResultList.CreateFrom <IAssetFolderEntity>(0))); } return(assetQuery.QueryAssetFoldersAsync(Context, parentId, HttpContext.RequestAborted)); }
public async Task <IActionResult> GetAssetFolders(string app, [FromQuery] DomainId parentId, [FromQuery] AssetFolderScope scope = AssetFolderScope.PathAndItems) { var(folders, path) = await AsyncHelper.WhenAll( GetAssetFoldersAsync(parentId, scope), GetAssetPathAsync(parentId, scope)); var response = Deferred.Response(() => { return(AssetFoldersDto.FromAssets(folders, path, Resources)); }); Response.Headers[HeaderNames.ETag] = folders.ToEtag(); return(Ok(response)); }
private Task <IReadOnlyList <IAssetFolderEntity> > GetAssetPathAsync(DomainId parentId, AssetFolderScope scope) { if (scope == AssetFolderScope.Items) { return(Task.FromResult <IReadOnlyList <IAssetFolderEntity> >(ReadonlyList.Empty <IAssetFolderEntity>())); } return(assetQuery.FindAssetFolderAsync(Context.App.Id, parentId, HttpContext.RequestAborted)); }