Files
fitness/app/Http/Controllers/Api/ProfileController.php
T
2026-08-10 19:18:25 +03:00

45 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Requests\ProfileUpdateRequest;
use App\Http\Resources\UserResource;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class ProfileController extends Controller
{
public function show(Request $request): JsonResponse
{
return response()->json(['user' => new UserResource($request->user())]);
}
public function update(ProfileUpdateRequest $request): JsonResponse
{
$request->user()->fill($request->validated());
if ($request->user()->isDirty('email')) {
$request->user()->email_verified_at = null;
}
$request->user()->save();
return response()->json(['user' => new UserResource($request->user())]);
}
public function destroy(Request $request): JsonResponse
{
$request->validate([
'password' => ['required', 'current_password'],
]);
$user = $request->user();
$user->tokens()->delete();
$user->delete();
return response()->json(['message' => 'Account deleted']);
}
}