diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2018-12-18 11:06:47 +0300 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2018-12-18 11:06:47 +0300 |
commit | 5843a73294a180132476e3e1719a7452b82cd34b (patch) | |
tree | c9eea06ca77d6c22a0a06f9a34d33d862b3aee06 /lib | |
parent | c5d9d09306a86a0ff838bc5e6252401b4d72a1da (diff) | |
parent | afca0f21b9ade4178858250e1c8c5f2dc2f7039f (diff) |
Merge remote-tracking branch 'origin/master' into refactor/vue
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Db/Alias.php | 17 | ||||
-rw-r--r-- | lib/Db/AliasMapper.php | 41 | ||||
-rw-r--r-- | lib/Service/MailTransmission.php | 2 |
3 files changed, 44 insertions, 16 deletions
diff --git a/lib/Db/Alias.php b/lib/Db/Alias.php index 48f8426dc..eae912b5d 100644 --- a/lib/Db/Alias.php +++ b/lib/Db/Alias.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @author Jakob Sack <mail@jakobsack.de> @@ -33,8 +34,18 @@ use OCP\AppFramework\Db\Entity; */ class Alias extends Entity { - public $accountId; - public $name; - public $alias; + /** @var int */ + protected $accountId; + /** @var string */ + protected $name; + + /** @var string */ + protected $alias; + + public function __construct() { + $this->addType('accountId', 'int'); + $this->addType('name', 'string'); + $this->addType('alias', 'string'); + } } diff --git a/lib/Db/AliasMapper.php b/lib/Db/AliasMapper.php index caff4bbee..aba7fb665 100644 --- a/lib/Db/AliasMapper.php +++ b/lib/Db/AliasMapper.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * Mail @@ -12,10 +13,10 @@ namespace OCA\Mail\Db; -use OCP\AppFramework\Db\Mapper; +use OCP\AppFramework\Db\QBMapper; use OCP\IDBConnection; -class AliasMapper extends Mapper { +class AliasMapper extends QBMapper { /** * @param IDBConnection $db @@ -29,9 +30,19 @@ class AliasMapper extends Mapper { * @param string $currentUserId * @return Alias */ - public function find($aliasId, $currentUserId) { - $sql = 'select *PREFIX*mail_aliases.* from *PREFIX*mail_aliases join *PREFIX*mail_accounts on *PREFIX*mail_aliases.account_id = *PREFIX*mail_accounts.id where *PREFIX*mail_accounts.user_id = ? and *PREFIX*mail_aliases.id=?'; - return $this->findEntity($sql, [$currentUserId, $aliasId]); + public function find(int $aliasId, string $currentUserId): Alias { + $qb = $this->db->getQueryBuilder(); + $qb->select('aliases.*') + ->from($this->getTableName(), 'aliases') + ->join('aliases', 'mail_accounts', 'accounts', $qb->expr()->eq('aliases.account_id', 'accounts.id')) + ->where( + $qb->expr()->andX( + $qb->expr()->eq('accounts.user_id', $qb->createNamedParameter($currentUserId)), + $qb->expr()->eq('aliases.id', $qb->createNamedParameter($aliasId)) + ) + ); + + return $this->findEntity($qb); } /** @@ -39,12 +50,18 @@ class AliasMapper extends Mapper { * @param string $currentUserId * @return Alias[] */ - public function findAll($accountId, $currentUserId) { - $sql = 'select *PREFIX*mail_aliases.* from *PREFIX*mail_aliases join *PREFIX*mail_accounts on *PREFIX*mail_aliases.account_id = *PREFIX*mail_accounts.id where *PREFIX*mail_accounts.user_id = ? AND *PREFIX*mail_aliases.account_id=?'; - $params = [ - $currentUserId, - $accountId - ]; - return $this->findEntities($sql, $params); + public function findAll(int $accountId, string $currentUserId): array { + $qb = $this->db->getQueryBuilder(); + $qb->select('aliases.*') + ->from($this->getTableName(), 'aliases') + ->join('aliases', 'mail_accounts', 'accounts', $qb->expr()->eq('aliases.account_id', 'accounts.id')) + ->where( + $qb->expr()->andX( + $qb->expr()->eq('accounts.user_id', $qb->createNamedParameter($currentUserId)), + $qb->expr()->eq('aliases.account_id', $qb->createNamedParameter($accountId)) + ) + ); + + return $this->findEntities($qb); } } diff --git a/lib/Service/MailTransmission.php b/lib/Service/MailTransmission.php index 064cf6d63..3ff085d2e 100644 --- a/lib/Service/MailTransmission.php +++ b/lib/Service/MailTransmission.php @@ -101,7 +101,7 @@ class MailTransmission implements IMailTransmission { $message = $this->buildNewMessage($account, $messageData); } - $fromEmail = $alias ? $alias->alias : $account->getEMailAddress(); + $fromEmail = $alias ? $alias->getAlias() : $account->getEMailAddress(); $from = new AddressList([ new Address($account->getName(), $fromEmail), ]); |