Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// view engine
app.set('view engine', 'ejs');
app.set('views', './src/views');
// session
app.use(
session({
secret: process.env.SESSION_KEY,
resave: false,
saveUninitialized: false
})
);
// Forest Admin
app.use(
ForestAdmin.init({
modelsDir: path.resolve('./src/models'),
envSecret: process.env.FOREST_ENV_SECRET,
authSecret: process.env.FOREST_AUTH_SECRET,
sequelize
})
);
// auth
setupAuth(app);
// graphql
setupGraphQL(app);
// static files
app.use(express.static('public'));
credentialsRequired: false
}));
fs.readdirSync('./decorators/routes').forEach((file) => {
if (file[0] !== '.') {
app.use('/forest', require(`./decorators/routes/${file}`));
}
});
fs.readdirSync('./routes').forEach((file) => {
if (file[0] !== '.') {
app.use('/forest', require('./routes/' + file));
}
});
app.use(require('forest-express-sequelize').init({
modelsDir: __dirname + '/models',
envSecret: process.env.FOREST_ENV_SECRET,
authSecret: process.env.FOREST_AUTH_SECRET,
sequelize: require('./models').sequelize,
integrations: {
stripe: {
apiKey: process.env.STRIPE_SECRET_KEY,
mapping: 'customers.stripe_id',
stripe: require('stripe')
}
}
}));
module.exports = app;
export const init = () =>
Liana.init({
modelsDir: path.resolve(__dirname, '../models'),
configDir: path.resolve(__dirname, '../forest'),
envSecret: process.env.FOREST_ENV_SECRET,
authSecret: process.env.FOREST_AUTH_SECRET,
connections: [{ models: getForestModels(), options: sequelize.options }],
sequelize: sequelize.Sequelize,
});