invite-hook: modernized the style and removed inline %json conversion
-:: invite-hook [landscape]:
+:: invite-hook [landscape]: receive invites from any source
::
-:: receive invites from any source
+:: only handles %invite actions:
+:: - can be poked by the host team to send an invite out to someone.
+:: - can be poked by foreign ships to send an invite to us.
::
-:: only handles %invite actions. accepts json, but only from the host team.
-:: can be poked by the host team to send an invite out to someone.
-:: can be poked by foreign ships to send an invite to us.
-::
-/+ *invite-json, default-agent, verb, dbug
+/- *invite-store
+/+ default-agent, dbug
::
|%
+$ state-0 [%0 ~]
-::
+$ card card:agent:gall
--
::
=| state-0
=* state -
-::
-%+ verb |
%- agent:dbug
^- agent:gall
-=<
+::
|_ =bowl:gall
+* this .
- do ~(. +> bowl)
def ~(. (default-agent this %|) bowl)
::
- ++ on-init
- ^- (quip card _this)
- [~ this]
- ::
+++ on-init [~ this]
++ on-save !>(state)
++ on-load
|= old=vase
++ on-poke
|= [=mark =vase]
^- (quip card _this)
+ |^
:_ this
?+ mark (on-poke:def mark vase)
- %json
- :: only accept json from ourselves.
- ::
- ?> (team:title our.bowl src.bowl)
- =/ act (json-to-action !<(json vase))
- ?> ?=(%invite -.act)
- [(invite-hook-poke:do recipient.invite.act act)]~
- ::
%invite-action
=/ act=invite-action !<(invite-action vase)
?. ?=(%invite -.act) ~
:: outgoing. we must be inviting another ship. send them the invite.
::
?< (team:title our.bowl recipient.invite.act)
- [(invite-hook-poke:do recipient.invite.act act)]~
+ [(invite-hook-poke recipient.invite.act act)]~
:: else incoming. ensure invitatory exists and invite is not a duplicate.
::
- ?> ?=(^ (invitatory-scry:do path.act))
- ?> ?=(~ (invite-scry:do path.act uid.act))
- [(invite-poke:do path.act act)]~
+ ?> ?=(^ (invitatory-scry path.act))
+ ?> ?=(~ (invite-scry path.act uid.act))
+ [(invite-poke path.act act)]~
==
::
- ++ on-peek on-peek:def
- ++ on-watch on-watch:def
- ++ on-leave on-leave:def
- ++ on-agent on-agent:def
- ++ on-arvo on-arvo:def
- ++ on-fail on-fail:def
- --
-::
-|_ =bowl:gall
-::
++ invite-hook-poke
|= [=ship action=invite-action]
^- card
==
.^((unit invite) %gx pax)
--
-
+::
+++ on-peek on-peek:def
+++ on-watch on-watch:def
+++ on-leave on-leave:def
+++ on-agent on-agent:def
+++ on-arvo on-arvo:def
+++ on-fail on-fail:def
+--
