Changeset View
Changeset View
Standalone View
Standalone View
src/app/Observers/UserAliasObserver.php
Show All 14 Lines | class UserAliasObserver | ||||
* @param \App\UserAlias $alias The user email alias | * @param \App\UserAlias $alias The user email alias | ||||
* | * | ||||
* @return bool | * @return bool | ||||
*/ | */ | ||||
public function creating(UserAlias $alias): bool | public function creating(UserAlias $alias): bool | ||||
{ | { | ||||
$alias->alias = \strtolower($alias->alias); | $alias->alias = \strtolower($alias->alias); | ||||
if (User::where('email', $alias->alias)->first()) { | if ($exists = User::emailExists($alias->alias, true, $exists_and_is_alias)) { | ||||
\Log::error("Failed creating alias {$alias->alias}. User exists."); | if ( | ||||
!$exists_and_is_alias | |||||
|| $exists->wallet()->user_id != $alias->user->wallet()->user_id | |||||
) { | |||||
\Log::error("Failed creating alias {$alias->alias}. Email address exists."); | |||||
return false; | return false; | ||||
} | } | ||||
} | |||||
return true; | return true; | ||||
} | } | ||||
/** | /** | ||||
* Handle the user alias "created" event. | * Handle the user alias "created" event. | ||||
* | * | ||||
* @param \App\UserAlias $alias User email alias | * @param \App\UserAlias $alias User email alias | ||||
* | * | ||||
* @return void | * @return void | ||||
*/ | */ | ||||
public function created(UserAlias $alias) | public function created(UserAlias $alias) | ||||
{ | { | ||||
if ($alias->user) { | |||||
\App\Jobs\UserUpdate::dispatch($alias->user); | \App\Jobs\UserUpdate::dispatch($alias->user); | ||||
} | } | ||||
} | |||||
/** | /** | ||||
* Handle the user setting "updated" event. | * Handle the user setting "updated" event. | ||||
* | * | ||||
* @param \App\UserAlias $alias User email alias | * @param \App\UserAlias $alias User email alias | ||||
* | * | ||||
* @return void | * @return void | ||||
*/ | */ | ||||
public function updated(UserAlias $alias) | public function updated(UserAlias $alias) | ||||
{ | { | ||||
if ($alias->user) { | |||||
\App\Jobs\UserUpdate::dispatch($alias->user); | \App\Jobs\UserUpdate::dispatch($alias->user); | ||||
} | } | ||||
} | |||||
/** | /** | ||||
* Handle the user setting "deleted" event. | * Handle the user setting "deleted" event. | ||||
* | * | ||||
* @param \App\UserAlias $alias User email alias | * @param \App\UserAlias $alias User email alias | ||||
* | * | ||||
* @return void | * @return void | ||||
*/ | */ | ||||
public function deleted(UserAlias $alias) | public function deleted(UserAlias $alias) | ||||
{ | { | ||||
if ($alias->user) { | |||||
\App\Jobs\UserUpdate::dispatch($alias->user); | \App\Jobs\UserUpdate::dispatch($alias->user); | ||||
} | } | ||||
} | } | ||||
} |