
* #2 - wip * #2 - wip * #2 - ui fixes to login page * #2 - fix * #2 - fix * #4- wip * #4 - wip * #4 - wip * #4 - wip * #4- wip * #4 - wip * #4 - wip * #4 - tests * #4 - ecs fix * #4 - fix * #4 - wip * #4 - fix * #4 - fix * #4 - fix composer * #4 - cr fix Co-authored-by: EwelinaLasowy <ewelina.lasowy@blumilk.pl>
38 lines
748 B
PHP
38 lines
748 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Toby\Observers;
|
|
|
|
use Illuminate\Support\Facades\Storage;
|
|
use Toby\Helpers\UserAvatarGenerator;
|
|
use Toby\Models\User;
|
|
|
|
class UserObserver
|
|
{
|
|
public function __construct(
|
|
protected UserAvatarGenerator $generator,
|
|
) {
|
|
}
|
|
|
|
public function created(User $user): void
|
|
{
|
|
$user->avatar = $this->generator->generateFor($user);
|
|
|
|
$user->save();
|
|
}
|
|
|
|
public function updating(User $user): void
|
|
{
|
|
if ($user->isDirty("name")) {
|
|
Storage::delete($user->avatar);
|
|
$user->avatar = $this->generator->generateFor($user);
|
|
}
|
|
}
|
|
|
|
public function forceDeleted(User $user): void
|
|
{
|
|
Storage::delete($user->avatar);
|
|
}
|
|
}
|