diff --git a/app/Http/Controllers/Api/Auth/LoginController.php b/app/Http/Controllers/Api/Auth/LoginController.php index 20ee223b..e6af1c12 100644 --- a/app/Http/Controllers/Api/Auth/LoginController.php +++ b/app/Http/Controllers/Api/Auth/LoginController.php @@ -5,7 +5,9 @@ use App\Http\Controllers\Controller; use App\Http\Requests\Api\LoginRequest; use App\Http\Resources\AuthenticateUserResource; +use App\Http\Resources\EnterpriseResource; use App\Models\User; +use App\Traits\UserResponse; use Carbon\Carbon; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -14,6 +16,8 @@ class LoginController extends Controller { + use UserResponse; + public function login(LoginRequest $request): JsonResponse { /** @var User $user */ @@ -41,12 +45,7 @@ public function login(LoginRequest $request): JsonResponse $user->last_login_ip = $request->ip(); $user->save(); - return response()->json([ - 'user' => new AuthenticateUserResource($user), - 'token' => $user->createToken($request->input('email'))->plainTextToken, - 'roles' => $user->roles()->pluck('name'), - 'permissions' => $user->permissions()->pluck('name'), - ]); + return response()->json($this->userMetaData($user)); } public function logout(Request $request): JsonResponse diff --git a/app/Http/Controllers/Api/Auth/RegisterController.php b/app/Http/Controllers/Api/Auth/RegisterController.php index 71482b5f..728a08ac 100644 --- a/app/Http/Controllers/Api/Auth/RegisterController.php +++ b/app/Http/Controllers/Api/Auth/RegisterController.php @@ -6,8 +6,10 @@ use App\Http\Controllers\Controller; use App\Http\Requests\Api\RegisterRequest; use App\Http\Resources\AuthenticateUserResource; +use App\Http\Resources\EnterpriseResource; use App\Models\SocialAccount; use App\Models\User; +use App\Traits\UserResponse; use Carbon\Carbon; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -15,6 +17,8 @@ class RegisterController extends Controller { + use UserResponse; + public function register(RegisterRequest $request): JsonResponse { /** @var User $user */ @@ -84,18 +88,8 @@ public function googleAuthenticator(Request $request): JsonResponse $user->save(); return response()->json([ - 'message' => 'Votre compte a été cree avec succès via Google.', + 'message' => 'Votre compte a été crée avec succès via Google.', 'response' => $this->userMetaData($user), ]); } - - private function userMetaData(User $user): array - { - return [ - 'user' => new AuthenticateUserResource($user), - 'token' => $user->createToken($user->email)->plainTextToken, - 'roles' => $user->roles()->pluck('name'), - 'permissions' => $user->permissions()->pluck('name'), - ]; - } } diff --git a/app/Traits/UserResponse.php b/app/Traits/UserResponse.php new file mode 100644 index 00000000..8ff965f9 --- /dev/null +++ b/app/Traits/UserResponse.php @@ -0,0 +1,21 @@ + new AuthenticateUserResource($user), + 'token' => $user->createToken($user->email)->plainTextToken, + 'roles' => $user->roles()->pluck('name'), + 'permissions' => $user->permissions()->pluck('name'), + 'enterprise' => $user->enterprise ? new EnterpriseResource($user->enterprise) : null, + ]; + } +}