UNPKG

strapi-provider-upload-ibm-cos-s3

Version:

A storage provider for the Strapi CMS that manages file uploads to IBM COS S3

3 lines 1.09 kB
'use strict';var p=require('ibm-cos-sdk');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var p__namespace=/*#__PURE__*/_interopNamespace(p);var u={init:t=>{let n=new p__namespace.S3({apiKeyId:t.apiKey,serviceInstanceId:t.serviceInstanceId,endpoint:t.endpoint}),s=(e,r,a)=>a?`${a}/${e}${r}`:`${e}${r}`,o=e=>`https://${t.bucket}.${t.endpoint}/${e}`,i=async e=>{let r=s(e.hash,e.ext,t.folder);await n.putObject({Key:r,Body:e.stream||Buffer.from(e.buffer,"binary"),ACL:t.acl,ContentType:e.mime,Bucket:t.bucket}).promise(),e.url=o(r);};return {upload(e){return i(e)},uploadStream(e){return i(e)},async delete(e){let r=s(e.hash,e.ext,t.folder);return n.deleteObject({Key:r,Bucket:t.bucket}).promise()},async isPrivate(){return t.acl==="private"}}}}; module.exports=u;//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map