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.
ae3-auth/src/app/Observers/UserObserver.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'));
}
}