t-comm
Version:
专业、稳定、纯粹的工具库
100 lines (95 loc) • 2.85 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../tslib.es6-01322ba9.js');
var fs_fs = require('../fs/fs.js');
var rainbowToCos_helper_helper = require('./helper/helper.js');
var tencentCloud_cos_cos = require('../tencent-cloud/cos/cos.js');
require('fs');
require('../node/fs-util.js');
require('path');
require('../time/time.js');
require('../tencent-cloud/cos/link.js');
require('./helper/value-type.js');
require('../string/string.js');
require('../tencent-cloud/cos/helper.js');
require('../bite/format-bite.js');
function pushCOSFiles(list) {
var files = list.map(function (item) {
return {
key: item.cosKey,
path: item.savePath
};
});
return files;
}
function getCOSKeyAndSavePath(_a) {
var configList = _a.configList,
secretInfo = _a.secretInfo,
appName = _a.appName,
cosDir = _a.cosDir;
var _b = secretInfo || {},
groupName = _b.groupName,
envName = _b.envName;
return configList.map(function (config) {
var key = config.key,
valueType = config.valueType;
var savePath = rainbowToCos_helper_helper.getSavePath({
appName: appName,
groupName: groupName,
envName: envName,
key: key,
valueType: valueType
});
var saveFileName = rainbowToCos_helper_helper.getSaveFileName({
appName: appName,
groupName: groupName,
envName: envName,
key: key,
valueType: valueType
});
return tslib_es6.__assign(tslib_es6.__assign({}, config), {
cosKey: "".concat(cosDir, "/").concat(saveFileName),
savePath: savePath
});
});
}
function removeTmpFiles(cosKeyList) {
var fs = require('fs');
cosKeyList.forEach(function (item) {
fs.unlinkSync(item.savePath);
});
}
function syncRainbowToCOS(_a) {
var configList = _a.configList,
secretInfo = _a.secretInfo,
appName = _a.appName,
cosInfo = _a.cosInfo;
return tslib_es6.__awaiter(this, void 0, void 0, function () {
var cosKeyList, files;
return tslib_es6.__generator(this, function (_b) {
switch (_b.label) {
case 0:
cosKeyList = getCOSKeyAndSavePath({
configList: configList,
secretInfo: secretInfo,
appName: appName,
cosDir: cosInfo.dir
});
cosKeyList.forEach(function (item) {
fs_fs.writeFileSync(item.savePath, item.value);
});
files = pushCOSFiles(cosKeyList);
return [4 /*yield*/, tencentCloud_cos_cos.uploadCOSFile(tslib_es6.__assign({
files: files
}, cosInfo))];
case 1:
_b.sent();
return [4 /*yield*/, removeTmpFiles(cosKeyList)];
case 2:
_b.sent();
return [2 /*return*/];
}
});
});
}
exports.syncRainbowToCOS = syncRainbowToCOS;