module ClassyPrelude.Yesod
( module X
, module ClassyPrelude.Yesod
) where
import ClassyPrelude.Conduit as X hiding (lift)
import Yesod as X hiding (Request, Header, insert, delete)
import qualified Yesod
import Yesod.Static as X
import Yesod.Feed as X
import Network.HTTP.Conduit as X
import Network.HTTP.Types as X
import qualified ClassyPrelude.Classes
import Database.Persist.GenericSql.Raw as X (SqlBackend, SqlPersist)
import Database.Persist.GenericSql.Migration as X (runMigration)
import Data.Default as X (Default (..))
import Data.Aeson as X (ToJSON (..), FromJSON (..), (.:), (.=))
instance
( backend ~ PersistMonadBackend m
, backend ~ PersistEntityBackend entity
, PersistStore m
, PersistEntity entity
, entity ~ entity'
) => ClassyPrelude.Classes.CanInsert (entity -> m (KeyBackend backend entity')) where
insert = Yesod.insert
insertDB :: ( PersistStore m
, PersistEntity entity
, PersistMonadBackend m ~ PersistEntityBackend entity
)
=> entity
-> m (Key entity)
insertDB = Yesod.insert
voidKey :: Functor m => m (KeyBackend backend entity) -> m ()
voidKey = void
instance
( backend ~ PersistMonadBackend m
, backend ~ PersistEntityBackend entity
, PersistStore m
, PersistEntity entity
, a ~ ()
) => ClassyPrelude.Classes.CanDelete (KeyBackend backend entity -> m a) where
delete = Yesod.delete