From ed57c386db34d8693ca75311972d0929ebe5f488 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 01 Jun 2026 22:23:19 +0000
Subject: [PATCH] =Added some more Schema classes, allowed for override of  array in outputSchema for complex schema, as for timeline post types

---
 inc/managers/InvitationsManager.php |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/inc/managers/InvitationsManager.php b/inc/managers/InvitationsManager.php
index fab93bd..ccb2f2f 100644
--- a/inc/managers/InvitationsManager.php
+++ b/inc/managers/InvitationsManager.php
@@ -5,7 +5,7 @@
 use JVBase\managers\queue\executors\InvitationExecutor;
 use JVBase\managers\queue\TypeConfig;
 use JVBase\registrar\Registrar;
-use JVBase\utility\Features;
+use JVBase\base\Site;
 use WP_Error;
 
 if (!defined('ABSPATH')) {
@@ -37,7 +37,8 @@
 	public function defineTable():void
 	{
 		$terms = Registrar::getFeatured('invitable', 'term');
-		$roles = Features::forMembership()->get('can_invite');
+		$membership = Site::membership();
+		$roles = ($membership) ? Site::membership()->has('can_invite') :[];
 		if (empty($terms) && empty($roles)) {
 			return;
 		}
@@ -48,9 +49,9 @@
 			'name'				=> 'varchar(255) NOT NULL',
 			'email'				=> 'varchar(255) NOT NULL',
 			'invitation_token'	=> 'varchar(255) NOT NULL',
-			'invited_role'		=> 'varchar(50) NOT NULL COMMENT \'Role being invited to\'',
-			'status'			=> 'ENUM(\'pending\',\'accepted\',\'rejected\',\'expired\',\'revoked\') DEFAULT \'pending\'',
-			'inviters'			=> 'JSON NOT NULL COMMENT \'Array of {user_id, invited_at}\'',
+			'invited_role'		=> 'varchar(50) NOT NULL',		//Role being invited to
+			'status'			=> "ENUM('pending','accepted','rejected','expired','revoked') DEFAULT 'pending'",
+			'inviters'			=> 'JSON NOT NULL', 			// Array of {user_id, invited_at}
 			'new_user_id'		=> $table->getUserIDType().' DEFAULT NULL',
 			'expires_at'		=> 'datetime NOT NULL',
 			'accepted_at'		=> 'datetime DEFAULT NULL',
@@ -66,7 +67,7 @@
 
 		$table->setKeys([
 			['key' => 'PRIMARY', 'value' => '(`id`)'],
-			['key' => 'UNIQUE KEY', 'value' => '`unique_email_role` (`email`, `invited_role`)'],
+			['key' => 'UNIQUE', 'value' => '`unique_email_role` (`email`, `invited_role`)'],
 			'`token_lookup` (`invitation_token`)',
 			'`status_expiry` (`status`, `expires_at`)',
 			'`role_status` (`invited_role`, `status`)',

--
Gitblit v1.10.0