b82ebfd984449e332e9299ff9dbb42ca20738788
[motion2.git] / server / api / mailInteraction / mailInteraction.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 _0x0769=['unreadMessages','length','emit','catch','events','../../mysqldb','MailMessage','setMaxListeners','save','update','remove','then','Users','findAll','setDataValue'];(function(_0x2f5ac5,_0x1ee939){var _0x37c9a8=function(_0x15031f){while(--_0x15031f){_0x2f5ac5['push'](_0x2f5ac5['shift']());}};_0x37c9a8(++_0x1ee939);}(_0x0769,0x130));var _0x9076=function(_0xa61bff,_0x1dd784){_0xa61bff=_0xa61bff-0x0;var _0x7cf1ae=_0x0769[_0xa61bff];return _0x7cf1ae;};'use strict';var EventEmitter=require(_0x9076('0x0'));var MailInteraction=require(_0x9076('0x1'))['db']['MailInteraction'];var MailMessage=require(_0x9076('0x1'))['db'][_0x9076('0x2')];var MailInteractionEvents=new EventEmitter();MailInteractionEvents[_0x9076('0x3')](0x0);var events={'afterCreate':_0x9076('0x4'),'afterUpdate':_0x9076('0x5'),'afterDestroy':_0x9076('0x6')};function emitEvent(_0x7fc5d4){return function(_0x2e26d3,_0x40e409,_0x536b46){_0x2e26d3['getUsers']({'attributes':['id'],'raw':!![]})[_0x9076('0x7')](function(_0x4ea721){_0x2e26d3['setDataValue'](_0x9076('0x8'),_0x4ea721['map'](function(_0x20bca5){return{'id':_0x20bca5['id']};}));return MailMessage[_0x9076('0x9')]({'where':{'MailInteractionId':_0x2e26d3['id'],'direction':'in','read':![]},'raw':!![]});})[_0x9076('0x7')](function(_0x218f96){_0x2e26d3[_0x9076('0xa')](_0x9076('0xb'),_0x218f96[_0x9076('0xc')]);MailInteractionEvents['emit'](_0x7fc5d4+':'+_0x2e26d3['id'],_0x2e26d3);MailInteractionEvents[_0x9076('0xd')](_0x7fc5d4,_0x2e26d3);_0x536b46(null);})[_0x9076('0xe')](_0x536b46(null));};}for(var e in events){if(events['hasOwnProperty'](e)){var event=events[e];MailInteraction['hook'](e,emitEvent(event));}}module['exports']=MailInteractionEvents;