@@ -23,6 +23,7 @@ public DisplayPackageViewModel Create(
2323 IReadOnlyCollection < Package > allVersions ,
2424 User currentUser ,
2525 IReadOnlyDictionary < int , PackageDeprecation > packageKeyToDeprecation ,
26+ IReadOnlyDictionary < int , IReadOnlyList < PackageVulnerability > > packageKeyToVulnerabilities ,
2627 IReadOnlyList < PackageRename > packageRenames ,
2728 RenderedMarkdownResult readmeResult )
2829 {
@@ -33,6 +34,7 @@ public DisplayPackageViewModel Create(
3334 allVersions ,
3435 currentUser ,
3536 packageKeyToDeprecation ,
37+ packageKeyToVulnerabilities ,
3638 packageRenames ,
3739 readmeResult ) ;
3840 }
@@ -43,12 +45,15 @@ public DisplayPackageViewModel Setup(
4345 IReadOnlyCollection < Package > allVersions ,
4446 User currentUser ,
4547 IReadOnlyDictionary < int , PackageDeprecation > packageKeyToDeprecation ,
48+ IReadOnlyDictionary < int , IReadOnlyList < PackageVulnerability > > packageKeyToVulnerabilities ,
4649 IReadOnlyList < PackageRename > packageRenames ,
4750 RenderedMarkdownResult readmeResult )
4851 {
4952 _listPackageItemViewModelFactory . Setup ( viewModel , package , currentUser ) ;
50- SetupCommon ( viewModel , package , pushedBy : null , packageKeyToDeprecation : packageKeyToDeprecation ) ;
51- return SetupInternal ( viewModel , package , allVersions , currentUser , packageKeyToDeprecation , packageRenames , readmeResult ) ;
53+ SetupCommon ( viewModel , package , pushedBy : null ,
54+ packageKeyToDeprecation : packageKeyToDeprecation , packageKeyToVulnerabilities : packageKeyToVulnerabilities ) ;
55+ return SetupInternal ( viewModel , package , allVersions , currentUser ,
56+ packageKeyToDeprecation , packageKeyToVulnerabilities , packageRenames , readmeResult ) ;
5257 }
5358
5459 private DisplayPackageViewModel SetupInternal (
@@ -57,6 +62,7 @@ private DisplayPackageViewModel SetupInternal(
5762 IReadOnlyCollection < Package > allVersions ,
5863 User currentUser ,
5964 IReadOnlyDictionary < int , PackageDeprecation > packageKeyToDeprecation ,
65+ IReadOnlyDictionary < int , IReadOnlyList < PackageVulnerability > > packageKeyToVulnerabilities ,
6066 IReadOnlyList < PackageRename > packageRenames ,
6167 RenderedMarkdownResult readmeResult )
6268 {
@@ -74,7 +80,7 @@ private DisplayPackageViewModel SetupInternal(
7480 {
7581 var vm = new DisplayPackageViewModel ( ) ;
7682 _listPackageItemViewModelFactory . Setup ( vm , p , currentUser ) ;
77- return SetupCommon ( vm , p , GetPushedBy ( p , currentUser , pushedByCache ) , packageKeyToDeprecation ) ;
83+ return SetupCommon ( vm , p , GetPushedBy ( p , currentUser , pushedByCache ) , packageKeyToDeprecation , packageKeyToVulnerabilities ) ;
7884 } )
7985 . ToList ( ) ;
8086
@@ -136,7 +142,8 @@ private DisplayPackageViewModel SetupCommon(
136142 DisplayPackageViewModel viewModel ,
137143 Package package ,
138144 string pushedBy ,
139- IReadOnlyDictionary < int , PackageDeprecation > packageKeyToDeprecation )
145+ IReadOnlyDictionary < int , PackageDeprecation > packageKeyToDeprecation ,
146+ IReadOnlyDictionary < int , IReadOnlyList < PackageVulnerability > > packageKeyToVulnerabilities )
140147 {
141148 viewModel . NuGetVersion = NuGetVersion . Parse ( NuGetVersionFormatter . ToFullString ( package . Version ) ) ;
142149 viewModel . Copyright = package . Copyright ;
@@ -179,6 +186,12 @@ private DisplayPackageViewModel SetupCommon(
179186 viewModel . DeprecationStatus = PackageDeprecationStatus . NotDeprecated ;
180187 }
181188
189+ if ( packageKeyToVulnerabilities != null && packageKeyToVulnerabilities . TryGetValue ( package . Key , out var vulnerabilities ) )
190+ {
191+ viewModel . Vulnerabilities = vulnerabilities ;
192+ viewModel . MaxVulnerabilitySeverity = vulnerabilities . Max ( v => v . Severity ) ;
193+ }
194+
182195 return viewModel ;
183196 }
184197
0 commit comments