diff --git a/src/models/file/migrations/1698750314-add-full-quality-converted-object-to-storedobjects.js b/src/models/file/migrations/1698750314-add-full-quality-converted-object-to-storedobjects.js index 47264441fea7b7f28852a93aa4bfd261e3cf0d7b..b3875766a33d4ce636f0caa5e4058e9ffe73dac9 100644 --- a/src/models/file/migrations/1698750314-add-full-quality-converted-object-to-storedobjects.js +++ b/src/models/file/migrations/1698750314-add-full-quality-converted-object-to-storedobjects.js @@ -1,7 +1,6 @@ /* eslint-disable import/no-unresolved */ const logger = require('@pubsweet/logger') const mime = require('mime-types') -const axios = require('axios') const fs = require('fs-extra') const path = require('path') const sharp = require('sharp') @@ -11,7 +10,7 @@ const File = require('@coko/server/src/models/file/file.model') const { connectToFileStorage, - getURL, + download, uploadFileHandler, } = require('@coko/server/src/services/fileStorage') @@ -61,14 +60,6 @@ const sharpConversionFullFilePath = async ( return tempFullFilePath } -const createMinioFileImageStream = async url => { - const response = await axios.get(url, { - responseType: 'stream', - }) - - return response.data -} - exports.up = async knex => { try { return useTransaction(async trx => { @@ -76,6 +67,7 @@ exports.up = async knex => { const files = await File.query(trx) const tempDir = path.join(__dirname, '..', 'temp') + await fs.ensureDir(tempDir) await Promise.all( files.map(async file => { @@ -86,21 +78,16 @@ exports.up = async knex => { storedObject => storedObject.type === 'original', ) - const fileURL = await getURL(originalStoredObject.key) - const filenameWithoutExtension = path.parse( originalStoredObject.key, ).name - const minioFileImageStream = await createMinioFileImageStream( - fileURL, - ) + const tempPath = path.join(tempDir, originalStoredObject.key) + await download(originalStoredObject.key, tempPath) const format = originalStoredObject.extension - const buffer = await convertFileStreamIntoBuffer( - minioFileImageStream, - ) + const buffer = fs.readFileSync(tempPath) const tempFullFilePath = await sharpConversionFullFilePath( buffer, @@ -109,6 +96,8 @@ exports.up = async knex => { format, ) + fs.unlinkSync(tempPath) + const fullImageStream = fs.createReadStream(tempFullFilePath) const full = await uploadFileHandler(