UNPKG

@harmonyjs/controller-persistence-events

Version:

Persistence events to SocketIO controller for Harmony

27 lines (26 loc) 1.33 kB
/* * The Persistence Events Controller transfers Persistence Events to SocketIO layer */ const ControllerPersistenceEvents = function ControllerPersistenceEvents(config) { return ({ name: 'ControllerPersistenceEvents', async initialize({ logger, socket }) { const { events } = config; events.on('updated', ({ model, document }) => { var _a, _b; socket.to('persistence-events').emit(`${model.name}-updated`, (_a = document) === null || _a === void 0 ? void 0 : _a._id); socket.to('persistence-events').emit(`${model.name}-saved`, (_b = document) === null || _b === void 0 ? void 0 : _b._id); }); events.on('removed', ({ model, document }) => { var _a, _b; socket.to('persistence-events').emit(`${model.name}-updated`, (_a = document) === null || _a === void 0 ? void 0 : _a._id); socket.to('persistence-events').emit(`${model.name}-removed`, (_b = document) === null || _b === void 0 ? void 0 : _b._id); }); socket.on('connection', (s) => { s.join('persistence-events'); }); logger.info('Persistence events are forwarded to Socket.IO'); }, }); }; export default ControllerPersistenceEvents;