Skip to content

Commit a8f6042

Browse files
committed
chore: add register request for validation
1 parent cd4dedf commit a8f6042

File tree

2 files changed

+35
-14
lines changed

2 files changed

+35
-14
lines changed

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

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
namespace App\Http\Controllers\Api\Auth;
44

55
use App\Http\Controllers\Controller;
6+
use App\Http\Requests\RegisterRequest;
67
use App\Models\User;
78
use Illuminate\Http\JsonResponse;
89
use Illuminate\Http\Request;
910
use Illuminate\Support\Facades\Auth;
10-
use Illuminate\Support\Facades\Hash;
11-
1211

1312
class AuthController extends Controller
1413
{
@@ -34,19 +33,9 @@ public function authenticate(Request $request): JsonResponse
3433
}
3534
}
3635

37-
public function register(Request $request): JsonResponse
36+
public function register(RegisterRequest $request): JsonResponse
3837
{
39-
$request->validate([
40-
'name' => ['required', 'string', 'max:255'],
41-
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
42-
'password' => ['required', 'string', 'min:8', 'confirmed'],
43-
]);
44-
45-
$user = User::create([
46-
'name' => $request['name'],
47-
'email' => $request['email'],
48-
'password' => Hash::make($request['password']),
49-
]);
38+
$user = User::create($request->valiated());
5039

5140
$request->session()->regenerate();
5241
return response()->json(['data' => $user], 201);

app/Http/Requests/RegisterRequest.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
namespace App\Http\Requests;
4+
5+
use Illuminate\Foundation\Http\FormRequest;
6+
7+
class RegisterRequest 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+
'name' => ['required', 'string', 'max:255'],
28+
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
29+
'password' => ['required', 'string', 'min:8', 'confirmed'],
30+
];
31+
}
32+
}

0 commit comments

Comments
 (0)