Merge pull request 'create EmailEvent for login' (#7) from feature/UploadData into develop

Reviewed-on: #7
This commit was merged in pull request #7.
This commit is contained in:
2026-05-10 11:01:41 +00:00
8 changed files with 138 additions and 4 deletions

View File

@@ -0,0 +1,14 @@
<?php
namespace App\User\Controller\Dashboard;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class ConfirmController extends Controller
{
public function index()
{
//
}
}

View File

@@ -30,10 +30,10 @@ class ProfileController extends Controller
'national_id' => $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();

View File

@@ -0,0 +1,23 @@
<?php
namespace App\User\Events;
use App\Models\User;
use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class LoginEmailEvent
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*/
public function __construct(public User $user)
{
//
}
}

View File

@@ -0,0 +1,31 @@
<?php
namespace App\User\Listeners;
use App\Mail\LoginNotificationMail;
use App\User\Events\LoginEmailEvent;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Mail;
class SendEmailListener implements ShouldQueue{
public string $queue = 'emails';
/**
* Create the event listener.
*/
public function __construct()
{
//
}
/**
* Handle the event.
*/
public function handle(LoginEmailEvent $event): void
{
$user = $event->user;
Mail::to($user->email)->send(
new LoginNotificationMail($user)
);
}
}

View File

@@ -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',
];