mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-12-15 23:53:38 +08:00
615741af9d
- Updated mail notification design to be a bit prettier, and extracted text to new lang file for translation. - Added debounce logic for page update notifications. - Fixed watch options not being filtered to current user.
25 lines
896 B
PHP
25 lines
896 B
PHP
<?php
|
|
|
|
namespace BookStack\Activity\Notifications\Handlers;
|
|
|
|
use BookStack\Activity\Models\Activity;
|
|
use BookStack\Activity\Models\Loggable;
|
|
use BookStack\Activity\Notifications\Messages\PageCreationNotification;
|
|
use BookStack\Activity\Tools\EntityWatchers;
|
|
use BookStack\Activity\WatchLevels;
|
|
use BookStack\Entities\Models\Page;
|
|
use BookStack\Users\Models\User;
|
|
|
|
class PageCreationNotificationHandler extends BaseNotificationHandler
|
|
{
|
|
public function handle(Activity $activity, Loggable|string $detail, User $user): void
|
|
{
|
|
if (!($detail instanceof Page)) {
|
|
throw new \InvalidArgumentException("Detail for page create notifications must be a page");
|
|
}
|
|
|
|
$watchers = new EntityWatchers($detail, WatchLevels::NEW);
|
|
$this->sendNotificationToUserIds(PageCreationNotification::class, $watchers->getWatcherUserIds(), $user, $detail, $detail);
|
|
}
|
|
}
|