From c02143f9701d08d22ce0f6b4e49d867713184700 Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Mon, 28 Aug 2023 16:25:35 +0530 Subject: [PATCH 1/2] fix: group file upload issue --- .../src/utils/entry-create-script.ts | 26 ++++++++++++------- .../src/utils/entry-create-update-script.ts | 6 ++--- .../src/utils/entry-update-script.ts | 6 ++--- 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/packages/contentstack-branches/src/utils/entry-create-script.ts b/packages/contentstack-branches/src/utils/entry-create-script.ts index 5739966094..e4c7209f38 100644 --- a/packages/contentstack-branches/src/utils/entry-create-script.ts +++ b/packages/contentstack-branches/src/utils/entry-create-script.ts @@ -37,11 +37,11 @@ export function entryCreateScript(contentType) { return path.split('[').reduce((o, key) => o && o[key.replace(/\]$/, '')], obj); } - function updateValueByPath(obj, path, newValue, type, index) { + function updateValueByPath(obj, path, newValue, type, fileIndex) { path.split('[').reduce((o, key, index, arr) => { if (index === arr.length - 1) { if (type === 'file') { - o[key.replace(/]$/, '')][index] = newValue; + o[key.replace(/]$/, '')][fileIndex] = newValue; } else { o[key.replace(/]$/, '')][0].uid = newValue; } @@ -81,7 +81,7 @@ export function entryCreateScript(contentType) { for (const i in schema) { const currentPath = path ? path + '[' + schema[i].uid : schema[i].uid; if (schema[i].data_type === 'group' || schema[i].data_type === 'global_field') { - findAssets(schema[i].schema, entry, refPath, currentPath); + findAssets(schema[i].schema, entry, refPath, currentPath + '[0]'); } else if (schema[i].data_type === 'blocks') { for (const block in schema[i].blocks) { { @@ -386,6 +386,14 @@ export function entryCreateScript(contentType) { assetUrlMapper[asset.url] = res && res.url; } }; + + function handleErrorMsg(err) { + if (err?.errorMessage) { + console.log(err.errorMessage); + } else if (err?.message) { + console.log(err.message); + } + } const createEntryTask = () => { return { @@ -466,13 +474,13 @@ export function entryCreateScript(contentType) { compareFilteredProperties.length !== 0 && compareFilteredProperties.forEach(async (entryDetails) => { entryDetails = updateAssetDetailsInEntries(entryDetails); - let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails }).catch(error => { - throw error; - }); - if (flag.references) { - await updateReferences(entryDetails, createdEntry, references); + let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails }).catch(error => throw error;); + if(createdEntry){ + if (flag.references) { + await updateReferences(entryDetails, createdEntry, references); + } + await updateEntry(createdEntry, entryDetails); } - await updateEntry(createdEntry, entryDetails); }); } catch (error) { throw error; diff --git a/packages/contentstack-branches/src/utils/entry-create-update-script.ts b/packages/contentstack-branches/src/utils/entry-create-update-script.ts index 64b188d925..9926436dba 100644 --- a/packages/contentstack-branches/src/utils/entry-create-update-script.ts +++ b/packages/contentstack-branches/src/utils/entry-create-update-script.ts @@ -59,11 +59,11 @@ export function entryCreateUpdateScript(contentType) { return path.split('[').reduce((o, key) => o && o[key.replace(/\]$/, '')], obj); } - function updateValueByPath(obj, path, newValue, type, index) { + function updateValueByPath(obj, path, newValue, type, fileIndex) { path.split('[').reduce((o, key, index, arr) => { if (index === arr.length - 1) { if (type === 'file') { - o[key.replace(/]$/, '')][index] = newValue; + o[key.replace(/]$/, '')][fileIndex] = newValue; } else { o[key.replace(/]$/, '')][0].uid = newValue; } @@ -103,7 +103,7 @@ export function entryCreateUpdateScript(contentType) { for (const i in schema) { const currentPath = path ? path + '[' + schema[i].uid : schema[i].uid; if (schema[i].data_type === 'group' || schema[i].data_type === 'global_field') { - findAssets(schema[i].schema, entry, refPath, currentPath); + findAssets(schema[i].schema, entry, refPath, currentPath + '[0]'); } else if (schema[i].data_type === 'blocks') { for (const block in schema[i].blocks) { { diff --git a/packages/contentstack-branches/src/utils/entry-update-script.ts b/packages/contentstack-branches/src/utils/entry-update-script.ts index 0e085db968..1ee65bff4a 100644 --- a/packages/contentstack-branches/src/utils/entry-update-script.ts +++ b/packages/contentstack-branches/src/utils/entry-update-script.ts @@ -59,11 +59,11 @@ export function entryUpdateScript(contentType) { return path.split('[').reduce((o, key) => o && o[key.replace(/\]$/, '')], obj); } - function updateValueByPath(obj, path, newValue, type, index) { + function updateValueByPath(obj, path, newValue, type, fileIndex) { path.split('[').reduce((o, key, index, arr) => { if (index === arr.length - 1) { if (type === 'file') { - o[key.replace(/]$/, '')][index] = newValue; + o[key.replace(/]$/, '')][fileIndex] = newValue; } else { o[key.replace(/]$/, '')][0].uid = newValue; } @@ -103,7 +103,7 @@ export function entryUpdateScript(contentType) { for (const i in schema) { const currentPath = path ? path + '[' + schema[i].uid : schema[i].uid; if (schema[i].data_type === 'group' || schema[i].data_type === 'global_field') { - findAssets(schema[i].schema, entry, refPath, currentPath); + findAssets(schema[i].schema, entry, refPath, currentPath + '[0]'); } else if (schema[i].data_type === 'blocks') { for (const block in schema[i].blocks) { { From 87dbd68b7ad5a3b0323fd8fcb2edf5bb4a650b02 Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Mon, 28 Aug 2023 16:42:37 +0530 Subject: [PATCH 2/2] fix: entry create issue --- .../contentstack-branches/src/utils/entry-create-script.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/contentstack-branches/src/utils/entry-create-script.ts b/packages/contentstack-branches/src/utils/entry-create-script.ts index e4c7209f38..682ffb8b0f 100644 --- a/packages/contentstack-branches/src/utils/entry-create-script.ts +++ b/packages/contentstack-branches/src/utils/entry-create-script.ts @@ -474,7 +474,9 @@ export function entryCreateScript(contentType) { compareFilteredProperties.length !== 0 && compareFilteredProperties.forEach(async (entryDetails) => { entryDetails = updateAssetDetailsInEntries(entryDetails); - let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails }).catch(error => throw error;); + let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails }).catch(error => { + throw error; + }); if(createdEntry){ if (flag.references) { await updateReferences(entryDetails, createdEntry, references);