Skip to content

Commit 386cdf5

Browse files
authored
Update the Gallery to reflect the latest validation database (#8414)
Updates the Gallery to the latest validation database entities, which had breaking changes. Note that this change does not display generic validations, this will be added by https://github.com/NuGet/Engineering/issues/3587. See: NuGet/ServerCommon#357 Part of: https://github.com/NuGet/Engineering/issues/3576
1 parent 62a7254 commit 386cdf5

9 files changed

Lines changed: 53 additions & 35 deletions

File tree

src/DatabaseMigrationTools/DatabaseMigrationTools.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
<PrivateAssets>all</PrivateAssets>
6666
</PackageReference>
6767
<PackageReference Include="NuGet.Services.Validation">
68-
<Version>2.82.0</Version>
68+
<Version>2.84.0</Version>
6969
</PackageReference>
7070
</ItemGroup>
7171
<ItemGroup>

src/GitHubVulnerabilities2Db/GitHubVulnerabilities2Db.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
<Version>4.3.0-dev-3612825</Version>
9090
</PackageReference>
9191
<PackageReference Include="NuGet.Services.Cursor">
92-
<Version>2.82.0</Version>
92+
<Version>2.84.0</Version>
9393
</PackageReference>
9494
</ItemGroup>
9595
<ItemGroup>

src/NuGetGallery.Core/NuGetGallery.Core.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<Version>5.8.0</Version>
4848
</PackageReference>
4949
<PackageReference Include="NuGet.Services.FeatureFlags">
50-
<Version>2.82.0</Version>
50+
<Version>2.84.0</Version>
5151
</PackageReference>
5252
<PackageReference Include="WindowsAzure.Storage">
5353
<Version>9.3.3</Version>
@@ -56,13 +56,13 @@
5656

5757
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
5858
<PackageReference Include="NuGet.Services.Messaging.Email">
59-
<Version>2.82.0</Version>
59+
<Version>2.84.0</Version>
6060
</PackageReference>
6161
<PackageReference Include="NuGet.Services.Validation">
62-
<Version>2.82.0</Version>
62+
<Version>2.84.0</Version>
6363
</PackageReference>
6464
<PackageReference Include="NuGet.Services.Validation.Issues">
65-
<Version>2.82.0</Version>
65+
<Version>2.84.0</Version>
6666
</PackageReference>
6767
<PackageReference Include="NuGet.StrongName.elmah.corelibrary">
6868
<Version>1.2.2</Version>

src/NuGetGallery.Services/NuGetGallery.Services.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,10 +307,10 @@
307307
<Version>5.8.0</Version>
308308
</PackageReference>
309309
<PackageReference Include="NuGet.Services.Configuration">
310-
<Version>2.82.0</Version>
310+
<Version>2.84.0</Version>
311311
</PackageReference>
312312
<PackageReference Include="NuGet.Services.Logging">
313-
<Version>2.82.0</Version>
313+
<Version>2.84.0</Version>
314314
</PackageReference>
315315
<PackageReference Include="NuGet.StrongName.WebBackgrounder">
316316
<Version>0.2.0</Version>

src/NuGetGallery/Areas/Admin/Controllers/ValidationController.cs

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,34 +31,39 @@ public virtual ActionResult Index()
3131
public virtual ActionResult Pending()
3232
{
3333
var validationSets = _validationAdminService.GetPending();
34-
var validatedPackages = ToValidatedPackages(validationSets);
35-
var validationSetIds = validatedPackages
34+
var packageValidations = ToPackageValidations(validationSets);
35+
var validationSetIds = packageValidations
3636
.SelectMany(p => p.ValidationSets)
3737
.Select(s => s.ValidationTrackingId);
3838
var query = string.Join("\r\n", validationSetIds);
3939

40-
return View(nameof(Index), new ValidationPageViewModel(query, validatedPackages));
40+
return View(nameof(Index), new ValidationPageViewModel(query, packageValidations));
4141
}
4242

4343
[HttpGet]
4444
public virtual ActionResult Search(string q)
4545
{
4646
var packageValidationSets = _validationAdminService.Search(q ?? string.Empty);
47-
var validatedPackages = ToValidatedPackages(packageValidationSets);
47+
var validatedPackages = ToPackageValidations(packageValidationSets);
4848

4949
return View(nameof(Index), new ValidationPageViewModel(q, validatedPackages));
5050
}
5151

52-
private List<ValidatedPackageViewModel> ToValidatedPackages(IReadOnlyList<PackageValidationSet> packageValidationSets)
52+
private List<NuGetPackageValidationViewModel> ToPackageValidations(IReadOnlyList<PackageValidationSet> packageValidationSets)
5353
{
54-
var validatedPackages = new List<ValidatedPackageViewModel>();
55-
AppendValidatedPackages(validatedPackages, packageValidationSets, ValidatingType.Package);
56-
AppendValidatedPackages(validatedPackages, packageValidationSets, ValidatingType.SymbolPackage);
54+
// TODO: Add generic validation sets.
55+
// Tracked by: https://github.com/NuGet/Engineering/issues/3587
56+
var packageValidations = new List<NuGetPackageValidationViewModel>();
57+
AppendNuGetPackageValidations(packageValidations, packageValidationSets, ValidatingType.Package);
58+
AppendNuGetPackageValidations(packageValidations, packageValidationSets, ValidatingType.SymbolPackage);
5759

58-
return validatedPackages;
60+
return packageValidations;
5961
}
6062

61-
private void AppendValidatedPackages(List<ValidatedPackageViewModel> validatedPackages, IEnumerable<PackageValidationSet> validationSets, ValidatingType validatingType)
63+
private void AppendNuGetPackageValidations(
64+
List<NuGetPackageValidationViewModel> packageValidations,
65+
IEnumerable<PackageValidationSet> validationSets,
66+
ValidatingType validatingType)
6267
{
6368
var groups = validationSets
6469
.Where(x => x.ValidatingType == validatingType)
@@ -77,9 +82,9 @@ private void AppendValidatedPackages(List<ValidatedPackageViewModel> validatedPa
7782
.OrderBy(x => x.Started)
7883
.ToList();
7984
}
80-
var deletedStatus = _validationAdminService.GetDeletedStatus(group.Key, validatingType);
81-
var validatedPackage = new ValidatedPackageViewModel(group.ToList(), deletedStatus, validatingType);
82-
validatedPackages.Add(validatedPackage);
85+
var deletedStatus = _validationAdminService.GetDeletedStatus(group.Key.Value, validatingType);
86+
var packageValidation = new NuGetPackageValidationViewModel(group.ToList(), deletedStatus, validatingType);
87+
packageValidations.Add(packageValidation);
8388
}
8489
}
8590
}

