From fff721dd185f5b97f7ae7a6e64189e55887ff590 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 05 Jul 2026 18:36:57 +0000
Subject: [PATCH] =Cleaning up the Square integration (still a bit more to do yet). Also majorly overhauled /rest/ files to ignore a rest request 'user' paramater, and rely on get_current_user_id() instead.
---
inc/rest/routes/ContentTermsRoutes.php | 44 +++++++++++++++++++++-----------------------
1 files changed, 21 insertions(+), 23 deletions(-)
diff --git a/inc/rest/routes/ContentTermsRoutes.php b/inc/rest/routes/ContentTermsRoutes.php
index eee6b6b..08fda0d 100644
--- a/inc/rest/routes/ContentTermsRoutes.php
+++ b/inc/rest/routes/ContentTermsRoutes.php
@@ -3,10 +3,11 @@
use JVBase\managers\queue\executors\ContentTermExecutor;
use JVBase\managers\queue\TypeConfig;
+use JVBase\registrar\Registrar;
use JVBase\rest\Rest;
use JVBase\rest\Route;
use JVBase\rest\PermissionHandler;
-use JVBase\utility\Features;
+use JVBase\base\Site;
use JVBase\managers\CustomTable;
use WP_REST_Request;
use WP_REST_Response;
@@ -31,7 +32,7 @@
class ContentTermsRoutes extends Rest
{
protected string $taxonomy;
- protected array $config;
+ protected Registrar $registrar;
protected ?CustomTable $historyTable = null;
protected ?CustomTable $requestsTable = null;
@@ -39,8 +40,8 @@
{
$this->taxonomy = jvbNoBase($taxonomy);
- if ($taxonomy && isset(JVB_TAXONOMY[$this->taxonomy])) {
- $this->config = JVB_TAXONOMY[$this->taxonomy];
+ if ($taxonomy !== '' && Registrar::getInstance($this->taxonomy)) {
+ $this->registrar = Registrar::getInstance($this->taxonomy);
$this->cacheName = $this->taxonomy;
parent::__construct();
$this->setupTables();
@@ -54,14 +55,15 @@
{
$registry = JVB()->queue()->registry();
$executor = new ContentTermExecutor();
- $taxonomies = Features::getTypesWithFeature('is_content', 'taxonomy');
+ $taxonomies = Registrar::withFeature('is_content', 'term');
foreach($taxonomies as $taxonomy) {
$registry->register("{$taxonomy}_update", new TypeConfig(
executor: $executor,
));
- if (Features::forTaxonomy($taxonomy)->has('track_changes')) {
+ $registrar = Registrar::getInstance($taxonomy);
+ if ($registrar && $registrar->hasFeature('track_changes')) {
$registry->register("{$taxonomy}_member_add", new TypeConfig(
executor: $executor
));
@@ -76,9 +78,9 @@
protected function setupTables(): void
{
- $content = $this->config['for_content'] ?? [];
+ $content = $this->registrar->registrar->for;
- if (Features::forTaxonomy($this->taxonomy)->has('track_changes') && !empty($content)) {
+ if ($this->registrar->hasFeature('track_changes') && !empty($content)) {
foreach ($content as $contentType) {
$tableName = "history_{$contentType}_{$this->taxonomy}";
$this->historyTable = CustomTable::for($tableName);
@@ -86,7 +88,7 @@
}
}
- if (Features::forTaxonomy($this->taxonomy)->has('verify_entry') && !empty($content)) {
+ if ($this->registrar->hasFeature('verify_entry') && !empty($content)) {
foreach ($content as $contentType) {
$tableName = "{$contentType}_{$this->taxonomy}_requests";
$this->requestsTable = CustomTable::for($tableName);
@@ -104,7 +106,7 @@
public function registerRoutes(): void
{
- if (!Features::forTaxonomy($this->taxonomy)->has('is_content')) {
+ if (!$this->registrar->hasFeature('is_content')) {
return;
}
@@ -122,7 +124,7 @@
->register();
// Member management (if track_changes enabled)
- if (Features::forTaxonomy($this->taxonomy)->has('track_changes')) {
+ if ($this->registrar->hasFeature('track_changes')) {
Route::for("{$base}/:term_id/members")
->get([$this, 'getMembers'])
->args([
@@ -146,7 +148,7 @@
}
// Membership requests (if verify_entry enabled)
- if (Features::forTaxonomy($this->taxonomy)->has('verify_entry')) {
+ if ($this->registrar->hasFeature('verify_entry')) {
Route::for("{$base}/:term_id/requests")
->get([$this, 'getRequests'])
->args([
@@ -174,7 +176,7 @@
}
// Ownership/management (if is_ownable enabled)
- if (Features::forTaxonomy($this->taxonomy)->has('is_ownable')) {
+ if ($this->registrar->hasFeature('is_ownable')) {
Route::for("{$base}/:term_id/permissions")
->post([$this, 'updatePermissions'])
->args([
@@ -195,7 +197,7 @@
*/
public function checkTermPermission(WP_REST_Request $request): bool
{
- $userID = $request->get_param('user') ?? get_current_user_id();
+ $userID = get_current_user_id();
$termID = (int)$request->get_param('term_id');
if (!$this->checkUser($userID) || !term_exists($termID, jvbCheckBase($this->taxonomy))) {
@@ -208,10 +210,10 @@
public function checkOwnerPermission(WP_REST_Request $request): bool
{
- $userID = $request->get_param('user') ?? get_current_user_id();
+ $userID = get_current_user_id();
$termID = (int)$request->get_param('term_id');
- if (!$this->checkUser($userID) || !term_exists($termID, jvbCheckBase($this->taxonomy))) {
+ if (!term_exists($termID, jvbCheckBase($this->taxonomy))) {
return false;
}
@@ -225,7 +227,7 @@
public function updateSettings(WP_REST_Request $request): WP_REST_Response
{
$termID = (int)$request->get_param('term_id');
- $userID = $request->get_param('user');
+ $userID = get_current_user_id();
$data = $request->get_params();
unset($data['user'], $data['term_id']);
@@ -299,14 +301,10 @@
public function manageMember(WP_REST_Request $request): WP_REST_Response
{
$action = $request->get_param('action');
- $userID = $request->get_param('user');
+ $userID = get_current_user_id();
$termID = (int)$request->get_param('term_id');
$targetUserID = (int)$request->get_param('target_user');
- if (!$this->checkUser($targetUserID)) {
- return $this->error('Invalid target user');
- }
-
// Queue the operation
$op = JVB()->queue()->add(
"{$this->taxonomy}_member_{$action}",
@@ -365,7 +363,7 @@
public function handleRequest(WP_REST_Request $request): WP_REST_Response
{
$action = $request->get_param('action');
- $userID = $request->get_param('user');
+ $userID = get_current_user_id();
$termID = (int)$request->get_param('term_id');
return match($action) {
--
Gitblit v1.10.0