module Common.Validation.SignIn ( signIn , email ) where import Data.Text (Text) import Data.Validation (Validation) import Common.Model.Email (Email (..)) import Common.Model.SignInForm (SignInForm (..)) import qualified Common.Validation.Atomic as Atomic import qualified Data.Validation as Validation signIn :: SignInForm -> Maybe Email signIn (SignInForm str) = Validation.validation (const Nothing) Just . email $ str email :: Text -> Validation Text Email email = fmap Email . Atomic.minLength 5