/** * Retrieve user and ensure user is exist * * @param mixed $id * @return AccountDomainModels\User */ protected function retrieveUser($id) { $user = $this->userRepository->findById($id); if (is_null($user)) { throw new ValueNotFoundException("[{$id}] is not valid user id"); } return $user; }
public function putUpdateAvatar(Dispatcher $bus, Request $request, UserRepository $userRepository, LibraryRepository $libraryRepository, $id) { $userId = $this->authis->check('account.admin.users.update.get') ? $id : $request->user()->id; $library = $libraryRepository->findByPath($request->avatar); $user = $userRepository->findById($userId)->toArray(); $description = $user['description']; $this->validate($request, ['avatar' => 'required']); $description['avatar'] = $request->avatar; $bus->dispatch(new DescribeUser($userId, $user['username'], $user['email'], $description)); if ($library) { $library = $library->toArray(); $libraryDescription = $library['description']; $libraryDescription['visibility'] = 'public'; $bus->dispatch(new DescribeLibrary($library['id'], $libraryDescription)); } return $this->formSuccess(route('account.admin.profile.index.get'), ['message' => trans('inoplate-account::messages.profile.avatar_updated')]); }