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 $onePerUser <p>Whether 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>
static protected callable[] $beforeSendingCallbacks

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>

void
setDeleted(array $ids, bool $isDeleted)

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

static void
addNotificationDriver(string $driverName, NotificationDriverInterface $driver)

No description

static array
getNotificationDrivers()

No description

static void
beforeSending(callable $callback)

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 void setDeleted(array $ids, bool $isDeleted)

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

Parameters

array $ids
bool $isDeleted

Return Value

void

static void addNotificationDriver(string $driverName, NotificationDriverInterface $driver)

Parameters

string $driverName
NotificationDriverInterface $driver

Return Value

void

static array getNotificationDrivers()

Return Value

array

static void beforeSending(callable $callback)

Parameters

callable $callback

Return Value

void