Azure / Azure/azure-sdk-tools

[APIView][Clean Up] Migrate review-level namespace data to Projects and deprecate old fields

Open
#14,428 0 comments 0 reactions 1 assignee Claimed by @tjprescott View on GitHub
APIView
Dominant language
C#
Stars
135
Forks
260
Avg merge
3d 1h
Merged PRs (30d)
143

Description

Today namespace approval state lives on `ReviewListItemModel` via `NamespaceReviewStatus`, `NamespaceApprovalRequestedBy`, `NamespaceApprovalRequestedOn`, and `ReviewGroupId`. Once the project-level system is working, this data needs to be migrated and the old fields deprecated.

## Changes
1. **Migration script** — For each Project with linked reviews:
- If a review has `NamespaceReviewStatus == Approved` → create an `Approved` `NamespaceDecisionEntry` on `Project.NamespaceInfo`
- If `Pending` → create a `Proposed` entry
- Populate `ProposedBy`/`ProposedOn` from the review's `NamespaceApprovalRequestedBy`/`NamespaceApprovalRequestedOn`

2. **Deprecate review-level fields:**
- Mark `NamespaceReviewStatus`, `NamespaceApprovalRequestedBy`, `NamespaceApprovalRequestedOn`, `ReviewGroupId` as `[Obsolete]`
- Address `IsApproved` (already marked `// TODO: Deprecate in the future`)
- Deprecate the `NamespaceReviewStatus` enum in `ReviewListModels.cs`

3. **Remove or deprecate old code paths:**
- `ReviewManager.RequestNamespaceReviewAsync` and related methods
- The "Pending Namespace Approvals" tab on `RequestedReviews.cshtml` (update to use project-level data or remove)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.