Browse Source

Refactor create_event for readability and LoB

master
buttercat1791 3 months ago
parent
commit
44350f8acf
  1. 17
      lib/gc_index_relay/nostr.ex

17
lib/gc_index_relay/nostr.ex

@ -33,23 +33,16 @@ defmodule GcIndexRelay.Nostr do
def create_event(event) when is_struct(event, PubEvent) do def create_event(event) when is_struct(event, PubEvent) do
with {:ok, event} <- Validator.validate_id(event), with {:ok, event} <- Validator.validate_id(event),
{:ok, event} <- Validator.validate_signature(event) do {:ok, event} <- Validator.validate_signature(event) do
case do_create_event(event) do db_event = PubEvent.to_db(event)
{:ok, result} -> {:ok, result}
{:error, reason} -> {:error, reason} %Event{}
end |> Event.changeset(Map.from_struct(db_event))
|> Repo.insert()
else else
{:error, reason} -> {:error, reason} {:error, reason} -> {:error, reason}
end end
end end
defp do_create_event(event) when is_struct(event, PubEvent) do
db_event = PubEvent.to_db(event)
%Event{}
|> Event.changeset(Map.from_struct(db_event))
|> Repo.insert()
end
@doc """ @doc """
Deletes a `GcIndexRelay.Nostr.PubEvent` from the database. Deletes a `GcIndexRelay.Nostr.PubEvent` from the database.
""" """

Loading…
Cancel
Save