Built motion from commit 9d5c653a.|2.5.44
[motion2.git] / server / api / smsInteraction / smsInteraction.controller.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 _0xa216=['Messages','out','System','lastName','renderFile','views','downloadInteraction.ejs','transcript-','.pdf','createPdfFromHTML','download','log','err','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./smsInteraction.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','error','stack','name','send','map','fullname','TagIds','forEach','Tags','push','catch','waiting','talking','unmanaged','closed','UserId','total','index','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','length','hasOwnProperty','nolimit','order','sort','select','field','u.fullname','from','user_has_sms_interactions','left_join','users','u.id\x20=\x20ui.UserId','sms_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','sms_accounts','sms_interaction_has_tags','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','find','unreadMessages','value','having','`\x20>\x200','Contact','split','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','operator','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','body','start','some','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','createdAt','$gte','$lte','where','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','role','agent','sequelize','toString','merge','SmsInteraction','fields','a.key','Account.key','a.mandatoryDisposition','i.*','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','SmsInteractionId','rows','show','params','include','options','create','describe','SmsMessage','addMessage','ids','omit','findOne','pick','format','YYYY-MM-DD\x20HH:mm:ss','addTags','spread','smsInteractionTags:save','removeTags','unix','join','server','files','tmp','root','attachments','transcript-%d-%s.zip','CmContact','firstName','direction','secret','SmsAccount','Account','Owner','get','mkdirSync','Sms','N.A.','closedAt','disposition'];(function(_0x5a3cf0,_0x160a68){var _0x5a64ee=function(_0x34cd1d){while(--_0x34cd1d){_0x5a3cf0['push'](_0x5a3cf0['shift']());}};_0x5a64ee(++_0x160a68);}(_0xa216,0xf4));var _0x6a21=function(_0x5b0f5a,_0x229787){_0x5b0f5a=_0x5b0f5a-0x0;var _0x4c0a72=_0xa216[_0x5b0f5a];return _0x4c0a72;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6a21('0x0'));var zipdir=require(_0x6a21('0x1'));var jsonpatch=require(_0x6a21('0x2'));var rp=require(_0x6a21('0x3'));var moment=require(_0x6a21('0x4'));var BPromise=require(_0x6a21('0x5'));var Mustache=require(_0x6a21('0x6'));var util=require(_0x6a21('0x7'));var path=require(_0x6a21('0x8'));var sox=require('sox');var csv=require(_0x6a21('0x9'));var ejs=require(_0x6a21('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0x6a21('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x6a21('0x9'));var querystring=require(_0x6a21('0xc'));var Papa=require(_0x6a21('0xd'));var Redis=require(_0x6a21('0xe'));var authService=require(_0x6a21('0xf'));var qs=require(_0x6a21('0x10'));var as=require('../../components/parsers/advancedSearch');var pdf=require(_0x6a21('0x11'));var hardwareService=require(_0x6a21('0x12'));var logger=require(_0x6a21('0x13'))(_0x6a21('0x14'));var utils=require(_0x6a21('0x15'));var config=require(_0x6a21('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x6a21('0x17'))['db'];config[_0x6a21('0x18')]=_['defaults'](config['redis'],{'host':_0x6a21('0x19'),'port':0x18eb});var socket=require(_0x6a21('0x1a'))(new Redis(config[_0x6a21('0x18')]));require(_0x6a21('0x1b'))[_0x6a21('0x1c')](socket);function respondWithStatusCode(_0xda6424,_0x1ea6ee){_0x1ea6ee=_0x1ea6ee||0xcc;return function(_0x360e2e){if(_0x360e2e){return _0xda6424[_0x6a21('0x1d')](_0x1ea6ee);}return _0xda6424[_0x6a21('0x1e')](_0x1ea6ee)[_0x6a21('0x1f')]();};}function respondWithResult(_0x3cb81a,_0x4525e8){_0x4525e8=_0x4525e8||0xc8;return function(_0x4e7cf7){if(_0x4e7cf7){return _0x3cb81a[_0x6a21('0x1e')](_0x4525e8)[_0x6a21('0x20')](_0x4e7cf7);}};}function respondWithFilteredResult(_0x2b823b,_0xf55225){return function(_0x101eda){if(_0x101eda){var _0x37e3dd=typeof _0xf55225[_0x6a21('0x21')]===_0x6a21('0x22')&&typeof _0xf55225[_0x6a21('0x23')]===_0x6a21('0x22');var _0x84bd1f=_0x101eda['count'];var _0x2643bc=_0x37e3dd?0x0:_0xf55225[_0x6a21('0x21')];var _0x201ed3=_0x37e3dd?_0x101eda[_0x6a21('0x24')]:_0xf55225[_0x6a21('0x21')]+_0xf55225[_0x6a21('0x23')];var _0x1279c8;if(_0x201ed3>=_0x84bd1f){_0x201ed3=_0x84bd1f;_0x1279c8=0xc8;}else{_0x1279c8=0xce;}_0x2b823b[_0x6a21('0x1e')](_0x1279c8);return _0x2b823b[_0x6a21('0x25')](_0x6a21('0x26'),_0x2643bc+'-'+_0x201ed3+'/'+_0x84bd1f)['json'](_0x101eda);}return null;};}function patchUpdates(_0x4c601a){return function(_0x2e976f){try{jsonpatch['apply'](_0x2e976f,_0x4c601a,!![]);}catch(_0x4625ef){return BPromise[_0x6a21('0x27')](_0x4625ef);}return _0x2e976f[_0x6a21('0x28')]();};}function saveUpdates(_0x31d6ee,_0x25b6ae){return function(_0xe52375){if(_0xe52375){return _0xe52375[_0x6a21('0x29')](_0x31d6ee)[_0x6a21('0x2a')](function(_0x3d69f9){return _0x3d69f9;});}return null;};}function removeEntity(_0x3d445e,_0x358fd0){return function(_0x4e4e32){if(_0x4e4e32){return _0x4e4e32[_0x6a21('0x2b')]()[_0x6a21('0x2a')](function(){_0x3d445e[_0x6a21('0x1e')](0xcc)[_0x6a21('0x1f')]();});}};}function handleEntityNotFound(_0x45aa2b,_0xbad9b8){return function(_0x43ef3b){if(!_0x43ef3b){_0x45aa2b[_0x6a21('0x1d')](0x194);}return _0x43ef3b;};}function handleError(_0x10e6a6,_0x2e886e){_0x2e886e=_0x2e886e||0x1f4;return function(_0x1284cb){logger[_0x6a21('0x2c')](_0x1284cb[_0x6a21('0x2d')]);if(_0x1284cb[_0x6a21('0x2e')]){delete _0x1284cb[_0x6a21('0x2e')];}_0x10e6a6[_0x6a21('0x1e')](_0x2e886e)[_0x6a21('0x2f')](_0x1284cb);};}function getInteractionUsers(_0x4441a7,_0x42775d){return new BPromise(function(_0x40eefd,_0x11ec7d){try{if(_0x42775d[_0x4441a7['id']]){_0x4441a7['Users']=_[_0x6a21('0x30')](_0x42775d[_0x4441a7['id']],function(_0x570920){return{'id':_0x570920['id'],'fullname':_0x570920[_0x6a21('0x31')]};});}}catch(_0x511df4){_0x11ec7d(_0x511df4);}_0x40eefd(_0x4441a7);});}function getInteractionTags(_0x2df5a0,_0x1550f8){return new BPromise(function(_0x5e032e,_0x51a606){try{if(_0x2df5a0[_0x6a21('0x32')]){_0x2df5a0['Tags']=[];_0x2df5a0[_0x6a21('0x32')]['split'](',')[_0x6a21('0x33')](function(_0x697257){_0x2df5a0[_0x6a21('0x34')][_0x6a21('0x35')](_0x1550f8[_0x697257]);});}delete _0x2df5a0['TagIds'];}catch(_0x2604e3){_0x51a606(_0x2604e3);}_0x5e032e(_0x2df5a0);});}function updateSmsInteraction(_0x33a8dd,_0x8fff3d,_0xa87394){return new BPromise(function(_0x94bad9,_0xd60dae){return getInteractionUsers(_0x33a8dd,_0xa87394)[_0x6a21('0x2a')](function(_0x4b2f42){return getInteractionTags(_0x4b2f42,_0x8fff3d);})[_0x6a21('0x2a')](function(_0x30a8de){return getStateInteraction(_0x30a8de);})[_0x6a21('0x2a')](function(_0x22fd81){_0x94bad9(_0x22fd81);})[_0x6a21('0x36')](function(_0x164532){_0xd60dae(_0x164532);});});}function getStateInteraction(_0x3d5d4e){return new BPromise(function(_0x57c15f){_0x3d5d4e[_0x6a21('0x37')]=0x0;_0x3d5d4e[_0x6a21('0x38')]=0x0;_0x3d5d4e['answered']=0x0;_0x3d5d4e[_0x6a21('0x39')]=0x0;_0x3d5d4e['total']=0x0;if(!_0x3d5d4e[_0x6a21('0x3a')]&&!_0x3d5d4e[_0x6a21('0x3b')]){_0x3d5d4e[_0x6a21('0x37')]+=0x1;}if(!_0x3d5d4e[_0x6a21('0x3a')]&&_0x3d5d4e[_0x6a21('0x3b')]){_0x3d5d4e['talking']+=0x1;if(_0x3d5d4e['waiting']){_0x3d5d4e['waiting']-=0x1;}}if(_0x3d5d4e[_0x6a21('0x3a')]&&_0x3d5d4e[_0x6a21('0x3b')]){_0x3d5d4e['answered']+=0x1;if(_0x3d5d4e[_0x6a21('0x38')]){_0x3d5d4e[_0x6a21('0x38')]-=0x1;}}if(_0x3d5d4e[_0x6a21('0x3a')]&&!_0x3d5d4e['UserId']){_0x3d5d4e[_0x6a21('0x39')]+=0x1;if(_0x3d5d4e['waiting']){_0x3d5d4e[_0x6a21('0x37')]-=0x1;}}_0x3d5d4e[_0x6a21('0x3c')]+=0x1;_0x57c15f(_0x3d5d4e);});}exports[_0x6a21('0x3d')]=function(_0x1297ff,_0x43c8c0){var _0x477f7d={},_0x1897b8={},_0x1f8cb8={'count':0x0,'rows':[]};var _0x4ae30b=_[_0x6a21('0x30')](db['SmsInteraction'][_0x6a21('0x3e')],function(_0x21cd8a){return{'name':_0x21cd8a[_0x6a21('0x3f')],'type':_0x21cd8a[_0x6a21('0x40')][_0x6a21('0x41')]};});_0x1897b8['model']=_[_0x6a21('0x30')](_0x4ae30b,_0x6a21('0x2e'));_0x1897b8[_0x6a21('0x42')]=_[_0x6a21('0x43')](_0x1297ff[_0x6a21('0x42')]);_0x1897b8[_0x6a21('0x44')]=_[_0x6a21('0x45')](_0x1897b8[_0x6a21('0x46')],_0x1897b8[_0x6a21('0x42')]);_0x477f7d[_0x6a21('0x47')]=_[_0x6a21('0x45')](_0x1897b8[_0x6a21('0x46')],qs['fields'](_0x1297ff[_0x6a21('0x42')]['fields']));_0x477f7d['attributes']=_0x477f7d['attributes'][_0x6a21('0x48')]?_0x477f7d[_0x6a21('0x47')]:_0x1897b8[_0x6a21('0x46')];if(!_0x1297ff['query'][_0x6a21('0x49')](_0x6a21('0x4a'))){_0x477f7d[_0x6a21('0x23')]=qs[_0x6a21('0x23')](_0x1297ff[_0x6a21('0x42')][_0x6a21('0x23')]);_0x477f7d[_0x6a21('0x21')]=qs['offset'](_0x1297ff['query'][_0x6a21('0x21')]);}_0x477f7d[_0x6a21('0x4b')]=qs['sort'](_0x1297ff[_0x6a21('0x42')][_0x6a21('0x4c')]);_0x477f7d['where']=qs[_0x6a21('0x44')](_['pick'](_0x1297ff[_0x6a21('0x42')],_0x1897b8[_0x6a21('0x44')]),_0x4ae30b);var _0x246004=[];var _0x4cf5b1=squel[_0x6a21('0x4d')]()[_0x6a21('0x4e')]('id')[_0x6a21('0x4e')](_0x6a21('0x2e'))[_0x6a21('0x4e')]('color')['from']('tools_tags');var _0x18b13a=squel[_0x6a21('0x4d')]()['field']('u.id')[_0x6a21('0x4e')](_0x6a21('0x4f'))['field']('ui.SmsInteractionId')[_0x6a21('0x50')](_0x6a21('0x51'),'ui')[_0x6a21('0x52')](_0x6a21('0x53'),'u',_0x6a21('0x54'));var _0x2709ba=squel[_0x6a21('0x4d')]()[_0x6a21('0x50')](_0x6a21('0x55'),'i')[_0x6a21('0x52')](_0x6a21('0x56'),'c',_0x6a21('0x57'))['left_join'](_0x6a21('0x53'),'o',_0x6a21('0x58'))[_0x6a21('0x52')](_0x6a21('0x59'),'a','a.id\x20=\x20i.SmsAccountId')['left_join']('sms_messages','me','me.SmsInteractionId\x20=\x20i.id')[_0x6a21('0x52')](_0x6a21('0x5a'),'it',_0x6a21('0x5b'))[_0x6a21('0x52')]('tools_tags','t',_0x6a21('0x5c'));var _0x10af09=squel['expr']();var _0x21cac9=[];var _0x34aa4d=squel[_0x6a21('0x5d')]();var _0x4a44ad;if(_0x1297ff[_0x6a21('0x42')][_0x6a21('0x5e')]){_0x4a44ad=as[_0x6a21('0x5f')](_0x1297ff[_0x6a21('0x42')][_0x6a21('0x5e')]);var _0x15bf5f=_0x4a44ad['sqlOperator'];for(var _0x31cb7c=0x0;_0x31cb7c<_0x4a44ad[_0x6a21('0x60')][_0x6a21('0x48')];_0x31cb7c++){var _0x5afaec=_0x4a44ad[_0x6a21('0x60')][_0x31cb7c];var _0x152b83='i';var _0x432455=_[_0x6a21('0x61')](_0x4ae30b,[_0x6a21('0x2e'),_0x5afaec['field']]);if(!_0x432455){switch(_0x5afaec[_0x6a21('0x4e')]){case _0x6a21('0x62'):if(_0x5afaec[_0x6a21('0x63')]==0x1){_0x2709ba[_0x6a21('0x64')]('`'+_0x5afaec['field']+'`\x20=\x200');}else{_0x2709ba['having']('`'+_0x5afaec['field']+_0x6a21('0x65'));}break;case _0x6a21('0x66'):if(_0x5afaec['operator']==='$substring'){if(_0x5afaec[_0x6a21('0x63')][_0x6a21('0x67')]('\x20')['length']>0x1){_0x10af09[_0x15bf5f]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x5afaec[_0x6a21('0x63')]),null);}else{var _0x21cf13='%'+_0x5afaec[_0x6a21('0x63')]+'%';_0x10af09[_0x15bf5f](_0x6a21('0x68'),_0x21cf13,_0x21cf13,_0x21cf13);}}else{_0x432455=_[_0x6a21('0x61')](_0x4ae30b,['name','ContactId']);_0x5afaec[_0x6a21('0x4e')]=_0x6a21('0x69');_0x2be347=as[_0x6a21('0x6a')](_0x152b83,_0x432455[_0x6a21('0x40')],_0x5afaec);_0x10af09[_0x15bf5f](_0x2be347[_0x6a21('0x6b')],_0x2be347['value']['start'],_0x2be347[_0x6a21('0x63')][_0x6a21('0x1f')]);}break;case _0x6a21('0x6c'):var _0x444c03=_0x5afaec[_0x6a21('0x63')][_0x6a21('0x67')](',')[_0x6a21('0x30')](function(_0x165cde){return Number(_0x165cde);});_0x444c03[_0x6a21('0x33')](function(_0x23488c){_0x34aa4d['or'](_0x6a21('0x6d'),'%,'+_0x23488c+',%');});_0x21cac9=_[_0x6a21('0x6e')](_0x21cac9,_0x444c03);break;case _0x6a21('0x6f'):if(_0x5afaec[_0x6a21('0x70')]===_0x6a21('0x71')){_0x10af09[_0x15bf5f](_0x6a21('0x72'),'%'+_0x5afaec[_0x6a21('0x63')]+'%',null);}else{_0x432455=_[_0x6a21('0x61')](_0x4ae30b,[_0x6a21('0x2e'),_0x6a21('0x3b')]);_0x5afaec[_0x6a21('0x4e')]='UserId';_0x2be347=as[_0x6a21('0x6a')](_0x152b83,_0x432455[_0x6a21('0x40')],_0x5afaec);_0x10af09[_0x15bf5f](_0x2be347[_0x6a21('0x6b')],_0x2be347['value']['start'],_0x2be347[_0x6a21('0x63')][_0x6a21('0x1f')]);}break;case _0x6a21('0x73'):_0x2be347=as['buildExpression']('me',null,_0x5afaec);_0x10af09[_0x15bf5f](_0x2be347[_0x6a21('0x6b')],_0x2be347[_0x6a21('0x63')][_0x6a21('0x74')],_0x2be347[_0x6a21('0x63')][_0x6a21('0x1f')]);break;}}else{var _0x2be347=as[_0x6a21('0x6a')](_0x152b83,_0x432455[_0x6a21('0x40')],_0x5afaec);_0x10af09[_0x15bf5f](_0x2be347[_0x6a21('0x6b')],_0x2be347[_0x6a21('0x63')]['start'],_0x2be347[_0x6a21('0x63')][_0x6a21('0x1f')]);}}}else{var _0x1e36d6=_(_0x1297ff[_0x6a21('0x42')])[_0x6a21('0x43')]()[_0x6a21('0x30')](function(_0x4b5207){return _[_0x6a21('0x75')](_0x4ae30b,[_0x6a21('0x2e'),_0x4b5207])?_0x4b5207:undefined;})['compact']()[_0x6a21('0x63')]();if(!_[_0x6a21('0x76')](_0x1e36d6)){_0x1e36d6[_0x6a21('0x33')](function(_0xf06a87){if(_0xf06a87===_0x6a21('0x77')){_0x2709ba['where'](_0x6a21('0x78'),[][_0x6a21('0x79')](_0x1297ff['query'][_0xf06a87]));}else if(_0xf06a87===_0x6a21('0x7a')){var _0x259add=JSON['parse'](_0x1297ff[_0x6a21('0x42')][_0xf06a87])[_0x6a21('0x7b')];var _0x38321e=JSON['parse'](_0x1297ff[_0x6a21('0x42')][_0xf06a87])[_0x6a21('0x7c')];_0x2709ba[_0x6a21('0x7d')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x259add,_0x38321e);}else{if(_0x1297ff[_0x6a21('0x42')][_0xf06a87]===_0x6a21('0x7e')){_0x2709ba[_0x6a21('0x7d')]('i.'+_0xf06a87+_0x6a21('0x7f'));}else{_0x2709ba['where']('i.'+_0xf06a87+'\x20=\x20?',_0x1297ff[_0x6a21('0x42')][_0xf06a87]);}}});}if(_0x1297ff['query'][_0x6a21('0x80')]){if(_0x1297ff[_0x6a21('0x42')][_0x6a21('0x80')]==0x1){_0x2709ba['having'](_0x6a21('0x81'));}else{_0x2709ba[_0x6a21('0x64')](_0x6a21('0x82'));}}if(_0x1297ff['query'][_0x6a21('0x83')]){_0x21cac9=_[_0x6a21('0x84')](_0x1297ff[_0x6a21('0x42')][_0x6a21('0x83')])?_0x1297ff['query']['tag']:new Array(_0x1297ff['query'][_0x6a21('0x83')]);_0x21cac9[_0x6a21('0x33')](function(_0x56dea7){_0x34aa4d['or'](_0x6a21('0x6d'),'%,'+_0x56dea7+',%');});}if(_0x1297ff[_0x6a21('0x42')][_0x6a21('0x85')]){var _0x4182df=_0x1297ff[_0x6a21('0x42')]['filter'][_0x6a21('0x86')]('\x5c','\x5c\x5c')[_0x6a21('0x86')](/'/g,'\x27\x27');if(qs[_0x6a21('0x87')](_0x4182df)){_0x10af09['or']('i.id\x20LIKE\x20?',_0x4182df+'%')['or'](_0x6a21('0x88'),_0x4182df+'%');}else{_0x10af09['or'](_0x6a21('0x89'),qs[_0x6a21('0x8a')](_0x4182df))['or'](_0x6a21('0x8b'),_0x4182df+'%');}}}_0x2709ba[_0x6a21('0x7d')](_0x10af09);_0x2709ba[_0x6a21('0x8c')](_0x6a21('0x8d'));var _0x20116a={'type':db['Sequelize'][_0x6a21('0x8e')][_0x6a21('0x8f')],'raw':!![]};var _0x20ee08=_0x2709ba['clone']();_0x20ee08['field'](_0x6a21('0x8d'));_0x20ee08['field'](_0x6a21('0x90'),'unreadMessages');if(_0x477f7d[_0x6a21('0x4b')]){_0x477f7d['order'][_0x6a21('0x33')](function(_0x5469bc){var _0x254c84=_0x5469bc[0x0]===_0x6a21('0x91')?_0x5469bc[0x0]:'i.'+_0x5469bc[0x0];_0x2709ba[_0x6a21('0x4b')](_0x254c84,_0x5469bc[0x1]===_0x6a21('0x92')?![]:!![]);});}if(!_[_0x6a21('0x76')](_0x21cac9)){_0x2709ba[_0x6a21('0x64')](_0x34aa4d);_0x20ee08[_0x6a21('0x7d')](_0x6a21('0x93'),_0x21cac9);}BPromise['resolve']()[_0x6a21('0x2a')](function(){if(!_0x4a44ad){if(_0x1297ff[_0x6a21('0x42')][_0x6a21('0x77')])return;_0x20ee08['where']('i.SmsAccountId\x20IS\x20NOT\x20NULL');_0x2709ba['where'](_0x6a21('0x94'));return;}if(_0x1297ff[_0x6a21('0x95')]['role']!=='agent')return;return _0x1297ff[_0x6a21('0x95')][_0x6a21('0x96')]({'attributes':['id'],'raw':!![]})[_0x6a21('0x2a')](function(_0x5e3e4b){if(_['isEmpty'](_0x5e3e4b)){_0x20ee08[_0x6a21('0x7d')](_0x6a21('0x97'));_0x2709ba[_0x6a21('0x7d')]('i.SmsAccountId\x20IS\x20NULL');}else{_0x20ee08[_0x6a21('0x7d')](_0x6a21('0x78'),_[_0x6a21('0x30')](_0x5e3e4b,'id'));_0x2709ba[_0x6a21('0x7d')](_0x6a21('0x78'),_['map'](_0x5e3e4b,'id'));}});})[_0x6a21('0x2a')](function(){if(_0x1297ff[_0x6a21('0x95')][_0x6a21('0x98')]===_0x6a21('0x99')&&!_0x4a44ad&&!_0x1297ff[_0x6a21('0x42')][_0x6a21('0x77')])return[];return db[_0x6a21('0x9a')][_0x6a21('0x42')](_0x20ee08[_0x6a21('0x9b')](),_0x20116a);})[_0x6a21('0x2a')](function(_0x29074a){_0x1f8cb8[_0x6a21('0x24')]=_0x29074a[_0x6a21('0x48')];if(_0x1f8cb8[_0x6a21('0x24')]===0x0)return[];return db[_0x6a21('0x9a')][_0x6a21('0x42')](_0x4cf5b1[_0x6a21('0x9b')](),_0x20116a)[_0x6a21('0x2a')](function(_0x53ce88){_0x246004=_['keyBy'](_0x53ce88,'id');_0x20116a=_[_0x6a21('0x9c')](_0x20116a,{'model':db[_0x6a21('0x9d')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1297ff['query'][_0x6a21('0x9e')]){_0x477f7d['attributes'][_0x6a21('0x33')](function(_0x3f2d8d){_0x2709ba[_0x6a21('0x4e')]('i.'+_0x3f2d8d);});}else{_0x2709ba['field'](_0x6a21('0x90'),_0x6a21('0x62'));_0x2709ba['field'](_0x6a21('0x9f'),_0x6a21('0xa0'));_0x2709ba['field'](_0x6a21('0xa1'),'Account.mandatoryDisposition');_0x2709ba[_0x6a21('0x4e')]('CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END',_0x6a21('0x91'));_0x2709ba['field'](_0x6a21('0xa2'));_0x2709ba[_0x6a21('0x4e')]('c.firstName',_0x6a21('0xa3'));_0x2709ba[_0x6a21('0x4e')](_0x6a21('0xa4'),_0x6a21('0xa5'));_0x2709ba['field'](_0x6a21('0xa6'),_0x6a21('0xa7'));_0x2709ba[_0x6a21('0x4e')](_0x6a21('0xa8'),_0x6a21('0xa9'));_0x2709ba[_0x6a21('0x4e')](_0x6a21('0xaa'),'Contact.mobile');_0x2709ba[_0x6a21('0x4e')](_0x6a21('0xab'),'Contact.fax');_0x2709ba[_0x6a21('0x4e')](_0x6a21('0xac'),_0x6a21('0xad'));_0x2709ba[_0x6a21('0x4e')]('o.internal',_0x6a21('0xae'));_0x2709ba[_0x6a21('0x4e')](_0x6a21('0xaf'),_0x6a21('0x32'));}if(_0x477f7d['limit'])_0x2709ba[_0x6a21('0x23')](_0x477f7d['limit']);if(_0x477f7d[_0x6a21('0x21')])_0x2709ba[_0x6a21('0x21')](_0x477f7d[_0x6a21('0x21')]);return db['sequelize'][_0x6a21('0x42')](_0x2709ba[_0x6a21('0x9b')](),_0x20116a);})[_0x6a21('0x2a')](function(_0x269d2b){if(_0x269d2b[_0x6a21('0x48')]>0x0)_0x18b13a[_0x6a21('0x7d')]('ui.SmsInteractionId\x20IN\x20?',_[_0x6a21('0x30')](_0x269d2b,'id'));return db['sequelize']['query'](_0x18b13a[_0x6a21('0x9b')](),_0x20116a)[_0x6a21('0x2a')](function(_0x4a1594){var _0x5cc39b=_[_0x6a21('0xb0')](_0x4a1594,_0x6a21('0xb1'));var _0x4ff624=[];_0x269d2b[_0x6a21('0x33')](function(_0x3f87c7){_0x4ff624[_0x6a21('0x35')](updateSmsInteraction(_0x3f87c7,_0x246004,_0x5cc39b));});return BPromise['all'](_0x4ff624);});});})[_0x6a21('0x2a')](function(_0x1cd218){_0x1f8cb8[_0x6a21('0xb2')]=_0x1cd218;return _0x1f8cb8;})[_0x6a21('0x2a')](respondWithFilteredResult(_0x43c8c0,_0x477f7d))[_0x6a21('0x36')](handleError(_0x43c8c0,null));};exports[_0x6a21('0xb3')]=function(_0x4a08db,_0x20e265){var _0x41364b={'raw':![],'where':{'id':_0x4a08db[_0x6a21('0xb4')]['id']}},_0x2b0c9c={};_0x2b0c9c[_0x6a21('0x46')]=_['keys'](db[_0x6a21('0x9d')][_0x6a21('0x3e')]);_0x2b0c9c[_0x6a21('0x42')]=_[_0x6a21('0x43')](_0x4a08db['query']);_0x2b0c9c[_0x6a21('0x44')]=_['intersection'](_0x2b0c9c[_0x6a21('0x46')],_0x2b0c9c['query']);_0x41364b[_0x6a21('0x47')]=_[_0x6a21('0x45')](_0x2b0c9c[_0x6a21('0x46')],qs[_0x6a21('0x9e')](_0x4a08db['query'][_0x6a21('0x9e')]));_0x41364b['attributes']=_0x41364b[_0x6a21('0x47')][_0x6a21('0x48')]?_0x41364b[_0x6a21('0x47')]:_0x2b0c9c[_0x6a21('0x46')];if(_0x4a08db[_0x6a21('0x42')]['includeAll']){_0x41364b[_0x6a21('0xb5')]=[{'all':!![]}];}_0x41364b=_[_0x6a21('0x9c')]({},_0x41364b,_0x4a08db[_0x6a21('0xb6')]);return db['SmsInteraction'][_0x6a21('0x61')](_0x41364b)['then'](handleEntityNotFound(_0x20e265,null))[_0x6a21('0x2a')](respondWithResult(_0x20e265,null))['catch'](handleError(_0x20e265,null));};exports[_0x6a21('0xb7')]=function(_0x47f8b5,_0x809f71){return db[_0x6a21('0x9d')][_0x6a21('0xb7')](_0x47f8b5[_0x6a21('0x73')],{})[_0x6a21('0x2a')](respondWithResult(_0x809f71,0xc9))[_0x6a21('0x36')](handleError(_0x809f71,null));};exports[_0x6a21('0x29')]=function(_0x2e14c8,_0x1cb388){if(_0x2e14c8[_0x6a21('0x73')]['id']){delete _0x2e14c8['body']['id'];}return db[_0x6a21('0x9d')][_0x6a21('0x61')]({'where':{'id':_0x2e14c8[_0x6a21('0xb4')]['id']}})[_0x6a21('0x2a')](handleEntityNotFound(_0x1cb388,null))[_0x6a21('0x2a')](saveUpdates(_0x2e14c8[_0x6a21('0x73')],null))[_0x6a21('0x2a')](respondWithResult(_0x1cb388,null))['catch'](handleError(_0x1cb388,null));};exports[_0x6a21('0x2b')]=function(_0x37d0ae,_0x5a0941){return db[_0x6a21('0x9d')][_0x6a21('0x61')]({'where':{'id':_0x37d0ae[_0x6a21('0xb4')]['id']}})['then'](handleEntityNotFound(_0x5a0941,null))['then'](removeEntity(_0x5a0941,null))[_0x6a21('0x36')](handleError(_0x5a0941,null));};exports['describe']=function(_0x226a0a,_0x3329aa){return db['SmsInteraction'][_0x6a21('0xb8')]()['then'](respondWithResult(_0x3329aa,null))[_0x6a21('0x36')](handleError(_0x3329aa,null));};exports['addMessage']=function(_0x539c45,_0x5242d0,_0xc5277f){return db[_0x6a21('0xb9')][_0x6a21('0x61')]({'where':{'id':_0x539c45[_0x6a21('0xb4')]['id']}})['then'](handleEntityNotFound(_0x5242d0,null))[_0x6a21('0x2a')](function(_0x573dca){if(_0x573dca){return _0x573dca[_0x6a21('0xba')](_0x539c45['body'][_0x6a21('0xbb')],_[_0x6a21('0xbc')](_0x539c45['body'],['ids','id'])||{});}})[_0x6a21('0x2a')](respondWithResult(_0x5242d0,null))['catch'](handleError(_0x5242d0,null));};exports['getMessages']=function(_0x5436b1,_0x3766d6,_0x2ab51e){var _0x323d3e={'raw':![],'where':{}};var _0x2342e8={};var _0x583565={'count':0x0,'rows':[]};return db[_0x6a21('0x9d')][_0x6a21('0xbd')]({'where':{'id':_0x5436b1[_0x6a21('0xb4')]['id']}})['then'](handleEntityNotFound(_0x3766d6,null))[_0x6a21('0x2a')](function(_0x4cc702){if(_0x4cc702){_0x2342e8['model']=_['keys'](db['SmsMessage'][_0x6a21('0x3e')]);_0x2342e8[_0x6a21('0x42')]=_[_0x6a21('0x43')](_0x5436b1[_0x6a21('0x42')]);_0x2342e8[_0x6a21('0x44')]=_[_0x6a21('0x45')](_0x2342e8['model'],_0x2342e8[_0x6a21('0x42')]);_0x323d3e['attributes']=_['intersection'](_0x2342e8['model'],qs[_0x6a21('0x9e')](_0x5436b1['query']['fields']));_0x323d3e[_0x6a21('0x47')]=_0x323d3e[_0x6a21('0x47')][_0x6a21('0x48')]?_0x323d3e['attributes']:_0x2342e8['model'];if(!_0x5436b1[_0x6a21('0x42')][_0x6a21('0x49')]('nolimit')){_0x323d3e[_0x6a21('0x23')]=qs['limit'](_0x5436b1[_0x6a21('0x42')][_0x6a21('0x23')]);_0x323d3e[_0x6a21('0x21')]=qs[_0x6a21('0x21')](_0x5436b1[_0x6a21('0x42')][_0x6a21('0x21')]);}_0x323d3e[_0x6a21('0x4b')]=qs['sort'](_0x5436b1[_0x6a21('0x42')]['sort']);_0x323d3e[_0x6a21('0x7d')]=qs[_0x6a21('0x44')](_[_0x6a21('0xbe')](_0x5436b1[_0x6a21('0x42')],_0x2342e8[_0x6a21('0x44')]));_0x323d3e[_0x6a21('0x7d')][_0x6a21('0xb1')]=_0x4cc702['id'];if(_0x5436b1[_0x6a21('0x42')][_0x6a21('0x85')]){_0x323d3e[_0x6a21('0x7d')]=_[_0x6a21('0x9c')](_0x323d3e[_0x6a21('0x7d')],{'$or':_['map'](_0x323d3e['attributes'],function(_0x83e535){var _0x7e7d46={};_0x7e7d46[_0x83e535]={'$like':'%'+_0x5436b1[_0x6a21('0x42')][_0x6a21('0x85')]+'%'};return _0x7e7d46;})});}if(_0x5436b1[_0x6a21('0x42')][_0x6a21('0x7b')]){var _0x1c6a7e=_0x5436b1[_0x6a21('0x42')][_0x6a21('0x7b')][_0x6a21('0x67')](',');var _0x4b78c3={};_0x4b78c3[_0x1c6a7e[0x0]]={'$gte':moment(_0x1c6a7e[0x1])[_0x6a21('0xbf')](_0x6a21('0xc0'))};_0x323d3e[_0x6a21('0x7d')]=_['merge'](_0x323d3e[_0x6a21('0x7d')],_0x4b78c3);}_0x323d3e=_[_0x6a21('0x9c')]({},_0x323d3e,_0x5436b1[_0x6a21('0xb6')]);return db['SmsMessage']['count']({'where':_0x323d3e[_0x6a21('0x7d')]})['then'](function(_0x4630c2){_0x583565[_0x6a21('0x24')]=_0x4630c2;if(_0x5436b1[_0x6a21('0x42')]['includeAll']){_0x323d3e[_0x6a21('0xb5')]=[{'all':!![]}];}return db['SmsMessage']['findAll'](_0x323d3e);})['then'](function(_0x458b73){_0x583565['rows']=_0x458b73;return _0x583565;});}})[_0x6a21('0x2a')](respondWithFilteredResult(_0x3766d6,_0x323d3e))[_0x6a21('0x36')](handleError(_0x3766d6,null));};exports[_0x6a21('0xc1')]=function(_0x57bc18,_0x314f38,_0x320079){return db[_0x6a21('0x9d')][_0x6a21('0x61')]({'where':{'id':_0x57bc18[_0x6a21('0xb4')]['id']}})[_0x6a21('0x2a')](handleEntityNotFound(_0x314f38,null))[_0x6a21('0x2a')](function(_0x462392){if(_0x462392){return _0x462392['setTags'](_0x57bc18['body'][_0x6a21('0xbb')],_[_0x6a21('0xbc')](_0x57bc18[_0x6a21('0x73')],[_0x6a21('0xbb'),'id'])||{})[_0x6a21('0xc2')](function(){return db[_0x6a21('0x6c')]['findAll']({'attributes':['id',_0x6a21('0x2e'),'color'],'where':{'id':_0x57bc18[_0x6a21('0x73')][_0x6a21('0xbb')]}});})['then'](function(_0x115fee){socket['emit'](_0x6a21('0xc3'),{'id':Number(_0x57bc18['params']['id']),'tags':_0x115fee||[]});return{'id':Number(_0x57bc18[_0x6a21('0xb4')]['id']),'tags':_0x115fee||[]};});}})['then'](respondWithResult(_0x314f38,null))[_0x6a21('0x36')](handleError(_0x314f38,null));};exports[_0x6a21('0xc4')]=function(_0x26088b,_0x54b6b3,_0x5d89ef){return db['SmsInteraction'][_0x6a21('0x61')]({'where':{'id':_0x26088b[_0x6a21('0xb4')]['id']}})[_0x6a21('0x2a')](handleEntityNotFound(_0x54b6b3,null))[_0x6a21('0x2a')](function(_0x35989b){if(_0x35989b){return _0x35989b[_0x6a21('0xc4')](_0x26088b[_0x6a21('0x42')][_0x6a21('0xbb')]);}})[_0x6a21('0x2a')](respondWithStatusCode(_0x54b6b3,null))[_0x6a21('0x36')](handleError(_0x54b6b3,null));};exports['download']=function(_0x352cda,_0x2f8129){var _0xfa6884=moment()[_0x6a21('0xc5')]()['toString']();var _0x35b740=path[_0x6a21('0xc6')](config['root'],_0x6a21('0xc7'),_0x6a21('0xc8'),_0x6a21('0xc9'));var _0x112500=path['join'](config[_0x6a21('0xca')],_0x6a21('0xc7'),_0x6a21('0xc8'),_0x6a21('0xcb'));var _0x2509d0=path['join'](_0x35b740,_0xfa6884);var _0x3c2e42=util[_0x6a21('0xbf')](_0x6a21('0xcc'),_0x352cda[_0x6a21('0xb4')]['id'],_0xfa6884);var _0x5bed3f=path[_0x6a21('0xc6')](_0x35b740,_0x3c2e42);var _0x70512f=[];_0x70512f['push']({'model':db[_0x6a21('0x6f')],'as':'User','attributes':['id',_0x6a21('0x31')],'raw':!![]});_0x70512f[_0x6a21('0x35')]({'model':db[_0x6a21('0xcd')],'as':_0x6a21('0x66'),'attributes':['id',_0x6a21('0xce'),'lastName'],'raw':!![]});var _0x6c4820=[{'model':db[_0x6a21('0xb9')],'as':'Messages','attributes':['id',_0x6a21('0x73'),_0x6a21('0x7a'),_0x6a21('0xcf'),_0x6a21('0xd0'),_0x6a21('0x80')],'include':_0x70512f}];_0x6c4820[_0x6a21('0x35')]({'model':db[_0x6a21('0xd1')],'as':_0x6a21('0xd2'),'attributes':['id',_0x6a21('0x2e')]});_0x6c4820[_0x6a21('0x35')]({'model':db[_0x6a21('0x6f')],'as':_0x6a21('0xd3'),'attributes':['id',_0x6a21('0x31')]});return db[_0x6a21('0x9d')][_0x6a21('0x61')]({'where':{'id':_0x352cda[_0x6a21('0xb4')]['id']},'include':_0x6c4820})[_0x6a21('0x2a')](handleEntityNotFound(_0x2f8129,null))[_0x6a21('0x2a')](function(_0x19bc2c){if(_0x19bc2c){var _0x4568e8=_0x19bc2c[_0x6a21('0xd4')]({'plain':!![]});fs[_0x6a21('0xd5')](_0x2509d0);var _0x497f0e={'channel':_0x6a21('0xd6'),'account':_0x4568e8['Account'][_0x6a21('0x2e')],'agent':_0x4568e8[_0x6a21('0xd3')]?_0x4568e8['Owner'][_0x6a21('0x31')]:_0x6a21('0xd7'),'createdAt':moment(_0x4568e8[_0x6a21('0x7a')])[_0x6a21('0xbf')](_0x6a21('0xc0'))['toString'](),'closedAt':_0x4568e8[_0x6a21('0x3a')]?moment(_0x4568e8[_0x6a21('0xd8')])[_0x6a21('0xbf')](_0x6a21('0xc0'))[_0x6a21('0x9b')]():'','disposition':_0x4568e8[_0x6a21('0xd9')],'messages':_(_0x4568e8[_0x6a21('0xda')])[_0x6a21('0x85')]({'secret':![]})[_0x6a21('0x30')](function(_0x396ad5){return{'date':moment(_0x396ad5['createdAt'])['format'](_0x6a21('0xc0'))[_0x6a21('0x9b')](),'sender':_0x396ad5[_0x6a21('0xcf')]===_0x6a21('0xdb')?_0x396ad5[_0x6a21('0x6f')]?_0x396ad5[_0x6a21('0x6f')][_0x6a21('0x31')]:_0x6a21('0xdc'):_0x396ad5[_0x6a21('0x66')][_0x6a21('0xce')]+(_0x396ad5[_0x6a21('0x66')][_0x6a21('0xdd')]?'\x20'+_0x396ad5[_0x6a21('0x66')][_0x6a21('0xdd')]:''),'body':_0x396ad5[_0x6a21('0x73')],'direction':_0x396ad5[_0x6a21('0xcf')]===_0x6a21('0xdb')?'A':'C','secret':_0x396ad5[_0x6a21('0xd0')],'read':_0x396ad5['read']};})[_0x6a21('0x63')]()};return ejs[_0x6a21('0xde')](path[_0x6a21('0xc6')](config[_0x6a21('0xca')],_0x6a21('0xc7'),_0x6a21('0xdf'),_0x6a21('0xe0')),{'interaction':_0x497f0e})['then'](function(_0x1adf4e){var _0x21da41=path[_0x6a21('0xc6')](_0x2509d0,_0x6a21('0xe1')+_0x4568e8['id']+'-'+_0xfa6884+_0x6a21('0xe2'));var _0x4a7230={'path':_0x21da41,'channel':_0x6a21('0xd6'),'interactionId':_0x4568e8['id']};return pdf[_0x6a21('0xe3')](_0x1adf4e,_0x4a7230);})[_0x6a21('0x2a')](function(){return new BPromise(function(_0x50d797,_0x407472){zipdir(_0x2509d0,{'saveTo':_0x5bed3f},function(_0x3328b0,_0x20bb4d){if(_0x3328b0)return _0x407472(_0x3328b0);return _0x50d797(_0x20bb4d);});})[_0x6a21('0x2a')](function(){return new BPromise(function(_0x545961,_0x13354f){rimraf(_0x2509d0,function(_0x4b7092){if(_0x4b7092)_0x13354f(_0x4b7092);return _0x545961();});});})[_0x6a21('0x2a')](function(){return _0x2f8129[_0x6a21('0xe4')](_0x5bed3f,_0x3c2e42,function(_0x103eeb){if(_0x103eeb){console[_0x6a21('0xe5')](_0x6a21('0xe6'),_0x103eeb);}else{fs['unlinkSync'](_0x5bed3f);}});});});}else{return _0x2f8129['sendStatus'](0xc8);}})[_0x6a21('0x36')](handleError(_0x2f8129,null));};