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/QueueRoutes.php | 45 +++++++++++++++++++++++++++++++++++----------
1 files changed, 35 insertions(+), 10 deletions(-)
diff --git a/inc/rest/routes/QueueRoutes.php b/inc/rest/routes/QueueRoutes.php
index 3c27a3a..e7fd1d7 100644
--- a/inc/rest/routes/QueueRoutes.php
+++ b/inc/rest/routes/QueueRoutes.php
@@ -41,14 +41,15 @@
'limit' => 'integer|default:50|min:1|max:100',
])
->auth('user')
- ->rateLimit(30)
+ ->rateLimit()
->post([$this, 'handleAction'])
->args([
'ids' => 'array|required',
'action' => 'string|required|enum:dismiss,retry,cancel',
])
->auth('user')
- ->rateLimit(30);
+ ->rateLimit()
+ ->register();
// Poll endpoint
Route::for('queue/poll')
@@ -58,20 +59,23 @@
'ids' => 'string',
])
->auth('user')
- ->rateLimit(15);
+ ->rateLimit()
+ ->register();
// Errors endpoint
Route::for('queue/errors')
->get([$this, 'getOperationErrors'])
->auth('user')
- ->rateLimit(15);
+ ->rateLimit()
+ ->register();
// Single operation with dynamic ID
Route::for(Route::pattern('queue/{id}'))
->get([$this, 'getOperation'])
->arg('id', 'string|required')
->auth('user')
- ->rateLimit(15);
+ ->rateLimit()
+ ->register();
}
/**
@@ -83,7 +87,11 @@
public function getQueue(WP_REST_Request $request): WP_REST_Response
{
$params = $request->get_params();
- $user_id = absint($params['user']);
+ $user_id = get_current_user_id();
+ if (!$user_id) {
+ return $this->unauthorized();
+ }
+ $this->cache = Cache::for('queue')->user();
$status = sanitize_text_field($params['status']);
$ids = !empty($params['ids'])
? array_map('trim', array_map('sanitize_text_field', explode(',', $params['ids'])))
@@ -143,7 +151,12 @@
: array_map('trim', array_map('sanitize_text_field', explode(',', $data['ids'])));
$action = sanitize_text_field($data['action'] ?? '');
- $user_id = absint($data['user']);
+ $user_id = get_current_user_id();
+ if (!$user_id) {
+ return $this->unauthorized();
+ }
+
+ $this->cache = Cache::for($user_id.'_queue');
// Validate input
if (empty($ids)) {
@@ -175,7 +188,11 @@
public function pollQueue(WP_REST_Request $request): WP_REST_Response
{
- $userId = $request->get_param('user');
+ $userId = get_current_user_id();
+ if (!$userId) {
+ return $this->unauthorized();
+ }
+ $this->cache = Cache::for($userId.'_queue');
$since = $request->get_param('since');
$ids = $request->get_param('ids');
@@ -213,7 +230,11 @@
public function getOperationErrors(WP_REST_Request $request): WP_REST_Response
{
- $user_id = absint($request->get_param('user'));
+ $user_id = get_current_user_id();
+ if (!$user_id) {
+ return $this->unauthorized();
+ }
+ $this->cache = Cache::for($user_id.'_queue');
$operations = JVB()->queue()->getUserOperations($user_id, [
'state' => 'completed',
'outcome' => ['failed', 'failed_permanent', 'partial'],
@@ -238,7 +259,11 @@
public function getOperation(WP_REST_Request $request): WP_REST_Response
{
$id = $request->get_param('id');
- $userId = $request->get_param('user');
+ $userId = get_current_user_id();
+ if (!$userId) {
+ return $this->unauthorized();
+ }
+ $this->cache = Cache::for($userId.'_queue');
$op = JVB()->queue()->get($id);
--
Gitblit v1.10.0