var path = require('path'); var Promise = require('bluebird') const AWS = require('aws-sdk'); AWS.config.setPromisesDependency(Promise); const defaultOptions = { accessKeyId: null , secretAccessKey: null , bucketName: null , bucketRegion: null , accountsDir: 'accounts/' , configDir: 'acme/' } const s3 = new AWS.S3({ apiVersion: '2006-03-01' }); const pathHelper = require('./lib/pathHelper'); const fileNames = require('./lib/fileNames'); module.exports.create = (createOptions) => { const options = Object.assign({}, defaultOptions, createOptions); if (!options.debug) { console = console || {}; console.log = () => { }; console.error = () => { }; } AWS.config.update({ region: options.bucketRegion , credentials: new AWS.Credentials({ accessKeyId: options.accessKeyId , secretAccessKey: options.secretAccessKey }) }); const handlers = { certificates: { check: (opts) => { return require('./lib/certificates/check').check(opts, options, s3); }, checkKeypair: (opts) => { return require('./lib/certificates/checkKeypair').checkKeypair(opts, options, s3); }, setKeypair: (opts) => { return require('./lib/certificates/setKeypair').setKeypair(opts, options, s3); }, set: (opts) => { return require('./lib/certificates/set').set(opts, options, s3); } }, accounts: { check: (opts) => { return require('./lib/accounts/check').check(opts, options, s3); }, checkKeypair: (opts) => { return require('./lib/accounts/checkKeypair').checkKeypair(opts, options, s3); }, setKeypair: (opts) => { return require('./lib/accounts/setKeypair').setKeypair(opts, options, s3); }, set: (opts) => { return require('./lib/accounts/set').set(opts, options, s3); } } } return handlers; }