6d56c21ebd1b14de248833c8b74b098f0afd6b07
[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 _0x51a1=['hook','exports','../../mysqldb','ChatMessage','setMaxListeners','save','update','remove','getUsers','setDataValue','Users','map','findAll','then','length','emit','catch'];(function(_0x59ee6f,_0x450239){var _0x4c0979=function(_0x565e92){while(--_0x565e92){_0x59ee6f['push'](_0x59ee6f['shift']());}};_0x4c0979(++_0x450239);}(_0x51a1,0x134));var _0x151a=function(_0x327ddd,_0x148faf){_0x327ddd=_0x327ddd-0x0;var _0x19e041=_0x51a1[_0x327ddd];return _0x19e041;};'use strict';var EventEmitter=require('events');var ChatInteraction=require(_0x151a('0x0'))['db']['ChatInteraction'];var ChatMessage=require(_0x151a('0x0'))['db'][_0x151a('0x1')];var ChatInteractionEvents=new EventEmitter();ChatInteractionEvents[_0x151a('0x2')](0x0);var events={'afterCreate':_0x151a('0x3'),'afterUpdate':_0x151a('0x4'),'afterDestroy':_0x151a('0x5')};function emitEvent(_0xb6c6fc){return function(_0x53fc07,_0x2b1d35,_0x14f7fb){_0x53fc07[_0x151a('0x6')]({'attributes':['id'],'raw':!![]})['then'](function(_0x300901){_0x53fc07[_0x151a('0x7')](_0x151a('0x8'),_0x300901[_0x151a('0x9')](function(_0x1b59bd){return{'id':_0x1b59bd['id']};}));return ChatMessage[_0x151a('0xa')]({'where':{'ChatInteractionId':_0x53fc07['id'],'direction':'in','read':![]},'raw':!![]});})[_0x151a('0xb')](function(_0x326612){_0x53fc07[_0x151a('0x7')]('unreadMessages',_0x326612[_0x151a('0xc')]);ChatInteractionEvents[_0x151a('0xd')](_0xb6c6fc+':'+_0x53fc07['id'],_0x53fc07);ChatInteractionEvents[_0x151a('0xd')](_0xb6c6fc,_0x53fc07);_0x14f7fb(null);})[_0x151a('0xe')](_0x14f7fb(null));};}for(var e in events){if(events['hasOwnProperty'](e)){var event=events[e];ChatInteraction[_0x151a('0xf')](e,emitEvent(event));}}module[_0x151a('0x10')]=ChatInteractionEvents;