mirror of
https://github.com/plankanban/planka.git
synced 2025-07-19 21:29:43 +02:00
feat: Add S3 support for uploads (#938)
This commit is contained in:
parent
f6ea10df97
commit
950a070589
16 changed files with 579 additions and 24 deletions
|
@ -0,0 +1,45 @@
|
|||
const AWS = require('aws-sdk');
|
||||
|
||||
class S3Client {
|
||||
constructor(options) {
|
||||
AWS.config.update({
|
||||
accessKeyId: options.accessKeyId,
|
||||
secretAccessKey: options.secretAccessKey,
|
||||
region: options.region,
|
||||
});
|
||||
this.bucket = options.bucket;
|
||||
this.client = new AWS.S3({
|
||||
endpoint: options.endpoint,
|
||||
});
|
||||
}
|
||||
|
||||
upload({ Key, Body, ContentType }) {
|
||||
return this.client
|
||||
.upload({
|
||||
Bucket: this.bucket,
|
||||
Key,
|
||||
Body,
|
||||
ContentType,
|
||||
ACL: 'public-read',
|
||||
})
|
||||
.promise();
|
||||
}
|
||||
|
||||
delete({ Key }) {
|
||||
return this.client
|
||||
.deleteObject({
|
||||
Bucket: this.bucket,
|
||||
Key,
|
||||
})
|
||||
.promise();
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
fn() {
|
||||
if (sails.config.custom.s3Config) {
|
||||
return new S3Client(sails.config.custom.s3Config);
|
||||
}
|
||||
return null;
|
||||
},
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue