Skip to content

Commit

Permalink
Support uploading API review token file for CADL review (#5037)
Browse files Browse the repository at this point in the history
* Support uploading APIView token file for CADL review
  • Loading branch information
praveenkuttappan authored Jan 4, 2023
1 parent 81c78af commit 231f7e0
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public async Task AddRevisionAsync_Computes_Headings_Of_Sections_With_Diff_A()
var reviewManager = testsBaseFixture.ReviewManager;
var user = testsBaseFixture.User;
var review = await testsBaseFixture.ReviewManager.CreateReviewAsync(user, fileNameA, "Revision1", fileStreamA, false, "Swagger", true);
await reviewManager.AddRevisionAsync(user, review.ReviewId, fileNameB, "Revision2", fileStreamB, true);
await reviewManager.AddRevisionAsync(user, review.ReviewId, fileNameB, "Revision2", fileStreamB, "Swagger", true);
review = await reviewManager.GetReviewAsync(user, review.ReviewId);
var headingWithDiffInSections = review.Revisions[0].HeadingsOfSectionsWithDiff[review.Revisions[1].RevisionId];
Assert.All(headingWithDiffInSections,
Expand All @@ -65,7 +65,7 @@ public async Task AddRevisionAsync_Computes_Headings_Of_Sections_With_Diff_B()
var reviewManager = testsBaseFixture.ReviewManager;
var user = testsBaseFixture.User;
var review = await reviewManager.CreateReviewAsync(user, fileNameC, "Azure.Analytics.Purview.Account", fileStreamC, false, "Swagger", true);
await reviewManager.AddRevisionAsync(user, review.ReviewId, fileNameD, "Azure.Analytics.Purview.Account", fileStreamD, true);
await reviewManager.AddRevisionAsync(user, review.ReviewId, fileNameD, "Azure.Analytics.Purview.Account", fileStreamD, "Swagger", true);
review = await reviewManager.GetReviewAsync(user, review.ReviewId);
var headingWithDiffInSections = review.Revisions[0].HeadingsOfSectionsWithDiff[review.Revisions[1].RevisionId];
Assert.All(headingWithDiffInSections,
Expand Down
10 changes: 9 additions & 1 deletion src/dotnet/APIView/APIViewWeb/Client/src/revisions.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$(() => {
$(() => {
$(document).on("click", ".revision-rename-icon", e => {
toggleNameField($(e.target));
});
Expand All @@ -16,4 +16,12 @@
renameIcon.toggle();
renameIcon.siblings(".revision-name-input").toggle();
}

const languageSelect = $('#revision-language-select');
languageSelect.on('change', function (e) {
const fileSelectors = $(".package-file-selector");
for (var i = 0; i < fileSelectors.length; i++) {
$(fileSelectors[i]).toggleClass("hidden-row");
}
});
});
2 changes: 1 addition & 1 deletion src/dotnet/APIView/APIViewWeb/Managers/IReviewManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public interface IReviewManager
IEnumerable<string> search, IEnumerable<string> languages, bool? isClosed, IEnumerable<int> filterTypes, bool? isApproved, int offset, int limit, string orderBy);
public Task DeleteReviewAsync(ClaimsPrincipal user, string id);
public Task<ReviewModel> GetReviewAsync(ClaimsPrincipal user, string id);
public Task AddRevisionAsync(ClaimsPrincipal user, string reviewId, string name, string label, Stream fileStream, bool awaitComputeDiff = false);
public Task AddRevisionAsync(ClaimsPrincipal user, string reviewId, string name, string label, Stream fileStream, string language = "", bool awaitComputeDiff = false);
public Task<CodeFile> CreateCodeFile(string originalName, Stream fileStream, bool runAnalysis, MemoryStream memoryStream, string language = null);
public Task<ReviewCodeFileModel> CreateReviewCodeFileModel(string revisionId, MemoryStream memoryStream, CodeFile codeFile);
public Task DeleteRevisionAsync(ClaimsPrincipal user, string id, string revisionId);
Expand Down
3 changes: 2 additions & 1 deletion src/dotnet/APIView/APIViewWeb/Managers/ReviewManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -204,11 +204,12 @@ public async Task AddRevisionAsync(
string name,
string label,
Stream fileStream,
string language = "",
bool awaitComputeDiff = false)
{
var review = await GetReviewAsync(user, reviewId);
await AssertAutomaticReviewModifier(user, review);
await AddRevisionAsync(user, review, name, label, fileStream, review.Language, awaitComputeDiff);
await AddRevisionAsync(user, review, name, label, fileStream, language, awaitComputeDiff);
}

public async Task<CodeFile> CreateCodeFile(
Expand Down
18 changes: 16 additions & 2 deletions src/dotnet/APIView/APIViewWeb/Pages/Assemblies/Revisions.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,22 @@
</div>
}
else
{
<div class="form-group package-selector">
{
<div class="form-group">
<span>
<select asp-for="Language" class="selectpicker show-menu-arrow shadow-sm mr-20 ml-20" data-style="btn-light btn-sm border" data-selected-text-format="value" id="revision-language-select">
<option selected value="Cadl">Cadl</option>
<option value="Json" data-content="Json">Json</option>
</select>
</span>
</div>
<div class="form-group package-file-selector hidden-row">
<div class="custom-file">
<input name="upload" type="file" class="custom-file-input">
<label for="upload" class="custom-file-label">Select file to add</label>
</div>
</div>
<div class="form-group package-file-selector">
<input asp-for="FilePath" class="form-control" type="text" placeholder="Enter URL to package root source. For e.g. URL to CADL file">
</div>
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ public RevisionsPageModel(
[FromForm]
public string FilePath { get; set; }

[FromForm]
public string Language { get; set; }

public async Task<IActionResult> OnGetAsync(string id)
{
TempData["Page"] = "revisions";
Expand All @@ -48,7 +51,7 @@ public async Task<IActionResult> OnPostUploadAsync(string id, [FromForm] IFormFi
if (upload != null)
{
var openReadStream = upload.OpenReadStream();
await _manager.AddRevisionAsync(User, id, upload.FileName, Label, openReadStream);
await _manager.AddRevisionAsync(User, id, upload.FileName, Label, openReadStream, language: Language);
}
else
{
Expand Down

0 comments on commit 231f7e0

Please sign in to comment.