Add endpoint for room creation

This commit is contained in:
Pim Kunis 2021-07-10 23:16:00 +02:00
parent 80c8d3a66b
commit 598af7a884
15 changed files with 679 additions and 551 deletions

View file

@ -0,0 +1,28 @@
defmodule MatrixServerWeb.API.CreateRoom do
use Ecto.Schema
import Ecto.Changeset
alias Ecto.Changeset
@primary_key false
embedded_schema do
field :visibility, :string
field :room_alias_name, :string
field :name, :string
field :topic, :string
field :invite, {:array, :string}
field :room_version, :string
# TODO: unimplemented:
# creation_content, initial_state, invite_3pid, initial_state, preset,
# is_direct, power_level_content_override
end
def changeset(params) do
%__MODULE__{}
|> cast(params, [:visibility, :room_alias_name, :name, :topic, :invite, :room_version])
end
def get_error(%Changeset{errors: [error | _]}), do: get_error(error)
def get_error(_), do: :bad_json
end