Packages
logflare_ex
0.2.0-dev.5d01deca
0.2.0-dev.b339a6b8
0.2.0-dev.980340db
0.2.0-dev.5d01deca
0.2.0-dev.236c1c6b
0.2.0-dev.082a725d
0.2.0-dev.1718089325.ea5f751
0.2.0-dev.1718053351.fca7edd
0.2.0-dev.1718049151.46c51d9
0.2.0-dev.1718049098.9ad6f45
0.2.0-dev.1715303639.8521594
0.2.0-dev.1701249644.103466d
0.1.1
0.1.1-dev-5d6bc7c9
0.1.0
0.1.0-dev-a70912b8
0.1.0-dev-79b32387
Logflare Elixir SDK
Current section
Files
Jump to
Current section
Files
lib/batched_event.ex
defmodule LogflareEx.BatchedEvent do
@moduledoc false
use TypedEctoSchema
import Ecto.Changeset
typed_schema "logflare_events" do
field(:source_token, :string)
field(:source_name, :string)
field(:body, :map)
field(:created_at, :naive_datetime_usec, enforce: true)
field(:inflight_at, :naive_datetime_usec)
end
def changeset(struct, params) do
struct
|> cast(params, [:body, :source_token, :source_name, :inflight_at])
|> validate_required([:body])
|> then(fn change ->
missing_fields = Enum.filter([:source_name, :source_token], &field_missing?(change, &1))
if length(missing_fields) > 1 do
change
|> add_error(:source_name, "either source token or name must be provided")
|> add_error(:source_token, "either source token or name must be provided")
else
change
end
end)
end
end