All files / koa/libs aliyun-oss.js

53.85% Statements 7/13
100% Branches 2/2
40% Functions 2/5
53.85% Lines 7/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34    3x 3x       2x                 3x       3x                     3x 2x  
'use strict'
 
const OSS = require('ali-oss');
const { aliyun } = require('../config/env');
 
// const ossClient = new OSS(aliyun.oss)
function getOssClient(bucket) {
  return new OSS({
    region: aliyun.oss.region,
    accessKeyId: aliyun.oss.accessKeyId,
    accessKeySecret: aliyun.oss.accessKeySecret,
    timeout: aliyun.oss.timeout,
    bucket: bucket || aliyun.oss.bucket,
  });
}
 
exports.delOssObj = async(key, bucket) => {
  return await getOssClient(bucket).delete(key);
}
 
exports.delOssDir = async(dir, bucket) => {
  let client = getOssClient(bucket);
  let result = await client.list({
    prefix: dir + '/',
  });
  let objects = result.objects.map(item => {
    return item.name;
  });
  return await client.deleteMulti(objects);
}
 
exports.addOss = async(key, file, bucket) => {
  return await getOssClient(bucket).put(key, file);
}