d6db8becbb48af8d1c96516c00527bdd2f4e2435
[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 _0xd648=['events','../../mysqldb','MailInteraction','getUsers','then','setDataValue','Users','map','unreadMessages','length','emit','catch','hasOwnProperty','exports'];(function(_0x1a0cda,_0x302fe1){var _0x4d2dca=function(_0x193849){while(--_0x193849){_0x1a0cda['push'](_0x1a0cda['shift']());}};_0x4d2dca(++_0x302fe1);}(_0xd648,0x9a));var _0x8d64=function(_0x5d9caf,_0x467f88){_0x5d9caf=_0x5d9caf-0x0;var _0x36a9db=_0xd648[_0x5d9caf];return _0x36a9db;};'use strict';var EventEmitter=require(_0x8d64('0x0'));var MailInteraction=require(_0x8d64('0x1'))['db'][_0x8d64('0x2')];var MailMessage=require(_0x8d64('0x1'))['db']['MailMessage'];var MailInteractionEvents=new EventEmitter();MailInteractionEvents['setMaxListeners'](0x0);var events={'afterCreate':'save','afterUpdate':'update','afterDestroy':'remove'};function emitEvent(_0x425a14){return function(_0x30ac39,_0x20e236,_0xd3cdc8){_0x30ac39[_0x8d64('0x3')]({'attributes':['id'],'raw':!![]})[_0x8d64('0x4')](function(_0x7abbc3){_0x30ac39[_0x8d64('0x5')](_0x8d64('0x6'),_0x7abbc3[_0x8d64('0x7')](function(_0x2b3c52){return{'id':_0x2b3c52['id']};}));return MailMessage['findAll']({'where':{'MailInteractionId':_0x30ac39['id'],'direction':'in','read':![]},'raw':!![]});})['then'](function(_0x3b9f96){_0x30ac39['setDataValue'](_0x8d64('0x8'),_0x3b9f96[_0x8d64('0x9')]);MailInteractionEvents[_0x8d64('0xa')](_0x425a14+':'+_0x30ac39['id'],_0x30ac39);MailInteractionEvents[_0x8d64('0xa')](_0x425a14,_0x30ac39);_0xd3cdc8(null);})[_0x8d64('0xb')](_0xd3cdc8(null));};}for(var e in events){if(events[_0x8d64('0xc')](e)){var event=events[e];MailInteraction['hook'](e,emitEvent(event));}}module[_0x8d64('0xd')]=MailInteractionEvents;