diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index f323392..29bf220 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -71,6 +71,29 @@ function ($user, $password) { return response()->json(['message' => __($status)], 400); } +public function resetPasswordInApp(Request $request) +{ + $request->validate([ + 'email' => 'required|email', + 'password' => 'required|string|confirmed|min:6', + ]); + + $user = User::where('email', $request->email)->first(); + + if (!$user) { + return response()->json(['message' => 'کاربری با این ایمیل یافت نشد'], 404); + } + + // Update password and remember token + $user->password = $request->password; + $user->setRememberToken(Str::random(60)); + $user->save(); + + event(new PasswordReset($user)); + + return response()->json(['message' => 'رمز عبور با موفقیت تغییر یافت']); +} + public function login(Request $request) { $data = $request->validate([ diff --git a/routes/api.php b/routes/api.php index 2c789f6..ce7fc41 100644 --- a/routes/api.php +++ b/routes/api.php @@ -26,6 +26,7 @@ Route::prefix('auth')->controller(UserController::class)->group(function () { Route::post('forgot-password', 'requestPasswordReset'); // send reset link Route::post('reset-password', 'resetPassword'); // actually reset + Route::post('reset-password-in-app', 'resetPasswordInApp'); }); Route::get('/reset-password/{token}', [UserController::class, 'showResetForm'])