Files
payloadcms/demo/server.js
2020-11-21 03:30:47 -05:00

47 lines
1.0 KiB
JavaScript

/* eslint-disable no-console */
const express = require('express');
const path = require('path');
const payload = require('../src/dev');
const expressApp = express();
expressApp.use('/static', express.static(path.resolve(__dirname, 'client/static')));
payload.init({
secret: 'SECRET_KEY',
mongoURL: 'mongodb://localhost/payload',
express: expressApp,
onInit: () => {
console.log('Payload Demo Initialized');
},
});
const externalRouter = express.Router();
externalRouter.use(payload.authenticate);
externalRouter.get('/', (req, res) => {
if (req.user) {
return res.send(`Authenticated successfully as ${req.user.email}.`);
}
return res.send('Not authenticated');
});
expressApp.use('/external-route', externalRouter);
exports.start = (cb) => {
const server = expressApp.listen(3000, async () => {
payload.logger.info(`listening on ${3000}...`);
if (cb) cb();
});
return server;
};
// when server.js is launched directly
if (module.id === require.main.id) {
exports.start();
}