Built motion from commit e1760111.|2.6.18
[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 _0xadcf=['answered','unmanaged','abandoned','closed','disposition','UserId','total','MailMessage','findOne','out','plainBody','-id','then','lastMsgText','trimStart','catch','updateInteraction','Users','TagIds','Tags','lodash','../../mysqldb','map','fullname','split','forEach','push','waiting','talking'];(function(_0x57e961,_0x2b5c6f){var _0x28478b=function(_0x4f32b2){while(--_0x4f32b2){_0x57e961['push'](_0x57e961['shift']());}};_0x28478b(++_0x2b5c6f);}(_0xadcf,0x119));var _0xfadc=function(_0x2ed199,_0x7bd8dd){_0x2ed199=_0x2ed199-0x0;var _0x560f9d=_0xadcf[_0x2ed199];return _0x560f9d;};'use strict';var _=require(_0xfadc('0x0'));var db=require(_0xfadc('0x1'))['db'];function getInteractionUsers(_0x5edcbb,_0x146e1f){return new Promise(function(_0x311e24,_0x4c6ed5){try{var _0x154b01=[];if(_0x146e1f[_0x5edcbb]){_0x154b01=_0x146e1f[_0x5edcbb][_0xfadc('0x2')](function(_0x4eee8e){return{'id':_0x4eee8e['id'],'fullname':_0x4eee8e[_0xfadc('0x3')]};});}return _0x311e24(_0x154b01);}catch(_0xfea382){_0x4c6ed5(_0xfea382);}});}function getInteractionTags(_0x37872f,_0xf5784c){var _0x4c64ef=[];if(_0x37872f){_0x37872f[_0xfadc('0x4')](',')[_0xfadc('0x5')](function(_0x37380b){_0x4c64ef[_0xfadc('0x6')](_0xf5784c[_0x37380b]);});}return _0x4c64ef;}function updateWaitingCounter(_0x26a3e4){if(_0x26a3e4[_0xfadc('0x7')]){_0x26a3e4[_0xfadc('0x7')]-=0x1;}}function updateInteractionCounters(_0x2a4d10){_0x2a4d10[_0xfadc('0x7')]=0x0;_0x2a4d10[_0xfadc('0x8')]=0x0;_0x2a4d10[_0xfadc('0x9')]=0x0;_0x2a4d10[_0xfadc('0xa')]=0x0;_0x2a4d10[_0xfadc('0xb')]=0x0;_0x2a4d10['total']=0x0;if(_0x2a4d10[_0xfadc('0xc')]){if(_0x2a4d10[_0xfadc('0xd')]===_0xfadc('0xb')){_0x2a4d10[_0xfadc('0xb')]+=0x1;updateWaitingCounter(_0x2a4d10);}if(_0x2a4d10[_0xfadc('0xe')]){_0x2a4d10[_0xfadc('0x9')]+=0x1;if(_0x2a4d10[_0xfadc('0x8')]){_0x2a4d10[_0xfadc('0x8')]-=0x1;}}else{if(_0x2a4d10[_0xfadc('0xd')]){_0x2a4d10['unmanaged']+=0x1;updateWaitingCounter(_0x2a4d10);}}}else{if(!_0x2a4d10[_0xfadc('0xe')]){_0x2a4d10['waiting']+=0x1;}if(_0x2a4d10['UserId']){_0x2a4d10[_0xfadc('0x8')]+=0x1;updateWaitingCounter(_0x2a4d10);}}_0x2a4d10[_0xfadc('0xf')]+=0x1;return _0x2a4d10;}function getLastMessageText(_0x1c0428){return db[_0xfadc('0x10')][_0xfadc('0x11')]({'where':{'$and':[{'MailInteractionId':_0x1c0428['id']},{'$or':[{'direction':'in'},{'$and':[{'direction':_0xfadc('0x12')},{'secret':![]},{'UserId':{'$ne':null}}]}]}]},'attributes':[_0xfadc('0x13')],'order':_0xfadc('0x14'),'raw':!![]})[_0xfadc('0x15')](function(_0x47c630){if(_0x47c630&&_0x47c630[_0xfadc('0x13')]){_0x1c0428[_0xfadc('0x16')]=_[_0xfadc('0x17')](_0x47c630[_0xfadc('0x13')]);}return _0x1c0428;})[_0xfadc('0x18')](function(_0x13c6cd){throw _0x13c6cd;});}exports[_0xfadc('0x19')]=function(_0x3f1f1b,_0x25ba04,_0x99ccf3,_0x3aa537){return new Promise(function(_0x40aa31,_0x5c1cfd){return getInteractionUsers(_0x3f1f1b['id'],_0x99ccf3)['then'](function(_0x33b53b){_0x3f1f1b[_0xfadc('0x1a')]=_0x33b53b;return getInteractionTags(_0x3f1f1b[_0xfadc('0x1b')],_0x25ba04);})[_0xfadc('0x15')](function(_0x596dfe){_0x3f1f1b[_0xfadc('0x1c')]=_0x596dfe;delete _0x3f1f1b[_0xfadc('0x1b')];return updateInteractionCounters(_0x3f1f1b);})[_0xfadc('0x15')](function(_0x57adad){if(_0x3aa537){return getLastMessageText(_0x57adad);}else{return _0x57adad;}})[_0xfadc('0x15')](function(_0x1796a9){_0x40aa31(_0x1796a9);})[_0xfadc('0x18')](function(_0x5ceec3){_0x5c1cfd(_0x5ceec3);});});};