UO66QO7K6PZ6M6T4WZYRAUOEQMJLHB6GURC2LI4VABZOUWGCOSWAC OVU272MTFF2XBBDVUH7GCQ6FX5NZFC7FYU57TQI6GTA6SLQKEKFAC IR75ZMX32SFFMDNV2I2L22X5JTWCOC4UUBCSPU7S6VHR6HFV6ADQC M4PWY5RUV72AEDCNC4O7UKBPHBIACR4354YTSC3SUZGWFV5UBJBQC HALRDT2F22DAQ54M334YSKD2XJCAXDXEZPDKGMOWKH7XELBAS6MAC X3ES7NUA42D2BF7CQDDKXM5CLMVCYA3H5YU5KXLPTGDBFPE2LNVAC HMDM3B557TO5RYP2IGFFC2C2VN6HYZTDQ47CJY2O37BW55DSMFZAC 4R7XIYK3BP664CO3YJ2VM64ES2JYN27UTQG5KS34OTEPAIODSZLQC ( user' ^. (username . _UserName),user' ^? userAccountRecovery . _RecoverByEmail . _Email,user' ^? userAccountRecovery . _RecoverByZAddr . Zcash._Address)
( user' ^. (username . _UserName),user' ^? userAccountRecovery . _RecoverByEmail . _Email,user' ^? userAccountRecovery . _RecoverByZAddr . Zcash._Address)
module Aftok.Project where
module Aftok.Project( Project (..),ProjectName,projectName,inceptionDate,initiator,depRules,InvitationCode,randomInvCode,parseInvCode,renderInvCode,Invitation (..),projectId,invitingUser,invitedEmail,invitationTime,acceptanceTime,)where
parseInvCode t = docode <- B64.decodeBase64 . encodeUtf8 $ tif BS.length code == 32then Right $ InvitationCode codeelse Left "Invitation code appears to be invalid."
parseInvCode t =InvitationCode <$> (B64.decodeBase64 . encodeUtf8 $ t)