{-# LANGUAGE ConstraintKinds #-}
module Database.Persist.Class
( ToBackendKey (..)
, PersistCore (..)
, PersistStore
, PersistStoreRead (..)
, PersistStoreWrite (..)
, PersistRecordBackend
, getJust
, getJustEntity
, getEntity
, belongsTo
, belongsToJust
, insertEntity
, insertRecord
, PersistUnique
, PersistUniqueRead (..)
, PersistUniqueWrite (..)
, getByValue
, insertBy
, insertUniqueEntity
, replaceUnique
, checkUnique
, onlyUnique
, PersistQuery
, PersistQueryRead (..)
, PersistQueryWrite (..)
, selectSource
, selectKeys
, selectList
, selectKeysList
, DeleteCascade (..)
, deleteCascadeWhere
, PersistEntity (..)
, PersistField (..)
, PersistConfig (..)
, entityValues
, HasPersistBackend (..)
, IsPersistBackend ()
, liftPersist
, BackendCompatible (..)
, keyValueEntityToJSON, keyValueEntityFromJSON
, entityIdToJSON, entityIdFromJSON
, toPersistValueJSON, fromPersistValueJSON
) where
import Database.Persist.Class.DeleteCascade
import Database.Persist.Class.PersistEntity
import Database.Persist.Class.PersistQuery
import Database.Persist.Class.PersistUnique
import Database.Persist.Class.PersistConfig
import Database.Persist.Class.PersistField
import Database.Persist.Class.PersistStore
type PersistUnique a = PersistUniqueWrite a
type PersistQuery a = PersistQueryWrite a
type PersistStore a = PersistStoreWrite a