public async Task <SearchResourceSetResponse> ExecuteAsync(string url, SearchResourceSet parameter, string authorizationHeaderValue = null) { if (string.IsNullOrWhiteSpace(url)) { throw new ArgumentNullException(nameof(url)); } var httpClient = _httpClientFactory.GetHttpClient(); var serializedPostPermission = JsonConvert.SerializeObject(parameter); var body = new StringContent(serializedPostPermission, Encoding.UTF8, "application/json"); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri(url), Content = body }; if (!string.IsNullOrWhiteSpace(authorizationHeaderValue)) { request.Headers.Add("Authorization", "Bearer " + authorizationHeaderValue); } var httpResult = await httpClient.SendAsync(request); httpResult.EnsureSuccessStatusCode(); var content = await httpResult.Content.ReadAsStringAsync().ConfigureAwait(false); return(JsonConvert.DeserializeObject <SearchResourceSetResponse>(content)); }
public async Task <IActionResult> SearchResourceSets([FromBody] SearchResourceSet searchResourceSet) { if (searchResourceSet == null) { throw new ArgumentNullException(nameof(searchResourceSet)); } var parameter = searchResourceSet.ToParameter(); var result = await _resourceSetActions.Search(parameter); return(new OkObjectResult(result.ToResponse())); }
public async Task <IActionResult> SearchResourceSets([FromBody] SearchResourceSet searchResourceSet) { if (searchResourceSet == null) { return(BuildError(ErrorCodes.InvalidRequestCode, "no parameter in body request", HttpStatusCode.BadRequest)); } var parameter = searchResourceSet.ToParameter(); var result = await _resourceSetActions.Search(parameter); return(new OkObjectResult(result.ToResponse())); }
public static SearchResourceSetParameter ToParameter(this SearchResourceSet searchResourceSet) { if (searchResourceSet == null) { throw new ArgumentNullException(nameof(searchResourceSet)); } return(new SearchResourceSetParameter { Count = searchResourceSet.TotalResults, Ids = searchResourceSet.Ids, Names = searchResourceSet.Names, StartIndex = searchResourceSet.StartIndex, Types = searchResourceSet.Types }); }
/// <inheritdoc /> public async Task <PagedResult <ResourceSet> > Search( SearchResourceSet parameter, CancellationToken cancellationToken) { await using var session = _sessionFactory(); var parameterIds = parameter.Ids; var parameterNames = parameter.Names; var results = await session.Query <OwnedResourceSet>() .Where(x => x.Name.IsOneOf(parameterIds) && x.Type.IsOneOf(parameterNames)) .ToPagedListAsync(parameter.StartIndex + 1, parameter.TotalResults, cancellationToken) .ConfigureAwait(false); return(new PagedResult <ResourceSet> { Content = results.Select(x => x.AsResourceSet()).ToArray(), StartIndex = parameter.StartIndex, TotalResults = results.TotalItemCount }); }
public async Task <SearchResourceSetResponse> ResolveSearch(string url, SearchResourceSet parameter, string authorizationHeaderValue = null) { var configuration = await _getConfigurationOperation.ExecuteAsync(UriHelpers.GetUri(url)); return(await _searchResourcesOperation.ExecuteAsync(configuration.ResourceRegistrationEndpoint + "/.search", parameter, authorizationHeaderValue)); }