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 _0xe4e9=['events','../../mysqldb','ChatInteraction','ChatMessage','setMaxListeners','save','update','remove','getUsers','then','setDataValue','Users','unreadMessages','length','emit'];(function(_0x2603ed,_0x425837){var _0x492143=function(_0x2dc3e7){while(--_0x2dc3e7){_0x2603ed['push'](_0x2603ed['shift']());}};_0x492143(++_0x425837);}(_0xe4e9,0x87));var _0x9e4e=function(_0xee534,_0x3bb196){_0xee534=_0xee534-0x0;var _0x36465a=_0xe4e9[_0xee534];return _0x36465a;};'use strict';var EventEmitter=require(_0x9e4e('0x0'));var ChatInteraction=require(_0x9e4e('0x1'))['db'][_0x9e4e('0x2')];var ChatMessage=require(_0x9e4e('0x1'))['db'][_0x9e4e('0x3')];var ChatInteractionEvents=new EventEmitter();ChatInteractionEvents[_0x9e4e('0x4')](0x0);var events={'afterCreate':_0x9e4e('0x5'),'afterUpdate':_0x9e4e('0x6'),'afterDestroy':_0x9e4e('0x7')};function emitEvent(_0x187f13){return function(_0x3e711c,_0x2739ce,_0x9c3c76){_0x3e711c[_0x9e4e('0x8')]({'attributes':['id'],'raw':!![]})[_0x9e4e('0x9')](function(_0x2846e8){_0x3e711c[_0x9e4e('0xa')](_0x9e4e('0xb'),_0x2846e8['map'](function(_0x2c8ac8){return{'id':_0x2c8ac8['id']};}));return ChatMessage['findAll']({'where':{'ChatInteractionId':_0x3e711c['id'],'direction':'in','read':![]},'raw':!![]});})[_0x9e4e('0x9')](function(_0xad688){_0x3e711c[_0x9e4e('0xa')](_0x9e4e('0xc'),_0xad688[_0x9e4e('0xd')]);ChatInteractionEvents[_0x9e4e('0xe')](_0x187f13+':'+_0x3e711c['id'],_0x3e711c);ChatInteractionEvents[_0x9e4e('0xe')](_0x187f13,_0x3e711c);_0x9c3c76(null);})['catch'](_0x9c3c76(null));};}for(var e in events){if(events['hasOwnProperty'](e)){var event=events[e];ChatInteraction['hook'](e,emitEvent(event));}}module['exports']=ChatInteractionEvents;