Jake Vanderwerf
2026-08-30 a58a2e7ca4700d3e23341fde767060a4c2c704a3
inc/managers/NotificationManager.php
@@ -1,10 +1,13 @@
<?php
namespace JVBase\managers;
use JVBase\Instance;
use JVBase\managers\Notifications\Content;
use JVBase\managers\Notifications\EmailDigests;
use JVBase\managers\Notifications\Notifications;
use JVBase\managers\Notifications\Preferences;
use JVBase\rest\Rest;
use JVBase\rest\routes\NotificationsRoutes;
if (!defined('ABSPATH')) {
    exit; // Exit if accessed directly
@@ -18,13 +21,16 @@
 */
class NotificationManager
{
   use Instance;
   protected Notifications $notifications;
   protected Content $content;
   protected EmailDigests $digest;
   protected Preferences $preferences;
   public function __construct()
   protected Rest $route;
   private function __construct()
   {
      $this->route = NotificationsRoutes::getInstance();
      $this->notifications = new Notifications();
      $this->content = new Content();
      $this->digest = new EmailDigests();
@@ -68,6 +74,10 @@
   {
      return $this->notifications->getUserNotifications($user_id, $args);
   }
   public function countUserNotifications(int $user_id, array $args = []):int
   {
      return $this->notifications->countUserNotifications($user_id, $args);
   }
   public function markRead(int $userID, int|array $notification_id):bool
   {
@@ -82,6 +92,11 @@
      return $this->notifications->markActioned($userID, $notification_id, $result);
   }
   public function getNotificationTypes(bool $all = false):array
   {
      return $this->notifications->getNotificationTypes($all);
   }
   /************************************************
    * CONTENT NOTIFICATIONS
    * These are pooled notifications of new content for: