blob: c2eb9871b1839eccf1a84650731ebf24d5b9c658 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
/- sur=nostrill, nsur=nostr, comms=nostrill-comms, feed=trill-feed
/+ js=json-nostr, sr=sortug, nlib=nostr, constants, gatelib=trill-gate, feedlib=trill-feed, jsonlib=json-nostrill
|_ [=state:sur =bowl:gall]
++ handle-add |= =user:sur
^- (quip card:agent:gall _state)
?- -.user
%urbit =/ c (urbit-watch +.user)
:- :~(c) state
%nostr `state
==
++ handle-del |= =user:sur
^- (quip card:agent:gall _state)
=. following.state (~(del by following.state) user)
=/ graph (~(get by follow-graph.state) [%urbit our.bowl])
?~ graph `state
=/ nset (~(del in u.graph) user)
=. follow-graph.state (~(put by follow-graph.state) [%urbit our.bowl] nset)
`state
++ handle-follow-ok |= [=user:sur =feed:feed profile=(unit user-meta:nsur)]
^- (quip card:agent:gall _state)
=. following (~(put by following) user feed)
=. profiles ?~ profile profiles (~(put by profiles) user u.profile)
`state
++ urbit-watch |= sip=@p ^- card:agent:gall
[%pass /watch %agent [sip dap.bowl] %watch /follow]
:: ++ res-fact |= =res:comms ^- (list card:agent:gall)
:: =/ paths ~[/beg/feed]
:: =/ =poke:comms [%res res]
:: ~& > giving-res-fact=res
:: =/ jon (beg-res:en:jsonlib res)
:: =/ cage [%json !>(jon)]
:: :~
:: [%give %fact paths cage]
:: [%give %kick paths ~]
:: ==
--
|