summaryrefslogtreecommitdiff
path: root/lore/Biz/Ibb
diff options
context:
space:
mode:
Diffstat (limited to 'lore/Biz/Ibb')
-rw-r--r--lore/Biz/Ibb/Move.hs11
1 files changed, 6 insertions, 5 deletions
diff --git a/lore/Biz/Ibb/Move.hs b/lore/Biz/Ibb/Move.hs
index c2adea1..0d83e8a 100644
--- a/lore/Biz/Ibb/Move.hs
+++ b/lore/Biz/Ibb/Move.hs
@@ -3,8 +3,7 @@
-- | App update logic
module Biz.Ibb.Move (
- module Core
- , move
+ move
-- * Server interactions
, fetchPeople
) where
@@ -21,7 +20,7 @@ move :: Action -> Model -> Effect Action Model
move Nop m = noEff m
move (HandleRoute u) m = m { uri = u } <# pure Nop
move (ChangeRoute u) m = m <# do pushURI u >> pure Nop
-move FetchPeople m = m <# do SetPeople /@ fetchPeople
+move FetchPeople m = m <# (SetPeople /@ fetchPeople)
move (SetPeople ps) m = noEff m { people = ps }
fetchPeople :: IO (WebData [Core.Person])
@@ -30,11 +29,13 @@ fetchPeople = do
case mjson of
Nothing -> pure $ Failure "could not read from server"
Just a -> pure
- $ either (Failure . ms) Network.RemoteData.Success
+ $ fromEither
+ $ either (Left . ms) pure
$ eitherDecodeStrict a
where
req = Request { reqMethod = GET
- , reqURI = "/api/people" -- FIXME: can replace this hardcoding with a function?
+ -- FIXME: can replace this hardcoding with a function?
+ , reqURI = "/api/people"
, reqLogin = Nothing
, reqHeaders = []
, reqWithCredentials = False