mirror of
https://github.com/alexgo-io/redstone-cache-layer.git
synced 2026-04-29 12:15:18 +08:00
33 lines
983 B
JavaScript
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}`);
|
|
});
|
|
};
|