postland/lib/postland/activity.ex
2024-09-25 20:45:10 -05:00

25 lines
530 B
Elixir

defmodule Postland.Activity do
use Ecto.Schema
import Ecto.Changeset
@primary_key {:id, :binary_id, autogenerate: false}
schema "activities" do
field :actor_id, :string
field :type, :string
field :data, :map
end
def changeset(attrs) do
attrs = %{
"actor_id" => Map.get(attrs, "actor"),
"type" => Map.get(attrs, "type"),
"data" => attrs
}
%__MODULE__{}
|> cast(attrs, [:actor_id, :type, :data])
|> validate_required(:data)
|> validate_required(:type)
end
end