architex/lib/matrix_server/event.ex

26 lines
608 B
Elixir
Raw Normal View History

2021-07-03 10:30:57 +00:00
defmodule MatrixServer.Event do
2021-07-10 21:16:00 +00:00
use Ecto.Schema
2021-07-03 10:30:57 +00:00
2021-07-10 21:16:00 +00:00
import Ecto.Changeset
2021-07-03 10:30:57 +00:00
2021-07-10 21:16:00 +00:00
alias MatrixServer.Room
2021-07-03 10:30:57 +00:00
2021-07-10 21:16:00 +00:00
schema "events" do
field :type, :string
field :timestamp, :naive_datetime
field :state_key, :string
field :sender, :string
field :content, :string
field :prev_events, {:array, :string}
field :auth_events, {:array, :string}
belongs_to :room, Room
2021-07-03 10:30:57 +00:00
end
2021-07-10 21:16:00 +00:00
def changeset(event, params \\ %{}) do
# TODO: prev/auth events?
2021-07-05 14:12:44 +00:00
event
2021-07-10 21:16:00 +00:00
|> cast(params, [:type, :timestamp, :state_key, :sender, :content])
|> validate_required([:type, :timestamp, :sender])
2021-07-03 10:30:57 +00:00
end
end