dcfac6e39b6941ab3bfc7267cc6478b5a4c79ee9
[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 _0x33ff=['../../mysqldb','ChatMessage','setMaxListeners','save','remove','getUsers','Users','findAll','then','setDataValue','emit','hook','exports'];(function(_0x27b3e7,_0x4748fd){var _0x21b36e=function(_0x1c1ff2){while(--_0x1c1ff2){_0x27b3e7['push'](_0x27b3e7['shift']());}};_0x21b36e(++_0x4748fd);}(_0x33ff,0x9c));var _0xf33f=function(_0x5805d7,_0x3d584a){_0x5805d7=_0x5805d7-0x0;var _0x170fe4=_0x33ff[_0x5805d7];return _0x170fe4;};'use strict';var EventEmitter=require('events');var ChatInteraction=require(_0xf33f('0x0'))['db']['ChatInteraction'];var ChatMessage=require(_0xf33f('0x0'))['db'][_0xf33f('0x1')];var ChatInteractionEvents=new EventEmitter();ChatInteractionEvents[_0xf33f('0x2')](0x0);var events={'afterCreate':_0xf33f('0x3'),'afterUpdate':'update','afterDestroy':_0xf33f('0x4')};function emitEvent(_0xe0b5a5){return function(_0x4a146a,_0x119351,_0x3345bc){_0x4a146a[_0xf33f('0x5')]({'attributes':['id'],'raw':!![]})['then'](function(_0x59d716){_0x4a146a['setDataValue'](_0xf33f('0x6'),_0x59d716['map'](function(_0x354da6){return{'id':_0x354da6['id']};}));return ChatMessage[_0xf33f('0x7')]({'where':{'ChatInteractionId':_0x4a146a['id'],'direction':'in','read':![]},'raw':!![]});})[_0xf33f('0x8')](function(_0x3a5715){_0x4a146a[_0xf33f('0x9')]('unreadMessages',_0x3a5715['length']);ChatInteractionEvents['emit'](_0xe0b5a5+':'+_0x4a146a['id'],_0x4a146a);ChatInteractionEvents[_0xf33f('0xa')](_0xe0b5a5,_0x4a146a);_0x3345bc(null);})['catch'](_0x3345bc(null));};}for(var e in events){if(events['hasOwnProperty'](e)){var event=events[e];ChatInteraction[_0xf33f('0xb')](e,emitEvent(event));}}module[_0xf33f('0xc')]=ChatInteractionEvents;