From 4afcd5c81e3a55fd9aa6f7918e3729e342502b91 Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Sun, 10 May 2026 14:29:52 +0330 Subject: [PATCH] create EmailEvent for login --- backend/app/Mail/LoginNotificationMail.php | 40 +++++++++++++++++++ .../Dashboard/ConfirmController.php | 14 +++++++ .../app/User/Controller/ProfileController.php | 2 +- backend/app/User/Events/LoginEmailEvent.php | 23 +++++++++++ .../app/User/Listeners/SendEmailListener.php | 31 ++++++++++++++ .../app/User/Requests/Profile/EditRequest.php | 3 +- backend/bootstrap/app.php | 5 ++- .../views/emails/login-notification.blade.php | 24 +++++++++++ 8 files changed, 138 insertions(+), 4 deletions(-) create mode 100644 backend/app/Mail/LoginNotificationMail.php create mode 100755 backend/app/User/Controller/Dashboard/ConfirmController.php create mode 100755 backend/app/User/Events/LoginEmailEvent.php create mode 100755 backend/app/User/Listeners/SendEmailListener.php create mode 100644 backend/resources/views/emails/login-notification.blade.php diff --git a/backend/app/Mail/LoginNotificationMail.php b/backend/app/Mail/LoginNotificationMail.php new file mode 100644 index 00000000..809d46da --- /dev/null +++ b/backend/app/Mail/LoginNotificationMail.php @@ -0,0 +1,40 @@ + $request->national_id, 'address' => $request->address, 'postal_code' => $request->postal_code, - 'account_number' => $request->account_number, 'phone_number' => $request->phone_number, 'province_id' => $request->province_id, 'city_id' => $request->city_id, + 'status' => 1 ]); return $this->successResponse(); diff --git a/backend/app/User/Events/LoginEmailEvent.php b/backend/app/User/Events/LoginEmailEvent.php new file mode 100755 index 00000000..f3199341 --- /dev/null +++ b/backend/app/User/Events/LoginEmailEvent.php @@ -0,0 +1,23 @@ +user; + + Mail::to($user->email)->send( + new LoginNotificationMail($user) + ); + } +} diff --git a/backend/app/User/Requests/Profile/EditRequest.php b/backend/app/User/Requests/Profile/EditRequest.php index ddcfcba8..4eb93a4e 100644 --- a/backend/app/User/Requests/Profile/EditRequest.php +++ b/backend/app/User/Requests/Profile/EditRequest.php @@ -28,8 +28,7 @@ class EditRequest extends FormRequest 'national_id' => 'required', 'address' => 'required', 'postal_code' => 'required', - 'account_number' => 'required', - 'phone_number' => 'required|regex:/^964\d{9}$/|numeric|digits:11', + 'phone_number' => 'required', 'province_id' => 'required', 'city_id' => 'required', ]; diff --git a/backend/bootstrap/app.php b/backend/bootstrap/app.php index 6de85c67..f49ae176 100755 --- a/backend/bootstrap/app.php +++ b/backend/bootstrap/app.php @@ -16,4 +16,7 @@ return Application::configure(basePath: dirname(__DIR__)) }) ->withExceptions(function (Exceptions $exceptions): void { // - })->create(); + }) + ->withEvents(discover: [ + __DIR__.'/../app/User/Listeners', + ])->create(); diff --git a/backend/resources/views/emails/login-notification.blade.php b/backend/resources/views/emails/login-notification.blade.php new file mode 100644 index 00000000..035c3c5c --- /dev/null +++ b/backend/resources/views/emails/login-notification.blade.php @@ -0,0 +1,24 @@ + + + + + Login Notification + + +

Hello {{ $user->username }}

+ +

You have successfully logged in to your account.

+ +

+ Email: {{ $user->email }} +

+ +

+ If this login was not done by you, please contact support immediately. +

+ +
+ +

Thank you.

+ +