freescout/freescout-dist/app/Observers/UserObserver.php

47 lines
1.0 KiB
PHP
Raw Normal View History

2023-12-22 19:40:32 +00:00
<?php
namespace App\Observers;
use App\Follower;
use App\Mailbox;
use App\Subscription;
use App\User;
class UserObserver
{
/**
* Thread created.
*
* @param User $user
*/
public function created(User $user)
{
// We can not create folders for regular users here, as user is not connected to mailboxes yet
// But we can create admin personal folders
Mailbox::createAdminPersonalFoldersAllMailboxes();
// Add default subscriptions
Subscription::addDefaultSubscriptions($user->id);
}
public function creating(User $user)
{
// This is a hack for backward compatibility.
if ($user->type == 0 && preg_match("#^fs.*@example\.org$#", $user->email)
) {
$user->type = User::TYPE_ROBOT;
}
}
/**
* On user delete.
*
* @param User $user
*/
public function deleting(User $user)
{
$user->folders()->delete();
Follower::whereIn('user_id', $user->id)->delete();
}
}