src/NuGetGallery/Areas/Admin/Services/ValidationAdminService.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,16 @@ public IReadOnlyList<PackageValidationSet> GetPending()
6767
var pendingPackages = _packages
6868
.GetAll()
6969
.Where(p => p.PackageStatusKey == PackageStatus.Validating)
70-
.Select(p => p.Key)
70+
.Select(p => (int?)p.Key)
7171
.ToList();
7272
var pendingSymbolPackages = _symbolPackages
7373
.GetAll()
7474
.Where(s => s.StatusKey == PackageStatus.Validating)
75-
.Select(s => s.Key)
75+
.Select(s => (int?)s.Key)
7676
.ToList();
7777

78+
// TODO: Add generic validation sets.
79+
// Tracked by: https://github.com/NuGet/Engineering/issues/3587
7880
AddPendingValidationSets(pendingValidations, pendingPackages, ValidatingType.Package);
7981
AddPendingValidationSets(pendingValidations, pendingSymbolPackages, ValidatingType.SymbolPackage);
8082

@@ -228,7 +230,7 @@ private void SearchByPackageId(Dictionary<long, PackageValidationSet> validation
228230

229231
private void AddPendingValidationSets(
230232
List<PackageValidationSet> validationSets,
231-
IReadOnlyList<int> packageKeys,
233+
IReadOnlyList<int?> packageKeys,
232234
ValidatingType type)
233235
{
234236
foreach (var packageKeyBatch in Batch(packageKeys, PendingValidationsBatchSize))
@@ -237,7 +239,7 @@ private void AddPendingValidationSets(
237239
_validationSets
238240
.GetAll()
239241
.Where(v => v.ValidatingType == type)
240-
.Where(v => packageKeys.Contains(v.PackageKey)));
242+
.Where(v => packageKeyBatch.Contains(v.PackageKey)));
241243
}
242244
}
243245

