Jaga-Jalan/app/Http/Controllers/ProfileController.php

49 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Tymon\JWTAuth\Facades\JWTAuth;
class ProfileController extends Controller
{
public function update(Request $request)
{
try {
$request->validate([
'name' => 'required|string|max:255',
]);
$user = JWTAuth::parseToken()->authenticate();
$user->update([
'name' => $request->name,
]);
return response()->json([
'success' => true,
'message' => 'Profil berhasil diperbarui',
'data' => [
'name' => $user->name
]
]);
} catch (\Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {
return response()->json([
'success' => false,
'message' => 'Token telah kadaluarsa'
], 401);
} catch (\Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {
return response()->json([
'success' => false,
'message' => 'Token tidak valid'
], 401);
} catch (\Exception $e) {
return response()->json([
'success' => false,
'message' => 'Gagal memperbarui profil',
'error' => $e->getMessage()
], 500);
}
}
}