public async Task <IActionResult> OnGetAsync(string id, string revisionId = null) { TempData["Page"] = "api"; Review = await _manager.GetReviewAsync(User, id); if (!Review.Revisions.Any()) { return(RedirectToPage("LegacyReview", new { id = id })); } Comments = await _commentsManager.GetReviewCommentsAsync(id); Revision = revisionId != null? Review.Revisions.Single(r => r.RevisionId == revisionId) : Review.Revisions.Last(); PreviousRevisions = Review.Revisions.TakeWhile(r => r != Revision).ToArray(); var renderedCodeFile = await _codeFileRepository.GetCodeFileAsync(Revision); CodeFile = renderedCodeFile.CodeFile; var fileDiagnostics = CodeFile.Diagnostics ?? Array.Empty <CodeDiagnostic>(); var fileHtmlLines = renderedCodeFile.Render(ShowDocumentation); if (DiffRevisionId != null) { DiffRevision = PreviousRevisions.Single(r => r.RevisionId == DiffRevisionId); var previousRevisionFile = await _codeFileRepository.GetCodeFileAsync(DiffRevision); var previousHtmlLines = previousRevisionFile.RenderReadOnly(ShowDocumentation); var previousRevisionTextLines = previousRevisionFile.RenderText(ShowDocumentation); var fileTextLines = renderedCodeFile.RenderText(ShowDocumentation); var diffLines = InlineDiff.Compute( previousRevisionTextLines, fileTextLines, previousHtmlLines, fileHtmlLines); Lines = CreateLines(fileDiagnostics, diffLines, Comments); } else { Lines = CreateLines(fileDiagnostics, fileHtmlLines, Comments); } ActiveConversations = ComputeActiveConversations(fileHtmlLines, Comments); TotalActiveConversations = Comments.Threads.Count(t => !t.IsResolved); var filterPreference = _preferenceCache.GetFilterType(User.GetGitHubLogin(), Review.FilterType); ReviewsForPackage = await _manager.GetReviewsAsync(Review.ServiceName, Review.PackageDisplayName, filterPreference); return(Page()); }
public async void GetReviews() { RestService restSevice = new RestService(); ReviewManager myReviewManager = new ReviewManager(restSevice); List <Review> listReviewss = await myReviewManager.GetReviewsAsync(profileUser.Id); Reviews.Clear(); foreach (var item in listReviewss) { Reviews.Add(item); } }
public async Task <ActionResult> GetReviewStatus(string language, string packageName) { // This API is used by prepare release script to check if API review for a package is approved or not. // This caller script doesn't have artifact to submit and so it can't check using create review API // So it rely on approval status of latest revision of automatic review for the package // With new restriction of creating automatic review only from master branch or GA version, this should ensure latest revision // is infact the version intended to be released. var reviews = await _reviewManager.GetReviewsAsync(false, language, packageName : packageName, ReviewType.Automatic); var review = reviews.FirstOrDefault(); if (review != null) { _logger.LogInformation("Found review ID " + review.ReviewId + " for package " + packageName); // Return 200 OK for approved review and 201 for review in pending status return(review.Revisions.LastOrDefault().IsApproved ? Ok() : StatusCode(statusCode: StatusCodes.Status201Created)); } throw new Exception("Automatic review is not found for package " + packageName); }
public async Task OnGetAsync() { Assemblies = await _manager.GetReviewsAsync(Closed); }
public async Task OnGetAsync() { Assemblies = await _manager.GetReviewsAsync(Closed, Language, Automatic); }
public async Task OnGetAsync() { Assemblies = await _manager.GetReviewsAsync(Closed, Language, filterType : FilterType); }