@import services.SingleLibraryScanResult @(isDbOld: Boolean, singleLibraryScanResult: SingleLibraryScanResult)(implicit header: DefaultRequest, mainTemplateData: MainTemplateData) @import singleLibraryScanResult.{transitiveDependencies, includesTransitive, mainDependency}

Overall result

@vulnerableTransitive = @{transitiveDependencies.exists(_.isVulnerable)} @vulnerableMain = @{mainDependency.isVulnerable} @if(isDbOld){
The vulnerability database seems to be outdated. Result might be thus inaccurate. Contact the administrator, please.
} @(vulnerableMain, vulnerableTransitive) match { case (false, false) => {
No vulnerability has been found in the library@if(includesTransitive){ or in its transitive dependencies}.
} case (false, true) => {
While there is no vulnerability found in the library itself, but scan has identified some issues in its transitive dependencies. Maybe you should evict some dependency with a fixed version. @vulnerabilityAdvice()
} case (true, false) => {
There is a vulnerability found in the main dependency. Transitive dependencies are OK. Please consider using a patched version or consider impact of the vulnerabilities. @vulnerabilityAdvice()
} case (true, true) => {
There is a vulnerability found in both the main dependency and transitive dependencies. Please consider using a patched version or consider impact of the vulnerabilities. @vulnerabilityAdvice()
} } @if(!includesTransitive){
This type of scan does not scan transitive dependencies.
}

The library itself

@dependencyList("id", Seq(mainDependency), None, expand = _.isVulnerable, addButtons = false, lazyLoad = false, showAffectedProjects = false, expandVulnerabilities = true, vulnerabilitySearch = false) @if(includesTransitive) {

Transitive dependencies

@if(transitiveDependencies.nonEmpty) { @if(vulnerableTransitive){
Those vulnerabilities are primarily sorted by highest-rated known vulnerability. Transitive dependencies without a known vulnerability are at the end of the list.
}else{
There is no known vulnerability in transitive dependencies. They are listed just for your information.
} @dependencyList("id", transitiveDependencies.sorted(severityOrdering), None, expand = _.isVulnerable, addButtons = false, lazyLoad = false, showAffectedProjects = false, expandVulnerabilities = true, vulnerabilitySearch = true) }else{ This library has no transitive dependencies. } }