Safe Haskell | None |
---|---|
Language | GHC2021 |
Stack.Storage.Util
Description
Utils for the other Stack.Storage modules
Synopsis
- handleMigrationException :: HasLogFunc env => RIO env a -> RIO env a
- updateCollection :: forall record backend collection rawValue value (m :: Type -> Type). (PersistEntityBackend record ~ BaseBackend backend, Eq (collection rawValue), PersistEntity record, PersistField value, MonadIO m, PersistQueryWrite backend, SafeToInsert record, Foldable collection) => (collection rawValue -> collection rawValue -> ([Filter record], [value])) -> (value -> record) -> [Filter record] -> collection rawValue -> collection rawValue -> ReaderT backend m ()
- setUpdateDiff :: (Ord value, PersistField value) => EntityField record value -> Set value -> Set value -> ([Filter record], [value])
- listUpdateDiff :: Ord value => EntityField record Int -> [value] -> [value] -> ([Filter record], [(Int, value)])
Documentation
handleMigrationException :: HasLogFunc env => RIO env a -> RIO env a Source #
updateCollection :: forall record backend collection rawValue value (m :: Type -> Type). (PersistEntityBackend record ~ BaseBackend backend, Eq (collection rawValue), PersistEntity record, PersistField value, MonadIO m, PersistQueryWrite backend, SafeToInsert record, Foldable collection) => (collection rawValue -> collection rawValue -> ([Filter record], [value])) -> (value -> record) -> [Filter record] -> collection rawValue -> collection rawValue -> ReaderT backend m () Source #
Efficiently update a collection of values with a given diff function.
setUpdateDiff :: (Ord value, PersistField value) => EntityField record value -> Set value -> Set value -> ([Filter record], [value]) Source #
listUpdateDiff :: Ord value => EntityField record Int -> [value] -> [value] -> ([Filter record], [(Int, value)]) Source #