summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/zodiac.hoon24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/zodiac.hoon b/app/zodiac.hoon
index 43a5694..0718da1 100644
--- a/app/zodiac.hoon
+++ b/app/zodiac.hoon
@@ -1,10 +1,13 @@
/- *zodiac
+/+ dbug, metamask
/= router /web/router
=| versioned-state
=* state -
+%- agent:dbug
^- agent:gall
|_ =bowl:gall
+* this .
+ metalib ~(. metamask [sessions.state bowl])
++ on-init
^- (quip card:agent:gall agent:gall)
:_ this
@@ -18,17 +21,38 @@
++ on-load
|~ old-state=vase
^- (quip card:agent:gall agent:gall)
+ =/ vs !<(versioned-state old-state)
+ ~& vs=vs
+ =. state
+ ?- -.vs
+ %0 vs
+ ==
`this
::
++ on-poke
|= [=mark =vase]
^- (quip card:agent:gall agent:gall)
+ |^
?+ mark `this
+ %noun (on-poke-noun !<(* vase))
%handle-http-request
=/ order !<([id=@ta req=inbound-request:eyre] vase)
=/ weblib ~(. router [bowl id.order req.order state])
:- route:weblib this
==
+ ++ on-poke-noun |= a=*
+ ?: ?= [%logout @ @] a
+ ~& "loggingout"
+ =^ cards sessions.state (handle-logout:metalib +.a)
+ [cards this]
+
+ =. sessions.state
+ ?+ a sessions.state
+ [%meta @t] (handle-meta:metalib +.a)
+ [%auth @p @ @uv] (handle-auth:metalib +.a)
+ ==
+ `this
+ --
::
++ on-watch
|~ path