public async Task <IEnumerable <IssueLinkLight> > GetLinks(IssueLight rawIssue) { if (rawIssue == null) { throw new ArgumentNullException(nameof(rawIssue)); } var linksRaw = await _jira.Links.GetLinksForIssueAsync(rawIssue.Key).ConfigureAwait(false); return(linksRaw.Select(JiraExtensions.ToIssueLinkLight)); }
private async Task <(string, IEnumerable <IssueLinkLight>)> ProcessLinksInParallel(IssueLight rawIssue) { var links = await GetLinks(rawIssue).ConfigureAwait(false); return(rawIssue.Key, links); }
public async Task <IEnumerable <IssueLinkLight> > GetLinks(IssueLight rawIssue) => await _diskCache.Wrap($"{ rawIssue.Key}_links", () => _repository.GetLinks(rawIssue)).ConfigureAwait(false);