Built motion from commit e02f907f.|2.6.14
[motion2.git] / server / components / interaction / update-interaction.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 _0x74df=['abandoned','total','closed','disposition','UserId','unmanaged','MailMessage','findOne','out','plainBody','-id','then','lastMsgText','trimStart','catch','updateInteraction','Users','TagIds','lodash','../../mysqldb','forEach','waiting','talking','answered'];(function(_0x2174fd,_0x259235){var _0x3bfd50=function(_0x486801){while(--_0x486801){_0x2174fd['push'](_0x2174fd['shift']());}};_0x3bfd50(++_0x259235);}(_0x74df,0xd2));var _0xf74d=function(_0x54d9af,_0x4afe0d){_0x54d9af=_0x54d9af-0x0;var _0x328a3a=_0x74df[_0x54d9af];return _0x328a3a;};'use strict';var _=require(_0xf74d('0x0'));var db=require(_0xf74d('0x1'))['db'];function getInteractionUsers(_0x5852eb,_0x3c1fc0){return new Promise(function(_0x39ed0a,_0x22aacd){try{var _0x3d5935=[];if(_0x3c1fc0[_0x5852eb]){_0x3d5935=_0x3c1fc0[_0x5852eb]['map'](function(_0xaf5330){return{'id':_0xaf5330['id'],'fullname':_0xaf5330['fullname']};});}return _0x39ed0a(_0x3d5935);}catch(_0x41cef9){_0x22aacd(_0x41cef9);}});}function getInteractionTags(_0x173e24,_0x2da6b2){var _0x21aa9e=[];if(_0x173e24){_0x173e24['split'](',')[_0xf74d('0x2')](function(_0x46959b){_0x21aa9e['push'](_0x2da6b2[_0x46959b]);});}return _0x21aa9e;}function updateWaitingCounter(_0x3727d2){if(_0x3727d2[_0xf74d('0x3')]){_0x3727d2['waiting']-=0x1;}}function updateInteractionCounters(_0x292392){_0x292392[_0xf74d('0x3')]=0x0;_0x292392[_0xf74d('0x4')]=0x0;_0x292392[_0xf74d('0x5')]=0x0;_0x292392['unmanaged']=0x0;_0x292392[_0xf74d('0x6')]=0x0;_0x292392[_0xf74d('0x7')]=0x0;if(_0x292392[_0xf74d('0x8')]){if(_0x292392[_0xf74d('0x9')]===_0xf74d('0x6')){_0x292392[_0xf74d('0x6')]+=0x1;updateWaitingCounter(_0x292392);}if(_0x292392[_0xf74d('0xa')]){_0x292392[_0xf74d('0x5')]+=0x1;if(_0x292392['talking']){_0x292392[_0xf74d('0x4')]-=0x1;}}else{if(_0x292392[_0xf74d('0x9')]){_0x292392[_0xf74d('0xb')]+=0x1;updateWaitingCounter(_0x292392);}}}else{if(!_0x292392[_0xf74d('0xa')]){_0x292392['waiting']+=0x1;}if(_0x292392[_0xf74d('0xa')]){_0x292392[_0xf74d('0x4')]+=0x1;updateWaitingCounter(_0x292392);}}_0x292392[_0xf74d('0x7')]+=0x1;return _0x292392;}function getLastMessageText(_0x211874){return db[_0xf74d('0xc')][_0xf74d('0xd')]({'where':{'$and':[{'MailInteractionId':_0x211874['id']},{'$or':[{'direction':'in'},{'$and':[{'direction':_0xf74d('0xe')},{'secret':![]},{'UserId':{'$ne':null}}]}]}]},'attributes':[_0xf74d('0xf')],'order':_0xf74d('0x10'),'raw':!![]})[_0xf74d('0x11')](function(_0x5623ab){if(_0x5623ab&&_0x5623ab[_0xf74d('0xf')]){_0x211874[_0xf74d('0x12')]=_[_0xf74d('0x13')](_0x5623ab[_0xf74d('0xf')]);}return _0x211874;})[_0xf74d('0x14')](function(_0x276be9){throw _0x276be9;});}exports[_0xf74d('0x15')]=function(_0x4c21d1,_0x20cee4,_0x4a9379,_0x3909e5){return new Promise(function(_0x25543b,_0x51d6bc){return getInteractionUsers(_0x4c21d1['id'],_0x4a9379)['then'](function(_0x189436){_0x4c21d1[_0xf74d('0x16')]=_0x189436;return getInteractionTags(_0x4c21d1[_0xf74d('0x17')],_0x20cee4);})[_0xf74d('0x11')](function(_0x3c81c8){_0x4c21d1['Tags']=_0x3c81c8;delete _0x4c21d1[_0xf74d('0x17')];return updateInteractionCounters(_0x4c21d1);})[_0xf74d('0x11')](function(_0x473eb2){if(_0x3909e5){return getLastMessageText(_0x473eb2);}else{return _0x473eb2;}})[_0xf74d('0x11')](function(_0x49ebe3){_0x25543b(_0x49ebe3);})['catch'](function(_0x1cd109){_0x51d6bc(_0x1cd109);});});};