From 8ff01228aff749e99905fed813373ec0dd26ce8b Mon Sep 17 00:00:00 2001 From: kaioken Date: Tue, 9 Jul 2024 16:16:58 -0400 Subject: [PATCH] feat: add todo --- src/Kanvas/Auth/Services/ForgotPassword.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/Kanvas/Auth/Services/ForgotPassword.php b/src/Kanvas/Auth/Services/ForgotPassword.php index 97d70790b..cf26710e3 100644 --- a/src/Kanvas/Auth/Services/ForgotPassword.php +++ b/src/Kanvas/Auth/Services/ForgotPassword.php @@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\ModelNotFoundException; use Kanvas\Apps\Models\Apps; use Kanvas\Enums\AppEnums; +use Kanvas\Exceptions\ModelNotFoundException as ExceptionsModelNotFoundException; use Kanvas\Notifications\Templates\ResetPassword; use Kanvas\Users\Models\Users; use Kanvas\Users\Models\UsersAssociatedApps; @@ -48,12 +49,16 @@ public function forgot(string $email): Users */ public function reset(string $newPassword, string $hashKey): bool { - $recoverUser = UsersAssociatedApps::fromApp($this->app) - ->notDeleted() - ->where([ - 'companies_id' => AppEnums::GLOBAL_COMPANY_ID->getValue(), - 'user_activation_forgot' => $hashKey, - ])->firstOrFail(); + try { + $recoverUser = UsersAssociatedApps::fromApp($this->app) + ->notDeleted() + ->where([ + 'companies_id' => AppEnums::GLOBAL_COMPANY_ID->getValue(), + 'user_activation_forgot' => $hashKey, + ])->firstOrFail(); + } catch (ModelNotFoundException $e) { + throw new ExceptionsModelNotFoundException('Password reset link has expired, request a new link.'); + } return $recoverUser->user()->firstOrFail()->resetPassword($newPassword, $this->app); }