radrootsd

JSON-RPC bridge for Radroots event publishing
git clone https://radroots.dev/git/radrootsd.git
Log | Files | Refs | README | LICENSE

commit 3c36259f2a2e0523134e839cfe3501edf375574d
parent f984ced23a898281ca46250f04045d4a1f4f5321
Author: triesap <triesap@radroots.dev>
Date:   Sun,  4 Jan 2026 03:11:54 +0000

events: extract list-set parsing helper

- Add parse_list_set_event wrapper around list_set_from_tags
- Reuse existing tag extraction for parsing input
- Simplify row mapping by removing inline kind/content handling
- Keep list_set parsing behavior and errors unchanged

Diffstat:
Msrc/api/jsonrpc/methods/events/list_set/list.rs | 11+++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/api/jsonrpc/methods/events/list_set/list.rs b/src/api/jsonrpc/methods/events/list_set/list.rs @@ -79,8 +79,7 @@ where .into_iter() .map(|ev| { let tags = event_tags(&ev); - let kind = ev.kind.as_u16() as u32; - let list_set = list_set_from_tags(kind, ev.content.clone(), &tags).ok(); + let list_set = parse_list_set_event(&ev, &tags); ListSetEventFlat { event: event_view_with_tags(&ev, tags), list_set, @@ -91,6 +90,14 @@ where items } +fn parse_list_set_event( + event: &RadrootsNostrEvent, + tags: &[Vec<String>], +) -> Option<RadrootsListSet> { + let kind = event.kind.as_u16() as u32; + list_set_from_tags(kind, event.content.clone(), tags).ok() +} + fn merge_list_set_events( stored: Vec<RadrootsNostrEvent>, fetched: Vec<RadrootsNostrEvent>,