diff --git a/packages/core/data-transfer/src/strapi/providers/local-destination/index.ts b/packages/core/data-transfer/src/strapi/providers/local-destination/index.ts index 95f3b016d1..d24c98b0ac 100644 --- a/packages/core/data-transfer/src/strapi/providers/local-destination/index.ts +++ b/packages/core/data-transfer/src/strapi/providers/local-destination/index.ts @@ -357,8 +357,11 @@ class LocalStrapiDestinationProvider implements IDestinationProvider { // Files formats are stored within the parent file entity if (uploadData?.type) { + const condition = uploadData?.id + ? { id: fileEntitiesMapper[uploadData.id] } + : { hash: uploadData.mainHash }; const entry: IFile = await strapi.db.query('plugin::upload.file').findOne({ - where: { id: fileEntitiesMapper[uploadData.id] }, + where: condition, }); const specificFormat = entry?.formats?.[uploadData.type]; if (specificFormat) { diff --git a/packages/core/data-transfer/src/strapi/providers/local-source/assets.ts b/packages/core/data-transfer/src/strapi/providers/local-source/assets.ts index 212b61b9e6..f15d7e8d05 100644 --- a/packages/core/data-transfer/src/strapi/providers/local-source/assets.ts +++ b/packages/core/data-transfer/src/strapi/providers/local-source/assets.ts @@ -96,7 +96,7 @@ export const createAssetsStream = (strapi: LoadedStrapi): Duplex => { : fileFormat.url; const fileFormatStats = await getFileStats(fileFormatFilepath, isLocalProvider); const fileFormatStream = getFileStream(fileFormatFilepath, isLocalProvider); - const metadata = { ...fileFormat, type: format, id: file.id }; + const metadata = { ...fileFormat, type: format, id: file.id, mainHash: file.hash }; yield { metadata, filepath: fileFormatFilepath, diff --git a/packages/core/data-transfer/types/common-entities.d.ts b/packages/core/data-transfer/types/common-entities.d.ts index f2e0c87c67..6f2e66522e 100644 --- a/packages/core/data-transfer/types/common-entities.d.ts +++ b/packages/core/data-transfer/types/common-entities.d.ts @@ -147,6 +147,7 @@ interface IFile { provider?: string; provider_metadata?: Record; type?: string; + mainHash?: string; } export interface IAsset { filename: string;