Built motion from commit (unavailable).|2.6.0
[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 _0x3974=['save','then','destroy','error','name','send','Users','map','fullname','TagIds','Tags','split','catch','index','SmsInteraction','rawAttributes','fieldName','type','key','query','keys','filters','intersection','attributes','model','fields','hasOwnProperty','nolimit','limit','order','sort','where','pick','select','field','color','from','tools_tags','u.id','ui.SmsInteractionId','user_has_sms_interactions','left_join','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','a.id\x20=\x20i.SmsAccountId','sms_interaction_has_tags','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','length','find','unreadMessages','`\x20=\x200','having','`\x20>\x200','Contact','operator','$substring','value','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','some','compact','isEmpty','SmsAccountId','concat','createdAt','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','read','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','i.SmsAccountId\x20IN\x20?','sequelize','toString','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','c.firstName','Contact.lastName','c.email','Contact.email','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','groupBy','rows','includeAll','include','merge','options','create','update','params','describe','SmsMessage','ids','omit','getMessages','findOne','SmsInteractionId','$gte','findAll','addTags','setTags','spread','Tag','emit','smsInteractionTags:save','removeTags','download','join','server','files','attachments','format','transcript-%d-%s.zip','push','User','CmContact','firstName','Messages','SmsAccount','Owner','get','mkdirSync','N.A.','YYYY-MM-DD\x20HH:mm:ss','closed','closedAt','disposition','direction','out','System','lastName','secret','renderFile','transcript-','.pdf','Sms','createPdfFromHTML','log','unlinkSync','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/export/pdf','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','socket.io-emitter','./smsInteraction.socket','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','reject'];(function(_0x475697,_0x5e06a7){var _0x431e5c=function(_0x4195bf){while(--_0x4195bf){_0x475697['push'](_0x475697['shift']());}};_0x431e5c(++_0x5e06a7);}(_0x3974,0xbc));var _0x4397=function(_0x38ad0f,_0x569a79){_0x38ad0f=_0x38ad0f-0x0;var _0xb537a8=_0x3974[_0x38ad0f];return _0xb537a8;};'use strict';var emlformat=require(_0x4397('0x0'));var rimraf=require(_0x4397('0x1'));var zipdir=require(_0x4397('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x4397('0x3'));var BPromise=require(_0x4397('0x4'));var Mustache=require(_0x4397('0x5'));var util=require(_0x4397('0x6'));var path=require(_0x4397('0x7'));var sox=require('sox');var csv=require(_0x4397('0x8'));var ejs=require(_0x4397('0x9'));var fs=require('fs');var fs_extra=require(_0x4397('0xa'));var _=require(_0x4397('0xb'));var squel=require('squel');var crypto=require(_0x4397('0xc'));var jsforce=require(_0x4397('0xd'));var deskjs=require(_0x4397('0xe'));var toCsv=require(_0x4397('0x8'));var querystring=require('querystring');var Papa=require(_0x4397('0xf'));var Redis=require(_0x4397('0x10'));var authService=require(_0x4397('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var pdf=require(_0x4397('0x12'));var hardwareService=require(_0x4397('0x13'));var logger=require(_0x4397('0x14'))('api');var utils=require(_0x4397('0x15'));var config=require(_0x4397('0x16'));var licenseUtil=require(_0x4397('0x17'));var db=require('../../mysqldb')['db'];config[_0x4397('0x18')]=_[_0x4397('0x19')](config[_0x4397('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0x4397('0x1a'))(new Redis(config['redis']));require(_0x4397('0x1b'))['register'](socket);function respondWithStatusCode(_0x17c9a9,_0x30ac21){_0x30ac21=_0x30ac21||0xcc;return function(_0x3b6dfa){if(_0x3b6dfa){return _0x17c9a9[_0x4397('0x1c')](_0x30ac21);}return _0x17c9a9[_0x4397('0x1d')](_0x30ac21)[_0x4397('0x1e')]();};}function respondWithResult(_0x4fa1fa,_0x428f3b){_0x428f3b=_0x428f3b||0xc8;return function(_0x380666){if(_0x380666){return _0x4fa1fa[_0x4397('0x1d')](_0x428f3b)[_0x4397('0x1f')](_0x380666);}};}function respondWithFilteredResult(_0x3a60c1,_0xdd7dab){return function(_0x35e528){if(_0x35e528){var _0x24d400=typeof _0xdd7dab[_0x4397('0x20')]==='undefined'&&typeof _0xdd7dab['limit']===_0x4397('0x21');var _0x3a2810=_0x35e528[_0x4397('0x22')];var _0xaf9b09=_0x24d400?0x0:_0xdd7dab['offset'];var _0x523002=_0x24d400?_0x35e528[_0x4397('0x22')]:_0xdd7dab[_0x4397('0x20')]+_0xdd7dab['limit'];var _0x5a583b;if(_0x523002>=_0x3a2810){_0x523002=_0x3a2810;_0x5a583b=0xc8;}else{_0x5a583b=0xce;}_0x3a60c1['status'](_0x5a583b);return _0x3a60c1[_0x4397('0x23')](_0x4397('0x24'),_0xaf9b09+'-'+_0x523002+'/'+_0x3a2810)['json'](_0x35e528);}return null;};}function patchUpdates(_0x166ffd){return function(_0x3fef2b){try{jsonpatch['apply'](_0x3fef2b,_0x166ffd,!![]);}catch(_0x2797d2){return BPromise[_0x4397('0x25')](_0x2797d2);}return _0x3fef2b[_0x4397('0x26')]();};}function saveUpdates(_0x2d3b13,_0x58ef09){return function(_0x514472){if(_0x514472){return _0x514472['update'](_0x2d3b13)[_0x4397('0x27')](function(_0x404c69){return _0x404c69;});}return null;};}function removeEntity(_0x1d8f8e,_0x4fc725){return function(_0x3dfb6b){if(_0x3dfb6b){return _0x3dfb6b[_0x4397('0x28')]()[_0x4397('0x27')](function(){_0x1d8f8e[_0x4397('0x1d')](0xcc)[_0x4397('0x1e')]();});}};}function handleEntityNotFound(_0x1c224b,_0x411522){return function(_0xa59687){if(!_0xa59687){_0x1c224b[_0x4397('0x1c')](0x194);}return _0xa59687;};}function handleError(_0xc76066,_0x550b0d){_0x550b0d=_0x550b0d||0x1f4;return function(_0x5291e9){logger[_0x4397('0x29')](_0x5291e9['stack']);if(_0x5291e9[_0x4397('0x2a')]){delete _0x5291e9[_0x4397('0x2a')];}_0xc76066['status'](_0x550b0d)[_0x4397('0x2b')](_0x5291e9);};}function getInteractionUsers(_0x4477fa,_0x3492f4){return new BPromise(function(_0x5c159f,_0x132d2e){try{if(_0x3492f4[_0x4477fa['id']]){_0x4477fa[_0x4397('0x2c')]=_[_0x4397('0x2d')](_0x3492f4[_0x4477fa['id']],function(_0x4c94e9){return{'id':_0x4c94e9['id'],'fullname':_0x4c94e9[_0x4397('0x2e')]};});}}catch(_0x48a27e){_0x132d2e(_0x48a27e);}_0x5c159f(_0x4477fa);});}function getInteractionTags(_0x234025,_0x5d2300){return new BPromise(function(_0xde4e77,_0x63f7e0){try{if(_0x234025[_0x4397('0x2f')]){_0x234025[_0x4397('0x30')]=[];_0x234025[_0x4397('0x2f')][_0x4397('0x31')](',')['forEach'](function(_0x39e78b){_0x234025[_0x4397('0x30')]['push'](_0x5d2300[_0x39e78b]);});}delete _0x234025['TagIds'];}catch(_0x5ee3de){_0x63f7e0(_0x5ee3de);}_0xde4e77(_0x234025);});}function updateSmsInteraction(_0x3c2fdd,_0x108f79,_0x29d98f){return new BPromise(function(_0x2219e3,_0xf2a675){return getInteractionUsers(_0x3c2fdd,_0x29d98f)[_0x4397('0x27')](function(_0x134523){return getInteractionTags(_0x134523,_0x108f79);})['then'](function(_0x519dc0){_0x2219e3(_0x519dc0);})[_0x4397('0x32')](function(_0x9ae5d9){_0xf2a675(_0x9ae5d9);});});}exports[_0x4397('0x33')]=function(_0x1bcb8e,_0x479d48){var _0x282b28={},_0x26ed15={},_0x463c7e={'count':0x0,'rows':[]};var _0x319b2f=_['map'](db[_0x4397('0x34')][_0x4397('0x35')],function(_0x4e1bc6){return{'name':_0x4e1bc6[_0x4397('0x36')],'type':_0x4e1bc6[_0x4397('0x37')][_0x4397('0x38')]};});_0x26ed15['model']=_['map'](_0x319b2f,_0x4397('0x2a'));_0x26ed15[_0x4397('0x39')]=_[_0x4397('0x3a')](_0x1bcb8e[_0x4397('0x39')]);_0x26ed15[_0x4397('0x3b')]=_[_0x4397('0x3c')](_0x26ed15['model'],_0x26ed15['query']);_0x282b28[_0x4397('0x3d')]=_['intersection'](_0x26ed15[_0x4397('0x3e')],qs[_0x4397('0x3f')](_0x1bcb8e[_0x4397('0x39')][_0x4397('0x3f')]));_0x282b28[_0x4397('0x3d')]=_0x282b28[_0x4397('0x3d')]['length']?_0x282b28[_0x4397('0x3d')]:_0x26ed15[_0x4397('0x3e')];if(!_0x1bcb8e['query'][_0x4397('0x40')](_0x4397('0x41'))){_0x282b28[_0x4397('0x42')]=qs['limit'](_0x1bcb8e['query'][_0x4397('0x42')]);_0x282b28['offset']=qs[_0x4397('0x20')](_0x1bcb8e[_0x4397('0x39')][_0x4397('0x20')]);}_0x282b28[_0x4397('0x43')]=qs['sort'](_0x1bcb8e[_0x4397('0x39')][_0x4397('0x44')]);_0x282b28[_0x4397('0x45')]=qs[_0x4397('0x3b')](_[_0x4397('0x46')](_0x1bcb8e[_0x4397('0x39')],_0x26ed15['filters']),_0x319b2f);var _0x138120=[];var _0x17b97a=squel[_0x4397('0x47')]()['field']('id')[_0x4397('0x48')](_0x4397('0x2a'))[_0x4397('0x48')](_0x4397('0x49'))[_0x4397('0x4a')](_0x4397('0x4b'));var _0xf237c7=squel['select']()[_0x4397('0x48')](_0x4397('0x4c'))[_0x4397('0x48')]('u.fullname')[_0x4397('0x48')](_0x4397('0x4d'))[_0x4397('0x4a')](_0x4397('0x4e'),'ui')[_0x4397('0x4f')](_0x4397('0x50'),'u',_0x4397('0x51'));var _0x60bc33=squel[_0x4397('0x47')]()[_0x4397('0x4a')]('sms_interactions','i')['left_join'](_0x4397('0x52'),'c',_0x4397('0x53'))[_0x4397('0x4f')](_0x4397('0x50'),'o',_0x4397('0x54'))[_0x4397('0x4f')]('sms_accounts','a',_0x4397('0x55'))[_0x4397('0x4f')]('sms_messages','me','me.SmsInteractionId\x20=\x20i.id')[_0x4397('0x4f')](_0x4397('0x56'),'it',_0x4397('0x57'))['left_join'](_0x4397('0x4b'),'t',_0x4397('0x58'));var _0x47eaeb=squel[_0x4397('0x59')]();var _0x4dc523=[];var _0x2b7712=squel['expr']();var _0x33e2d7;if(_0x1bcb8e[_0x4397('0x39')][_0x4397('0x5a')]){_0x33e2d7=as[_0x4397('0x5b')](_0x1bcb8e[_0x4397('0x39')][_0x4397('0x5a')]);var _0x50bd56=_0x33e2d7[_0x4397('0x5c')];for(var _0x402239=0x0;_0x402239<_0x33e2d7[_0x4397('0x5d')][_0x4397('0x5e')];_0x402239++){var _0x46befd=_0x33e2d7['conditions'][_0x402239];var _0x104728='i';var _0x25df77=_[_0x4397('0x5f')](_0x319b2f,[_0x4397('0x2a'),_0x46befd[_0x4397('0x48')]]);if(!_0x25df77){switch(_0x46befd[_0x4397('0x48')]){case _0x4397('0x60'):if(_0x46befd['value']==0x1){_0x60bc33['having']('`'+_0x46befd[_0x4397('0x48')]+_0x4397('0x61'));}else{_0x60bc33[_0x4397('0x62')]('`'+_0x46befd[_0x4397('0x48')]+_0x4397('0x63'));}break;case _0x4397('0x64'):if(_0x46befd[_0x4397('0x65')]===_0x4397('0x66')){if(_0x46befd[_0x4397('0x67')]['split']('\x20')['length']>0x1){_0x47eaeb[_0x50bd56]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x4397('0x68')](_0x46befd[_0x4397('0x67')]),null);}else{var _0x6e97fc='%'+_0x46befd[_0x4397('0x67')]+'%';_0x47eaeb[_0x50bd56](_0x4397('0x69'),_0x6e97fc,_0x6e97fc,_0x6e97fc);}}else{_0x25df77=_[_0x4397('0x5f')](_0x319b2f,['name',_0x4397('0x6a')]);_0x46befd['field']=_0x4397('0x6a');_0x4290db=as[_0x4397('0x6b')](_0x104728,_0x25df77[_0x4397('0x37')],_0x46befd);_0x47eaeb[_0x50bd56](_0x4290db[_0x4397('0x6c')],_0x4290db['value'][_0x4397('0x6d')],_0x4290db[_0x4397('0x67')][_0x4397('0x1e')]);}break;case'Tag':var _0x5317da=_0x46befd[_0x4397('0x67')][_0x4397('0x31')](',')[_0x4397('0x2d')](function(_0x5e527a){return Number(_0x5e527a);});_0x5317da[_0x4397('0x6e')](function(_0x96e363){_0x2b7712['or'](_0x4397('0x6f'),'%,'+_0x96e363+',%');});_0x4dc523=_[_0x4397('0x70')](_0x4dc523,_0x5317da);break;case'User':if(_0x46befd['operator']===_0x4397('0x66')){_0x47eaeb[_0x50bd56](_0x4397('0x71'),'%'+_0x46befd[_0x4397('0x67')]+'%',null);}else{_0x25df77=_[_0x4397('0x5f')](_0x319b2f,['name',_0x4397('0x72')]);_0x46befd['field']=_0x4397('0x72');_0x4290db=as[_0x4397('0x6b')](_0x104728,_0x25df77[_0x4397('0x37')],_0x46befd);_0x47eaeb[_0x50bd56](_0x4290db[_0x4397('0x6c')],_0x4290db[_0x4397('0x67')][_0x4397('0x6d')],_0x4290db[_0x4397('0x67')][_0x4397('0x1e')]);}break;case _0x4397('0x73'):_0x4290db=as[_0x4397('0x6b')]('me',null,_0x46befd);_0x47eaeb[_0x50bd56](_0x4290db['text'],_0x4290db[_0x4397('0x67')][_0x4397('0x6d')],_0x4290db[_0x4397('0x67')][_0x4397('0x1e')]);break;}}else{var _0x4290db=as['buildExpression'](_0x104728,_0x25df77[_0x4397('0x37')],_0x46befd);_0x47eaeb[_0x50bd56](_0x4290db[_0x4397('0x6c')],_0x4290db['value'][_0x4397('0x6d')],_0x4290db['value']['end']);}}}else{var _0x410f26=_(_0x1bcb8e[_0x4397('0x39')])[_0x4397('0x3a')]()['map'](function(_0x5ffcf4){return _[_0x4397('0x74')](_0x319b2f,[_0x4397('0x2a'),_0x5ffcf4])?_0x5ffcf4:undefined;})[_0x4397('0x75')]()[_0x4397('0x67')]();if(!_[_0x4397('0x76')](_0x410f26)){_0x410f26['forEach'](function(_0x3569e9){if(_0x3569e9===_0x4397('0x77')){_0x60bc33[_0x4397('0x45')]('i.SmsAccountId\x20IN\x20?',[][_0x4397('0x78')](_0x1bcb8e[_0x4397('0x39')][_0x3569e9]));}else if(_0x3569e9===_0x4397('0x79')){var _0x2fac82=JSON['parse'](_0x1bcb8e[_0x4397('0x39')][_0x3569e9])['$gte'];var _0x170d8d=JSON['parse'](_0x1bcb8e[_0x4397('0x39')][_0x3569e9])[_0x4397('0x7a')];_0x60bc33[_0x4397('0x45')](_0x4397('0x7b'),_0x2fac82,_0x170d8d);}else{if(_0x1bcb8e[_0x4397('0x39')][_0x3569e9]==='null'){_0x60bc33[_0x4397('0x45')]('i.'+_0x3569e9+_0x4397('0x7c'));}else{_0x60bc33[_0x4397('0x45')]('i.'+_0x3569e9+'\x20=\x20?',_0x1bcb8e[_0x4397('0x39')][_0x3569e9]);}}});}if(_0x1bcb8e[_0x4397('0x39')][_0x4397('0x7d')]){if(_0x1bcb8e[_0x4397('0x39')][_0x4397('0x7d')]==0x1){_0x60bc33[_0x4397('0x62')]('`unreadMessages`\x20=\x200');}else{_0x60bc33[_0x4397('0x62')](_0x4397('0x7e'));}}if(_0x1bcb8e['query'][_0x4397('0x7f')]){_0x4dc523=_[_0x4397('0x80')](_0x1bcb8e['query'][_0x4397('0x7f')])?_0x1bcb8e['query'][_0x4397('0x7f')]:new Array(_0x1bcb8e['query']['tag']);_0x4dc523[_0x4397('0x6e')](function(_0x3420b5){_0x2b7712['or'](_0x4397('0x6f'),'%,'+_0x3420b5+',%');});}if(_0x1bcb8e[_0x4397('0x39')][_0x4397('0x81')]){var _0x250da7=_0x1bcb8e[_0x4397('0x39')]['filter'][_0x4397('0x82')]('\x5c','\x5c\x5c')[_0x4397('0x82')](/'/g,'\x27\x27');if(qs[_0x4397('0x83')](_0x250da7)){_0x47eaeb['or']('i.id\x20LIKE\x20?',_0x250da7+'%')['or']('i.phone\x20LIKE\x20?',_0x250da7+'%');}else{_0x47eaeb['or'](_0x4397('0x84'),qs[_0x4397('0x68')](_0x250da7))['or'](_0x4397('0x85'),_0x250da7+'%');}}}_0x60bc33[_0x4397('0x45')](_0x47eaeb);_0x60bc33[_0x4397('0x86')]('i.id');var _0x131c70={'type':db[_0x4397('0x87')][_0x4397('0x88')][_0x4397('0x89')],'raw':!![]};var _0x162468=_0x60bc33[_0x4397('0x8a')]();_0x162468['field'](_0x4397('0x8b'));_0x162468[_0x4397('0x48')](_0x4397('0x8c'),'unreadMessages');if(_0x282b28[_0x4397('0x43')]){_0x282b28['order']['forEach'](function(_0x5657ac){var _0x29daed=_0x5657ac[0x0]===_0x4397('0x8d')?_0x5657ac[0x0]:'i.'+_0x5657ac[0x0];_0x60bc33[_0x4397('0x43')](_0x29daed,_0x5657ac[0x1]===_0x4397('0x8e')?![]:!![]);});}if(!_[_0x4397('0x76')](_0x4dc523)){_0x60bc33[_0x4397('0x62')](_0x2b7712);_0x162468['where']('t.id\x20IN\x20?',_0x4dc523);}BPromise[_0x4397('0x8f')]()[_0x4397('0x27')](function(){if(!_0x33e2d7){if(_0x1bcb8e['query'][_0x4397('0x77')])return;_0x162468['where'](_0x4397('0x90'));_0x60bc33['where'](_0x4397('0x90'));return;}if(_0x1bcb8e[_0x4397('0x91')][_0x4397('0x92')]!==_0x4397('0x93'))return;return _0x1bcb8e[_0x4397('0x91')][_0x4397('0x94')]({'attributes':['id'],'raw':!![]})[_0x4397('0x27')](function(_0x34e18f){if(_[_0x4397('0x76')](_0x34e18f)){_0x162468['where']('i.SmsAccountId\x20IS\x20NULL');_0x60bc33[_0x4397('0x45')](_0x4397('0x95'));}else{_0x162468['where'](_0x4397('0x96'),_[_0x4397('0x2d')](_0x34e18f,'id'));_0x60bc33[_0x4397('0x45')](_0x4397('0x96'),_[_0x4397('0x2d')](_0x34e18f,'id'));}});})['then'](function(){if(_0x1bcb8e[_0x4397('0x91')][_0x4397('0x92')]===_0x4397('0x93')&&!_0x33e2d7&&!_0x1bcb8e[_0x4397('0x39')][_0x4397('0x77')])return[];return db[_0x4397('0x97')]['query'](_0x162468[_0x4397('0x98')](),_0x131c70);})[_0x4397('0x27')](function(_0x46bf5c){_0x463c7e[_0x4397('0x22')]=_0x46bf5c[_0x4397('0x5e')];if(_0x463c7e[_0x4397('0x22')]===0x0)return[];return db[_0x4397('0x97')][_0x4397('0x39')](_0x17b97a[_0x4397('0x98')](),_0x131c70)[_0x4397('0x27')](function(_0x3d3f76){_0x138120=_['keyBy'](_0x3d3f76,'id');_0x131c70=_['merge'](_0x131c70,{'model':db[_0x4397('0x34')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1bcb8e[_0x4397('0x39')][_0x4397('0x3f')]){_0x282b28[_0x4397('0x3d')]['forEach'](function(_0x4f320c){_0x60bc33[_0x4397('0x48')]('i.'+_0x4f320c);});}else{_0x60bc33['field'](_0x4397('0x8c'),_0x4397('0x60'));_0x60bc33[_0x4397('0x48')](_0x4397('0x99'),'Account.key');_0x60bc33[_0x4397('0x48')](_0x4397('0x9a'),_0x4397('0x9b'));_0x60bc33[_0x4397('0x48')]('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','contactName');_0x60bc33[_0x4397('0x48')]('i.*');_0x60bc33[_0x4397('0x48')](_0x4397('0x9c'),'Contact.firstName');_0x60bc33[_0x4397('0x48')]('c.lastName',_0x4397('0x9d'));_0x60bc33[_0x4397('0x48')](_0x4397('0x9e'),_0x4397('0x9f'));_0x60bc33['field']('c.phone',_0x4397('0xa0'));_0x60bc33[_0x4397('0x48')](_0x4397('0xa1'),'Contact.mobile');_0x60bc33[_0x4397('0x48')](_0x4397('0xa2'),_0x4397('0xa3'));_0x60bc33[_0x4397('0x48')](_0x4397('0xa4'),_0x4397('0xa5'));_0x60bc33[_0x4397('0x48')](_0x4397('0xa6'),_0x4397('0xa7'));_0x60bc33[_0x4397('0x48')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x4397('0x2f'));}if(_0x282b28[_0x4397('0x42')])_0x60bc33['limit'](_0x282b28[_0x4397('0x42')]);if(_0x282b28[_0x4397('0x20')])_0x60bc33[_0x4397('0x20')](_0x282b28[_0x4397('0x20')]);return db['sequelize']['query'](_0x60bc33[_0x4397('0x98')](),_0x131c70);})[_0x4397('0x27')](function(_0x3d7bf2){if(_0x3d7bf2[_0x4397('0x5e')]>0x0)_0xf237c7[_0x4397('0x45')]('ui.SmsInteractionId\x20IN\x20?',_[_0x4397('0x2d')](_0x3d7bf2,'id'));return db[_0x4397('0x97')][_0x4397('0x39')](_0xf237c7[_0x4397('0x98')](),_0x131c70)[_0x4397('0x27')](function(_0x4f5145){var _0x5f228a=_[_0x4397('0xa8')](_0x4f5145,'SmsInteractionId');var _0x2ea5bd=[];_0x3d7bf2[_0x4397('0x6e')](function(_0x2ce51c){_0x2ea5bd['push'](updateSmsInteraction(_0x2ce51c,_0x138120,_0x5f228a));});return BPromise['all'](_0x2ea5bd);});});})[_0x4397('0x27')](function(_0x16a2ad){_0x463c7e[_0x4397('0xa9')]=_0x16a2ad;return _0x463c7e;})[_0x4397('0x27')](respondWithFilteredResult(_0x479d48,_0x282b28))['catch'](handleError(_0x479d48,null));};exports['show']=function(_0x506b38,_0x3d2c00){var _0x13271d={'raw':![],'where':{'id':_0x506b38['params']['id']}},_0x2fe910={};_0x2fe910[_0x4397('0x3e')]=_[_0x4397('0x3a')](db[_0x4397('0x34')][_0x4397('0x35')]);_0x2fe910[_0x4397('0x39')]=_[_0x4397('0x3a')](_0x506b38[_0x4397('0x39')]);_0x2fe910[_0x4397('0x3b')]=_[_0x4397('0x3c')](_0x2fe910[_0x4397('0x3e')],_0x2fe910[_0x4397('0x39')]);_0x13271d['attributes']=_[_0x4397('0x3c')](_0x2fe910[_0x4397('0x3e')],qs[_0x4397('0x3f')](_0x506b38[_0x4397('0x39')][_0x4397('0x3f')]));_0x13271d['attributes']=_0x13271d[_0x4397('0x3d')][_0x4397('0x5e')]?_0x13271d['attributes']:_0x2fe910[_0x4397('0x3e')];if(_0x506b38['query'][_0x4397('0xaa')]){_0x13271d[_0x4397('0xab')]=[{'all':!![]}];}_0x13271d=_[_0x4397('0xac')]({},_0x13271d,_0x506b38[_0x4397('0xad')]);return db[_0x4397('0x34')][_0x4397('0x5f')](_0x13271d)['then'](handleEntityNotFound(_0x3d2c00,null))['then'](respondWithResult(_0x3d2c00,null))[_0x4397('0x32')](handleError(_0x3d2c00,null));};exports[_0x4397('0xae')]=function(_0x4fe957,_0x371b2e){return db[_0x4397('0x34')][_0x4397('0xae')](_0x4fe957[_0x4397('0x73')],{})[_0x4397('0x27')](respondWithResult(_0x371b2e,0xc9))[_0x4397('0x32')](handleError(_0x371b2e,null));};exports[_0x4397('0xaf')]=function(_0x222439,_0x4c5188){if(_0x222439[_0x4397('0x73')]['id']){delete _0x222439[_0x4397('0x73')]['id'];}return db[_0x4397('0x34')][_0x4397('0x5f')]({'where':{'id':_0x222439[_0x4397('0xb0')]['id']}})['then'](handleEntityNotFound(_0x4c5188,null))[_0x4397('0x27')](saveUpdates(_0x222439[_0x4397('0x73')],null))[_0x4397('0x27')](respondWithResult(_0x4c5188,null))[_0x4397('0x32')](handleError(_0x4c5188,null));};exports[_0x4397('0x28')]=function(_0x3099bd,_0x30615c){return db[_0x4397('0x34')][_0x4397('0x5f')]({'where':{'id':_0x3099bd[_0x4397('0xb0')]['id']}})[_0x4397('0x27')](handleEntityNotFound(_0x30615c,null))[_0x4397('0x27')](removeEntity(_0x30615c,null))[_0x4397('0x32')](handleError(_0x30615c,null));};exports['describe']=function(_0x5f00b7,_0x4898f2){return db['SmsInteraction'][_0x4397('0xb1')]()[_0x4397('0x27')](respondWithResult(_0x4898f2,null))[_0x4397('0x32')](handleError(_0x4898f2,null));};exports['addMessage']=function(_0x268736,_0x133467,_0x1d5f2f){return db[_0x4397('0xb2')][_0x4397('0x5f')]({'where':{'id':_0x268736[_0x4397('0xb0')]['id']}})['then'](handleEntityNotFound(_0x133467,null))[_0x4397('0x27')](function(_0x561ec9){if(_0x561ec9){return _0x561ec9['addMessage'](_0x268736[_0x4397('0x73')][_0x4397('0xb3')],_[_0x4397('0xb4')](_0x268736[_0x4397('0x73')],[_0x4397('0xb3'),'id'])||{});}})[_0x4397('0x27')](respondWithResult(_0x133467,null))[_0x4397('0x32')](handleError(_0x133467,null));};exports[_0x4397('0xb5')]=function(_0x5b54f7,_0x54940f,_0x4c3412){var _0x4aa784={'raw':![],'where':{}};var _0x3026b9={};var _0x51b013={'count':0x0,'rows':[]};return db[_0x4397('0x34')][_0x4397('0xb6')]({'where':{'id':_0x5b54f7[_0x4397('0xb0')]['id']}})[_0x4397('0x27')](handleEntityNotFound(_0x54940f,null))[_0x4397('0x27')](function(_0x36e47c){if(_0x36e47c){_0x3026b9[_0x4397('0x3e')]=_[_0x4397('0x3a')](db['SmsMessage'][_0x4397('0x35')]);_0x3026b9[_0x4397('0x39')]=_[_0x4397('0x3a')](_0x5b54f7['query']);_0x3026b9[_0x4397('0x3b')]=_[_0x4397('0x3c')](_0x3026b9[_0x4397('0x3e')],_0x3026b9[_0x4397('0x39')]);_0x4aa784[_0x4397('0x3d')]=_[_0x4397('0x3c')](_0x3026b9[_0x4397('0x3e')],qs[_0x4397('0x3f')](_0x5b54f7[_0x4397('0x39')][_0x4397('0x3f')]));_0x4aa784[_0x4397('0x3d')]=_0x4aa784[_0x4397('0x3d')]['length']?_0x4aa784[_0x4397('0x3d')]:_0x3026b9[_0x4397('0x3e')];if(!_0x5b54f7['query'][_0x4397('0x40')]('nolimit')){_0x4aa784[_0x4397('0x42')]=qs[_0x4397('0x42')](_0x5b54f7[_0x4397('0x39')][_0x4397('0x42')]);_0x4aa784['offset']=qs['offset'](_0x5b54f7[_0x4397('0x39')]['offset']);}_0x4aa784[_0x4397('0x43')]=qs[_0x4397('0x44')](_0x5b54f7['query'][_0x4397('0x44')]);_0x4aa784['where']=qs['filters'](_['pick'](_0x5b54f7[_0x4397('0x39')],_0x3026b9[_0x4397('0x3b')]));_0x4aa784[_0x4397('0x45')][_0x4397('0xb7')]=_0x36e47c['id'];if(_0x5b54f7[_0x4397('0x39')][_0x4397('0x81')]){_0x4aa784[_0x4397('0x45')]=_[_0x4397('0xac')](_0x4aa784[_0x4397('0x45')],{'$or':_['map'](_0x4aa784[_0x4397('0x3d')],function(_0x2a8a89){var _0x59da1f={};_0x59da1f[_0x2a8a89]={'$like':'%'+_0x5b54f7[_0x4397('0x39')][_0x4397('0x81')]+'%'};return _0x59da1f;})});}if(_0x5b54f7[_0x4397('0x39')][_0x4397('0xb8')]){var _0x6451cd=_0x5b54f7[_0x4397('0x39')][_0x4397('0xb8')][_0x4397('0x31')](',');var _0x378040={};_0x378040[_0x6451cd[0x0]]={'$gte':moment(_0x6451cd[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x4aa784[_0x4397('0x45')]=_['merge'](_0x4aa784[_0x4397('0x45')],_0x378040);}_0x4aa784=_['merge']({},_0x4aa784,_0x5b54f7['options']);return db['SmsMessage']['count']({'where':_0x4aa784[_0x4397('0x45')]})[_0x4397('0x27')](function(_0x4275d5){_0x51b013[_0x4397('0x22')]=_0x4275d5;if(_0x5b54f7[_0x4397('0x39')][_0x4397('0xaa')]){_0x4aa784['include']=[{'all':!![]}];}return db[_0x4397('0xb2')][_0x4397('0xb9')](_0x4aa784);})[_0x4397('0x27')](function(_0x2e7b30){_0x51b013[_0x4397('0xa9')]=_0x2e7b30;return _0x51b013;});}})[_0x4397('0x27')](respondWithFilteredResult(_0x54940f,_0x4aa784))[_0x4397('0x32')](handleError(_0x54940f,null));};exports[_0x4397('0xba')]=function(_0x25189b,_0x5b7ff7,_0x4cfb30){return db[_0x4397('0x34')][_0x4397('0x5f')]({'where':{'id':_0x25189b[_0x4397('0xb0')]['id']}})['then'](handleEntityNotFound(_0x5b7ff7,null))['then'](function(_0x397577){if(_0x397577){return _0x397577[_0x4397('0xbb')](_0x25189b['body'][_0x4397('0xb3')],_[_0x4397('0xb4')](_0x25189b[_0x4397('0x73')],[_0x4397('0xb3'),'id'])||{})[_0x4397('0xbc')](function(){return db[_0x4397('0xbd')][_0x4397('0xb9')]({'attributes':['id',_0x4397('0x2a'),_0x4397('0x49')],'where':{'id':_0x25189b[_0x4397('0x73')][_0x4397('0xb3')]}});})[_0x4397('0x27')](function(_0xffb2b1){socket[_0x4397('0xbe')](_0x4397('0xbf'),{'id':Number(_0x25189b[_0x4397('0xb0')]['id']),'tags':_0xffb2b1||[]});return{'id':Number(_0x25189b[_0x4397('0xb0')]['id']),'tags':_0xffb2b1||[]};});}})[_0x4397('0x27')](respondWithResult(_0x5b7ff7,null))[_0x4397('0x32')](handleError(_0x5b7ff7,null));};exports['removeTags']=function(_0x128848,_0x7cc762,_0x4b3b55){return db['SmsInteraction'][_0x4397('0x5f')]({'where':{'id':_0x128848[_0x4397('0xb0')]['id']}})[_0x4397('0x27')](handleEntityNotFound(_0x7cc762,null))['then'](function(_0xfa6c0b){if(_0xfa6c0b){return _0xfa6c0b[_0x4397('0xc0')](_0x128848[_0x4397('0x39')][_0x4397('0xb3')]);}})[_0x4397('0x27')](respondWithStatusCode(_0x7cc762,null))[_0x4397('0x32')](handleError(_0x7cc762,null));};exports[_0x4397('0xc1')]=function(_0x3b4a71,_0x49924f){var _0x4c14cc=moment()['unix']()[_0x4397('0x98')]();var _0x3d934e=path[_0x4397('0xc2')](config['root'],_0x4397('0xc3'),_0x4397('0xc4'),'tmp');var _0x1f2ec1=path[_0x4397('0xc2')](config['root'],_0x4397('0xc3'),_0x4397('0xc4'),_0x4397('0xc5'));var _0x3b5414=path[_0x4397('0xc2')](_0x3d934e,_0x4c14cc);var _0x17fe05=util[_0x4397('0xc6')](_0x4397('0xc7'),_0x3b4a71[_0x4397('0xb0')]['id'],_0x4c14cc);var _0x4d09a4=path[_0x4397('0xc2')](_0x3d934e,_0x17fe05);var _0x25f990=[];_0x25f990[_0x4397('0xc8')]({'model':db[_0x4397('0xc9')],'as':_0x4397('0xc9'),'attributes':['id',_0x4397('0x2e')],'raw':!![]});_0x25f990[_0x4397('0xc8')]({'model':db[_0x4397('0xca')],'as':_0x4397('0x64'),'attributes':['id',_0x4397('0xcb'),'lastName'],'raw':!![]});var _0x3fb382=[{'model':db[_0x4397('0xb2')],'as':_0x4397('0xcc'),'attributes':['id',_0x4397('0x73'),_0x4397('0x79'),'direction','secret','read'],'include':_0x25f990}];_0x3fb382[_0x4397('0xc8')]({'model':db[_0x4397('0xcd')],'as':'Account','attributes':['id','name']});_0x3fb382[_0x4397('0xc8')]({'model':db[_0x4397('0xc9')],'as':_0x4397('0xce'),'attributes':['id',_0x4397('0x2e')]});return db[_0x4397('0x34')][_0x4397('0x5f')]({'where':{'id':_0x3b4a71['params']['id']},'include':_0x3fb382})[_0x4397('0x27')](handleEntityNotFound(_0x49924f,null))[_0x4397('0x27')](function(_0x23d690){if(_0x23d690){var _0x270a9d=_0x23d690[_0x4397('0xcf')]({'plain':!![]});fs[_0x4397('0xd0')](_0x3b5414);var _0x2f2a26={'channel':'Sms','account':_0x270a9d['Account']['name'],'agent':_0x270a9d['Owner']?_0x270a9d[_0x4397('0xce')][_0x4397('0x2e')]:_0x4397('0xd1'),'createdAt':moment(_0x270a9d[_0x4397('0x79')])[_0x4397('0xc6')](_0x4397('0xd2'))[_0x4397('0x98')](),'closedAt':_0x270a9d[_0x4397('0xd3')]?moment(_0x270a9d[_0x4397('0xd4')])[_0x4397('0xc6')](_0x4397('0xd2'))[_0x4397('0x98')]():'','disposition':_0x270a9d[_0x4397('0xd5')],'messages':_(_0x270a9d[_0x4397('0xcc')])[_0x4397('0x81')]({'secret':![]})['map'](function(_0x227b37){return{'date':moment(_0x227b37[_0x4397('0x79')])[_0x4397('0xc6')]('YYYY-MM-DD\x20HH:mm:ss')[_0x4397('0x98')](),'sender':_0x227b37[_0x4397('0xd6')]===_0x4397('0xd7')?_0x227b37['User']?_0x227b37['User'][_0x4397('0x2e')]:_0x4397('0xd8'):_0x227b37[_0x4397('0x64')][_0x4397('0xcb')]+(_0x227b37[_0x4397('0x64')]['lastName']?'\x20'+_0x227b37['Contact'][_0x4397('0xd9')]:''),'body':_0x227b37['body'],'direction':_0x227b37[_0x4397('0xd6')]===_0x4397('0xd7')?'A':'C','secret':_0x227b37[_0x4397('0xda')],'read':_0x227b37[_0x4397('0x7d')]};})[_0x4397('0x67')]()};return ejs[_0x4397('0xdb')](path['join'](config['root'],_0x4397('0xc3'),'views','downloadInteraction.html'),{'interaction':_0x2f2a26})[_0x4397('0x27')](function(_0x2722bf){var _0x14e75a=path[_0x4397('0xc2')](_0x3b5414,_0x4397('0xdc')+_0x270a9d['id']+'-'+_0x4c14cc+_0x4397('0xdd'));var _0x36bc98={'path':_0x14e75a,'channel':_0x4397('0xde'),'interactionId':_0x270a9d['id']};return pdf[_0x4397('0xdf')](_0x2722bf,_0x36bc98);})[_0x4397('0x27')](function(){return new BPromise(function(_0x36ac08,_0x3f278c){zipdir(_0x3b5414,{'saveTo':_0x4d09a4},function(_0x4821f9,_0x168575){if(_0x4821f9)return _0x3f278c(_0x4821f9);return _0x36ac08(_0x168575);});})[_0x4397('0x27')](function(){return new BPromise(function(_0x180680,_0x11a81b){rimraf(_0x3b5414,function(_0x3c83a1){if(_0x3c83a1)_0x11a81b(_0x3c83a1);return _0x180680();});});})[_0x4397('0x27')](function(){return _0x49924f[_0x4397('0xc1')](_0x4d09a4,_0x17fe05,function(_0x4b23db){if(_0x4b23db){console[_0x4397('0xe0')]('err',_0x4b23db);}else{fs[_0x4397('0xe1')](_0x4d09a4);}});});});}else{return _0x49924f[_0x4397('0x1c')](0xc8);}})[_0x4397('0x32')](handleError(_0x49924f,null));};