dce046de9ff6b03bb107d334036d5d59b9f69d86
[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 _0xfa2c=['events','../../mysqldb','OpenchannelMessage','setMaxListeners','save','update','remove','getUsers','then','setDataValue','emit','catch','hasOwnProperty','hook'];(function(_0x2f2866,_0x222d25){var _0x2c8e9a=function(_0x3db27c){while(--_0x3db27c){_0x2f2866['push'](_0x2f2866['shift']());}};_0x2c8e9a(++_0x222d25);}(_0xfa2c,0xc4));var _0xcfa2=function(_0x5deb5b,_0x525ef4){_0x5deb5b=_0x5deb5b-0x0;var _0x17c2da=_0xfa2c[_0x5deb5b];return _0x17c2da;};'use strict';var EventEmitter=require(_0xcfa2('0x0'));var OpenchannelInteraction=require('../../mysqldb')['db']['OpenchannelInteraction'];var OpenchannelMessage=require(_0xcfa2('0x1'))['db'][_0xcfa2('0x2')];var OpenchannelInteractionEvents=new EventEmitter();OpenchannelInteractionEvents[_0xcfa2('0x3')](0x0);var events={'afterCreate':_0xcfa2('0x4'),'afterUpdate':_0xcfa2('0x5'),'afterDestroy':_0xcfa2('0x6')};function emitEvent(_0x2ff1d4){return function(_0x42c247,_0xc116b1,_0x520a3e){_0x42c247[_0xcfa2('0x7')]({'attributes':['id'],'raw':!![]})[_0xcfa2('0x8')](function(_0x15b57e){_0x42c247[_0xcfa2('0x9')]('Users',_0x15b57e['map'](function(_0x237e6f){return{'id':_0x237e6f['id']};}));return OpenchannelMessage['findAll']({'where':{'OpenchannelInteractionId':_0x42c247['id'],'direction':'in','read':![]},'raw':!![]});})[_0xcfa2('0x8')](function(_0x35506e){_0x42c247[_0xcfa2('0x9')]('unreadMessages',_0x35506e['length']);OpenchannelInteractionEvents[_0xcfa2('0xa')](_0x2ff1d4+':'+_0x42c247['id'],_0x42c247);OpenchannelInteractionEvents[_0xcfa2('0xa')](_0x2ff1d4,_0x42c247);_0x520a3e(null);})[_0xcfa2('0xb')](_0x520a3e(null));};}for(var e in events){if(events[_0xcfa2('0xc')](e)){var event=events[e];OpenchannelInteraction[_0xcfa2('0xd')](e,emitEvent(event));}}module['exports']=OpenchannelInteractionEvents;