Bläddra i källkod

fix: duplicate when restore workflows backup (#1615)

Ahmad Kholid 1 år sedan
förälder
incheckning
f3c2deca10
2 ändrade filer med 9 tillägg och 3 borttagningar
  1. 3 1
      src/newtab/pages/settings/SettingsBackup.vue
  2. 6 2
      src/stores/workflow.js

+ 3 - 1
src/newtab/pages/settings/SettingsBackup.vue

@@ -410,7 +410,9 @@ async function restoreWorkflows() {
       };
       };
 
 
       if (state.updateIfExists) {
       if (state.updateIfExists) {
-        return workflowStore.insertOrUpdate(newWorkflows).then(showMessage);
+        return workflowStore
+          .insertOrUpdate(newWorkflows, { duplicateId: true })
+          .then(showMessage);
       }
       }
 
 
       return workflowStore.insert(newWorkflows).then(showMessage);
       return workflowStore.insert(newWorkflows).then(showMessage);

+ 6 - 2
src/stores/workflow.js

@@ -211,11 +211,15 @@ export const useWorkflowStore = defineStore('workflow', {
 
 
       return updatedWorkflows;
       return updatedWorkflows;
     },
     },
-    async insertOrUpdate(data = [], { checkUpdateDate = false } = {}) {
+    async insertOrUpdate(
+      data = [],
+      { checkUpdateDate = false, duplicateId = false } = {}
+    ) {
       const insertedData = {};
       const insertedData = {};
 
 
       data.forEach((item) => {
       data.forEach((item) => {
         const currentWorkflow = this.workflows[item.id];
         const currentWorkflow = this.workflows[item.id];
+
         if (currentWorkflow) {
         if (currentWorkflow) {
           let insert = true;
           let insert = true;
           if (checkUpdateDate && currentWorkflow.createdAt && item.updatedAt) {
           if (checkUpdateDate && currentWorkflow.createdAt && item.updatedAt) {
@@ -229,7 +233,7 @@ export const useWorkflowStore = defineStore('workflow', {
             insertedData[item.id] = mergedData;
             insertedData[item.id] = mergedData;
           }
           }
         } else {
         } else {
-          const workflow = defaultWorkflow(item);
+          const workflow = defaultWorkflow(item, { duplicateId });
           this.workflows[workflow.id] = workflow;
           this.workflows[workflow.id] = workflow;
           insertedData[workflow.id] = workflow;
           insertedData[workflow.id] = workflow;
         }
         }