Skip to content

Commit a9ecfdf

Browse files
committed
reintroduce the gcpApis instead of redefining them
1 parent 8092247 commit a9ecfdf

File tree

1 file changed

+40
-40
lines changed

1 file changed

+40
-40
lines changed

lib/storage/data/external/GCP/GcpApis/completeMPU.js

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -18,53 +18,53 @@ const { logHelper } = require('../../utils');
1818
* @return {undefined}
1919
*/
2020
function completeMPU(params, callback) {
21-
if (!params || !params.MultipartUpload ||
22-
!params.MultipartUpload.Parts || !params.UploadId ||
23-
!params.Bucket || !params.Key) {
24-
const error = errorInstances.InvalidRequest
25-
.customizeDescription('Missing required parameter');
21+
if (!params || !params.MultipartUpload ||
22+
!params.MultipartUpload.Parts || !params.UploadId ||
23+
!params.Bucket || !params.Key) {
24+
const error = errorInstances.InvalidRequest
25+
.customizeDescription('Missing required parameter');
2626
logHelper(logger, 'error', 'error in completeMultipartUpload', error);
27-
return callback(error);
28-
}
29-
const partList = params.MultipartUpload.Parts;
30-
// verify that the part list is in order
31-
if (params.MultipartUpload.Parts.length === 0) {
32-
const error = errorInstances.InvalidRequest
33-
.customizeDescription('You must specify at least one part');
27+
return callback(error);
28+
}
29+
const partList = params.MultipartUpload.Parts;
30+
if (partList.length === 0) {
31+
const error = errorInstances.InvalidRequest
32+
.customizeDescription('You must specify at least one part');
3433
logHelper(logger, 'error', 'error in completeMultipartUpload', error);
35-
return callback(error);
36-
}
37-
for (let ind = 1; ind < partList.length; ++ind) {
38-
if (partList[ind - 1].PartNumber >= partList[ind].PartNumber) {
34+
return callback(error);
35+
}
36+
for (let ind = 1; ind < partList.length; ++ind) {
37+
if (partList[ind - 1].PartNumber >= partList[ind].PartNumber) {
3938
logHelper(logger, 'error', 'error in completeMultipartUpload',
4039
errors.InvalidPartOrder);
4140
return callback(errors.InvalidPartOrder);
4241
}
42+
const mpuHelper = new MpuHelper(this);
43+
return async.waterfall([
44+
next => mpuHelper.splitMerge(params, partList, 'compose', next),
45+
(numParts, next) => {
46+
mpuHelper.composeFinal(numParts, params, next);
47+
},
48+
(result, next) => {
49+
mpuHelper.generateMpuResult(result, partList, next);
50+
},
51+
(result, aggregateETag, next) => {
52+
mpuHelper.copyToMain(result, aggregateETag, params, next);
53+
},
54+
(mpuResult, next) => {
55+
const delParams = {
56+
Bucket: params.Bucket,
57+
MPU: params.MPU,
58+
Prefix: createMpuKey(params.Key, params.UploadId),
59+
};
60+
mpuHelper.removeParts(delParams, err => {
61+
next(err, mpuResult);
62+
});
63+
},
64+
], (err, result) => {
65+
callback(err, result);
66+
});
4367
}
44-
const mpuHelper = new MpuHelper(this); // this === GcpClient
45-
return async.waterfall([
46-
next => {
47-
// first compose: in mpu bucket
48-
// max 10,000 => 313 parts
49-
// max component count per object 32
50-
logger.trace('completeMultipartUpload: compose',
51-
{ partCount: partList.length });
52-
mpuHelper.splitMerge(params, partList, 'compose', next);
53-
},
54-
(numParts, next) => mpuHelper.composeFinal(numParts, params, next),
55-
(result, next) => mpuHelper.generateMpuResult(result, partList, next),
56-
(result, aggregateETag, next) =>
57-
mpuHelper.copyToMain(result, aggregateETag, params, next),
58-
(mpuResult, next) => {
59-
const delParams = {
60-
Bucket: params.Bucket,
61-
MPU: params.MPU,
62-
Prefix: createMpuKey(params.Key, params.UploadId),
63-
};
64-
return mpuHelper.removeParts(delParams,
65-
err => next(err, mpuResult));
66-
},
67-
], callback);
6868
}
6969

7070
module.exports = completeMPU;

0 commit comments

Comments
 (0)