Skip to content
This repository was archived by the owner on Feb 6, 2024. It is now read-only.

Commit 0303592

Browse files
committed
fix: user obj parsing
1 parent 2d00578 commit 0303592

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

infra/handler/src/DeckGo/Handler.hs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{-# LANGUAGE DataKinds #-}
2+
{-# LANGUAGE MonadFailDesugaring #-}
23
{-# LANGUAGE RankNTypes #-}
34
{-# LANGUAGE DeriveGeneric #-}
45
{-# LANGUAGE FlexibleContexts #-}
@@ -132,14 +133,15 @@ newtype FirebaseId = FirebaseId { unFirebaseId :: T.Text }
132133
deriving stock
133134
( Generic )
134135

136+
-- XXX !!?!??!?!! pattern match failures are propagated to the client!!!
135137
instance FromJSONObject User where
136138
parseJSONObject = \obj ->
137139
User
138140
<$> obj .: "firebase_uid"
139141
<*> (
140142
(do
141143
True <- obj .: "anonymous"
142-
(Nothing :: Maybe Username) <- obj .: "username"
144+
(Nothing :: Maybe Username) <- obj .:? "username"
143145
pure Nothing
144146
) <|> (do
145147
False <- obj .: "anonymous"
@@ -1132,8 +1134,8 @@ migrateFrom :: DbVersion -> HS.Session ()
11321134
migrateFrom = \ver ->
11331135
if ver < maxBound
11341136
then
1135-
let from = succ ver
1136-
in forM_ [from .. maxBound] migrateTo
1137+
let frm = succ ver
1138+
in forM_ [frm .. maxBound] migrateTo
11371139
else pure ()
11381140
where
11391141
-- | Migrates from (ver -1) to ver
@@ -1228,6 +1230,8 @@ dbVersionFromText :: T.Text -> Maybe DbVersion
12281230
dbVersionFromText t =
12291231
find (\ver -> dbVersionToText ver == t) [minBound .. maxBound]
12301232

1233+
-- XXX: this is not quite right, it'll never do the Version1 migration. Not a
1234+
-- problem currently since we dump everything at v2 anyway.
12311235
migrate :: HS.Session ()
12321236
migrate = do
12331237
readDbVersion >>= \case

0 commit comments

Comments
 (0)