Files
redstone-cache-layer/index.js
2021-11-03 15:49:12 +01:00

33 lines
983 B
JavaScript

const awsServerlessExpress = require("aws-serverless-express");
const yargs = require("yargs/yargs");
const { hideBin } = require("yargs/helpers");
const config = require("./config");
const app = require("./app");
const logger = require("./helpers/logger");
const {
connectToMongoMemoryServer,
connectToRemoteMongo,
} = require("./helpers/mongo");
const argv = yargs(hideBin(process.argv)).argv;
// Connecting to mongoDB
if (config.enableLiteMode) {
connectToMongoMemoryServer();
} else {
connectToRemoteMongo(argv.db || config.dbUrl);
}
// Exporting method for docker container for AWS lambda
const server = awsServerlessExpress.createServer(app);
exports.handler = (event, context) =>
awsServerlessExpress.proxy(server, event, context);
// Method for locals server execution
exports.runLocalServer = () => {
const port = argv.port || config.defaultLocalPort;
app.listen(port, () => {
logger.info(`Express api listening at http://localhost:${port}`);
});
};