/** * Handle * @param User $user */ public function handle(User $user) { // Set last attempt timestamp $user->setLastLoginAt(new LastLoginAt()); $this->repository->persist($user); $this->repository->flush(); }
/** * Handle * @param Event $event */ public function handle($event) { $user = $this->repository->findByEmail(new Email($event['email'])); if ($user) { // Set last attempt timestamp $user->setLastAttemptAt(new LastAttemptAt()); $this->repository->persist($user); $this->repository->flush(); } }
/** * Handle * @param User $user */ public function handle(User $user) { if ($user && $user->isSuspended()) { $this->guard->logout(); throw new UserIsSuspendedException('You are temporarily suspended. Try again later.'); } elseif ($user && $user->getSuspendedTill()) { $user->unsetSuspended(); $this->repository->persist($user); $this->repository->flush(); } }
/** * @param $userId * @param $data * @param $roles * @internal param $user * @return mixed */ public function updateAndSyncRoles($userId, $data, $roles) { $user = $this->user->find($userId); $user = $this->update($user, $data); if (!empty($roles) && is_array($roles)) { foreach ($roles as $id) { $role = $this->role->find($id); $user->assignRole($role); } } $this->user->persist($user); $this->user->flush(); return $user; }