summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/jira_import/utils/cache_update.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/jira_import/utils/cache_update.js')
-rw-r--r--app/assets/javascripts/jira_import/utils/cache_update.js21
1 files changed, 10 insertions, 11 deletions
diff --git a/app/assets/javascripts/jira_import/utils/cache_update.js b/app/assets/javascripts/jira_import/utils/cache_update.js
index 6aaf2010866..65b2e459f03 100644
--- a/app/assets/javascripts/jira_import/utils/cache_update.js
+++ b/app/assets/javascripts/jira_import/utils/cache_update.js
@@ -1,3 +1,4 @@
+import produce from 'immer';
import getJiraImportDetailsQuery from '../queries/get_jira_import_details.query.graphql';
import { IMPORT_STATE } from './jira_import_utils';
@@ -13,22 +14,20 @@ export const addInProgressImportToStore = (store, jiraImportStart, fullPath) =>
},
};
- const cacheData = store.readQuery({
+ const sourceData = store.readQuery({
...queryDetails,
});
store.writeQuery({
...queryDetails,
- data: {
- project: {
- ...cacheData.project,
- jiraImportStatus: IMPORT_STATE.SCHEDULED,
- jiraImports: {
- ...cacheData.project.jiraImports,
- nodes: cacheData.project.jiraImports.nodes.concat(jiraImportStart.jiraImport),
- },
- },
- },
+ data: produce(sourceData, draftData => {
+ draftData.project.jiraImportStatus = IMPORT_STATE.SCHEDULED; // eslint-disable-line no-param-reassign
+ // eslint-disable-next-line no-param-reassign
+ draftData.project.jiraImports.nodes = [
+ ...sourceData.project.jiraImports.nodes,
+ jiraImportStart.jiraImport,
+ ];
+ }),
});
};