{-# LANGUAGE FlexibleContexts #-}
module Database.Esqueleto.Monad.Legacy
( select
, selectOne
, delete
, update
, renderQuerySelect
, P.deleteWhere
, P.get
, P.getBy
, P.getEntity
, P.getMany
, P.insert
, P.insert_
, P.insertKey
, P.insertMany_
, P.insertEntityMany
, P.selectFirst
, P.updateWhere
, module Database.Esqueleto.Legacy
) where
import Data.Text(Text)
import Database.Esqueleto.Internal.Internal (SqlSelect)
import qualified Database.Esqueleto.Legacy as E
import Database.Esqueleto.Legacy hiding
( select
, selectOne
, delete
, update
, renderQuerySelect
, deleteWhere
, get
, getBy
, getEntity
, getMany
, insert
, insert_
, insertKey
, insertMany_
, insertEntityMany
, selectFirst
, updateWhere
)
import qualified Database.Persist.Monad as P
select :: (P.MonadSqlQuery m, SqlSelect a r) => SqlQuery a -> m [r]
select :: forall (m :: * -> *) a r.
(MonadSqlQuery m, SqlSelect a r) =>
SqlQuery a -> m [r]
select SqlQuery a
query = Text
-> (forall (m2 :: * -> *). MonadIO m2 => SqlPersistT m2 [r])
-> m [r]
forall (m :: * -> *) a.
MonadSqlQuery m =>
Text
-> (forall (m2 :: * -> *). MonadIO m2 => SqlPersistT m2 a) -> m a
P.unsafeLiftSql Text
"esqueleto-select" (SqlQuery a -> ReaderT SqlBackend m2 [r]
forall a r (m :: * -> *) backend.
(SqlSelect a r, MonadIO m, SqlBackendCanRead backend) =>
SqlQuery a -> ReaderT backend m [r]
E.select SqlQuery a
query)
selectOne :: (P.MonadSqlQuery m, SqlSelect a r) => SqlQuery a -> m (Maybe r)
selectOne :: forall (m :: * -> *) a r.
(MonadSqlQuery m, SqlSelect a r) =>
SqlQuery a -> m (Maybe r)
selectOne SqlQuery a
query = Text
-> (forall (m2 :: * -> *). MonadIO m2 => SqlPersistT m2 (Maybe r))
-> m (Maybe r)
forall (m :: * -> *) a.
MonadSqlQuery m =>
Text
-> (forall (m2 :: * -> *). MonadIO m2 => SqlPersistT m2 a) -> m a
P.unsafeLiftSql Text
"esqueleto-selectOne" (SqlQuery a -> ReaderT SqlBackend m2 (Maybe r)
forall a r (m :: * -> *) backend.
(SqlSelect a r, MonadIO m, SqlBackendCanRead backend) =>
SqlQuery a -> ReaderT backend m (Maybe r)
E.selectOne SqlQuery a
query)
delete :: (P.MonadSqlQuery m) => SqlQuery () -> m ()
delete :: forall (m :: * -> *). MonadSqlQuery m => SqlQuery () -> m ()
delete SqlQuery ()
query = Text
-> (forall (m2 :: * -> *). MonadIO m2 => SqlPersistT m2 ()) -> m ()
forall (m :: * -> *) a.
MonadSqlQuery m =>
Text
-> (forall (m2 :: * -> *). MonadIO m2 => SqlPersistT m2 a) -> m a
P.unsafeLiftSql Text
"esqueleto-delete" (SqlQuery () -> ReaderT SqlBackend m2 ()
forall (m :: * -> *) backend.
(MonadIO m, SqlBackendCanWrite backend) =>
SqlQuery () -> ReaderT backend m ()
E.delete SqlQuery ()
query)
update ::
( P.MonadSqlQuery m
, PersistEntity val
, BackendCompatible SqlBackend (PersistEntityBackend val)
)
=> (SqlExpr (Entity val) -> SqlQuery ()) -> m ()
update :: forall (m :: * -> *) val.
(MonadSqlQuery m, PersistEntity val,
BackendCompatible SqlBackend (PersistEntityBackend val)) =>
(SqlExpr (Entity val) -> SqlQuery ()) -> m ()
update SqlExpr (Entity val) -> SqlQuery ()
query = Text
-> (forall (m2 :: * -> *). MonadIO m2 => SqlPersistT m2 ()) -> m ()
forall (m :: * -> *) a.
MonadSqlQuery m =>
Text
-> (forall (m2 :: * -> *). MonadIO m2 => SqlPersistT m2 a) -> m a
P.unsafeLiftSql Text
"esqueleto-update" ((SqlExpr (Entity val) -> SqlQuery ()) -> ReaderT SqlBackend m2 ()
forall (m :: * -> *) val backend.
(MonadIO m, PersistEntity val,
BackendCompatible SqlBackend (PersistEntityBackend val),
SqlBackendCanWrite backend) =>
(SqlExpr (Entity val) -> SqlQuery ()) -> ReaderT backend m ()
E.update SqlExpr (Entity val) -> SqlQuery ()
query)
renderQuerySelect :: (P.MonadSqlQuery m, SqlSelect a r) => SqlQuery a -> m (Text, [PersistValue])
renderQuerySelect :: forall (m :: * -> *) a r.
(MonadSqlQuery m, SqlSelect a r) =>
SqlQuery a -> m (Text, [PersistValue])
renderQuerySelect SqlQuery a
query = Text
-> (forall (m2 :: * -> *).
MonadIO m2 =>
SqlPersistT m2 (Text, [PersistValue]))
-> m (Text, [PersistValue])
forall (m :: * -> *) a.
MonadSqlQuery m =>
Text
-> (forall (m2 :: * -> *). MonadIO m2 => SqlPersistT m2 a) -> m a
P.unsafeLiftSql Text
"esqueleto-renderQuerySelect" (SqlQuery a -> ReaderT SqlBackend m2 (Text, [PersistValue])
forall a r backend (m :: * -> *).
(SqlSelect a r, BackendCompatible SqlBackend backend, Monad m) =>
SqlQuery a -> ReaderT backend m (Text, [PersistValue])
E.renderQuerySelect SqlQuery a
query)