PartKeepr\AuthBundle\Action\PostUserAction::__invoke PHP Method

__invoke() public method

Create a new item.
public __invoke ( Request $request ) : mixed
$request Symfony\Component\HttpFoundation\Request
return mixed
    public function __invoke(Request $request)
    {
        /**
         * @var ResourceInterface
         */
        list($resourceType, $format) = $this->extractAttributes($request);
        if ($this->userService->checkUserLimit() === true) {
            throw new UserLimitReachedException();
        }
        /**
         * @var User
         */
        $data = $this->serializer->deserialize($request->getContent(), $resourceType->getEntityClass(), $format, $resourceType->getDenormalizationContext());
        $data->setProvider($this->userService->getBuiltinProvider());
        $data->setLegacy(false);
        $this->userService->syncData($data);
        $data->setNewPassword('');
        $data->setPassword('');
        return $data;
    }