Loading .gitignore +0 −1 Original line number Diff line number Diff line Loading @@ -18,4 +18,3 @@ yarn-error.log /.fleet /.idea /.vscode /database/migrations No newline at end of file app/Actions/Fortify/CreateNewUser.php 0 → 100644 +35 −0 Original line number Diff line number Diff line <?php namespace App\Actions\Fortify; use App\Models\User; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Laravel\Fortify\Contracts\CreatesNewUsers; use Laravel\Jetstream\Jetstream; class CreateNewUser implements CreatesNewUsers { use PasswordValidationRules; /** * Validate and create a newly registered user. * * @param array<string, string> $input */ public function create(array $input): User { Validator::make($input, [ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'password' => $this->passwordRules(), 'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature() ? ['accepted', 'required'] : '', ])->validate(); return User::create([ 'name' => $input['name'], 'email' => $input['email'], 'password' => Hash::make($input['password']), ]); } } app/Actions/Fortify/PasswordValidationRules.php 0 → 100644 +18 −0 Original line number Diff line number Diff line <?php namespace App\Actions\Fortify; use Illuminate\Validation\Rules\Password; trait PasswordValidationRules { /** * Get the validation rules used to validate passwords. * * @return array<int, \Illuminate\Contracts\Validation\Rule|array<mixed>|string> */ protected function passwordRules(): array { return ['required', 'string', Password::default(), 'confirmed']; } } app/Actions/Fortify/ResetUserPassword.php 0 → 100644 +29 −0 Original line number Diff line number Diff line <?php namespace App\Actions\Fortify; use App\Models\User; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Laravel\Fortify\Contracts\ResetsUserPasswords; class ResetUserPassword implements ResetsUserPasswords { use PasswordValidationRules; /** * Validate and reset the user's forgotten password. * * @param array<string, string> $input */ public function reset(User $user, array $input): void { Validator::make($input, [ 'password' => $this->passwordRules(), ])->validate(); $user->forceFill([ 'password' => Hash::make($input['password']), ])->save(); } } app/Actions/Fortify/UpdateUserPassword.php 0 → 100644 +32 −0 Original line number Diff line number Diff line <?php namespace App\Actions\Fortify; use App\Models\User; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Laravel\Fortify\Contracts\UpdatesUserPasswords; class UpdateUserPassword implements UpdatesUserPasswords { use PasswordValidationRules; /** * Validate and update the user's password. * * @param array<string, string> $input */ public function update(User $user, array $input): void { Validator::make($input, [ 'current_password' => ['required', 'string', 'current_password:web'], 'password' => $this->passwordRules(), ], [ 'current_password.current_password' => __('The provided password does not match your current password.'), ])->validateWithBag('updatePassword'); $user->forceFill([ 'password' => Hash::make($input['password']), ])->save(); } } Loading
.gitignore +0 −1 Original line number Diff line number Diff line Loading @@ -18,4 +18,3 @@ yarn-error.log /.fleet /.idea /.vscode /database/migrations No newline at end of file
app/Actions/Fortify/CreateNewUser.php 0 → 100644 +35 −0 Original line number Diff line number Diff line <?php namespace App\Actions\Fortify; use App\Models\User; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Laravel\Fortify\Contracts\CreatesNewUsers; use Laravel\Jetstream\Jetstream; class CreateNewUser implements CreatesNewUsers { use PasswordValidationRules; /** * Validate and create a newly registered user. * * @param array<string, string> $input */ public function create(array $input): User { Validator::make($input, [ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'password' => $this->passwordRules(), 'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature() ? ['accepted', 'required'] : '', ])->validate(); return User::create([ 'name' => $input['name'], 'email' => $input['email'], 'password' => Hash::make($input['password']), ]); } }
app/Actions/Fortify/PasswordValidationRules.php 0 → 100644 +18 −0 Original line number Diff line number Diff line <?php namespace App\Actions\Fortify; use Illuminate\Validation\Rules\Password; trait PasswordValidationRules { /** * Get the validation rules used to validate passwords. * * @return array<int, \Illuminate\Contracts\Validation\Rule|array<mixed>|string> */ protected function passwordRules(): array { return ['required', 'string', Password::default(), 'confirmed']; } }
app/Actions/Fortify/ResetUserPassword.php 0 → 100644 +29 −0 Original line number Diff line number Diff line <?php namespace App\Actions\Fortify; use App\Models\User; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Laravel\Fortify\Contracts\ResetsUserPasswords; class ResetUserPassword implements ResetsUserPasswords { use PasswordValidationRules; /** * Validate and reset the user's forgotten password. * * @param array<string, string> $input */ public function reset(User $user, array $input): void { Validator::make($input, [ 'password' => $this->passwordRules(), ])->validate(); $user->forceFill([ 'password' => Hash::make($input['password']), ])->save(); } }
app/Actions/Fortify/UpdateUserPassword.php 0 → 100644 +32 −0 Original line number Diff line number Diff line <?php namespace App\Actions\Fortify; use App\Models\User; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Laravel\Fortify\Contracts\UpdatesUserPasswords; class UpdateUserPassword implements UpdatesUserPasswords { use PasswordValidationRules; /** * Validate and update the user's password. * * @param array<string, string> $input */ public function update(User $user, array $input): void { Validator::make($input, [ 'current_password' => ['required', 'string', 'current_password:web'], 'password' => $this->passwordRules(), ], [ 'current_password.current_password' => __('The provided password does not match your current password.'), ])->validateWithBag('updatePassword'); $user->forceFill([ 'password' => Hash::make($input['password']), ])->save(); } }