NotificationService
in package
Table of Contents
Properties
- $em : EntityManagerInterface
Methods
- __construct() : mixed
- getAll() : array<string|int, mixed>
- Retrieves all notifications for the given user.
- getById() : array<string|int, mixed>|false
- Retrieves a notification by its ID.
- getProcessed() : array<string|int, mixed>
- Retrieves processed notifications for the given user.
- getRead() : array<string|int, mixed>
- Retrieves read notifications for the given user.
- getUnprocessed() : array<string|int, mixed>
- Retrieves unprocessed notifications for the given user.
- getUnread() : array<string|int, mixed>
- Retrieves unread notifications for the given user.
- getUnreadOrUnprocessed() : array<string|int, mixed>
- Retrieves unread or unprocessed notifications for the given user.
- markAsProcessed() : bool
- Marks a notification as processed by updating the 'read_at' and 'processed_at' timestamps.
- markAsRead() : bool
- Marks a notification as read by updating the 'read_at' timestamp.
- send() : bool
- Sends a notification to a list of users.
- fetchNotifications() : array<string|int, mixed>
- Fetches notifications for the given user based on optional conditions.
- getUserIdsFromGroupCodes() : array<string|int, mixed>
- Fetches unique user IDs from a list of group codes.
Properties
$em
private
EntityManagerInterface
$em
Methods
__construct()
public
__construct(EntityManagerInterface $entityManager) : mixed
Parameters
- $entityManager : EntityManagerInterface
getAll()
Retrieves all notifications for the given user.
public
getAll(User $user) : array<string|int, mixed>
Parameters
- $user : User
-
The user for whom all notifications are to be retrieved.
Return values
array<string|int, mixed> —An array of all notifications.
getById()
Retrieves a notification by its ID.
public
getById(string $id) : array<string|int, mixed>|false
Parameters
- $id : string
-
The ID of the notification to be retrieved.
Tags
Return values
array<string|int, mixed>|false —The notification data as an associative array, or false if no notification is found.
getProcessed()
Retrieves processed notifications for the given user.
public
getProcessed(User $user) : array<string|int, mixed>
Parameters
- $user : User
-
The user for whom the processed notifications are to be retrieved.
Return values
array<string|int, mixed> —An array of processed notifications.
getRead()
Retrieves read notifications for the given user.
public
getRead(User $user) : array<string|int, mixed>
Parameters
- $user : User
-
The user for whom the read notifications are to be retrieved.
Return values
array<string|int, mixed> —An array of read notifications.
getUnprocessed()
Retrieves unprocessed notifications for the given user.
public
getUnprocessed(User $user) : array<string|int, mixed>
Parameters
- $user : User
-
The user for whom the unprocessed notifications are to be retrieved.
Return values
array<string|int, mixed> —An array of unprocessed notifications.
getUnread()
Retrieves unread notifications for the given user.
public
getUnread(User $user) : array<string|int, mixed>
Parameters
- $user : User
-
The user for whom the unread notifications are to be retrieved.
Return values
array<string|int, mixed> —An array of unread notifications.
getUnreadOrUnprocessed()
Retrieves unread or unprocessed notifications for the given user.
public
getUnreadOrUnprocessed(User $user) : array<string|int, mixed>
Parameters
- $user : User
-
The user for whom the unread or unprocessed notifications are to be retrieved.
Return values
array<string|int, mixed> —An array of unread or unprocessed notifications.
markAsProcessed()
Marks a notification as processed by updating the 'read_at' and 'processed_at' timestamps.
public
markAsProcessed(string $id, string $key) : bool
Parameters
- $id : string
-
The ID of the notification to be marked as processed.
- $key : string
-
The key associated with the notification to identify its group.
Tags
Return values
bool —True if the update was successful, false otherwise.
markAsRead()
Marks a notification as read by updating the 'read_at' timestamp.
public
markAsRead(string $id) : bool
Parameters
- $id : string
-
The ID of the notification to be marked as read.
Tags
Return values
bool —True if the update was successful, false otherwise.
send()
Sends a notification to a list of users.
public
send(array<string|int, mixed> $groupCodes, string $title, string $body[, string $link = '' ]) : bool
Parameters
- $groupCodes : array<string|int, mixed>
- $title : string
-
Title of the notification.
- $body : string
-
Body of the notification.
- $link : string = ''
-
Url if the notification is clickable
Tags
Return values
bool —Whether the notification was sent successfully or not.
fetchNotifications()
Fetches notifications for the given user based on optional conditions.
private
fetchNotifications(User $user[, string $condition = '' ]) : array<string|int, mixed>
Parameters
- $user : User
-
The user for whom notifications are to be fetched.
- $condition : string = ''
-
Additional SQL condition to filter notifications (optional).
Tags
Return values
array<string|int, mixed> —An array of fetched notifications.
getUserIdsFromGroupCodes()
Fetches unique user IDs from a list of group codes.
private
getUserIdsFromGroupCodes(array<string|int, mixed> $groupCodes) : array<string|int, mixed>
Parameters
- $groupCodes : array<string|int, mixed>