Completed
Pull Request — master (#2)
by Tomáš
09:49
created

CancelPasswordRequestsByUserQueryFactory::create()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 14
rs 9.7998
c 0
b 0
f 0
cc 1
nc 1
nop 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SixtyEightPublishers\User\ForgotPassword\Query;
6
7
use Nette;
8
use Doctrine;
9
use SixtyEightPublishers;
10
11
class CancelPasswordRequestsByUserQueryFactory implements ICancelPasswordRequestsByUserQueryFactory
12
{
13
	use Nette\SmartObject;
14
15
	/********* interface \SixtyEightPublishers\User\ForgotPassword\Query\IGetUserByEmailQueryFactory *********/
16
17
	/**
18
	 * {@inheritdoc}
19
	 */
20
	public function create(Doctrine\ORM\EntityManagerInterface $em, SixtyEightPublishers\User\ForgotPassword\DoctrineEntity\IUser $user): Doctrine\ORM\Query
21
	{
22
		return $em->createQueryBuilder()
23
			->update(SixtyEightPublishers\User\ForgotPassword\DoctrineEntity\IPasswordRequest::class, 'pr')
24
			->set('pr.status', ':newStatus')
25
			->set('pr.updated', ':now')
26
			->where('pr.user = :user')
27
			->andWhere('pr.status = :status')
28
			->setParameter('user', $user->getId())
29
			->setParameter('status', SixtyEightPublishers\User\ForgotPassword\DoctrineEntity\IPasswordRequest::STATUS_CREATED)
30
			->setParameter('newStatus', SixtyEightPublishers\User\ForgotPassword\DoctrineEntity\IPasswordRequest::STATUS_CANCELED)
31
			->setParameter('now', new \DateTime('now', new \DateTimeZone('UTC')))
32
			->getQuery();
33
	}
34
}
35