77e81c9677429676305a5e39f123e362add18a44
[motion2.git] / server / api / openchannelInteraction / openchannelInteraction.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 _0x169f=['map','findAll','length','emit','hasOwnProperty','hook','exports','../../mysqldb','setMaxListeners','save','update','then','setDataValue','Users'];(function(_0x3cca00,_0xe7923d){var _0x212d6a=function(_0x569729){while(--_0x569729){_0x3cca00['push'](_0x3cca00['shift']());}};_0x212d6a(++_0xe7923d);}(_0x169f,0x13b));var _0xf169=function(_0x25adcd,_0xd71e94){_0x25adcd=_0x25adcd-0x0;var _0xebde71=_0x169f[_0x25adcd];return _0xebde71;};'use strict';var EventEmitter=require('events');var OpenchannelInteraction=require(_0xf169('0x0'))['db']['OpenchannelInteraction'];var OpenchannelMessage=require(_0xf169('0x0'))['db']['OpenchannelMessage'];var OpenchannelInteractionEvents=new EventEmitter();OpenchannelInteractionEvents[_0xf169('0x1')](0x0);var events={'afterCreate':_0xf169('0x2'),'afterUpdate':_0xf169('0x3'),'afterDestroy':'remove'};function emitEvent(_0x38139e){return function(_0x53ef7e,_0x510aa8,_0x2aad3e){_0x53ef7e['getUsers']({'attributes':['id'],'raw':!![]})[_0xf169('0x4')](function(_0x24173e){_0x53ef7e[_0xf169('0x5')](_0xf169('0x6'),_0x24173e[_0xf169('0x7')](function(_0x255b85){return{'id':_0x255b85['id']};}));return OpenchannelMessage[_0xf169('0x8')]({'where':{'OpenchannelInteractionId':_0x53ef7e['id'],'direction':'in','read':![]},'raw':!![]});})[_0xf169('0x4')](function(_0x137536){_0x53ef7e[_0xf169('0x5')]('unreadMessages',_0x137536[_0xf169('0x9')]);OpenchannelInteractionEvents[_0xf169('0xa')](_0x38139e+':'+_0x53ef7e['id'],_0x53ef7e);OpenchannelInteractionEvents['emit'](_0x38139e,_0x53ef7e);_0x2aad3e(null);})['catch'](_0x2aad3e(null));};}for(var e in events){if(events[_0xf169('0xb')](e)){var event=events[e];OpenchannelInteraction[_0xf169('0xc')](e,emitEvent(event));}}module[_0xf169('0xd')]=OpenchannelInteractionEvents;