Skip to content

Commit 17605cd

Browse files
authored
👽 ajout des Api pour le profil et les roles d'un utilisateur (#71)
1 parent cfd7fd2 commit 17605cd

File tree

3 files changed

+36
-1
lines changed

3 files changed

+36
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Api\User;
4+
5+
use App\Http\Controllers\Controller;
6+
use App\Http\Resources\AuthenticateUserResource;
7+
use App\Models\User;
8+
use Illuminate\Http\JsonResponse;
9+
use Illuminate\Http\Request;
10+
11+
class ProfileController extends Controller
12+
{
13+
public function me(): JsonResponse
14+
{
15+
return response()->json(['user' => new AuthenticateUserResource(request()->user())]);
16+
}
17+
18+
public function roles(): JsonResponse
19+
{
20+
/** @var User $user */
21+
$user = request()->user()->load(['roles', 'permissions']);
22+
23+
return response()->json([
24+
'roles' => $user->roles()->pluck('name'),
25+
'permissions' => $user->permissions()->pluck('name'),
26+
]);
27+
}
28+
}

config/sanctum.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
|
4747
*/
4848

49-
'expiration' => null,
49+
'expiration' => 129600,
5050

5151
/*
5252
|--------------------------------------------------------------------------

routes/api.php

+7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
use App\Http\Controllers\Api\Auth\LoginController;
44
use App\Http\Controllers\Api\ReplyController;
55
use App\Http\Controllers\Api\PremiumController;
6+
use App\Http\Controllers\Api\User\ProfileController;
67
use Illuminate\Support\Facades\Route;
78

89
/*
@@ -31,4 +32,10 @@
3132
/* Authenticated Routes */
3233
Route::middleware('auth:sanctum')->group(function () {
3334
Route::post('logout', [LoginController::class, 'logout']);
35+
36+
/** User Profile Api */
37+
Route::prefix('user')->group(function () {
38+
Route::get('me', [ProfileController::class, 'me']);
39+
Route::get('roles', [ProfileController::class, 'roles']);
40+
});
3441
});

0 commit comments

Comments
 (0)