defmodule GitHub.DependencyGraph.Diff do
@moduledoc """
Provides struct and type for a DependencyGraph.Diff
"""
use GitHub.Encoder
@type t :: %__MODULE__{
__info__: map,
change_type: String.t(),
ecosystem: String.t(),
license: String.t() | nil,
manifest: String.t(),
name: String.t(),
package_url: String.t() | nil,
scope: String.t(),
source_repository_url: String.t() | nil,
version: String.t(),
vulnerabilities: [GitHub.DependencyGraph.DiffVulnerabilities.t()]
}
defstruct [
:__info__,
:change_type,
:ecosystem,
:license,
:manifest,
:name,
:package_url,
:scope,
:source_repository_url,
:version,
:vulnerabilities
]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
change_type: {:enum, ["added", "removed"]},
ecosystem: {:string, :generic},
license: {:union, [{:string, :generic}, :null]},
manifest: {:string, :generic},
name: {:string, :generic},
package_url: {:union, [{:string, :generic}, :null]},
scope: {:enum, ["unknown", "runtime", "development"]},
source_repository_url: {:union, [{:string, :generic}, :null]},
version: {:string, :generic},
vulnerabilities: [{GitHub.DependencyGraph.DiffVulnerabilities, :t}]
]
end
end