public async Task <IActionResult> GetResources([FromQuery] QueryStringParameters queryStringParametersDto) { Parameters parameters = _parametersProcessorService.ProcessParameters(Request.RouteValues, Request.QueryString); string?query = _sparqlFactoryService.GetFinalQuery( _endpointService.GetEntryResourceQuery(parameters.RouteParameters.Endpoint, parameters.RouteParameters.Graph), parameters); if (query != null) { var sparqlResults = await _endpointService.ExecuteSelectSparqlQueryAsync(parameters.RouteParameters.Endpoint, parameters.RouteParameters.Graph, query); if (sparqlResults != null) { CurieVm curiesVm = _resultFormatterService.FormatSparqlResultToCurieList(sparqlResults); return(Ok(curiesVm)); } } return(NotFound(new CustomErrorVm() { CustomErrorMessage = $"No results were found! Check endpoint configuration at {UrlHelperClass.GetEndpointUrl(Request.GetEncodedUrl())}.", GeneratedQuery = query })); }
public IActionResult RecursiveRouteRedirect() { Parameters parameters = _parametersProcessorService.ProcessParameters(Request.RouteValues, Request.QueryString); if (parameters.RouteParameters.Predicate == null) { return(Redirect(UrlHelperClass.ReduceUrl(Request.GetEncodedUrl(), "resource"))); } return(Redirect(UrlHelperClass.ReduceUrl(Request.GetEncodedUrl(), "predicate"))); }
public IActionResult GetGraphsForEndpoint([FromRoute] string endpoint) { var graphs = _endpointService.GetEndpointGraphs(endpoint); if (graphs != null) { return(Ok(graphs)); } return(NotFound(new CustomErrorVm() { CustomErrorMessage = $"No graphs found. Check selected endpoint configuration at {UrlHelperClass.GetEndpointUrl(Request.GetEncodedUrl())}" })); }
public IActionResult PostEndpoint(EndpointVm endpoint) { if (_endpointService.AddEndpoint(_mapper.Map <EndpointVm, Endpoint>(endpoint), out var finalEndpoint)) { return(Created( new Uri(UrlHelperClass.CreateEndpointUrl(Request.GetEncodedUrl(), endpoint.EndpointName)), finalEndpoint)); } return(BadRequest(new ValidationErrorVm() { CustomError = new CustomErrorVm() { CustomErrorMessage = $"Given endpoint name is already assigned. Check this endpoint configuration at {UrlHelperClass.CreateEndpointUrl(Request.GetEncodedUrl(), endpoint.EndpointName)}" } })); }
public async Task <IActionResult> DeleteResource() { Parameters parameters = _parametersProcessorService.ProcessParameters(Request.RouteValues, Request.QueryString); string?query = _sparqlFactoryService.GetFinalDeleteQueryForResource(parameters); if (query != null) { bool successful = await _endpointService.ExecuteUpdateSparqlQueryAsync( parameters.RouteParameters.Endpoint, parameters.RouteParameters.Graph, query); if (successful) { return(NoContent()); } } return(BadRequest(new CustomErrorVm() { CustomErrorMessage = $"Resource could not have been deleted! Check endpoint configuration at {UrlHelperClass.GetEndpointUrl(Request.GetEncodedUrl())}.", GeneratedQuery = query })); }
public async Task <IActionResult> PutPredicate(PredicateVm predicateVm) { Parameters parameters = _parametersProcessorService.ProcessParameters(Request.RouteValues, Request.QueryString); string?query = _sparqlFactoryService.GetFinalPutQueryForPredicate(parameters, predicateVm); if (query != null) { bool successful = await _endpointService.ExecuteUpdateSparqlQueryAsync( parameters.RouteParameters.Endpoint, parameters.RouteParameters.Graph, query); if (successful) { return(Created(new Uri(Request.GetEncodedUrl()), predicateVm)); } } return(BadRequest(new ValidationErrorVm() { CustomError = new CustomErrorVm() { CustomErrorMessage = $"Predicate could not have been created! Check selected endpoint configuration at {UrlHelperClass.GetEndpointUrl(Request.GetEncodedUrl())}.", GeneratedQuery = query } })); }