From ac771009818c279f2c217db43c575f9dc55b9b6c Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 12 May 2021 16:31:02 +1000 Subject: [PATCH] New login notification --- app/Http/Controllers/Auth/LoginController.php | 11 +++++++++++ app/Listeners/User/UpdateUserLastLogin.php | 10 ++++++++++ app/Models/SystemLog.php | 3 +++ 3 files changed, 24 insertions(+) diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 64dbfd4b823b..f7d4fa946074 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -18,11 +18,14 @@ use App\Http\Controllers\BaseController; use App\Http\Controllers\Controller; use App\Jobs\Account\CreateAccount; use App\Jobs\Company\CreateCompanyToken; +use App\Jobs\Util\SystemLogger; use App\Libraries\MultiDB; use App\Libraries\OAuth\OAuth; use App\Libraries\OAuth\Providers\Google; +use App\Models\Client; use App\Models\CompanyToken; use App\Models\CompanyUser; +use App\Models\SystemLog; use App\Models\User; use App\Transformers\CompanyUserTransformer; use App\Utils\Ninja; @@ -232,6 +235,14 @@ class LoginController extends BaseController ->increment() ->batch(); + SystemLogger::dispatch( + request()->getClientIp(), + SystemLog::CATEGORY_SECURITY, + SystemLog::EVENT_USER, + SystemLog::TYPE_LOGIN_FAILURE, + Client::first(), + ); + $this->incrementLoginAttempts($request); return response() diff --git a/app/Listeners/User/UpdateUserLastLogin.php b/app/Listeners/User/UpdateUserLastLogin.php index ed833a9cbac1..266113b26909 100644 --- a/app/Listeners/User/UpdateUserLastLogin.php +++ b/app/Listeners/User/UpdateUserLastLogin.php @@ -13,8 +13,11 @@ namespace App\Listeners\User; use App\Jobs\Mail\NinjaMailerJob; use App\Jobs\Mail\NinjaMailerObject; +use App\Jobs\Util\SystemLogger; use App\Libraries\MultiDB; use App\Mail\User\UserLoggedIn; +use App\Models\Client; +use App\Models\SystemLog; use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Events\Dispatchable; @@ -64,6 +67,13 @@ class UpdateUserLastLogin implements ShouldQueue $user->save(); } + SystemLogger::dispatch( + $ip, + SystemLog::CATEGORY_SECURITY, + SystemLog::EVENT_USER, + SystemLog::TYPE_LOGIN_SUCCESS, + $event->company->clients()->first(), + ); } } diff --git a/app/Models/SystemLog.php b/app/Models/SystemLog.php index 3ad12a351cb1..c4d0e01bfed2 100644 --- a/app/Models/SystemLog.php +++ b/app/Models/SystemLog.php @@ -78,6 +78,9 @@ class SystemLog extends Model const TYPE_MODIFIED = 701; const TYPE_DELETED = 702; + const TYPE_LOGIN_SUCCESS = 800; + const TYPE_LOGIN_FAILURE = 801; + protected $fillable = [ 'client_id', 'company_id',