コード例 #1
0
ファイル: Providers.cs プロジェクト: lulzzz/AuthJanitor
        public IActionResult List(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "providers")] HttpRequest req,
            ILogger log)
        {
            if (!req.IsValidUser())
            {
                return(new UnauthorizedResult());
            }

            log.LogInformation("Listing loaded Providers.");

            return(new OkObjectResult(LoadedProviders.Select(p => GetViewModel(p))));
        }
コード例 #2
0
        public async Task <IEnumerable <ProviderResourceSuggestion> > EnumerateProviders(AccessTokenCredential credential)
        {
            var providers = (await Task.WhenAll(
                                 LoadedProviders.Select(p => GetProviderInstanceDefault(p.ProviderTypeName))
                                 .OfType <ICanEnumerateResourceCandidates>()
                                 .Select(p => EnumerateProviders(credential, p))))
                            .Where(c => c != null)
                            .SelectMany(c => c);

            foreach (var provider in providers.Where(p => p.AddressableNames.Any()))
            {
                foreach (var name in provider.AddressableNames)
                {
                    var refs = providers.Where(p => p.ResourceValues.Any(r => r.Contains(name)));
                    provider.ResourcesAddressingThis.AddRange(refs);
                }
            }

            return(providers);
        }