defmodule GitHub.Snapshot do
@moduledoc """
Provides struct and type for a Snapshot
"""
use GitHub.Encoder
@type t :: %__MODULE__{
__info__: map,
detector: GitHub.SnapshotDetector.t(),
job: GitHub.SnapshotActions.Job.t(),
manifests: GitHub.SnapshotManifests.t() | nil,
metadata: GitHub.Metadata.t() | nil,
ref: String.t(),
scanned: DateTime.t(),
sha: String.t(),
version: integer
}
defstruct [:__info__, :detector, :job, :manifests, :metadata, :ref, :scanned, :sha, :version]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
detector: {GitHub.SnapshotDetector, :t},
job: {GitHub.SnapshotActions.Job, :t},
manifests: {GitHub.SnapshotManifests, :t},
metadata: {GitHub.Metadata, :t},
ref: {:string, :generic},
scanned: {:string, :date_time},
sha: {:string, :generic},
version: :integer
]
end
end