From c2827b0560082f5499c178ead746e7ff9448dd64 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Fri, 24 Jul 2020 23:39:21 -0700 Subject: hero: working authenticated api calls --- Hero/Node.hs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'Hero/Node.hs') diff --git a/Hero/Node.hs b/Hero/Node.hs index e32cd59..55bc4b0 100644 --- a/Hero/Node.hs +++ b/Hero/Node.hs @@ -180,17 +180,13 @@ move (ScrollIntoView id) model = model <# do move ValidateUserPassword model = batchEff model - [doLogin, (SetComics >= \case - Network.Success user -> do - jslog "successful login" - pure $ ChangeURI discoverLink + Network.Success _ -> pure NoOp -- TODO: handle these error cases Network.Loading -> pure NoOp Network.Failure _ -> pure NoOp @@ -201,9 +197,11 @@ fetchComics = Ajax.xhrByteString req /> Ajax.contents >>= \case Nothing -> pure $ Network.Failure "Could not fetch comics from server." Just json -> - pure $ Network.fromEither - $ either (Left . ms) pure - $ Aeson.eitherDecodeStrict json + json + |> Aeson.eitherDecodeStrict + |> either (Left . ms) pure + |> Network.fromEither + |> pure where req = Ajax.Request @@ -211,7 +209,7 @@ fetchComics = Ajax.xhrByteString req /> Ajax.contents >>= \case Ajax.reqURI = "/api/comic", -- FIXME: can we replace this hardcoding? Ajax.reqLogin = Nothing, Ajax.reqHeaders = [], - Ajax.reqWithCredentials = False, + Ajax.reqWithCredentials = True, Ajax.reqData = Ajax.NoData } @@ -239,7 +237,7 @@ sendLogin u p = Ajax.xhrByteString req /> Ajax.contents >>= \case [ ("Accept", "application/json"), ("Content-Type", "application/json") ], - Ajax.reqWithCredentials = False, + Ajax.reqWithCredentials = True, Ajax.reqData = LoginForm (fromMisoString u) (fromMisoString p) |> Aeson.encode -- cgit v1.2.3