47 lines
1.0 KiB
JavaScript
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();
|
|
}
|