You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
973 B
PHP
47 lines
973 B
PHP
<?php
|
|
|
|
namespace Pablo\Ae3auth\app\Observers;
|
|
|
|
use Pablo\Ae3auth\app\Facades\PasswordHistoryManager;
|
|
|
|
class UserObserver
|
|
{
|
|
/**
|
|
* @param $user
|
|
* @return void
|
|
*/
|
|
public function updating($user): void
|
|
{
|
|
PasswordHistoryManager::logPassword($user);
|
|
$this->updateExpireColumn($user);
|
|
}
|
|
|
|
/**
|
|
* @param $user
|
|
* @return void
|
|
*/
|
|
public function created($user): void
|
|
{
|
|
PasswordHistoryManager::logNewPassword($user->id, $user->password);
|
|
}
|
|
|
|
/**
|
|
* @param $user
|
|
* @return void
|
|
*/
|
|
public function creating($user): void
|
|
{
|
|
$this->updateExpireColumn($user);
|
|
}
|
|
|
|
/**
|
|
* @param $user
|
|
* @return void
|
|
*/
|
|
private function updateExpireColumn($user): void
|
|
{
|
|
$expiresAtColumn = config('ae3auth-config.user.expires_password_column_name');
|
|
$user->$expiresAtColumn = now()->addDays(config('ae3auth-config.password_expires_in'));
|
|
}
|
|
}
|