From a9b3b28d001941921aa70d37fdc87c758a163a44 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 05 Jun 2026 16:47:03 +0000
Subject: [PATCH] =Some hefty changes to FeedBlock. Transitioning to loading first page in php to save on extra requests. Got a bit to do yet, but I have to work on Northeh for a bit here.
---
inc/rest/routes/OptionsRoutes.php | 56 +++++++++++++++++++++++++-------------------------------
1 files changed, 25 insertions(+), 31 deletions(-)
diff --git a/inc/rest/routes/OptionsRoutes.php b/inc/rest/routes/OptionsRoutes.php
index ebf18d6..9b3bf54 100644
--- a/inc/rest/routes/OptionsRoutes.php
+++ b/inc/rest/routes/OptionsRoutes.php
@@ -1,39 +1,40 @@
<?php
namespace JVBase\rest\routes;
-use JVBase\JVB;
-use JVBase\rest\RestRouteManager;
-use JVBase\managers\CacheManager;
-use JVBase\meta\MetaManager;
-use JVBase\meta\MetaSanitizer;
+use JVBase\registrar\Registrar;
+use JVBase\rest\PermissionHandler;
+use JVBase\rest\Rest;
+use JVBase\managers\Cache;
+use JVBase\meta\Meta;
+use JVBase\rest\Route;
use WP_REST_Request;
use WP_REST_Response;
use WP_Error;
-use Exception;
if (!defined('ABSPATH')) {
exit; // Exit if accessed directly
}
-class OptionsRoutes extends RestRouteManager
+class OptionsRoutes extends Rest
{
public function __construct()
{
parent::__construct();
- $this->action = 'dash-';
add_filter(BASE.'handle_bulk_operation', [$this, 'processOperation'], 10, 3);
}
- public function registerRoutes()
+ public function registerRoutes():void
{
- register_rest_route($this->namespace, '/options', [
- [
- 'methods' => 'POST',
- 'callback' => [$this, 'saveOptions'],
- 'permission_callback' => [$this, 'checkPermission']
- ]
- ]);
+ Route::for('options')
+ ->post([$this, 'saveOptions'])
+ ->auth(PermissionHandler::combine(['user', ['actionNonce' => 'dash-']]))
+ ->rateLimit(3)
+ ->args([
+ 'user' => 'int|required',
+ 'id' => 'string|required',
+ ])
+ ->register();
}
public function saveOptions(WP_REST_Request $request):WP_REST_Response
@@ -41,16 +42,13 @@
$data = $request->get_params();
$user = $data['user'];
if ($user && !user_can($user, 'manage_options')) {
- return new WP_REST_Response([
- 'success' => 'false',
- 'message' => 'User cannot modify options'
- ]);
+ return $this->error('User Cannot modify options');
}
unset($data['user']);
$operationID = $data['id'];
unset($data['id']);
- $queue = JVB()->queue();
- $queue->queueOperation(
+
+ JVB()->queue()->queueOperation(
'update_options',
$user,
$data,
@@ -60,11 +58,7 @@
]
);
-
- return new WP_REST_Response([
- 'success' => 'true',
- 'message' => 'Probably'
- ]);
+ return $this->queued($operationID);
}
@@ -87,8 +81,8 @@
'success' => []
];
- $meta = new MetaManager(null, 'options');
- $fields = jvbGetFields('options');
+ $meta = Meta::forOptions('options');
+ $fields = Registrar::getFieldsFor('options');
$allowedFields = array_filter($data,
function ($key) use ($fields) {
@@ -109,8 +103,8 @@
do_action('jvbOptionsRoute', $data);
- $cache = CacheManager::for('options', 1800);
- $cache->invalidate();
+ $cache = Cache::for('options', 1800);
+ $cache->flush();
return [
'success' => true,
'result' => $results
--
Gitblit v1.10.0