UserController.php 1.3 KB

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