diff options
Diffstat (limited to 'fig-web')
| -rw-r--r-- | fig-web/src/Fig/Web/Module/Claim.hs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fig-web/src/Fig/Web/Module/Claim.hs b/fig-web/src/Fig/Web/Module/Claim.hs index eb84569..844b707 100644 --- a/fig-web/src/Fig/Web/Module/Claim.hs +++ b/fig-web/src/Fig/Web/Module/Claim.hs @@ -11,13 +11,16 @@ import qualified Fig.Utils.DB as DB secure :: SecureModule secure a = do - onPost "/api/claim/:code" $ authed a \creds -> do + onGet "/api/claim/:code" $ authed a \creds -> do code <- pathParam "code" DB.run a.db (DB.hget "claim:codes" code) >>= \case - Nothing -> log $ "user " <> creds.user <> " tried invalid badge claim code: " <> decodeUtf8 code + Nothing -> do + log $ "user " <> creds.user <> " tried invalid badge claim code: " <> decodeUtf8 code + status status400 + respondText "invalid claim code" Just badge -> do log $ "user " <> creds.user <> " redeemed valid badge claim code: " <> decodeUtf8 code let bstid = encodeUtf8 creds.twitchId DB.run a.db do - DB.hdel "claim:codes" code DB.sadd ("user:badges:" <> bstid) [badge] + redirect $ "https://api.colonq.computer/charsheet#" <> creds.twitchId |
