| | |
| | | |
| | | use JVBase\JVB; |
| | | use JVBase\rest\RestRouteManager; |
| | | use JVBase\managers\CacheManager; |
| | | use JVBase\managers\Cache; |
| | | use WP_REST_Request; |
| | | use WP_REST_Response; |
| | | use WP_Error; |
| | |
| | | } |
| | | error_log('Sanitized action. Here we go!'); |
| | | |
| | | $this->queue = JVB()->queue(); |
| | | // Add to queue |
| | | $operation = $this->queue->queueOperation( |
| | | // Add to queue |
| | | $operation = JVB()->queue()->queueOperation( |
| | | $action.'_response', |
| | | $user_id, |
| | | $queue_data, |
| | |
| | | */ |
| | | public function updateResponse(WP_REST_Request $request):WP_REST_Response |
| | | { |
| | | $this->queue = JVB()->queue(); |
| | | $id = (int) $request->get_param('id'); |
| | | $data = $request->get_params(); |
| | | $user_id = (int) $data['user'] ?? get_current_user_id(); |
| | |
| | | ]; |
| | | |
| | | // Add to queue |
| | | $operation = $this->queue->queueOperation( |
| | | $operation = JVB()->queue()->queueOperation( |
| | | 'update_response', |
| | | $user_id, |
| | | $queue_data, |
| | |
| | | */ |
| | | public function deleteResponse(WP_REST_Request $request):WP_REST_Response |
| | | { |
| | | $this->queue = JVB()->queue(); |
| | | $id = (int) $request->get_param('id'); |
| | | $user_id = get_current_user_id(); |
| | | $operation_id = $request->get_param('id') ?? uniqid('response_delete_'); |
| | |
| | | } |
| | | |
| | | // Add to queue |
| | | $operation = $this->queue->queueOperation( |
| | | $operation = JVB()->queue()->queueOperation( |
| | | 'delete_response', |
| | | $user_id, |
| | | ['response_id' => $id], |
| | |
| | | } |
| | | } |
| | | |
| | | $this->clearItemCache($data['item_id'], $data['content']); |
| | | CacheManager::invalidateGroup($this->cache_name); |
| | | $this->cache->forget($data['item_id']); |
| | | return ['success' => true, 'result' => $response_id]; |
| | | |
| | | case 'update_response': |
| | |
| | | ]; |
| | | } |
| | | |
| | | $this->clearItemCache($data['item_id'], $data['content']); |
| | | CacheManager::invalidateGroup($this->cache_name); |
| | | $this->cache->forget($data['item_id']); |
| | | $this->cache->flush(); |
| | | return ['success' => true, 'result' => $updated]; |
| | | |
| | | case 'delete_response': |
| | |
| | | ['%s', '%s', '%s'], |
| | | ['%d'] |
| | | ); |
| | | CacheManager::invalidateGroup($this->cache_name); |
| | | $this->cache->flush(); |
| | | return ['success' => true, 'result' => $updated ]; |
| | | } else { |
| | | // No replies, safe to actually delete |
| | |
| | | ]; |
| | | } |
| | | |
| | | $this->clearItemCache($data['item_id'], $data['content']); |
| | | CacheManager::invalidateGroup($this->cache_name); |
| | | $this->cache->forget($data['item_id']); |
| | | $this->cache->flush(); |
| | | return ['success' => true, 'result' => $deleted]; |
| | | } |
| | | } |