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