From a9654f00c8fbc9934289d761843ddd071025013f Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 28 Aug 2026 17:20:28 +0000
Subject: [PATCH] =PHPStorm Code Inspection: fixed class reference errors (from getting rid of JVB() and replacing with direct class::getInstance; as well as general code sniffing, etc

---
 inc/managers/queue/Storage.php |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/inc/managers/queue/Storage.php b/inc/managers/queue/Storage.php
index 13c395e..6005ea4 100644
--- a/inc/managers/queue/Storage.php
+++ b/inc/managers/queue/Storage.php
@@ -7,6 +7,7 @@
 use JVBase\managers\Cache;
 use JVBase\managers\CustomTable;
 use LogicException;
+use Throwable;
 
 class Storage
 {
@@ -19,7 +20,7 @@
 	public function __construct()
 	{
 		$this->defineTables();
-		$this->cache = Cache::for('queue', DAY_IN_SECONDS)->user();
+		$this->cache = Cache::for('queue', null, DAY_IN_SECONDS)->user();
 	}
 
 	public function hasProcessingOperations(): bool
@@ -168,10 +169,15 @@
 
 	public function insert(Operation $op): bool
 	{
-		$result = $this->table->insert([
-			'id'              => $op->id,
-			'type'            => $op->type,
-			'user_id'         => $op->userId,
+		$existing = $this->find($op->id);
+		if ($existing && in_array($existing->state, ['completed', 'processing'] )) {
+			$op->id = Queue::generateId($op->userId);
+		}
+		$result = $this->table->findOrCreate([
+				'id'		=> $op->id,
+				'type'		=> $op->type,
+				'user_id'	=> $op->userId,
+			],[
 			'request_data'    => json_encode($op->requestData),
 			'total_items'     => $op->totalItems,
 			'processed_items' => $op->processedItems,
@@ -406,7 +412,7 @@
 			$result = $callback();
 			$this->table->commit();
 			return $result;
-		} catch (\Throwable $e) {
+		} catch (Throwable $e) {
 			$this->table->rollback();
 			error_log('[Storage] Transaction rolled back: ' . $e->getMessage());
 			throw $e;
@@ -435,7 +441,7 @@
 	}
 
 	/**
-	 * @throws \Throwable
+	 * @throws Throwable
 	 */
 	public function replaceDependency(string $fromId, string $toId): int
 	{

--
Gitblit v1.10.0