@@ -229,6 +229,9 @@ dummyFromUnique _ = Nothing
229dummyFromFilter :: Filter v -> Maybe v
229dummyFromFilter :: Filter v -> Maybe v
230dummyFromFilter _ = Nothing
230dummyFromFilter _ = Nothing
232+dummyFromFilters :: [Filter v] -> Maybe v
233+dummyFromFilters _ = Nothing
232dummyFromUpdate :: DPT.Update v -> Maybe v
235dummyFromUpdate :: DPT.Update v -> Maybe v
233dummyFromUpdate _ = Nothing
236dummyFromUpdate _ = Nothing
@@ -453,6 +456,17 @@ instance PersistQuery C.Connection where
453 Left err -> Trans.liftIO $ throwIO $ PersistError "updateWhere pooped"
456 Left err -> Trans.liftIO $ throwIO $ PersistError "updateWhere pooped"
454 Right () -> return ()
457 Right () -> return ()
456−
459+ deleteWhere filters = do
458−
461+ e <- runEitherT $ do
462+ restrictionPredicate <- hoistEither $ multiFilterAsRestrictionPredicate True filters
463+ let entDef = entityDef $ dummyFromFilters filters
464+ relVarName = unDBName $ entityDB entDef
465+ deleteExpr = Delete relVarName restrictionPredicate
466+ maybeErr <- Trans.liftIO $ C.executeDatabaseContextExpr conn deleteExpr
468+ Just err -> left err
471+ Left err -> Trans.liftIO $ throwIO $ PersistError "updateWhere pooped"
472+ Right () -> return ()