/** * @param string $email * @return boolean|EntityInterface */ public function findOneByEmail($email) { $userData = $this->pdo->from(EntityUser::ENTITY_NAME)->where('email = ?', $email)->fetch(); if (!empty($userData)) { return EntityUser::createEntityFromArray($userData); } return false; }
/** * @param CreateUserChange $change * @throws UserAlreadyExistException */ protected function handleCreateUserChange(CreateUserChange $change) { $usersEntity = new EntityUser(); $usersEntity->setUuid($change->getUuid()->toString()); $usersEntity->setName($change->getName()->toString()); $usersEntity->setEmail($change->getEmail()->toString()); $usersEntity->setPasswordHash($change->getPassword()->toPasswordHash()->toString()); $usersEntity->setActive($change->getActive()->toBoolean()); $usersEntity->setRole($change->getRole()->getId()->toInteger()); try { $this->entityManager->persist($usersEntity, EntityManagerInterface::TYPE_CREATE_ONLY); } catch (UniqueConstraintViolationException $e) { throw new UserAlreadyExistException(); } }
/** * @param EntityUser $entityUser * @return User */ public function createUserFromEntity(EntityUser $entityUser) { /** @var Role $role */ $role = $this->roleRepository->findById(new RoleId($entityUser->getRole())); return new User(new UserUuid($entityUser->getUuid()), new UserName($entityUser->getName()), new UserEmail($entityUser->getEmail()), new PasswordHash($entityUser->getPasswordHash()), new UserActive($entityUser->getActive()), $role); }