Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- data EmailKey = EmailKey {
- emailKeyUniq :: !Text
- emailKeyOrig :: !EmailAddress
- mkEmailKey :: EmailAddress -> EmailKey
- data UserKeyStore m a where
- LookupKey :: EmailKey -> UserKeyStore m (Maybe UserId)
- InsertKey :: UserId -> EmailKey -> UserKeyStore m ()
- DeleteKey :: EmailKey -> UserKeyStore m ()
- DeleteKeyForUser :: UserId -> EmailKey -> UserKeyStore m ()
- KeyAvailable :: EmailKey -> Maybe UserId -> UserKeyStore m Bool
- ClaimKey :: EmailKey -> UserId -> UserKeyStore m Bool
- claimKey :: forall r. Member UserKeyStore r => EmailKey -> UserId -> Sem r Bool
- keyAvailable :: forall r. Member UserKeyStore r => EmailKey -> Maybe UserId -> Sem r Bool
- deleteKeyForUser :: forall r. Member UserKeyStore r => UserId -> EmailKey -> Sem r ()
- deleteKey :: forall r. Member UserKeyStore r => EmailKey -> Sem r ()
- insertKey :: forall r. Member UserKeyStore r => UserId -> EmailKey -> Sem r ()
- lookupKey :: forall r. Member UserKeyStore r => EmailKey -> Sem r (Maybe UserId)
Documentation
An EmailKey
is an Email
in a form that serves as a unique lookup key.
EmailKey | |
|
mkEmailKey :: EmailAddress -> EmailKey Source #
Turn an Email
into an EmailKey
.
The following transformations are performed:
- Both local and domain parts are forced to lowercase to make e-mail addresses fully case-insensitive.
- "+" suffixes on the local part are stripped unless the domain part is contained in a trusted whitelist.
data UserKeyStore m a where Source #
LookupKey :: EmailKey -> UserKeyStore m (Maybe UserId) | |
InsertKey :: UserId -> EmailKey -> UserKeyStore m () | |
DeleteKey :: EmailKey -> UserKeyStore m () | |
DeleteKeyForUser :: UserId -> EmailKey -> UserKeyStore m () | |
KeyAvailable :: EmailKey -> Maybe UserId -> UserKeyStore m Bool | |
ClaimKey :: EmailKey -> UserId -> UserKeyStore m Bool |
keyAvailable :: forall r. Member UserKeyStore r => EmailKey -> Maybe UserId -> Sem r Bool Source #
deleteKeyForUser :: forall r. Member UserKeyStore r => UserId -> EmailKey -> Sem r () Source #