diff --git a/app/Domains/Auth/Controllers/UpdateProfileController.php b/app/Domains/Auth/Controllers/UpdateProfileController.php new file mode 100644 index 0000000..bdbccfb --- /dev/null +++ b/app/Domains/Auth/Controllers/UpdateProfileController.php @@ -0,0 +1,18 @@ +update($request->user(), $request->validated()); + + return response()->json(UserResource::make($user)->resolve()); + } +} diff --git a/app/Domains/Auth/Requests/RegisterUserRequest.php b/app/Domains/Auth/Requests/RegisterUserRequest.php index 1c74a6a..56c02a6 100644 --- a/app/Domains/Auth/Requests/RegisterUserRequest.php +++ b/app/Domains/Auth/Requests/RegisterUserRequest.php @@ -20,7 +20,7 @@ class RegisterUserRequest extends FormRequest return [ 'nombre_apellido' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', Rule::unique('users', 'email')], - 'password' => ['required', 'string', 'confirmed'], + 'password' => ['required', 'string', 'confirmed', \Illuminate\Validation\Rules\Password::min(8)->mixedCase()->symbols()], 'dni' => ['nullable', 'string', 'max:255'], 'telefono' => ['nullable', 'string', 'max:255'], ]; diff --git a/app/Domains/Auth/Requests/UpdateProfileRequest.php b/app/Domains/Auth/Requests/UpdateProfileRequest.php new file mode 100644 index 0000000..dae0ed4 --- /dev/null +++ b/app/Domains/Auth/Requests/UpdateProfileRequest.php @@ -0,0 +1,29 @@ + ['required', 'string', 'max:255'], + 'email' => [ + 'required', + 'email', + Rule::unique('users', 'email')->ignore($this->user()->id), + ], + 'dni' => ['nullable', 'string', 'regex:/^[0-9]{7,8}$/'], + 'telefono' => ['nullable', 'string', 'regex:/^\+?[0-9\s\-]+$/'], + 'password' => ['nullable', 'string', \Illuminate\Validation\Rules\Password::min(8)->mixedCase()->symbols()], + ]; + } +} diff --git a/app/Domains/Auth/Services/ProfileService.php b/app/Domains/Auth/Services/ProfileService.php new file mode 100644 index 0000000..b99785f --- /dev/null +++ b/app/Domains/Auth/Services/ProfileService.php @@ -0,0 +1,41 @@ +update($data); + + return $user; + } +} diff --git a/app/Domains/Auth/routes/api.php b/app/Domains/Auth/routes/api.php index 0d5c247..d429381 100644 --- a/app/Domains/Auth/routes/api.php +++ b/app/Domains/Auth/routes/api.php @@ -4,9 +4,11 @@ use App\Domains\Auth\Controllers\LoginController; use App\Domains\Auth\Controllers\LogoutController; use App\Domains\Auth\Controllers\MeController; use App\Domains\Auth\Controllers\RegisterController; +use App\Domains\Auth\Controllers\UpdateProfileController; use Illuminate\Support\Facades\Route; Route::post('/register', RegisterController::class); Route::post('/login', LoginController::class); Route::middleware('auth:sanctum')->post('/logout', LogoutController::class); Route::middleware('auth:sanctum')->get('/me', MeController::class); +Route::middleware('auth:sanctum')->put('/me', UpdateProfileController::class);