diff --git a/lib/gc_index_relay/nostr.ex b/lib/gc_index_relay/nostr.ex index b5beb2c..3cea006 100644 --- a/lib/gc_index_relay/nostr.ex +++ b/lib/gc_index_relay/nostr.ex @@ -73,10 +73,12 @@ defmodule GcIndexRelay.Nostr do """ @spec delete_event(PubEvent.t()) :: {:ok, Ecto.Schema.t()} | {:error, Ecto.Changeset.t()} def delete_event(event) when is_struct(event, PubEvent) do - with {:ok, binary_id} <- Base.decode16(event.id, case: :lower) do - Repo.delete(%Event{id: binary_id}) - else - _ -> {:error, :not_found} + case Base.decode16(event.id, case: :lower) do + {:ok, binary_id} -> + Repo.delete(%Event{id: binary_id}) + + _ -> + {:error, :not_found} end end end diff --git a/lib/gc_index_relay/nostr/event.ex b/lib/gc_index_relay/nostr/event.ex index 0193451..7a590fa 100644 --- a/lib/gc_index_relay/nostr/event.ex +++ b/lib/gc_index_relay/nostr/event.ex @@ -36,7 +36,7 @@ defmodule GcIndexRelay.Nostr.Event do |> cast_assoc(:tags, with: &Tag.changeset/2) |> validate_required([:id, :pubkey, :created_at, :kind, :sig]) |> validate_number(:kind, greater_than_or_equal_to: 0) - |> validate_number(:kind, less_than: 40000) + |> validate_number(:kind, less_than: 40_000) |> unique_constraint(:id, name: :events_pkey) end end diff --git a/lib/gc_index_relay/nostr/filter.ex b/lib/gc_index_relay/nostr/filter.ex index e64e7ed..4815f7b 100644 --- a/lib/gc_index_relay/nostr/filter.ex +++ b/lib/gc_index_relay/nostr/filter.ex @@ -1,4 +1,9 @@ defmodule GcIndexRelay.Nostr.Filter do + @moduledoc """ + An implementation of Nostr filters, including a struct representation and parsing and validation + functions. + """ + alias GcIndexRelay.Nostr.Event alias GcIndexRelay.Repo alias GcIndexRelay.Nostr.Tag diff --git a/test/gc_index_relay/nostr/pub_event_test.exs b/test/gc_index_relay/nostr/pub_event_test.exs index 8b10cc2..0bd18f8 100644 --- a/test/gc_index_relay/nostr/pub_event_test.exs +++ b/test/gc_index_relay/nostr/pub_event_test.exs @@ -65,14 +65,14 @@ defmodule GcIndexRelay.Nostr.PubEventTest do id: Base.decode16!(String.duplicate("ab", 32), case: :lower), pubkey: Base.decode16!(String.duplicate("cd", 32), case: :lower), created_at: ~U[2021-12-20 17:46:40Z], - kind: 30023, + kind: 30_023, content: "long-form content", sig: Base.decode16!(String.duplicate("ef", 64), case: :lower), tags: [] } assert {:ok, pub_event} = PubEvent.from_db(event) - assert pub_event.kind == 30023 + assert pub_event.kind == 30_023 assert pub_event.content == "long-form content" end