18 lines
492 B
Elixir
18 lines
492 B
Elixir
defmodule NeonVertigoService.MessageProcessor do
|
|
def process_message(["auctions", "create"], payload, _properties) do
|
|
changeset = Auction.changeset(%Auction{}, payload)
|
|
reply = case NeonVertigoService.Repo.insert(changeset) do
|
|
{:ok, auction} ->
|
|
%{ok: true, gid: auction.gid}
|
|
{:error, changeset} ->
|
|
%{ok: false, gid: changeset |> Ecto.Changeset.get_field(:gid)}
|
|
end
|
|
|
|
{:reply, reply}
|
|
end
|
|
|
|
def process_message(_, _, _) do
|
|
:noreply
|
|
end
|
|
end
|