Copyright | (c) Anton Gushcha, 2016 |
---|---|
License | MIT |
Maintainer | ncrashed@gmail.com |
Stability | experimental |
Portability | Portable |
Safe Haskell | None |
Language | Haskell2010 |
- makeSingleUseExpire :: MonadIO m => NominalDiffTime -> m UTCTime
- registerSingleUseCode :: MonadIO m => UserImplId -> SingleUseCode -> Maybe UTCTime -> SqlPersistT m ()
- invalideSingleUseCode :: MonadIO m => UserSingleUseCodeId -> SqlPersistT m ()
- validateSingleUseCode :: MonadIO m => UserImplId -> SingleUseCode -> SqlPersistT m Bool
- generateSingleUsedCodes :: MonadIO m => UserImplId -> IO SingleUseCode -> Word -> SqlPersistT m [SingleUseCode]
Documentation
:: MonadIO m | |
=> NominalDiffTime | Duration of code |
-> m UTCTime | Time when the code expires |
Calculate expire date for single usage code
:: MonadIO m | |
=> UserImplId | Id of user |
-> SingleUseCode | Single usage code |
-> Maybe UTCTime | Time when the code expires, |
-> SqlPersistT m () |
Register single use code in DB
:: MonadIO m | |
=> UserSingleUseCodeId | Id of code |
-> SqlPersistT m () |
Marks single use code that it cannot be used again
:: MonadIO m | |
=> UserImplId | Id of user |
-> SingleUseCode | Single usage code |
-> SqlPersistT m Bool |
Check single use code and return True
on success.
On success invalidates single use code.
generateSingleUsedCodes Source
:: MonadIO m | |
=> UserImplId | Id of user |
-> IO SingleUseCode | Generator of codes |
-> Word | |
-> SqlPersistT m [SingleUseCode] |
Generates a set single use codes that doesn't expire.
Note: previous codes without expiration are invalidated.