34 lines
936 B
Haskell
34 lines
936 B
Haskell
{-# LANGUAGE UndecidableInstances #-}
|
|
{-# OPTIONS_GHC -fno-warn-orphans #-}
|
|
|
|
module Database.Persist.Sql.Instances
|
|
(
|
|
) where
|
|
|
|
import ClassyPrelude.Yesod
|
|
|
|
import Data.Binary (Binary)
|
|
import qualified Data.Binary as B
|
|
|
|
import Database.Persist.Sql
|
|
|
|
|
|
instance Binary (BackendKey SqlWriteBackend) where
|
|
put = B.put . unSqlWriteBackendKey
|
|
putList = B.putList . map unSqlWriteBackendKey
|
|
get = SqlWriteBackendKey <$> B.get
|
|
instance Binary (BackendKey SqlReadBackend) where
|
|
put = B.put . unSqlReadBackendKey
|
|
putList = B.putList . map unSqlReadBackendKey
|
|
get = SqlReadBackendKey <$> B.get
|
|
instance Binary (BackendKey SqlBackend) where
|
|
put = B.put . unSqlBackendKey
|
|
putList = B.putList . map unSqlBackendKey
|
|
get = SqlBackendKey <$> B.get
|
|
|
|
|
|
instance {-# OVERLAPPABLE #-} ToBackendKey SqlBackend record => Binary (Key record) where
|
|
put = B.put . fromSqlKey
|
|
putList = B.putList . map fromSqlKey
|
|
get = toSqlKey <$> B.get
|