minecluster/lib/storage/s3-integration.js
dunemask 4f19cf19d9 [FEATURE] Basic System with file manager (#4)
Co-authored-by: dunemask <dunemask@gmail.com>
Co-authored-by: Dunemask <dunemask@gmail.com>
Reviewed-on: https://gitea.dunemask.dev/elysium/minecluster/pulls/4
2023-12-20 03:20:04 +00:00

34 lines
704 B
JavaScript

import multer from "multer";
import multerS3 from "multer-s3";
import AWS from "aws-sdk";
// Environment Variables
const {
MCL_S3_ENDPOINT: s3Endpoint,
MCL_S3_ACCESS_KEY_ID: s3KeyId,
MCL_S3_ACCESS_KEY: s3Key,
} = process.env;
export const mcl = "mcl";
export const s3 = new AWS.S3({
endpoint: s3Endpoint,
accessKeyId: s3KeyId,
secretAccessKey: s3Key,
sslEnabled: true,
s3ForcePathStyle: true,
});
const storage = multerS3({
s3,
bucket,
contentType: multerS3.AUTO_CONTENT_TYPE,
metadata: (req, file, cb) => {
cb(null, { fieldName: file.fieldname });
},
key: (req, file, cb) => {
cb(null, Date.now().toString());
},
});
export const upload = multer({ storage });