Current section

Files

Jump to
nldoc_spec_event lib nldoc spec event queued.ex
Raw

lib/nldoc/spec/event/queued.ex

defmodule NLdoc.Spec.Event.Queued do
@moduledoc """
This module defines the Ecto schema for the NLdoc Event 'queued'.
"""
use NLdoc.SpecDef.Schema, type: "https://event.spec.nldoc.nl/queued"
defmodule Context do
@moduledoc false
use NLdoc.SpecDef.Schema, type: nil
@type t() :: %__MODULE__{}
embedded_schema do
end
def changeset(object, attrs) do
object
|> cast(attrs, [], @cast_opts)
end
end
typed_embedded_schema null: false do
field :type, :string, default: @resource_type
field :timestamp, :utc_datetime
field :trace_id, :string
embeds_one :context, Context
end
def changeset(object, attrs) do
fields = [:type, :timestamp, :trace_id]
object
|> cast(attrs, fields, @cast_opts)
|> cast_embed(:context)
|> validate_required([:context] ++ fields)
|> validate_inclusion(:type, [@resource_type])
end
end