defmodule GitHub.Dependabot.Alert.SecurityVulnerability do
@moduledoc """
Provides struct and type for a Dependabot.Alert.SecurityVulnerability
"""
use GitHub.Encoder
@type t :: %__MODULE__{
__info__: map,
first_patched_version:
GitHub.Dependabot.Alert.SecurityVulnerabilityFirstPatchedVersion.t() | nil,
package: GitHub.Dependabot.Alert.Package.t(),
severity: String.t(),
vulnerable_version_range: String.t()
}
defstruct [:__info__, :first_patched_version, :package, :severity, :vulnerable_version_range]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
first_patched_version:
{:union, [{GitHub.Dependabot.Alert.SecurityVulnerabilityFirstPatchedVersion, :t}, :null]},
package: {GitHub.Dependabot.Alert.Package, :t},
severity: {:enum, ["low", "medium", "high", "critical"]},
vulnerable_version_range: {:string, :generic}
]
end
end