diff --git a/app/Http/Controllers/Api/User/ProfileController.php b/app/Http/Controllers/Api/User/ProfileController.php new file mode 100644 index 00000000..321f414e --- /dev/null +++ b/app/Http/Controllers/Api/User/ProfileController.php @@ -0,0 +1,28 @@ +json(['user' => new AuthenticateUserResource(request()->user())]); + } + + public function roles(): JsonResponse + { + /** @var User $user */ + $user = request()->user()->load(['roles', 'permissions']); + + return response()->json([ + 'roles' => $user->roles()->pluck('name'), + 'permissions' => $user->permissions()->pluck('name'), + ]); + } +} diff --git a/config/sanctum.php b/config/sanctum.php index 529cfdc9..e796519b 100644 --- a/config/sanctum.php +++ b/config/sanctum.php @@ -46,7 +46,7 @@ | */ - 'expiration' => null, + 'expiration' => 129600, /* |-------------------------------------------------------------------------- diff --git a/routes/api.php b/routes/api.php index 867b2599..4871cc1b 100644 --- a/routes/api.php +++ b/routes/api.php @@ -3,6 +3,7 @@ use App\Http\Controllers\Api\Auth\LoginController; use App\Http\Controllers\Api\ReplyController; use App\Http\Controllers\Api\PremiumController; +use App\Http\Controllers\Api\User\ProfileController; use Illuminate\Support\Facades\Route; /* @@ -31,4 +32,10 @@ /* Authenticated Routes */ Route::middleware('auth:sanctum')->group(function () { Route::post('logout', [LoginController::class, 'logout']); + + /** User Profile Api */ + Route::prefix('user')->group(function () { + Route::get('me', [ProfileController::class, 'me']); + Route::get('roles', [ProfileController::class, 'roles']); + }); });