From c68aefb847b09daa0697de7684d3451e2e68ce1e Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Thu, 09 Jul 2026 23:10:23 +0000
Subject: [PATCH] =Refactor of Integrations.php to be a bit more useful with a suite of methods for create, update, delete back and forths for integrations where sharing is enabled. Also considering a single instance with a connect method to connect as the site (no user) vs connecting as an individual user - rather than recreating instances for every user.
---
inc/managers/queue/Storage.php | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/inc/managers/queue/Storage.php b/inc/managers/queue/Storage.php
index 13c395e..8793c6e 100644
--- a/inc/managers/queue/Storage.php
+++ b/inc/managers/queue/Storage.php
@@ -168,10 +168,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,
--
Gitblit v1.10.0