Example #1
0
        async Task <PreflightResources> GetPreflightResourcesAsync(IEnumerable <IPanelDTO> panels)
        {
            var requested = panels.SelectMany(p => p.SubPanels)
                            .SelectMany(s => s.PanelItems)
                            .Select(i => i.Resource);
            var resources = new ResourceRefs(requested);

            return(await preflightSearch.GetResourcesAsync(resources));
        }
Example #2
0
        public async Task <ActionResult <PreflightCheckDTO> > Preflight(
            [FromBody] ResourceRef resourceRef,
            [FromServices] PreflightResourceChecker preflight)
        {
            try
            {
                var refs = new ResourceRefs(new ResourceRef[] { resourceRef });
                var preflightResources = await preflight.GetResourcesAsync(refs);

                return(Ok(new PreflightCheckDTO(preflightResources)));
            }
            catch (LeafRPCException lde)
            {
                return(StatusCode(lde.StatusCode));
            }
            catch (Exception e)
            {
                log.LogError("Failed to preflight resource. Resource:{@Resource} Error:{Error}", resourceRef, e.ToString());
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }