1dd42878e6ec9d33b3ad7aace5d972542124ca9a
[motion2.git] / server / api / chatInteraction / chatInteraction.events.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
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.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xf8dc=['save','remove','getUsers','then','setDataValue','Users','map','findAll','unreadMessages','length','emit','hasOwnProperty','hook','../../mysqldb','ChatInteraction','ChatMessage','setMaxListeners'];(function(_0x3ca3bc,_0x352747){var _0x18b07c=function(_0x45b71d){while(--_0x45b71d){_0x3ca3bc['push'](_0x3ca3bc['shift']());}};_0x18b07c(++_0x352747);}(_0xf8dc,0x194));var _0xcf8d=function(_0x37bd26,_0x5ad346){_0x37bd26=_0x37bd26-0x0;var _0xe83dc4=_0xf8dc[_0x37bd26];return _0xe83dc4;};'use strict';var EventEmitter=require('events');var ChatInteraction=require(_0xcf8d('0x0'))['db'][_0xcf8d('0x1')];var ChatMessage=require(_0xcf8d('0x0'))['db'][_0xcf8d('0x2')];var ChatInteractionEvents=new EventEmitter();ChatInteractionEvents[_0xcf8d('0x3')](0x0);var events={'afterCreate':_0xcf8d('0x4'),'afterUpdate':'update','afterDestroy':_0xcf8d('0x5')};function emitEvent(_0x4c98b9){return function(_0x5ec884,_0x45d48e,_0x53a1ac){_0x5ec884[_0xcf8d('0x6')]({'attributes':['id'],'raw':!![]})[_0xcf8d('0x7')](function(_0xdf3a5){_0x5ec884[_0xcf8d('0x8')](_0xcf8d('0x9'),_0xdf3a5[_0xcf8d('0xa')](function(_0x4a5aa4){return{'id':_0x4a5aa4['id']};}));return ChatMessage[_0xcf8d('0xb')]({'where':{'ChatInteractionId':_0x5ec884['id'],'direction':'in','read':![]},'raw':!![]});})[_0xcf8d('0x7')](function(_0x2bd437){_0x5ec884[_0xcf8d('0x8')](_0xcf8d('0xc'),_0x2bd437[_0xcf8d('0xd')]);ChatInteractionEvents['emit'](_0x4c98b9+':'+_0x5ec884['id'],_0x5ec884);ChatInteractionEvents[_0xcf8d('0xe')](_0x4c98b9,_0x5ec884);_0x53a1ac(null);})['catch'](_0x53a1ac(null));};}for(var e in events){if(events[_0xcf8d('0xf')](e)){var event=events[e];ChatInteraction[_0xcf8d('0x10')](e,emitEvent(event));}}module['exports']=ChatInteractionEvents;