Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/mail.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2018-08-16 16:10:59 +0300
committerChristoph Wurst <christoph@winzerhof-wurst.at>2018-08-16 16:10:59 +0300
commit23726d8b65b260f1cc467413231fd7240ac44148 (patch)
tree72832926479da02fde4535ab4d72f157e0f7045b /lib
parent02dd95d10de041278d8bc05f7f548e44471db60b (diff)
Migrate CollectedAddressesMapper to QBMapper
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib')
-rw-r--r--lib/Db/CollectedAddressMapper.php51
1 files changed, 27 insertions, 24 deletions
diff --git a/lib/Db/CollectedAddressMapper.php b/lib/Db/CollectedAddressMapper.php
index 15b4ebe4e..f7875e4a0 100644
--- a/lib/Db/CollectedAddressMapper.php
+++ b/lib/Db/CollectedAddressMapper.php
@@ -22,11 +22,11 @@
namespace OCA\Mail\Db;
-use OCP\AppFramework\Db\Mapper;
+use OCP\AppFramework\Db\QBMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
-class CollectedAddressMapper extends Mapper {
+class CollectedAddressMapper extends QBMapper {
/**
* @param IDBConnection $db
@@ -40,25 +40,34 @@ class CollectedAddressMapper extends Mapper {
*
* @param string $userId
* @param string $query
+ *
* @return CollectedAddress[]
*/
public function findMatching($userId, $query) {
- $sql = 'SELECT * FROM *PREFIX*mail_collected_addresses WHERE `user_id` = ? AND (`email` ILIKE ? OR `display_name` ILIKE ?)';
- $params = [
- $userId,
- '%' . $query . '%',
- '%' . $query . '%',
- ];
- return $this->findEntities($sql, $params);
+ $qb = $this->db->getQueryBuilder();
+ $dbQuery = $qb
+ ->select('*')
+ ->from($this->getTableName())
+ ->where(
+ $qb->expr()->eq('user_id', $qb->createNamedParameter($userId)),
+ $qb->expr()->orX(
+ $qb->expr()->iLike('email', $qb->createNamedParameter("%$query%")),
+ $qb->expr()->iLike('display_name', $qb->createNamedParameter("%$query%"))
+ )
+ );
+
+ return $this->findEntities($dbQuery);
}
public function exists($userId, $email) {
- $sql = 'SELECT * FROM *PREFIX*mail_collected_addresses WHERE `user_id` = ? AND `email` ILIKE ?';
- $params = [
- $userId,
- $email
- ];
- return count($this->findEntities($sql, $params)) > 0;
+ $qb = $this->db->getQueryBuilder();
+ $dbQuery = $qb
+ ->select('*')
+ ->from($this->getTableName())
+ ->where($qb->expr()->eq('user_id', $qb->createNamedParameter($userId)))
+ ->andWhere($qb->expr()->eq('email', $qb->createNamedParameter($email)));
+
+ return count($this->findEntities($dbQuery)) > 0;
}
public function getTotal() {
@@ -68,7 +77,7 @@ class CollectedAddressMapper extends Mapper {
->from($this->getTableName());
$result = $qb->execute();
- $count = (int) $result->fetchColumn(0);
+ $count = (int)$result->fetchColumn(0);
$result->closeCursor();
return $count;
}
@@ -85,16 +94,10 @@ class CollectedAddressMapper extends Mapper {
->setMaxResults(100);
if (!is_null($minId)) {
$query = $query->where($qb->expr()->gte('id',
- $qb->createNamedParameter($minId)));
+ $qb->createNamedParameter($minId)));
}
- $result = $query->execute();
- $rows = $result->fetchAll();
- $result->closeCursor();
-
- return array_map(function(array $data) {
- return CollectedAddress::fromRow($data);
- }, $rows);
+ return $this->findEntities($query);
}
}