From 284ce9ce7d9f81e54e91f917329d48926487fbf4 Mon Sep 17 00:00:00 2001 From: polwex Date: Wed, 12 Nov 2025 07:11:07 +0700 Subject: fixes to engagement handling --- app/lib/trill/feed.hoon | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'app/lib/trill') diff --git a/app/lib/trill/feed.hoon b/app/lib/trill/feed.hoon index 721a596..31fcd64 100644 --- a/app/lib/trill/feed.hoon +++ b/app/lib/trill/feed.hoon @@ -67,4 +67,35 @@ (put:form:post acc id full-node) ?~ children [%empty ~] :- %full g +:: +++ add-new-feed +|= [global=feed:feed new=feed:feed] ^- feed:feed + =/ poasts (tap:orm:feed new) + |- ?~ poasts global + =/ poast +.i.poasts + =. global (insert-to-global global poast) + $(poasts t.poasts) + +++ consolidate-feeds +|= feeds=(list [* feed:feed]) ^- feed:feed + =| nf=feed:feed + |- ?~ feeds nf + =/ poasts (tap:orm:feed +.i.feeds) + =. nf |- ?~ poasts nf + =/ poast +.i.poasts + =. nf (insert-to-global nf poast) + $(poasts t.poasts) + $(feeds t.feeds) + +++ find-available-id +=| tries=@ud +|= [f=feed:feed id=@da] ^- @da + ?: (gte tries 20) ~|('find-available-id stack overflow' !!) + ?. (has:orm:feed f id) id + $(id +(id), tries +(tries)) + +++ insert-to-global +|= [f=feed:feed p=post:post] ^- feed:feed + =/ nid (find-available-id f id.p) + (put:orm:feed f nid p) -- -- cgit v1.2.3