UserController.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\Http\Controllers\Auth;
  3. use App\Http\Requests\UserUpdateRequest;
  4. use App\Api\v1\Resources\UserResource;
  5. use App\Http\Controllers\Controller;
  6. use Illuminate\Support\Facades\Auth;
  7. use Illuminate\Support\Facades\Hash;
  8. use App\Exceptions\UnsupportedWithReverseProxyException;
  9. class UserController extends Controller
  10. {
  11. /**
  12. * Create a new controller instance.
  13. */
  14. public function __construct()
  15. {
  16. $authGuard = config('auth.defaults.guard');
  17. if ($authGuard === 'reverse-proxy-guard') {
  18. throw new UnsupportedWithReverseProxyException();
  19. }
  20. }
  21. /**
  22. * Update the user's profile information.
  23. *
  24. * @param \App\Api\v1\Requests\UserUpdateRequest $request
  25. * @return \App\Api\v1\Resources\UserResource
  26. */
  27. public function update(UserUpdateRequest $request)
  28. {
  29. $user = $request->user();
  30. $validated = $request->validated();
  31. if (!Hash::check( $request->password, Auth::user()->password) ) {
  32. return response()->json(['message' => __('errors.wrong_current_password')], 400);
  33. }
  34. if (!config('2fauth.config.isDemoApp') ) {
  35. tap($user)->update([
  36. 'name' => $validated['name'],
  37. 'email' => $validated['email'],
  38. ]);
  39. }
  40. return new UserResource($user);
  41. }
  42. }