Skip to content

Commit 3987a7a

Browse files
committed
chore: add authenticate request
1 parent ef46228 commit 3987a7a

File tree

2 files changed

+44
-17
lines changed

2 files changed

+44
-17
lines changed

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

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace App\Http\Controllers\Api\Auth;
44

55
use App\Http\Controllers\Controller;
6+
use App\Http\Requests\AuthenticateRequest;
67
use App\Http\Requests\RegisterRequest;
78
use App\Http\Resources\UserResource;
89
use App\Models\User;
@@ -12,26 +13,21 @@
1213

1314
class AuthController extends Controller
1415
{
15-
/**
16-
* Handle an authentication attempt.
17-
*
18-
* @param Request $request
19-
* @return JsonResponse
20-
*/
21-
public function authenticate(Request $request): JsonResponse
16+
public function authenticate(AuthenticateRequest $request): UserResource|JsonResponse
2217
{
23-
$request->validate([
24-
'email' => 'required|email|exists:users,email',
25-
'password' => 'required|min:6',
26-
]);
27-
28-
if (Auth::attempt(['email' => $request['email'], 'password' => $request['password']], $request['remember'])) {
29-
$request->session()->regenerate();
30-
$user = Auth::user();
31-
return response()->json(['data' => $user]);
32-
} else {
18+
$data = [
19+
'email' => $request['email'],
20+
'password' => $request['password'],
21+
$request['remember']
22+
];
23+
24+
if (!Auth::attempt($data)) {
3325
return response()->json(['message' => 'Invalid credentials'], 401);
3426
}
27+
28+
$request->session()->regenerate();
29+
30+
return new UserResource(Auth::user());
3531
}
3632

3733
public function register(RegisterRequest $request): UserResource
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
3+
namespace App\Http\Requests;
4+
5+
use Illuminate\Foundation\Http\FormRequest;
6+
7+
class AuthenticateRequest extends FormRequest
8+
{
9+
/**
10+
* Determine if the user is authorized to make this request.
11+
*
12+
* @return bool
13+
*/
14+
public function authorize()
15+
{
16+
return true;
17+
}
18+
19+
/**
20+
* Get the validation rules that apply to the request.
21+
*
22+
* @return array<string, mixed>
23+
*/
24+
public function rules()
25+
{
26+
return [
27+
'email' => ['required', 'email', 'exists:users,email'],
28+
'password' => ['required', 'min:6'],
29+
];
30+
}
31+
}

0 commit comments

Comments
 (0)