public async Task <bool> IsResourceIdAccessRequired(string policyName, IIamProviderCache cache) { bool?ret = cache.IsResourceIdAccessRequired(policyName); if (!ret.HasValue) { var policyId = await CreateOrGetPolicy(policyName); var policy = await _context.IamPolicyResourceIds .AsNoTracking() .FirstOrDefaultAsync(x => x.PolicyId.Equals(policyId)); ret = policy?.RequiresResourceIdAccess; if (ret != null) { cache.ToggleResourceIdAccess(policyName, policy.RequiresResourceIdAccess); } } return(ret.GetValueOrDefault(false)); }
public Task <bool> IsResourceIdAccessRequired(string policyName, IIamProviderCache cache) { var ret = cache.IsResourceIdAccessRequired(policyName); return(Task.FromResult(ret.GetValueOrDefault(false))); }