1 // *************************************************************************
3 // * xCALLY Motion - The Omnichannel Contact Center *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved *
6 // *************************************************************************
8 // * Email: info@xcally.com *
9 // * Website: https://www.xcally.com *
11 // *************************************************************************
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. *
17 // *************************************************************************
18 var _0xa9da=['../../mysqldb','FaxInteraction','setMaxListeners','update','getUsers','then','setDataValue','map','length','emit','catch','hasOwnProperty','hook','events'];(function(_0x46a38b,_0x16ffb5){var _0x346e75=function(_0x34f8d0){while(--_0x34f8d0){_0x46a38b['push'](_0x46a38b['shift']());}};_0x346e75(++_0x16ffb5);}(_0xa9da,0x1cd));var _0xaa9d=function(_0x101d19,_0xc0e538){_0x101d19=_0x101d19-0x0;var _0x24c472=_0xa9da[_0x101d19];return _0x24c472;};'use strict';var EventEmitter=require(_0xaa9d('0x0'));var FaxInteraction=require(_0xaa9d('0x1'))['db'][_0xaa9d('0x2')];var FaxMessage=require(_0xaa9d('0x1'))['db']['FaxMessage'];var FaxInteractionEvents=new EventEmitter();FaxInteractionEvents[_0xaa9d('0x3')](0x0);var events={'afterCreate':'save','afterUpdate':_0xaa9d('0x4'),'afterDestroy':'remove'};function emitEvent(_0x3757cd){return function(_0x398955,_0x29cca2,_0x5d658d){_0x398955[_0xaa9d('0x5')]({'attributes':['id'],'raw':!![]})[_0xaa9d('0x6')](function(_0x488618){_0x398955[_0xaa9d('0x7')]('Users',_0x488618[_0xaa9d('0x8')](function(_0x5102d6){return{'id':_0x5102d6['id']};}));return FaxMessage['findAll']({'where':{'FaxInteractionId':_0x398955['id'],'direction':'in','read':![]},'raw':!![]});})[_0xaa9d('0x6')](function(_0x58455c){_0x398955[_0xaa9d('0x7')]('unreadMessages',_0x58455c[_0xaa9d('0x9')]);FaxInteractionEvents[_0xaa9d('0xa')](_0x3757cd+':'+_0x398955['id'],_0x398955);FaxInteractionEvents[_0xaa9d('0xa')](_0x3757cd,_0x398955);_0x5d658d(null);})[_0xaa9d('0xb')](_0x5d658d(null));};}for(var e in events){if(events[_0xaa9d('0xc')](e)){var event=events[e];FaxInteraction[_0xaa9d('0xd')](e,emitEvent(event));}}module['exports']=FaxInteractionEvents;