diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/zodiac.hoon | 24 |
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 |