← Back
Editing: TaskMapper.php
<?php declare(strict_types=1); /** * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\Mail\Db\ContextChat; use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Db\MultipleObjectsReturnedException; use OCP\AppFramework\Db\QBMapper; use OCP\DB\Exception; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\IDBConnection; /** * @template-extends QBMapper<Task> */ class TaskMapper extends QBMapper { /** * @param IDBConnection $db */ public function __construct(IDBConnection $db) { parent::__construct($db, 'mail_cc_tasks'); } /** * @return Task * @throws DoesNotExistException * @throws Exception * @throws MultipleObjectsReturnedException */ public function findNext(): Task { $qb = $this->db->getQueryBuilder(); $qb->select('*') ->from($this->getTableName()) ->orderBy('id', 'ASC') ->setMaxResults(1); return $this->findEntity($qb); } /** * @param int $id * @return Task * @throws DoesNotExistException * @throws Exception * @throws MultipleObjectsReturnedException */ public function findById(int $id): Task { $qb = $this->db->getQueryBuilder(); $qb->select('*') ->from($this->getTableName()) ->where( $qb->expr()->eq('id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT)) ); return $this->findEntity($qb); } /** * @param int $mailboxId * @return Task * @throws DoesNotExistException * @throws Exception * @throws MultipleObjectsReturnedException */ public function findByMailbox(int $mailboxId): Task { $qb = $this->db->getQueryBuilder(); $qb->select('*') ->from($this->getTableName()) ->where( $qb->expr()->eq('mailbox_id', $qb->createNamedParameter($mailboxId, IQueryBuilder::PARAM_INT)) ); return $this->findEntity($qb); } }
Save File
Cancel