public async Task EnsureCapability(string domain, KzPaymail.Capability capability) { if (!await DomainHasCapability(domain, capability)) { throw new InvalidOperationException($"Unknown capability \"{capability}\" for \"{domain}\""); } }
public async Task <bool> DomainHasCapability(string domain, KzPaymail.Capability capability) { var id = KzPaymail.ToBrfcId(capability); var ba = await GetApiDescriptionFor(domain); if (ba == null || !ba.capabilities.ContainsKey(id)) { return(false); } var v = ba.capabilities[id].Value; return(!v.Equals(false)); }