diff --git a/apps/webhook_listeners/lib/Db/WebhookListenerMapper.php b/apps/webhook_listeners/lib/Db/WebhookListenerMapper.php index a55a8c7f6a0..c0d96891ecc 100644 --- a/apps/webhook_listeners/lib/Db/WebhookListenerMapper.php +++ b/apps/webhook_listeners/lib/Db/WebhookListenerMapper.php @@ -159,6 +159,21 @@ class WebhookListenerMapper extends QBMapper { return ($qb->executeStatement() > 0); } + /** + * Delete all registrations made by the given appId + * + * @throws Exception + * @return int number of registration deleted + */ + public function deleteByAppId(string $appId): int { + $qb = $this->db->getQueryBuilder(); + + $qb->delete($this->getTableName()) + ->where($qb->expr()->eq('app_id', $qb->createNamedParameter($appId, IQueryBuilder::PARAM_STR))); + + return $qb->executeStatement(); + } + /** * @throws Exception * @return list