@harmonyjs/controller-persistence-events
Version:
Persistence events to SocketIO controller for Harmony
48 lines (40 loc) • 1.4 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
/*
* 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');
}
};
};
exports.default = ControllerPersistenceEvents;
//# sourceMappingURL=index.js.map