class NotificationSyncer

The Notification Syncer commits notification blueprints to the database, and sends them via email depending on user preference. Where a blueprint represents a single notification, the syncer associates it with a particular user(s) and makes it available in their inbox.

Properties

static protected bool $onePerUser <p>Whether or not notifications are being limited to one per user.</p>
static protected int[] $sentTo <p>An internal list of user IDs that notifications have been sent to.</p>
static protected NotificationDriverInterface[] $notificationDrivers <p>A map of notification drivers.</p>

Methods

void
sync(BlueprintInterface $blueprint, array $users)

<p>Sync a notification so that it is visible to the specified users, and not visible to anyone else. If it is being made visible for the first time, attempt to send the user an email.</p>

void
delete(BlueprintInterface $blueprint)

<p>Delete a notification for all users.</p>

void
restore(BlueprintInterface $blueprint)

<p>Restore a notification for all users.</p>

void
onePerUser(callable $callback)

<p>Limit notifications to one per user for the entire duration of the given callback.</p>

setDeleted(array $ids, bool $isDeleted)

<p>Set the deleted status of a list of notification records.</p>

static 
addNotificationDriver(string $driverName, NotificationDriverInterface $driver)

<p>Adds a notification driver to the list.</p>

static array
getNotificationDrivers()

No description

Details

void sync(BlueprintInterface $blueprint, array $users)

<p>Sync a notification so that it is visible to the specified users, and not visible to anyone else. If it is being made visible for the first time, attempt to send the user an email.</p>

Parameters

BlueprintInterface $blueprint
array $users

Return Value

void

void delete(BlueprintInterface $blueprint)

<p>Delete a notification for all users.</p>

Parameters

BlueprintInterface $blueprint

Return Value

void

void restore(BlueprintInterface $blueprint)

<p>Restore a notification for all users.</p>

Parameters

BlueprintInterface $blueprint

Return Value

void

void onePerUser(callable $callback)

<p>Limit notifications to one per user for the entire duration of the given callback.</p>

Parameters

callable $callback

Return Value

void

protected setDeleted(array $ids, bool $isDeleted)

<p>Set the deleted status of a list of notification records.</p>

Parameters

array $ids
bool $isDeleted

static addNotificationDriver(string $driverName, NotificationDriverInterface $driver)

<p>Adds a notification driver to the list.</p>

Parameters

string $driverName
NotificationDriverInterface $driver

static array getNotificationDrivers()

Return Value

array