Jake Vanderwerf
2026-08-26 ccf5e61a075c35d24befc175994b5cb8957ca322
inc/rest/routes/Invitations.php
@@ -1,6 +1,8 @@
<?php
namespace JVBase\rest\routes;
use JVBase\Instance;
use JVBase\managers\InvitationsManager;
use JVBase\rest\Rest;
use JVBase\managers\CustomTable;
use JVBase\rest\Route;
@@ -20,6 +22,7 @@
 */
class Invitations extends Rest
{
   use Instance;
   protected array $inviteConfig;
   protected CustomTable $table;
@@ -29,7 +32,7 @@
      parent::__construct();
      // Get invitation configuration
      $this->inviteConfig = JVB()->invitations()->getInviteConfig();
      $this->inviteConfig = InvitationsManager::getInstance()->getInviteConfig();
      $this->table = CustomTable::for('invitations');
      // Cache connections
@@ -85,8 +88,8 @@
      ];
      // Check cache
      $key = $this->cache->generateKey($args);
      if ($cached = $this->cache->get($key)) {
      if ($cached = $this->cache->get($args)) {
         return $this->success($cached);
      }
@@ -96,7 +99,7 @@
         : $this->getUserInvitations($args);
      // Cache result
      $this->cache->set($key, $result);
      $this->cache->set($args, $result);
      return $this->success($result);
   }
@@ -104,10 +107,10 @@
   /**
    * Get invitations for a specific term
    */
   protected function getTermInvitations(array $args): array
   public function getTermInvitations(array $args): array
   {
      // Check permission
      if (!JVB()->roles()->isManager($args['user'], $args['to_term'])) {
      if (!Roles::getInstance()()->isManager($args['user'], $args['to_term'])) {
         return $this->forbidden('You cannot view invitations for this ' . $args['taxonomy'])->get_data();
      }
@@ -213,7 +216,7 @@
      }
      // Queue using fluent interface
      $op = JVB()->queue()->add(
      $op = Queue::getInstance()->add(
         'invitation_create',
         $userID,
         ['invitations' => $validated],
@@ -231,7 +234,7 @@
    */
   protected function validateInvitations(int $userID, array $invites): array
   {
      return JVB()->invitations()->validateInvitations($userID, $invites);
      return InvitationsManager::getInstance()->validateInvitations($userID, $invites);
   }
@@ -248,7 +251,7 @@
         return $this->error('Invitation ID required');
      }
      $op = JVB()->queue()->add(
      $op = Queue::getInstance()->add(
         'invitation_revoke',
         $userID,
         ['invitation_id' => $invitationID],
@@ -269,7 +272,7 @@
         return $this->error('Invitation ID required');
      }
      $op = JVB()->queue()->add(
      $op = Queue::getInstance()->add(
         'invitation_resend',
         $userID,
         ['invitation_id' => $invitationID],
@@ -308,7 +311,7 @@
      ];
      // Add term information if present
      foreach (JVB()->roles()->getInvitableTaxonomies() as $taxonomy) {
      foreach (Roles::getInstance()()->getInvitableTaxonomies() as $taxonomy) {
         $column = 'to_' . $taxonomy;
         if (isset($invitation->$column) && $invitation->$column) {
            $termID = (int) $invitation->$column;