user()); } /** * Updates user profile details. * @param UpdateProfileDetailsRequest $request * @param UserRepository $users * @return UserResource */ public function update(UpdateProfileDetailsRequest $request, UserRepository $users) { $user = $request->user(); $data = collect($request->all()); $data = $data->only([ 'first_name', 'last_name', 'birthday', 'phone', 'address', 'country_id' ])->toArray(); if (! isset($data['country_id'])) { $data['country_id'] = $user->country_id; } $user = $users->update($user->id, $data); event(new UpdatedProfileDetails); return new UserResource($user); } /** * Delete user's account. * @return \Illuminate\Http\JsonResponse */ public function destroy() { $user = auth()->user(); try { event(new \Vanguard\Events\User\Deleted($user)); $user->delete(); return $this->respondWithSuccess(); } catch (\Exception $e) { return $this->errorInternal($e->getMessage()); } } }