Inheritance: extends app\repositories\Repository
 /**
  * @param ManageUserRequest $request
  * @return mixed
  */
 public function __invoke(ManageUserRequest $request)
 {
     return Datatables::of($this->users->getForDataTable($request->get('status'), $request->get('trashed')))->editColumn('confirmed', function ($user) {
         return $user->confirmed_label;
     })->addColumn('roles', function ($user) {
         return $user->roles->count() ? implode("<br/>", $user->roles->pluck('name')->toArray()) : trans('labels.general.none');
     })->addColumn('actions', function ($user) {
         return $user->action_buttons;
     })->withTrashed()->make(true);
 }
 /**
  * @param User $deletedUser
  * @param ManageUserRequest $request
  * @return mixed
  */
 public function restore(User $deletedUser, ManageUserRequest $request)
 {
     $this->users->restore($deletedUser);
     return redirect()->route('admin.access.user.index')->withFlashSuccess(trans('alerts.backend.users.restored'));
 }
 /**
  * @param User $user
  * @param ManageUserRequest $request
  * @return mixed
  */
 public function destroy(User $user, ManageUserRequest $request)
 {
     $this->users->delete($user);
     return redirect()->route('admin.access.user.deleted')->withFlashSuccess(trans('alerts.backend.users.deleted'));
 }
 /**
  * @param User $user
  * @param UpdateUserPasswordRequest $request
  * @return mixed
  */
 public function update(User $user, UpdateUserPasswordRequest $request)
 {
     $this->users->updatePassword($user, $request->all());
     return redirect()->route('admin.access.user.index')->withFlashSuccess(trans('alerts.backend.users.updated_password'));
 }