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

CancelPasswordRequestsByUserQueryFactory   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 0
dl 0
loc 24
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A create() 0 14 1
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