Skip to content

Commit cb755c5

Browse files
authored
Company api refactor (#77)
* Update register response api * 👽 Update user auth api response
1 parent 5f83cdc commit cb755c5

File tree

3 files changed

+31
-17
lines changed

3 files changed

+31
-17
lines changed

app/Http/Controllers/Api/Auth/LoginController.php

+5-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
use App\Http\Controllers\Controller;
66
use App\Http\Requests\Api\LoginRequest;
77
use App\Http\Resources\AuthenticateUserResource;
8+
use App\Http\Resources\EnterpriseResource;
89
use App\Models\User;
10+
use App\Traits\UserResponse;
911
use Carbon\Carbon;
1012
use Illuminate\Http\JsonResponse;
1113
use Illuminate\Http\Request;
@@ -14,6 +16,8 @@
1416

1517
class LoginController extends Controller
1618
{
19+
use UserResponse;
20+
1721
public function login(LoginRequest $request): JsonResponse
1822
{
1923
/** @var User $user */
@@ -41,12 +45,7 @@ public function login(LoginRequest $request): JsonResponse
4145
$user->last_login_ip = $request->ip();
4246
$user->save();
4347

44-
return response()->json([
45-
'user' => new AuthenticateUserResource($user),
46-
'token' => $user->createToken($request->input('email'))->plainTextToken,
47-
'roles' => $user->roles()->pluck('name'),
48-
'permissions' => $user->permissions()->pluck('name'),
49-
]);
48+
return response()->json($this->userMetaData($user));
5049
}
5150

5251
public function logout(Request $request): JsonResponse

app/Http/Controllers/Api/Auth/RegisterController.php

+5-11
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,19 @@
66
use App\Http\Controllers\Controller;
77
use App\Http\Requests\Api\RegisterRequest;
88
use App\Http\Resources\AuthenticateUserResource;
9+
use App\Http\Resources\EnterpriseResource;
910
use App\Models\SocialAccount;
1011
use App\Models\User;
12+
use App\Traits\UserResponse;
1113
use Carbon\Carbon;
1214
use Illuminate\Http\JsonResponse;
1315
use Illuminate\Http\Request;
1416
use Illuminate\Support\Facades\Hash;
1517

1618
class RegisterController extends Controller
1719
{
20+
use UserResponse;
21+
1822
public function register(RegisterRequest $request): JsonResponse
1923
{
2024
/** @var User $user */
@@ -84,18 +88,8 @@ public function googleAuthenticator(Request $request): JsonResponse
8488
$user->save();
8589

8690
return response()->json([
87-
'message' => 'Votre compte a été cree avec succès via Google.',
91+
'message' => 'Votre compte a été crée avec succès via Google.',
8892
'response' => $this->userMetaData($user),
8993
]);
9094
}
91-
92-
private function userMetaData(User $user): array
93-
{
94-
return [
95-
'user' => new AuthenticateUserResource($user),
96-
'token' => $user->createToken($user->email)->plainTextToken,
97-
'roles' => $user->roles()->pluck('name'),
98-
'permissions' => $user->permissions()->pluck('name'),
99-
];
100-
}
10195
}

app/Traits/UserResponse.php

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace App\Traits;
4+
5+
use App\Http\Resources\AuthenticateUserResource;
6+
use App\Http\Resources\EnterpriseResource;
7+
use App\Models\User;
8+
9+
trait UserResponse
10+
{
11+
public function userMetaData(User $user): array
12+
{
13+
return [
14+
'user' => new AuthenticateUserResource($user),
15+
'token' => $user->createToken($user->email)->plainTextToken,
16+
'roles' => $user->roles()->pluck('name'),
17+
'permissions' => $user->permissions()->pluck('name'),
18+
'enterprise' => $user->enterprise ? new EnterpriseResource($user->enterprise) : null,
19+
];
20+
}
21+
}

0 commit comments

Comments
 (0)