summaryrefslogtreecommitdiff
path: root/fig-web/src/Fig/Web/Module/Claim.hs
diff options
context:
space:
mode:
Diffstat (limited to 'fig-web/src/Fig/Web/Module/Claim.hs')
-rw-r--r--fig-web/src/Fig/Web/Module/Claim.hs9
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