diff --git a/src/Handler/CryptoIDDispatch.hs b/src/Handler/CryptoIDDispatch.hs index 450f6944e..7666225f7 100644 --- a/src/Handler/CryptoIDDispatch.hs +++ b/src/Handler/CryptoIDDispatch.hs @@ -20,12 +20,18 @@ import Import hiding (Proxy) import Data.Proxy +import qualified Data.UUID.Cryptographic as UUID + class KnownSymbol namespace => CryptoRoute ciphertext namespace where cryptoIDRoute :: CryptoID namespace ciphertext -> Handler (Route UniWorX) instance CryptoRoute UUID "Submission" where - cryptoIDRoute = return . SubmissionR + cryptoIDRoute cID = do + cIDKey <- getsYesod appCryptoIDKey + sId <- UUID.decrypt cIDKey cID + + return $ SubmissionR cID class Dispatch ciphertext (x :: [Symbol]) where