public async Task <PagedResult <DataAsset> > BrowseAsync(GetDataAssets query)
        {
            if (query is null)
            {
                return(PagedResult <DataAsset> .Empty);
            }

            var headers = DataAssets.AsQueryable();

            if (query.OnlyPublishable)
            {
                headers = headers.Where(c => c.State == DataAssetState.Published ||
                                        c.State == DataAssetState.UnderMaintenance);
            }

            return(await headers.OrderBy(h => h.Name).PaginateAsync(query));
        }
 public Task RemoveAsync(Keccak id)
 => DataAssets.DeleteOneAsync(c => c.Id == id);
 public Task UpdateAsync(DataAsset dataAsset)
 => DataAssets.ReplaceOneAsync(c => c.Id == dataAsset.Id, dataAsset);
 public Task AddAsync(DataAsset dataAsset)
 => DataAssets.InsertOneAsync(dataAsset);
 public Task <DataAsset?> GetAsync(Keccak id)
 => DataAssets.Find(c => c.Id == id).FirstOrDefaultAsync();
 public Task <bool> ExistsAsync(Keccak id)
 => DataAssets.Find(c => c.Id == id).AnyAsync();