UNPKG

@trap_stevo/legendarybuilderproreact-ui

Version:

The legendary UI & utility API that makes your application a legendary application. ~ Created by Steven Compton

115 lines 3.81 kB
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _regeneratorRuntime from "@babel/runtime/regenerator"; import AWS from "aws-sdk"; var HUDWasabiServiceManager = /*#__PURE__*/function () { function HUDWasabiServiceManager(accessKeyId, secretAccessKey) { var region = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "us-east-1"; var url = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "s3.us-east-1.wasabisys.com"; _classCallCheck(this, HUDWasabiServiceManager); AWS.config.update({ accessKeyId: accessKeyId, secretAccessKey: secretAccessKey, region: region, endpoint: new AWS.Endpoint(url), s3ForcePathStyle: true }); this.s3 = new AWS.S3(); return; } _createClass(HUDWasabiServiceManager, [{ key: "getFileMetadata", value: function () { var _getFileMetadata = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(bucketName, fileName) { var params, metadata; return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: params = { Bucket: bucketName, Key: fileName }; _context.next = 3; return this.s3.headObject(params).promise(); case 3: metadata = _context.sent; return _context.abrupt("return", metadata); case 5: case "end": return _context.stop(); } }, _callee, this); })); function getFileMetadata(_x, _x2) { return _getFileMetadata.apply(this, arguments); } return getFileMetadata; }() }, { key: "getSignedUrl", value: function getSignedUrl(bucketName, fileName) { var expiresIn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 60; var params = { Bucket: bucketName, Expires: expiresIn, Key: fileName }; return this.s3.getSignedUrlPromise("getObject", params); } }, { key: "uploadFiles", value: function uploadFiles(filesParams) { var _this = this; return Promise.all(filesParams.map(function (fileParam) { return _this.uploadFile(fileParam); })); } }, { key: "uploadFile", value: function uploadFile(fileParams) { return this.s3.upload(fileParams).promise(); } }, { key: "downloadFile", value: function downloadFile(bucketName, fileName) { var params = { Bucket: bucketName, Key: fileName }; return this.s3.getObject(params).promise(); } }, { key: "downloadFiles", value: function downloadFiles(bucketName, fileNames) { var _this2 = this; return Promise.all(fileNames.map(function (fileName) { return _this2.downloadFile(bucketName, fileName); })); } }, { key: "deleteFiles", value: function deleteFiles(bucketName, fileNames) { var _this3 = this; return Promise.all(fileNames.map(function (fileName) { return _this3.deleteFile(bucketName, fileName); })); } }, { key: "deleteFile", value: function deleteFile(bucketName, fileName) { var params = { Bucket: bucketName, Key: fileName }; return this.s3.deleteObject(params).promise(); } }, { key: "listFiles", value: function listFiles(bucketParams) { return this.s3.listObjectsV2(bucketParams).promise(); } }]); return HUDWasabiServiceManager; }(); export default HUDWasabiServiceManager;