serversession-backend-persistent 2.0.1 → 2.0.2
raw patch · 2 files changed
+32/−19 lines, 2 filesdep ~persistent
Dependency ranges changed: persistent
Files
- serversession-backend-persistent.cabal +2/−2
- src/Web/ServerSession/Backend/Persistent/Internal/Impl.hs +30/−17
serversession-backend-persistent.cabal view
@@ -1,6 +1,6 @@ cabal-version: >= 1.10 name: serversession-backend-persistent-version: 2.0.1+version: 2.0.2 license: MIT license-file: LICENSE author: Felipe Lessa <felipe.lessa@gmail.com>@@ -28,7 +28,7 @@ , bytestring , cereal >= 0.4 , path-pieces- , persistent == 2.13.*+ , persistent >= 2.13.0.0 && < 2.15.0.0 , tagged >= 0.7 , text , time
src/Web/ServerSession/Backend/Persistent/Internal/Impl.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} -- | Internal module exposing the guts of the package. Use at -- your own risk. No API stability guarantees apply. module Web.ServerSession.Backend.Persistent.Internal.Impl@@ -14,25 +15,26 @@ , throwSS ) where -import Control.Applicative as A-import Control.Monad (void)-import Control.Monad.IO.Class (liftIO)-import Data.Proxy (Proxy(..))-import Data.Time (UTCTime)-import Data.Typeable (Typeable)-import Database.Persist (PersistEntity(..))-import Web.PathPieces (PathPiece)-import Web.ServerSession.Core+import Control.Applicative as A+import Control.Monad (void)+import Control.Monad.IO.Class (liftIO)+import Data.Proxy (Proxy (..))+import Data.Time (UTCTime)+import Data.Typeable (Typeable)+import Database.Persist (PersistEntity (..))+import Web.PathPieces (PathPiece)+import Web.ServerSession.Core -import qualified Control.Exception as E-import qualified Data.Aeson as A-import qualified Data.Text as T-import qualified Database.Persist as P-import qualified Database.Persist.EntityDef.Internal as P (EntityDef(..)) -- I need EntityDef constructor.-import qualified Database.Persist.Quasi.Internal as P (UnboundEntityDef, unbindEntityDef)-import qualified Database.Persist.Sql as P+import qualified Control.Exception as E+import qualified Data.Aeson as A+import qualified Data.Text as T+import qualified Database.Persist as P+import qualified Database.Persist.EntityDef.Internal as P (EntityDef (..))+import qualified Database.Persist.Quasi.Internal as P (UnboundEntityDef,+ unbindEntityDef)+import qualified Database.Persist.Sql as P -import Web.ServerSession.Backend.Persistent.Internal.Types+import Web.ServerSession.Backend.Persistent.Internal.Types -- We can't use the Template Haskell since we want to generalize -- some fields.@@ -57,6 +59,9 @@ deriving instance Ord (Decomposed sess) => Ord (PersistentSession sess) deriving instance Show (Decomposed sess) => Show (PersistentSession sess) +#if MIN_VERSION_persistent(2,14,0)+instance P.SafeToInsert (PersistentSession sess)+#endif type PersistentSessionId sess = Key (PersistentSession sess) @@ -106,11 +111,19 @@ pfd = P.persistFieldDef toPersistFields (PersistentSession a b c d e) =+#if MIN_VERSION_persistent(2,14,0)+ [ P.toPersistValue a+ , P.toPersistValue b+ , P.toPersistValue c+ , P.toPersistValue d+ , P.toPersistValue e ]+#else [ P.SomePersistField a , P.SomePersistField b , P.SomePersistField c , P.SomePersistField d , P.SomePersistField e ]+#endif fromPersistValues [a, b, c, d, e] = PersistentSession