| | |
| | | '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 |
| | |
| | | '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 |
| | |
| | | ->get([$this, 'getOperation']) |
| | | ->arg('id', 'string|required') |
| | | ->auth('user') |
| | | ->rateLimit(15) |
| | | ->rateLimit() |
| | | ->register(); |
| | | } |
| | | |
| | |
| | | { |
| | | $params = $request->get_params(); |
| | | $user_id = absint($params['user']); |
| | | $this->cache = Cache::for($user_id.'_queue'); |
| | | $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']))) |