public function getForAccount(AccountInterface $account) { $repository = $this->entityManager->getRepository(SessionEntity::class); $qb = $repository->createQueryBuilder('s'); $qb->select('s'); $qb->where($qb->expr()->eq('s.account', ':account')); $qb->orderBy('s.lastModified', 'DESC'); $qb->setParameter(':account', $account->getId()->getBytes()); return $qb->getQuery()->getArrayResult(); }
private function createAccountRole(AccountInterface $account) { $role = new Role('account-' . $account->getId()->toString()); /** @var Group $group */ foreach ($account->getGroups() as $group) { foreach ($group->getPermissions() as $permission) { $role->addPermission($permission); } } return $role; }
public function makePrimary(AccountInterface $account, $id) { $emailAddressesRepository = $this->entityManager->getRepository(EmailEntity::class); $qb = $emailAddressesRepository->createQueryBuilder('e'); $qb->update(); $qb->set('e.isPrimary', ':isPrimary'); $qb->where($qb->expr()->eq('e.account', ':account')); $qb->setParameter(':isPrimary', false); $qb->setParameter(':account', $account->getId()->getBytes()); $qb->getQuery()->execute(); $emailAddress = $this->getAddress($account, $id); $emailAddress->setIsPrimary(true); $this->entityManager->persist($emailAddress); $this->entityManager->flush($emailAddress); return $emailAddress; }