PartKeepr\AuthBundle\Services\UserService::syncData PHP Method

syncData() public method

Syncronizes the data of the given user with the FOSRestBundle.
public syncData ( User $user )
$user PartKeepr\AuthBundle\Entity\User
    public function syncData(User $user)
    {
        if ($user->getProvider()->getType() !== self::BUILTIN_PROVIDER) {
            return;
        }
        $FOSUser = $this->userManager->findUserByUsername($user->getUsername());
        if ($FOSUser === null) {
            if ($user->getNewPassword() == '') {
                throw new \Exception('Password must be set');
            }
            $FOSUser = $this->userManipulator->create($user->getUsername(), $user->getNewPassword(), '', true, false);
            $user->setLegacy(false);
        }
        if ($user->getNewPassword() != '') {
            $this->userManipulator->changePassword($user->getUsername(), $user->getNewPassword());
        }
        $FOSUser->setEmail($user->getEmail());
        $FOSUser->setEnabled($user->isActive());
    }

Usage Example

Example #1
0
 /**
  * Create a new item.
  *
  * @param Request    $request
  * @param string|int $id
  *
  * @throws NotFoundHttpException
  * @throws RuntimeException
  * @throws UserProtectedException
  * @throws UserLimitReachedException
  *
  * @return mixed
  */
 public function __invoke(Request $request, $id)
 {
     /**
      * @var ResourceInterface
      */
     list($resourceType, $format) = $this->extractAttributes($request);
     /**
      * @var User
      */
     $data = $this->getItem($this->dataProvider, $resourceType, $id);
     $context = $resourceType->getDenormalizationContext();
     $context['object_to_populate'] = $data;
     if ($data->isProtected()) {
         throw new UserProtectedException();
     }
     $data = $this->serializer->deserialize($request->getContent(), $resourceType->getEntityClass(), $format, $context);
     if ($data->isActive()) {
         if ($this->userService->checkUserLimit()) {
             throw new UserLimitReachedException();
         }
     }
     $this->userService->syncData($data);
     $data->setNewPassword('');
     $data->setPassword('');
     $data->setLegacy(false);
     return $data;
 }
All Usage Examples Of PartKeepr\AuthBundle\Services\UserService::syncData