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: map | 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, [:map, :null]}, package: {GitHub.Dependabot.Alert.Package, :t}, severity: {:enum, ["low", "medium", "high", "critical"]}, vulnerable_version_range: {:string, :generic} ] end end