hydra-0.15.0: src/main/haskell/Hydra/Osv/Schema.hs
-- Note: this is an automatically generated file. Do not edit.
-- | See https://ossf.github.io/osv-schema
module Hydra.Osv.Schema where
import qualified Hydra.Core as Core
import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, map, pure, sum)
import qualified Data.Scientific as Sci
data Credited =
Credited {
creditedName :: String,
creditedContact :: (Maybe [Url])}
deriving (Eq, Ord, Read, Show)
_Credited = Core.Name "hydra.osv.schema.Credited"
_Credited_name = Core.Name "name"
_Credited_contact = Core.Name "contact"
-- | One of a limited set of defined ecosystems, currently Go, npm, OSS-Fuzz, PyPI, RubyGems, crates.io, Packagist, Maven, NuGet, Linux, Debian, Hex, Android, GitHub Actions, or Pub
newtype Ecosystem =
Ecosystem {
unEcosystem :: String}
deriving (Eq, Ord, Read, Show)
_Ecosystem = Core.Name "hydra.osv.schema.Ecosystem"
data Entry =
Entry {
-- | The default value is '1.0.0', matching version 1.0 of the OSV Schema
entrySchemaVersion :: (Maybe OsvVersion),
entryId :: Id,
entryModified :: Timestamp,
entryPublished :: (Maybe Timestamp),
entryWithdrawn :: (Maybe Timestamp),
entryAliases :: (Maybe [Id]),
entryRelated :: (Maybe [Id]),
entrySummary :: (Maybe String),
entryDetails :: (Maybe Markdown),
entrySeverity :: (Maybe [Severity]),
entryAffected :: (Maybe [PackageVersions]),
entryReferences :: (Maybe [Reference]),
entryCredits :: (Maybe [Credited])}
deriving (Eq, Ord, Read, Show)
_Entry = Core.Name "hydra.osv.schema.Entry"
_Entry_schemaVersion = Core.Name "schemaVersion"
_Entry_id = Core.Name "id"
_Entry_modified = Core.Name "modified"
_Entry_published = Core.Name "published"
_Entry_withdrawn = Core.Name "withdrawn"
_Entry_aliases = Core.Name "aliases"
_Entry_related = Core.Name "related"
_Entry_summary = Core.Name "summary"
_Entry_details = Core.Name "details"
_Entry_severity = Core.Name "severity"
_Entry_affected = Core.Name "affected"
_Entry_references = Core.Name "references"
_Entry_credits = Core.Name "credits"
data Event =
EventIntroduced VersionOrZero |
EventFixed Version |
EventLastAffected Version |
EventLimit VersionOrStar
deriving (Eq, Ord, Read, Show)
_Event = Core.Name "hydra.osv.schema.Event"
_Event_introduced = Core.Name "introduced"
_Event_fixed = Core.Name "fixed"
_Event_lastAffected = Core.Name "lastAffected"
_Event_limit = Core.Name "limit"
-- | A string of the format <DB>-<ENTRYID>, where DB names the database and ENTRYID is in the format used by the database. For example: OSV-2020-111, CVE-2021-3114, or GHSA-vp9c-fpxx-744v
newtype Id =
Id {
unId :: String}
deriving (Eq, Ord, Read, Show)
_Id = Core.Name "hydra.osv.schema.Id"
-- | CommonMark markdown text
newtype Markdown =
Markdown {
unMarkdown :: String}
deriving (Eq, Ord, Read, Show)
_Markdown = Core.Name "hydra.osv.schema.Markdown"
-- | A string which follows the SemVer 2.0.0 format, with no leading 'v' prefix
newtype OsvVersion =
OsvVersion {
unOsvVersion :: String}
deriving (Eq, Ord, Read, Show)
_OsvVersion = Core.Name "hydra.osv.schema.OsvVersion"
data Package =
Package {
packageEcosystem :: Ecosystem,
packageName :: String,
packagePurl :: (Maybe Url)}
deriving (Eq, Ord, Read, Show)
_Package = Core.Name "hydra.osv.schema.Package"
_Package_ecosystem = Core.Name "ecosystem"
_Package_name = Core.Name "name"
_Package_purl = Core.Name "purl"
data PackageVersions =
PackageVersions {
packageVersionsPackage :: Package,
packageVersionsRanges :: (Maybe [VersionRange]),
packageVersionsVersions :: (Maybe [Version])}
deriving (Eq, Ord, Read, Show)
_PackageVersions = Core.Name "hydra.osv.schema.PackageVersions"
_PackageVersions_package = Core.Name "package"
_PackageVersions_ranges = Core.Name "ranges"
_PackageVersions_versions = Core.Name "versions"
data Reference =
Reference {
referenceType :: ReferenceType,
referenceUrl :: Url}
deriving (Eq, Ord, Read, Show)
_Reference = Core.Name "hydra.osv.schema.Reference"
_Reference_type = Core.Name "type"
_Reference_url = Core.Name "url"
-- | One of ADVISORY, ARTICLE, REPORT, FIX, GIT, PACKAGE, EVIDENCE, or WEB
newtype ReferenceType =
ReferenceType {
unReferenceType :: String}
deriving (Eq, Ord, Read, Show)
_ReferenceType = Core.Name "hydra.osv.schema.ReferenceType"
data Severity =
Severity {
severityType :: SeverityType,
severityScore :: SeverityScore}
deriving (Eq, Ord, Read, Show)
_Severity = Core.Name "hydra.osv.schema.Severity"
_Severity_type = Core.Name "type"
_Severity_score = Core.Name "score"
newtype SeverityScore =
SeverityScore {
unSeverityScore :: String}
deriving (Eq, Ord, Read, Show)
_SeverityScore = Core.Name "hydra.osv.schema.SeverityScore"
-- | The value CVSS_V3, or future supported types
newtype SeverityType =
SeverityType {
unSeverityType :: String}
deriving (Eq, Ord, Read, Show)
_SeverityType = Core.Name "hydra.osv.schema.SeverityType"
-- | An RFC3339-formatted timestamp in UTC (ending in 'Z')
newtype Timestamp =
Timestamp {
unTimestamp :: String}
deriving (Eq, Ord, Read, Show)
_Timestamp = Core.Name "hydra.osv.schema.Timestamp"
newtype Url =
Url {
unUrl :: String}
deriving (Eq, Ord, Read, Show)
_Url = Core.Name "hydra.osv.schema.Url"
-- | A version number in an ecosystem-specific format
newtype Version =
Version {
unVersion :: String}
deriving (Eq, Ord, Read, Show)
_Version = Core.Name "hydra.osv.schema.Version"
-- | An ecosystem-specific version number, or the string '*' representing infinity
newtype VersionOrStar =
VersionOrStar {
unVersionOrStar :: String}
deriving (Eq, Ord, Read, Show)
_VersionOrStar = Core.Name "hydra.osv.schema.VersionOrStar"
-- | An ecosystem-specific version number, or the string '0' representing a version that sorts before any other version
newtype VersionOrZero =
VersionOrZero {
unVersionOrZero :: String}
deriving (Eq, Ord, Read, Show)
_VersionOrZero = Core.Name "hydra.osv.schema.VersionOrZero"
data VersionRange =
VersionRange {
versionRangeType :: VersionType,
versionRangeRepo :: (Maybe Url),
versionRangeEvents :: [Event]}
deriving (Eq, Ord, Read, Show)
_VersionRange = Core.Name "hydra.osv.schema.VersionRange"
_VersionRange_type = Core.Name "type"
_VersionRange_repo = Core.Name "repo"
_VersionRange_events = Core.Name "events"
-- | One of the values 'SEMVER', 'ECOSYSTEM', or 'GIT
newtype VersionType =
VersionType {
unVersionType :: String}
deriving (Eq, Ord, Read, Show)
_VersionType = Core.Name "hydra.osv.schema.VersionType"