diff options
Diffstat (limited to 'app/assets/javascripts/jira_import/utils/cache_update.js')
-rw-r--r-- | app/assets/javascripts/jira_import/utils/cache_update.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/app/assets/javascripts/jira_import/utils/cache_update.js b/app/assets/javascripts/jira_import/utils/cache_update.js new file mode 100644 index 00000000000..6aaf2010866 --- /dev/null +++ b/app/assets/javascripts/jira_import/utils/cache_update.js @@ -0,0 +1,37 @@ +import getJiraImportDetailsQuery from '../queries/get_jira_import_details.query.graphql'; +import { IMPORT_STATE } from './jira_import_utils'; + +export const addInProgressImportToStore = (store, jiraImportStart, fullPath) => { + if (jiraImportStart.errors.length) { + return; + } + + const queryDetails = { + query: getJiraImportDetailsQuery, + variables: { + fullPath, + }, + }; + + const cacheData = 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), + }, + }, + }, + }); +}; + +export default { + addInProgressImportToStore, +}; |