20 lines
533 B
Elixir
20 lines
533 B
Elixir
defmodule BirdyChatWeb.Api.Messages.Controller do
|
|
use BirdyChatWeb, :controller
|
|
|
|
def create(conn, params) do
|
|
case BirdyChat.Message.validate(params) do
|
|
{:ok, changeset} ->
|
|
case BirdyChat.Message.write(changeset.changes) do
|
|
{:ok, msg} ->
|
|
conn
|
|
|> put_status(:created)
|
|
|> render(:create, message: msg)
|
|
end
|
|
|
|
{:error, changeset} ->
|
|
conn
|
|
|> put_status(:unprocessable_entity)
|
|
|> render(:error, changeset: changeset)
|
|
end
|
|
end
|
|
end
|