30 lines
835 B
JavaScript
30 lines
835 B
JavaScript
/*
|
||
! /servers/gateway/routers/template.router.js –
|
||
*/
|
||
|
||
// % import nodejs dependencies
|
||
const router = require('express').Router();
|
||
|
||
// % import external dependencies
|
||
const rootDir = path.resolve(__dirname, '..', '..', '..');
|
||
const { dirs } = require(path.resolve(rootDir, 'configuration', 'mapping.js'));
|
||
const { gatewayEvents, sendToWs } = path.resolve(dirs.gateway, 'functions.js');
|
||
|
||
// $ template router with websocket integration
|
||
router.post('/test', (req, res) => {
|
||
const correlationId = '';
|
||
|
||
sendToWs({
|
||
type: 'actionName',
|
||
correlationId,
|
||
data: req.body
|
||
});
|
||
|
||
// ~ wait for callback through central event bus
|
||
gatewayEvents.once('ws_message', (msg) => {
|
||
if (msg.correlationId === correlationId) res.json(msg.data);
|
||
});
|
||
});
|
||
|
||
// § export routers
|
||
module.exports = router; |