928a3702f0388bfc1c23c69cc2d0f7388d94c584
[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 _0xd643=['events','OpenchannelInteraction','../../mysqldb','OpenchannelMessage','setMaxListeners','save','update','getUsers','then','Users','findAll','length','emit','catch','hasOwnProperty','hook','exports'];(function(_0x559c6c,_0x16a2d3){var _0x6470d=function(_0x4ba48d){while(--_0x4ba48d){_0x559c6c['push'](_0x559c6c['shift']());}};_0x6470d(++_0x16a2d3);}(_0xd643,0x99));var _0x3d64=function(_0xa8c148,_0x179fc9){_0xa8c148=_0xa8c148-0x0;var _0xddc6f5=_0xd643[_0xa8c148];return _0xddc6f5;};'use strict';var EventEmitter=require(_0x3d64('0x0'));var OpenchannelInteraction=require('../../mysqldb')['db'][_0x3d64('0x1')];var OpenchannelMessage=require(_0x3d64('0x2'))['db'][_0x3d64('0x3')];var OpenchannelInteractionEvents=new EventEmitter();OpenchannelInteractionEvents[_0x3d64('0x4')](0x0);var events={'afterCreate':_0x3d64('0x5'),'afterUpdate':_0x3d64('0x6'),'afterDestroy':'remove'};function emitEvent(_0x5b01f8){return function(_0x531102,_0x49e935,_0x7babe){_0x531102[_0x3d64('0x7')]({'attributes':['id'],'raw':!![]})[_0x3d64('0x8')](function(_0x257ed5){_0x531102['setDataValue'](_0x3d64('0x9'),_0x257ed5['map'](function(_0x382e9e){return{'id':_0x382e9e['id']};}));return OpenchannelMessage[_0x3d64('0xa')]({'where':{'OpenchannelInteractionId':_0x531102['id'],'direction':'in','read':![]},'raw':!![]});})[_0x3d64('0x8')](function(_0x2739aa){_0x531102['setDataValue']('unreadMessages',_0x2739aa[_0x3d64('0xb')]);OpenchannelInteractionEvents[_0x3d64('0xc')](_0x5b01f8+':'+_0x531102['id'],_0x531102);OpenchannelInteractionEvents[_0x3d64('0xc')](_0x5b01f8,_0x531102);_0x7babe(null);})[_0x3d64('0xd')](_0x7babe(null));};}for(var e in events){if(events[_0x3d64('0xe')](e)){var event=events[e];OpenchannelInteraction[_0x3d64('0xf')](e,emitEvent(event));}}module[_0x3d64('0x10')]=OpenchannelInteractionEvents;