const AWS = require('aws-sdk'); const defaultOptions = { accessKeyId: null , secretAccessKey: null , bucketName: null , bucketRegion: null , directory: '' } const s3 = new AWS.S3({ apiVersion: '2006-03-01' }); module.exports.create = (createOptions) => { const options = Object.assign({}, defaultOptions, createOptions); AWS.config.update({ region: options.bucketRegion , credentials: new AWS.Credentials({ accessKeyId: options.accessKeyId , secretAccessKey: options.secretAccessKey }) }); const handlers = { set: (opts) => { return require('./lib/set').set(opts, options, s3); }, get: (opts) => { return require('./lib/get').get(opts, options, s3); }, remove: (opts) => { return require('./lib/remove').remove(opts, options, s3); } }; return handlers; };