Adapt for new version of ODC database

This commit is contained in:
Šesták Vít
2020-01-31 02:07:08 +01:00
parent 52c3228ac3
commit c537a5c5c5
11 changed files with 108 additions and 107 deletions

View File

@@ -4,23 +4,23 @@ import com.ysoft.odc.{CvssRating, CWE}
import models.odc.profile.api._
import slick.lifted.Tag
case class Vulnerability (cve: String, description: String, cweOption: Option[CWE], cvss: CvssRating)
case class Vulnerability (cve: String, description: String, /*cweOption: Option[CWE],*/ cvss: CvssRating)
class Vulnerabilities(tag: Tag) extends Table[(Int, Vulnerability)](tag, "vulnerability") {
def id = column[Int]("id")
def cve = column[String]("cve")
def description = column[String]("description")
def cweOption = column[String]("cwe").?
def cvssScore = column[Double]("cvssscore").?
def authentication = column[String]("cvssauthentication").?
def availabilityImpact = column[String]("cvssavailabilityimpact").?
def accessVector = column[String]("cvssaccessvector").?
def integrityImpact = column[String]("cvssintegrityimpact").?
def cvssAccessComplexity = column[String]("cvssaccesscomplexity").?
def cvssConfidentialityImpact = column[String]("cvssconfidentialityimpact").?
//def cweOption = column[String]("cwe").?
def cvssScore = column[Double]("cvssv2score").?
def authentication = column[String]("cvssv2authentication").?
def availabilityImpact = column[String]("cvssv2availabilityimpact").?
def accessVector = column[String]("cvssv2accessvector").?
def integrityImpact = column[String]("cvssv2integrityimpact").?
def cvssAccessComplexity = column[String]("cvssv2accesscomplexity").?
def cvssConfidentialityImpact = column[String]("cvssv2confidentialityimpact").?
def cvssRating = (cvssScore, authentication, availabilityImpact, accessVector, integrityImpact, cvssAccessComplexity, cvssConfidentialityImpact) <> (CvssRating.tupled, CvssRating.unapply)
def cweOptionMapped = cweOption <> ((_: Option[String]).map(CWE.forIdentifierWithDescription), (_: Option[CWE]).map(CWE.unapply))
def base = (cve, description, cweOptionMapped, cvssRating) <> (Vulnerability.tupled, Vulnerability.unapply)
//def cweOptionMapped = cweOption <> ((_: Option[String]).map(CWE.forIdentifierWithDescription), (_: Option[CWE]).map(CWE.unapply))
def base = (cve, description, cvssRating) <> (Vulnerability.tupled, Vulnerability.unapply)
def * = (id, base)
}