From 6c1a6d17c2e2c295b5a7ffaaa9bec1decab19b0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= Date: Mon, 9 Sep 2024 14:39:41 +0200 Subject: [PATCH] feat(webhook_listeners): Add mapper method to remove all registrations from a given AppAPI id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Côme Chilliet --- .../lib/Db/WebhookListenerMapper.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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