{-# LANGUAGE EmptyDataDecls #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeSynonymInstances #-} module Web.Users.Persistent.Definitions where import Database.Persist.TH import Data.Time.Clock import Data.Typeable import qualified Data.ByteString.Char8 as BSC import qualified Data.Text as T share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase| Login createdAt UTCTime username T.Text email T.Text password T.Text active Bool more BSC.ByteString UniqueUsername username UniqueEmail email deriving Show deriving Eq deriving Typeable LoginToken token T.Text tokenType T.Text createdAt UTCTime validUntil UTCTime owner LoginId UniqueToken token UniqueTypedToken token tokenType deriving Show deriving Eq deriving Typeable |]