packages feed

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"