Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,6 @@ private static APIRevisionListItemModel CreateMockAPIRevision(
Files = [new APICodeFileModel { FileId = "1" }],
ChangeHistory = [],
Approvers = [],
ViewedBy = [],
AssignedReviewers = [],
HeadingsOfSectionsWithDiff = new Dictionary<string, HashSet<int>>()
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@ private static APIRevisionListItemModel CreateMockAPIRevision(string id)
Files = [new APICodeFileModel { FileId = "file1" }],
ChangeHistory = [],
Approvers = [],
ViewedBy = [],
AssignedReviewers = [],
HeadingsOfSectionsWithDiff = new Dictionary<string, HashSet<int>>()
};
Expand Down
4 changes: 0 additions & 4 deletions src/dotnet/APIView/APIViewWeb/Client/src/pages/review.ts
Original file line number Diff line number Diff line change
Expand Up @@ -236,10 +236,6 @@ $(() => {
$("#reviewSubscribeSwitch").on('change', function () {
$("#reviewSubscribeForm").submit();
});
// Toggle Viewed Switch
$("#reviewViewedSwitch").on('change', function () {
$("#reviewViewedForm").submit();
});
// Toggle Close Switch
$("#reviewCloseSwitch").on('change', function () {
$("#reviewCloseForm").submit();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,31 +155,6 @@ public async Task RestoreAPIRevisionsAsync([FromBody] APIRevisionSoftDeleteParam
}
}

/// <summary>
/// Endpoint used by Client SPA toggling ViewdBy property
/// </summary>
/// <param name="apiRevisionId"></param>
/// <param name="state"></param> true = viewed, false = not viewed
/// <returns></returns>
[HttpPost("{apiRevisionId}/toggleViewedBy", Name = "ToggleViewedBy")]
public async Task<ActionResult<APIRevisionListItemModel>> ToggleViewedByAsync(string apiRevisionId, [FromQuery] bool state)
{
string userName = User.GetGitHubLogin();
var apiRevision = await _apiRevisionsManager.GetAPIRevisionAsync(apiRevisionId);

if (state)
{
apiRevision.ViewedBy.Add(userName);
}
else
{
apiRevision.ViewedBy.Remove(userName);
}

await _apiRevisionsManager.UpdateAPIRevisionAsync(apiRevision);
return new LeanJsonResult(apiRevision, StatusCodes.Status200OK);
}

/// <summary>
/// Endpoint used by Client SPA for Toggling APIRevision Approval
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,6 @@ public string PackageVersion
public bool IsDeleted { get; set; }
public bool IsReleased { get; set; }
public DateTime ReleasedOn { get; set; }
public HashSet<string> ViewedBy { get; set; } = new HashSet<string>();
}


Expand Down
19 changes: 1 addition & 18 deletions src/dotnet/APIView/APIViewWeb/Pages/Assemblies/Review.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -487,24 +487,7 @@
}
<ul class="list-group collapse mb-3@(apiRevisionOptionsCollapseState)" id="apiRevisionOptionsCollapse">
<li class="list-group-item">
<div class="form-check form-switch">
<form asp-resource="@Model.ReviewContent.ActiveAPIRevision" class="form-inline" id="reviewViewedForm" method="post" asp-page-handler="ToggleViewed">
<input type="hidden" name="revisionId" value="@Model.ReviewContent.ActiveAPIRevision.Id" />
@if (Model.ReviewContent.ActiveAPIRevision.ViewedBy.Contains(User.GetGitHubLogin()))
{
<input class="form-check-input" checked type="checkbox" role="switch" id="reviewViewedSwitch">
}
else
{
<input class="form-check-input" type="checkbox" role="switch" id="reviewViewedSwitch">
}

<label class="form-check-label" for="reviewViewedSwitch">Mark as Viewed</label>
</form>
</div>
</li>
<li class="list-group-item">
<div>
<div>
<p class="small revision-title">Change History:</p>
@foreach (var change in Model.ReviewContent.ActiveAPIRevision.ChangeHistory)
{
Expand Down
24 changes: 0 additions & 24 deletions src/dotnet/APIView/APIViewWeb/Pages/Assemblies/Review.cshtml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -285,30 +285,6 @@ public async Task<ActionResult> OnPostToggleSubscribedAsync(string id)
return RedirectToPage(new { id = id });
}

/// <summary>
/// Mark a Review as Viewed
/// </summary>
/// <param name="id"></param>
/// <param name="revisionId"></param>
/// <returns></returns>
public async Task<ActionResult> OnPostToggleViewedAsync(string id, string revisionId)
{
string userName = User.GetGitHubLogin();
var revision = await _apiRevisionsManager.GetAPIRevisionAsync(revisionId);

if (revision.ViewedBy.Contains(userName))
{
revision.ViewedBy.Remove(userName);
}
else
{
revision.ViewedBy.Add(userName);
}

await _apiRevisionsManager.UpdateAPIRevisionAsync(revision);
return RedirectToPage(new { id = id, revisionId = revisionId });
}

/// <summary>
/// Approve or Revert Approval for a Review
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,11 +197,6 @@

<app-page-options-section sectionName="API Revision Options">
<ul class="list-group">
<li class="list-group-item">
<p-inputSwitch [(ngModel)]="markedAsViewSwitch"
(onChange)="onMarkedAsViewedSwitchChange($event)" data-clarity-region="toggle-marked-as-viewed" />
<label class="ms-2">Mark as viewed</label>
</li>
<li class="list-group-item">
<label class="small mx-1 fw-semibold" for="diff-style-select">Reviewers :</label>
<p-multiSelect
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,6 @@ describe('ReviewPageOptionsComponent', () => {
expect(component.showDocumentationSwitch).toEqual(true);
expect(component.showHiddenAPISwitch).toEqual(false);
expect(component.showLeftNavigationSwitch).toEqual(true);
expect(component.markedAsViewSwitch).toEqual(false);
expect(component.showLineNumbersSwitch).toEqual(true);
expect(component.disableCodeLinesLazyLoading).toEqual(false);
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ export class ReviewPageOptionsComponent implements OnInit, OnChanges {
@Output() showHiddenAPIEmitter : EventEmitter<boolean> = new EventEmitter<boolean>();
@Output() showLeftNavigationEmitter : EventEmitter<boolean> = new EventEmitter<boolean>();
@Output() disableCodeLinesLazyLoadingEmitter : EventEmitter<boolean> = new EventEmitter<boolean>();
@Output() markAsViewedEmitter : EventEmitter<boolean> = new EventEmitter<boolean>();
@Output() subscribeEmitter : EventEmitter<boolean> = new EventEmitter<boolean>();
@Output() showLineNumbersEmitter : EventEmitter<boolean> = new EventEmitter<boolean>();
@Output() apiRevisionApprovalEmitter : EventEmitter<boolean> = new EventEmitter<boolean>();
Expand All @@ -74,7 +73,6 @@ export class ReviewPageOptionsComponent implements OnInit, OnChanges {
showDocumentationSwitch : boolean = true;
showHiddenAPISwitch : boolean = false;
showLeftNavigationSwitch : boolean = true;
markedAsViewSwitch : boolean = false;
subscribeSwitch : boolean = false;
showLineNumbersSwitch : boolean = true;
disableCodeLinesLazyLoading: boolean = false;
Expand Down Expand Up @@ -170,12 +168,10 @@ export class ReviewPageOptionsComponent implements OnInit, OnChanges {

if (changes['userProfile'] && changes['userProfile'].currentValue != undefined) {
this.setSubscribeSwitch();
this.setMarkedAsViewSwitch();
this.setPageOptionValues();
}

if (changes['activeAPIRevision'] && changes['activeAPIRevision'].currentValue != undefined) {
this.setMarkedAsViewSwitch();
this.selectedApprovers = this.activeAPIRevision!.assignedReviewers.map(reviewer => reviewer.assingedTo);
this.isCopilotReviewSupported = this.isCopilotReviewSupportedForPackage();
this.setAPIRevisionApprovalStates();
Expand Down Expand Up @@ -294,15 +290,7 @@ export class ReviewPageOptionsComponent implements OnInit, OnChanges {
}

/**
* Callback for markedAsViewSwitch Change
* @param event the Filter event
*/
onMarkedAsViewedSwitchChange(event: InputSwitchChangeEvent) {
this.markAsViewedEmitter.emit(event.checked);
}

/**
* Callback for markedAsViewSwitch Change
* Callback for subscribeSwitch Change
* @param event the Filter event
*/
onSubscribeSwitchChange(event: InputSwitchChangeEvent) {
Expand Down Expand Up @@ -465,10 +453,6 @@ export class ReviewPageOptionsComponent implements OnInit, OnChanges {
this.subscribeSwitch = (this.userProfile && this.review) ? this.review!.subscribers.includes(this.userProfile?.email!) : this.subscribeSwitch;
}

setMarkedAsViewSwitch() {
this.markedAsViewSwitch = (this.activeAPIRevision && this.userProfile)? this.activeAPIRevision!.viewedBy.includes(this.userProfile?.userName!): this.markedAsViewSwitch;
}

copyReviewText(event: Event) {
const icon = (event?.target as Element).firstChild as HTMLElement;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@
(showCommentsEmitter)="handleShowCommentsEmitter($event)"
(showLeftNavigationEmitter)="handleShowLeftNavigationEmitter($event)"
(diffStyleEmitter)="handleDiffStyleEmitter($event)"
(markAsViewedEmitter)="handleMarkAsViewedEmitter($event)"
(subscribeEmitter)="handleSubscribeEmitter($event)"
(showLineNumbersEmitter)="handleShowLineNumbersEmitter($event)"
(apiRevisionApprovalEmitter)="handleApiRevisionApprovalEmitter($event)"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -541,16 +541,6 @@ export class ReviewPageComponent implements OnInit {
this.scrollToNodeIdHashed.next(nodeIdHashed);
}

handleMarkAsViewedEmitter(state: boolean) {
this.apiRevisionsService.toggleAPIRevisionViewedByForUser(this.activeApiRevisionId!, state).pipe(take(1)).subscribe({
next: (apiRevision: APIRevision) => {
this.activeAPIRevision = apiRevision;
const activeAPIRevisionIndex = this.apiRevisions.findIndex(x => x.id === this.activeAPIRevision!.id);
this.apiRevisions[activeAPIRevisionIndex] = this.activeAPIRevision!;
}
});
}

handleSubscribeEmitter(state: boolean) {
this.reviewsService.toggleReviewSubscriptionByUser(this.reviewId!, state).pipe(take(1)).subscribe();
}
Expand Down
4 changes: 1 addition & 3 deletions src/dotnet/APIView/ClientSPA/src/app/_models/revision.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ export class APIRevision {
releasedOn: string
isDeleted: boolean
approvers: string[]
viewedBy: string[]

constructor() {
this.id = ''
Expand All @@ -55,8 +54,7 @@ export class APIRevision {
this.isReleased = false,
this.releasedOn = '',
this.isDeleted = false,
this.approvers = [],
this.viewedBy = []
this.approvers = []
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,22 +108,6 @@ export class APIRevisionsService {
});
}

toggleAPIRevisionViewedByForUser(apiRevisionId: string, state: boolean) : Observable<APIRevision> {
let params = new HttpParams();
params = params.append('state', state.toString());

const headers = new HttpHeaders({
'Content-Type': 'application/json',
});

return this.http.post<APIRevision>(this.baseUrl + `/${apiRevisionId}/toggleViewedBy`, {},
{
headers: headers,
params: params,
withCredentials: true
});
}

toggleAPIRevisionApproval(reviewId: string, apiRevisionId: string, approve: boolean) : Observable<APIRevision> {
const headers = new HttpHeaders({
'Content-Type': 'application/json',
Expand Down