birdy_chat/lib/birdy_chat_web/api/messages/controller.ex

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