src/NuGetGallery/Areas/Admin/ViewModels/ValidatedPackageViewModel.cs renamed to src/NuGetGallery/Areas/Admin/ViewModels/NuGetPackageValidationViewModel.cs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,30 @@
11
// Copyright (c) .NET Foundation. All rights reserved.
22
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
33

4+
using System;
45
using System.Collections.Generic;
56
using System.Linq;
67
using NuGet.Services.Validation;
78
using NuGetGallery.Areas.Admin.Models;
89

910
namespace NuGetGallery.Areas.Admin.ViewModels
1011
{
11-
public class ValidatedPackageViewModel : IPackageVersionModel
12+
public class NuGetPackageValidationViewModel : IPackageVersionModel
1213
{
13-
public ValidatedPackageViewModel(IReadOnlyList<PackageValidationSet> validationSets, PackageDeletedStatus deletedStatus, ValidatingType validatingType)
14+
public NuGetPackageValidationViewModel(
15+
IReadOnlyList<PackageValidationSet> validationSets,
16+
PackageDeletedStatus deletedStatus,
17+
ValidatingType validatingType)
1418
{
19+
if (validatingType == ValidatingType.Generic)
20+
{
21+
throw new ArgumentException(
22+
$"Unsupported validation type of {validatingType}",
23+
nameof(validatingType));
24+
}
25+
1526
var first = validationSets.First();
16-
PackageKey = first.PackageKey;
27+
PackageKey = first.PackageKey.Value;
1728
Id = first.PackageId;
1829
NormalizedVersion = first.PackageNormalizedVersion;
1930
DeletedStatus = deletedStatus;

src/NuGetGallery/Areas/Admin/ViewModels/ValidationPageViewModel.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ public ValidationPageViewModel() : this(null, null)
1111
{
1212
}
1313

14-
public ValidationPageViewModel(string query, IReadOnlyList<ValidatedPackageViewModel> packages)
14+
public ValidationPageViewModel(string query, IReadOnlyList<NuGetPackageValidationViewModel> packages)
1515
{
1616
Query = query ?? string.Empty;
17-
Packages = packages ?? new List<ValidatedPackageViewModel>();
17+
Packages = packages ?? new List<NuGetPackageValidationViewModel>();
1818
}
1919

2020
public string Query { get; }
@@ -23,6 +23,6 @@ public ValidationPageViewModel(string query, IReadOnlyList<ValidatedPackageViewM
2323

2424
public bool HasResults => Packages.Count > 0;
2525

26-
public IReadOnlyList<ValidatedPackageViewModel> Packages { get; }
26+
public IReadOnlyList<NuGetPackageValidationViewModel> Packages { get; }
2727
}
2828
}

src/NuGetGallery/NuGetGallery.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@
190190
<Compile Include="Areas\Admin\ViewModels\ModifyFeatureFlagsFlightViewModel.cs" />
191191
<Compile Include="Areas\Admin\ViewModels\ApiKeyRevokeViewModel.cs" />
192192
<Compile Include="Areas\Admin\ViewModels\SiteAdminsViewModel.cs" />
193-
<Compile Include="Areas\Admin\ViewModels\ValidatedPackageViewModel.cs" />
193+
<Compile Include="Areas\Admin\ViewModels\NuGetPackageValidationViewModel.cs" />
194194
<Compile Include="Areas\Admin\ViewModels\RevalidationPageViewModel.cs" />
195195
<Compile Include="Areas\Admin\ViewModels\ValidationPageViewModel.cs" />
196196
<Compile Include="Areas\Admin\ViewModels\DeleteAccountSearchResult.cs" />
@@ -2242,13 +2242,13 @@
22422242
<Version>5.8.0</Version>
22432243
</PackageReference>
22442244
<PackageReference Include="NuGet.Services.Licenses">
2245-
<Version>2.82.0</Version>
2245+
<Version>2.84.0</Version>
22462246
</PackageReference>
22472247
<PackageReference Include="NuGet.Services.Owin">
2248-
<Version>2.82.0</Version>
2248+
<Version>2.84.0</Version>
22492249
</PackageReference>
22502250
<PackageReference Include="NuGet.Services.Sql">
2251-
<Version>2.82.0</Version>
2251+
<Version>2.84.0</Version>
22522252
</PackageReference>
22532253
<PackageReference Include="Owin">
22542254
<Version>1.0.0</Version>

0 commit comments

Comments
 (0)