Skip to content
Snippets Groups Projects

Sprint 17 features

Merged Bogdan Cochior requested to merge develop into master
2 files
+ 9
12
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -17,30 +17,27 @@ const createFilesPackage = (s3Config, archiver = nodeArchiver) => {
})
const s3 = new AWS.S3()
const asyncGetObject = promisify(s3.getObject.bind(s3))
const asyncListObjects = promisify(s3.listObjects.bind(s3))
return async ({ fragment, fileTypes, xmlFile, isEQA = false }) => {
const { id } = fragment
const { files = {} } = fragment
let packageName = get(xmlFile, 'name', '').replace('.xml', '')
if (isEQA) {
packageName = `ACCEPTED_${packageName}`
}
try {
const params = {
Bucket: s3Config.bucket,
Prefix: `${id}`,
}
const s3Items = await asyncListObjects(params)
if (s3Items) {
const s3FileIDs = Object.values(files)
.reduce((acc, f) => [...acc, ...f], [])
.map(f => f.id)
if (s3FileIDs) {
const s3Files = await Promise.all(
s3Items.Contents.map(content =>
s3FileIDs.map(fileID =>
asyncGetObject({
Bucket: s3Config.bucket,
Key: content.Key,
Key: fileID,
}),
),
)
if (s3Files) {
const packageOutput = fs.createWriteStream(`${packageName}.zip`)
const archive = archiver('zip')