Changeset View
Changeset View
Standalone View
Standalone View
src/app/Observers/UserAliasObserver.php
<?php | <?php | ||||
namespace App\Observers; | namespace App\Observers; | ||||
use App\Domain; | use App\Domain; | ||||
use App\Tenant; | use App\Tenant; | ||||
use App\User; | use App\User; | ||||
use App\UserAlias; | use App\UserAlias; | ||||
class UserAliasObserver | class UserAliasObserver | ||||
{ | { | ||||
/** | /** | ||||
* Handle the "creating" event on an alias | * Handle the "creating" event on an alias | ||||
* | * | ||||
* Ensures that there's no user with specified email. | |||||
* | |||||
* @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); | ||||
Show All 30 Lines | public function created(UserAlias $alias) | ||||
if (Tenant::getConfig($alias->user->tenant_id, 'pgp.enable')) { | if (Tenant::getConfig($alias->user->tenant_id, 'pgp.enable')) { | ||||
\App\Jobs\PGP\KeyCreateJob::dispatch($alias->user_id, $alias->alias); | \App\Jobs\PGP\KeyCreateJob::dispatch($alias->user_id, $alias->alias); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* Handle the user setting "updated" event. | * Handle the user alias "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) { | if ($alias->user) { | ||||
\App\Jobs\User\UpdateJob::dispatch($alias->user_id); | \App\Jobs\User\UpdateJob::dispatch($alias->user_id); | ||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* Handle the user setting "deleted" event. | * Handle the user alias "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) { | if ($alias->user) { | ||||
\App\Jobs\User\UpdateJob::dispatch($alias->user_id); | \App\Jobs\User\UpdateJob::dispatch($alias->user_id); | ||||
if (Tenant::getConfig($alias->user->tenant_id, 'pgp.enable')) { | if (Tenant::getConfig($alias->user->tenant_id, 'pgp.enable')) { | ||||
\App\Jobs\PGP\KeyDeleteJob::dispatch($alias->user_id, $alias->alias); | \App\Jobs\PGP\KeyDeleteJob::dispatch($alias->user_id, $alias->alias); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
} | } |