diff options
Diffstat (limited to 'lore/Biz/Ibb')
-rw-r--r-- | lore/Biz/Ibb/Move.hs | 11 |
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 |