599d98507579cc45cf31fec98db1e33d1e0b34ac
[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 _0x8107=['$substring','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','body','some','compact','isEmpty','SmsAccountId','where','i.SmsAccountId\x20IN\x20?','concat','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.phone\x20LIKE\x20?','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','toString','sequelize','merge','Account.key','a.mandatoryDisposition','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','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','ui.SmsInteractionId\x20IN\x20?','groupBy','SmsInteractionId','all','rows','show','SmsInteraction','include','options','create','params','describe','addMessage','SmsMessage','ids','findOne','nolimit','format','YYYY-MM-DD\x20HH:mm:ss','includeAll','addTags','setTags','omit','spread','Tag','findAll','emit','smsInteractionTags:save','removeTags','join','root','server','tmp','attachments','transcript-%d-%s.zip','CmContact','firstName','lastName','Messages','createdAt','direction','secret','SmsAccount','Account','Owner','get','mkdirSync','N.A.','disposition','out','System','views','transcript-','Sms','createPdfFromHTML','download','log','err','unlinkSync','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','register','sendStatus','end','status','json','offset','undefined','limit','count','apply','reject','save','update','destroy','then','error','stack','name','send','Users','map','fullname','Tags','split','forEach','push','catch','waiting','talking','answered','total','closed','UserId','index','rawAttributes','fieldName','type','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','pick','select','field','color','from','tools_tags','u.fullname','user_has_sms_interactions','left_join','users','sms_interactions','cm_contacts','o.id\x20=\x20i.UserId','sms_accounts','me.SmsInteractionId\x20=\x20i.id','it.SmsInteractionId\x20=\x20i.id','expr','search','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','Contact','operator'];(function(_0x82da60,_0x11773d){var _0xa6d962=function(_0x2d1d4a){while(--_0x2d1d4a){_0x82da60['push'](_0x82da60['shift']());}};_0xa6d962(++_0x11773d);}(_0x8107,0x171));var _0x7810=function(_0x47a41f,_0x48d92b){_0x47a41f=_0x47a41f-0x0;var _0x2411f5=_0x8107[_0x47a41f];return _0x2411f5;};'use strict';var emlformat=require(_0x7810('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x7810('0x1'));var jsonpatch=require(_0x7810('0x2'));var rp=require(_0x7810('0x3'));var moment=require(_0x7810('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x7810('0x5'));var util=require(_0x7810('0x6'));var path=require(_0x7810('0x7'));var sox=require(_0x7810('0x8'));var csv=require(_0x7810('0x9'));var ejs=require(_0x7810('0xa'));var fs=require('fs');var fs_extra=require(_0x7810('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x7810('0xc'));var jsforce=require(_0x7810('0xd'));var deskjs=require(_0x7810('0xe'));var toCsv=require(_0x7810('0x9'));var querystring=require(_0x7810('0xf'));var Papa=require('papaparse');var Redis=require(_0x7810('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x7810('0x11'));var as=require('../../components/parsers/advancedSearch');var pdf=require('../../components/export/pdf');var hardwareService=require(_0x7810('0x12'));var logger=require(_0x7810('0x13'))(_0x7810('0x14'));var utils=require(_0x7810('0x15'));var config=require(_0x7810('0x16'));var licenseUtil=require(_0x7810('0x17'));var db=require(_0x7810('0x18'))['db'];config[_0x7810('0x19')]=_['defaults'](config[_0x7810('0x19')],{'host':_0x7810('0x1a'),'port':0x18eb});var socket=require(_0x7810('0x1b'))(new Redis(config[_0x7810('0x19')]));require('./smsInteraction.socket')[_0x7810('0x1c')](socket);function respondWithStatusCode(_0x49a559,_0x305d19){_0x305d19=_0x305d19||0xcc;return function(_0x1d65a7){if(_0x1d65a7){return _0x49a559[_0x7810('0x1d')](_0x305d19);}return _0x49a559['status'](_0x305d19)[_0x7810('0x1e')]();};}function respondWithResult(_0x1fd050,_0x18b239){_0x18b239=_0x18b239||0xc8;return function(_0x4bc3cf){if(_0x4bc3cf){return _0x1fd050[_0x7810('0x1f')](_0x18b239)[_0x7810('0x20')](_0x4bc3cf);}};}function respondWithFilteredResult(_0x3cef89,_0x19e39f){return function(_0x32c7f5){if(_0x32c7f5){var _0x2f23f9=typeof _0x19e39f[_0x7810('0x21')]===_0x7810('0x22')&&typeof _0x19e39f[_0x7810('0x23')]===_0x7810('0x22');var _0x571d1e=_0x32c7f5[_0x7810('0x24')];var _0x26fbd4=_0x2f23f9?0x0:_0x19e39f[_0x7810('0x21')];var _0xff7b38=_0x2f23f9?_0x32c7f5['count']:_0x19e39f[_0x7810('0x21')]+_0x19e39f[_0x7810('0x23')];var _0x36542f;if(_0xff7b38>=_0x571d1e){_0xff7b38=_0x571d1e;_0x36542f=0xc8;}else{_0x36542f=0xce;}_0x3cef89[_0x7810('0x1f')](_0x36542f);return _0x3cef89['set']('Content-Range',_0x26fbd4+'-'+_0xff7b38+'/'+_0x571d1e)[_0x7810('0x20')](_0x32c7f5);}return null;};}function patchUpdates(_0x29ee78){return function(_0x49f218){try{jsonpatch[_0x7810('0x25')](_0x49f218,_0x29ee78,!![]);}catch(_0x5f0bd7){return BPromise[_0x7810('0x26')](_0x5f0bd7);}return _0x49f218[_0x7810('0x27')]();};}function saveUpdates(_0x4b87b8,_0x2f9320){return function(_0x59e9e6){if(_0x59e9e6){return _0x59e9e6[_0x7810('0x28')](_0x4b87b8)['then'](function(_0x172f4d){return _0x172f4d;});}return null;};}function removeEntity(_0x672ac3,_0x57239b){return function(_0xfebea0){if(_0xfebea0){return _0xfebea0[_0x7810('0x29')]()[_0x7810('0x2a')](function(){_0x672ac3[_0x7810('0x1f')](0xcc)[_0x7810('0x1e')]();});}};}function handleEntityNotFound(_0x5db3fb,_0x3fec95){return function(_0x7db04d){if(!_0x7db04d){_0x5db3fb[_0x7810('0x1d')](0x194);}return _0x7db04d;};}function handleError(_0x3c7dca,_0x160ac3){_0x160ac3=_0x160ac3||0x1f4;return function(_0x171a22){logger[_0x7810('0x2b')](_0x171a22[_0x7810('0x2c')]);if(_0x171a22[_0x7810('0x2d')]){delete _0x171a22[_0x7810('0x2d')];}_0x3c7dca[_0x7810('0x1f')](_0x160ac3)[_0x7810('0x2e')](_0x171a22);};}function getInteractionUsers(_0x4ccce3,_0x47d6bf){return new BPromise(function(_0x30afcb,_0x4118e1){try{if(_0x47d6bf[_0x4ccce3['id']]){_0x4ccce3[_0x7810('0x2f')]=_[_0x7810('0x30')](_0x47d6bf[_0x4ccce3['id']],function(_0x415394){return{'id':_0x415394['id'],'fullname':_0x415394[_0x7810('0x31')]};});}}catch(_0x1f4845){_0x4118e1(_0x1f4845);}_0x30afcb(_0x4ccce3);});}function getInteractionTags(_0x513ae8,_0x41a2fa){return new BPromise(function(_0x13330a,_0x23ea03){try{if(_0x513ae8['TagIds']){_0x513ae8[_0x7810('0x32')]=[];_0x513ae8['TagIds'][_0x7810('0x33')](',')[_0x7810('0x34')](function(_0x325c33){_0x513ae8[_0x7810('0x32')][_0x7810('0x35')](_0x41a2fa[_0x325c33]);});}delete _0x513ae8['TagIds'];}catch(_0x1fda7b){_0x23ea03(_0x1fda7b);}_0x13330a(_0x513ae8);});}function updateSmsInteraction(_0xe10bb7,_0x2b79ea,_0x32f779){return new BPromise(function(_0x277d5d,_0x570eef){return getInteractionUsers(_0xe10bb7,_0x32f779)['then'](function(_0x380562){return getInteractionTags(_0x380562,_0x2b79ea);})[_0x7810('0x2a')](function(_0x22c755){return getStateInteraction(_0x22c755);})[_0x7810('0x2a')](function(_0x2ad848){_0x277d5d(_0x2ad848);})[_0x7810('0x36')](function(_0x5942ad){_0x570eef(_0x5942ad);});});}function getStateInteraction(_0x531ce0){return new BPromise(function(_0x5bd2b4){_0x531ce0[_0x7810('0x37')]=0x0;_0x531ce0[_0x7810('0x38')]=0x0;_0x531ce0[_0x7810('0x39')]=0x0;_0x531ce0['unmanaged']=0x0;_0x531ce0[_0x7810('0x3a')]=0x0;if(!_0x531ce0[_0x7810('0x3b')]&&!_0x531ce0['UserId']){_0x531ce0[_0x7810('0x37')]+=0x1;}if(!_0x531ce0[_0x7810('0x3b')]&&_0x531ce0[_0x7810('0x3c')]){_0x531ce0[_0x7810('0x38')]+=0x1;if(_0x531ce0[_0x7810('0x37')]){_0x531ce0[_0x7810('0x37')]-=0x1;}}if(_0x531ce0[_0x7810('0x3b')]&&_0x531ce0['UserId']){_0x531ce0[_0x7810('0x39')]+=0x1;if(_0x531ce0['talking']){_0x531ce0[_0x7810('0x38')]-=0x1;}}if(_0x531ce0[_0x7810('0x3b')]&&!_0x531ce0[_0x7810('0x3c')]){_0x531ce0['unmanaged']+=0x1;if(_0x531ce0[_0x7810('0x37')]){_0x531ce0[_0x7810('0x37')]-=0x1;}}_0x531ce0['total']+=0x1;_0x5bd2b4(_0x531ce0);});}exports[_0x7810('0x3d')]=function(_0x323d80,_0x556007){var _0x1a218f={},_0x4fe8f5={},_0x1850d6={'count':0x0,'rows':[]};var _0x5eed5e=_['map'](db['SmsInteraction'][_0x7810('0x3e')],function(_0x2b5fdf){return{'name':_0x2b5fdf[_0x7810('0x3f')],'type':_0x2b5fdf[_0x7810('0x40')]['key']};});_0x4fe8f5[_0x7810('0x41')]=_[_0x7810('0x30')](_0x5eed5e,'name');_0x4fe8f5[_0x7810('0x42')]=_[_0x7810('0x43')](_0x323d80['query']);_0x4fe8f5[_0x7810('0x44')]=_['intersection'](_0x4fe8f5[_0x7810('0x41')],_0x4fe8f5[_0x7810('0x42')]);_0x1a218f[_0x7810('0x45')]=_[_0x7810('0x46')](_0x4fe8f5['model'],qs[_0x7810('0x47')](_0x323d80[_0x7810('0x42')]['fields']));_0x1a218f[_0x7810('0x45')]=_0x1a218f['attributes'][_0x7810('0x48')]?_0x1a218f['attributes']:_0x4fe8f5[_0x7810('0x41')];if(!_0x323d80[_0x7810('0x42')][_0x7810('0x49')]('nolimit')){_0x1a218f[_0x7810('0x23')]=qs[_0x7810('0x23')](_0x323d80[_0x7810('0x42')]['limit']);_0x1a218f[_0x7810('0x21')]=qs[_0x7810('0x21')](_0x323d80['query'][_0x7810('0x21')]);}_0x1a218f[_0x7810('0x4a')]=qs[_0x7810('0x4b')](_0x323d80['query'][_0x7810('0x4b')]);_0x1a218f['where']=qs[_0x7810('0x44')](_[_0x7810('0x4c')](_0x323d80[_0x7810('0x42')],_0x4fe8f5[_0x7810('0x44')]),_0x5eed5e);var _0x3348bc=[];var _0x2d6217=squel[_0x7810('0x4d')]()[_0x7810('0x4e')]('id')[_0x7810('0x4e')]('name')[_0x7810('0x4e')](_0x7810('0x4f'))[_0x7810('0x50')](_0x7810('0x51'));var _0x17f085=squel[_0x7810('0x4d')]()[_0x7810('0x4e')]('u.id')[_0x7810('0x4e')](_0x7810('0x52'))[_0x7810('0x4e')]('ui.SmsInteractionId')[_0x7810('0x50')](_0x7810('0x53'),'ui')[_0x7810('0x54')](_0x7810('0x55'),'u','u.id\x20=\x20ui.UserId');var _0x2d31b0=squel['select']()[_0x7810('0x50')](_0x7810('0x56'),'i')[_0x7810('0x54')](_0x7810('0x57'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x7810('0x54')](_0x7810('0x55'),'o',_0x7810('0x58'))[_0x7810('0x54')](_0x7810('0x59'),'a','a.id\x20=\x20i.SmsAccountId')[_0x7810('0x54')]('sms_messages','me',_0x7810('0x5a'))['left_join']('sms_interaction_has_tags','it',_0x7810('0x5b'))[_0x7810('0x54')](_0x7810('0x51'),'t','t.id\x20=\x20it.TagId');var _0x1d9800=squel[_0x7810('0x5c')]();var _0x19452c=[];var _0x52580a=squel['expr']();var _0xe9b073;if(_0x323d80[_0x7810('0x42')][_0x7810('0x5d')]){_0xe9b073=as['parseSearch'](_0x323d80[_0x7810('0x42')][_0x7810('0x5d')]);var _0x803ef5=_0xe9b073[_0x7810('0x5e')];for(var _0x3488e9=0x0;_0x3488e9<_0xe9b073['conditions'][_0x7810('0x48')];_0x3488e9++){var _0x4fbeba=_0xe9b073[_0x7810('0x5f')][_0x3488e9];var _0x570e4e='i';var _0x30bd2e=_[_0x7810('0x60')](_0x5eed5e,[_0x7810('0x2d'),_0x4fbeba['field']]);if(!_0x30bd2e){switch(_0x4fbeba['field']){case _0x7810('0x61'):if(_0x4fbeba[_0x7810('0x62')]==0x1){_0x2d31b0[_0x7810('0x63')]('`'+_0x4fbeba[_0x7810('0x4e')]+_0x7810('0x64'));}else{_0x2d31b0[_0x7810('0x63')]('`'+_0x4fbeba['field']+'`\x20>\x200');}break;case _0x7810('0x65'):if(_0x4fbeba[_0x7810('0x66')]===_0x7810('0x67')){if(_0x4fbeba[_0x7810('0x62')][_0x7810('0x33')]('\x20')['length']>0x1){_0x1d9800[_0x803ef5]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x4fbeba[_0x7810('0x62')]),null);}else{var _0x49e142='%'+_0x4fbeba[_0x7810('0x62')]+'%';_0x1d9800[_0x803ef5](_0x7810('0x68'),_0x49e142,_0x49e142,_0x49e142);}}else{_0x30bd2e=_['find'](_0x5eed5e,['name',_0x7810('0x69')]);_0x4fbeba[_0x7810('0x4e')]=_0x7810('0x69');_0x2bdd1b=as[_0x7810('0x6a')](_0x570e4e,_0x30bd2e[_0x7810('0x40')],_0x4fbeba);_0x1d9800[_0x803ef5](_0x2bdd1b[_0x7810('0x6b')],_0x2bdd1b[_0x7810('0x62')][_0x7810('0x6c')],_0x2bdd1b[_0x7810('0x62')][_0x7810('0x1e')]);}break;case'Tag':var _0x40f5bd=_0x4fbeba[_0x7810('0x62')][_0x7810('0x33')](',')[_0x7810('0x30')](function(_0x5ac860){return Number(_0x5ac860);});_0x40f5bd[_0x7810('0x34')](function(_0x356e39){_0x52580a['or'](_0x7810('0x6d'),'%,'+_0x356e39+',%');});_0x19452c=_[_0x7810('0x6e')](_0x19452c,_0x40f5bd);break;case _0x7810('0x6f'):if(_0x4fbeba[_0x7810('0x66')]===_0x7810('0x67')){_0x1d9800[_0x803ef5](_0x7810('0x70'),'%'+_0x4fbeba['value']+'%',null);}else{_0x30bd2e=_[_0x7810('0x60')](_0x5eed5e,[_0x7810('0x2d'),'UserId']);_0x4fbeba['field']=_0x7810('0x3c');_0x2bdd1b=as['buildExpression'](_0x570e4e,_0x30bd2e[_0x7810('0x40')],_0x4fbeba);_0x1d9800[_0x803ef5](_0x2bdd1b[_0x7810('0x6b')],_0x2bdd1b[_0x7810('0x62')][_0x7810('0x6c')],_0x2bdd1b[_0x7810('0x62')][_0x7810('0x1e')]);}break;case _0x7810('0x71'):_0x2bdd1b=as[_0x7810('0x6a')]('me',null,_0x4fbeba);_0x1d9800[_0x803ef5](_0x2bdd1b[_0x7810('0x6b')],_0x2bdd1b[_0x7810('0x62')]['start'],_0x2bdd1b['value'][_0x7810('0x1e')]);break;}}else{var _0x2bdd1b=as['buildExpression'](_0x570e4e,_0x30bd2e[_0x7810('0x40')],_0x4fbeba);_0x1d9800[_0x803ef5](_0x2bdd1b['text'],_0x2bdd1b[_0x7810('0x62')][_0x7810('0x6c')],_0x2bdd1b[_0x7810('0x62')]['end']);}}}else{var _0x2f92c2=_(_0x323d80[_0x7810('0x42')])[_0x7810('0x43')]()[_0x7810('0x30')](function(_0x7a4fa9){return _[_0x7810('0x72')](_0x5eed5e,[_0x7810('0x2d'),_0x7a4fa9])?_0x7a4fa9:undefined;})[_0x7810('0x73')]()[_0x7810('0x62')]();if(!_[_0x7810('0x74')](_0x2f92c2)){_0x2f92c2['forEach'](function(_0x1a8318){if(_0x1a8318===_0x7810('0x75')){_0x2d31b0[_0x7810('0x76')](_0x7810('0x77'),[][_0x7810('0x78')](_0x323d80['query'][_0x1a8318]));}else if(_0x1a8318==='createdAt'){var _0xda7e8c=JSON[_0x7810('0x79')](_0x323d80[_0x7810('0x42')][_0x1a8318])[_0x7810('0x7a')];var _0x59629a=JSON[_0x7810('0x79')](_0x323d80[_0x7810('0x42')][_0x1a8318])[_0x7810('0x7b')];_0x2d31b0['where'](_0x7810('0x7c'),_0xda7e8c,_0x59629a);}else{if(_0x323d80[_0x7810('0x42')][_0x1a8318]===_0x7810('0x7d')){_0x2d31b0['where']('i.'+_0x1a8318+'\x20IS\x20NULL');}else{_0x2d31b0['where']('i.'+_0x1a8318+_0x7810('0x7e'),_0x323d80[_0x7810('0x42')][_0x1a8318]);}}});}if(_0x323d80[_0x7810('0x42')][_0x7810('0x7f')]){if(_0x323d80[_0x7810('0x42')][_0x7810('0x7f')]==0x1){_0x2d31b0[_0x7810('0x63')]('`unreadMessages`\x20=\x200');}else{_0x2d31b0['having'](_0x7810('0x80'));}}if(_0x323d80[_0x7810('0x42')][_0x7810('0x81')]){_0x19452c=_[_0x7810('0x82')](_0x323d80[_0x7810('0x42')]['tag'])?_0x323d80['query']['tag']:new Array(_0x323d80[_0x7810('0x42')][_0x7810('0x81')]);_0x19452c[_0x7810('0x34')](function(_0x79769e){_0x52580a['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x79769e+',%');});}if(_0x323d80['query']['filter']){var _0x419af3=_0x323d80[_0x7810('0x42')][_0x7810('0x83')][_0x7810('0x84')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x7810('0x85')](_0x419af3)){_0x1d9800['or']('i.id\x20LIKE\x20?',_0x419af3+'%')['or'](_0x7810('0x86'),_0x419af3+'%');}else{_0x1d9800['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x7810('0x87')](_0x419af3))['or'](_0x7810('0x88'),_0x419af3+'%');}}}_0x2d31b0['where'](_0x1d9800);_0x2d31b0[_0x7810('0x89')](_0x7810('0x8a'));var _0x255b5d={'type':db[_0x7810('0x8b')][_0x7810('0x8c')][_0x7810('0x8d')],'raw':!![]};var _0x57285b=_0x2d31b0[_0x7810('0x8e')]();_0x57285b['field']('i.id');_0x57285b['field'](_0x7810('0x8f'),_0x7810('0x61'));if(_0x1a218f['order']){_0x1a218f[_0x7810('0x4a')][_0x7810('0x34')](function(_0x36fb69){var _0x576da3=_0x36fb69[0x0]===_0x7810('0x90')?_0x36fb69[0x0]:'i.'+_0x36fb69[0x0];_0x2d31b0[_0x7810('0x4a')](_0x576da3,_0x36fb69[0x1]===_0x7810('0x91')?![]:!![]);});}if(!_[_0x7810('0x74')](_0x19452c)){_0x2d31b0[_0x7810('0x63')](_0x52580a);_0x57285b[_0x7810('0x76')](_0x7810('0x92'),_0x19452c);}BPromise[_0x7810('0x93')]()[_0x7810('0x2a')](function(){if(!_0xe9b073){if(_0x323d80[_0x7810('0x42')][_0x7810('0x75')])return;_0x57285b['where'](_0x7810('0x94'));_0x2d31b0['where'](_0x7810('0x94'));return;}if(_0x323d80[_0x7810('0x95')][_0x7810('0x96')]!==_0x7810('0x97'))return;return _0x323d80[_0x7810('0x95')][_0x7810('0x98')]({'attributes':['id'],'raw':!![]})[_0x7810('0x2a')](function(_0x95c8b3){if(_[_0x7810('0x74')](_0x95c8b3)){_0x57285b[_0x7810('0x76')](_0x7810('0x99'));_0x2d31b0[_0x7810('0x76')](_0x7810('0x99'));}else{_0x57285b[_0x7810('0x76')](_0x7810('0x77'),_['map'](_0x95c8b3,'id'));_0x2d31b0[_0x7810('0x76')](_0x7810('0x77'),_[_0x7810('0x30')](_0x95c8b3,'id'));}});})[_0x7810('0x2a')](function(){if(_0x323d80[_0x7810('0x95')][_0x7810('0x96')]==='agent'&&!_0xe9b073&&!_0x323d80[_0x7810('0x42')]['SmsAccountId'])return[];return db['sequelize'][_0x7810('0x42')](_0x57285b[_0x7810('0x9a')](),_0x255b5d);})[_0x7810('0x2a')](function(_0x89a92e){_0x1850d6['count']=_0x89a92e[_0x7810('0x48')];if(_0x1850d6[_0x7810('0x24')]===0x0)return[];return db[_0x7810('0x9b')]['query'](_0x2d6217['toString'](),_0x255b5d)[_0x7810('0x2a')](function(_0xeb740f){_0x3348bc=_['keyBy'](_0xeb740f,'id');_0x255b5d=_[_0x7810('0x9c')](_0x255b5d,{'model':db['SmsInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x323d80[_0x7810('0x42')][_0x7810('0x47')]){_0x1a218f[_0x7810('0x45')]['forEach'](function(_0x1919ad){_0x2d31b0['field']('i.'+_0x1919ad);});}else{_0x2d31b0[_0x7810('0x4e')](_0x7810('0x8f'),'unreadMessages');_0x2d31b0[_0x7810('0x4e')]('a.key',_0x7810('0x9d'));_0x2d31b0['field'](_0x7810('0x9e'),'Account.mandatoryDisposition');_0x2d31b0[_0x7810('0x4e')](_0x7810('0x9f'),_0x7810('0x90'));_0x2d31b0[_0x7810('0x4e')]('i.*');_0x2d31b0['field'](_0x7810('0xa0'),_0x7810('0xa1'));_0x2d31b0[_0x7810('0x4e')](_0x7810('0xa2'),_0x7810('0xa3'));_0x2d31b0['field'](_0x7810('0xa4'),_0x7810('0xa5'));_0x2d31b0['field'](_0x7810('0xa6'),'Contact.phone');_0x2d31b0['field'](_0x7810('0xa7'),_0x7810('0xa8'));_0x2d31b0[_0x7810('0x4e')](_0x7810('0xa9'),_0x7810('0xaa'));_0x2d31b0['field'](_0x7810('0xab'),_0x7810('0xac'));_0x2d31b0[_0x7810('0x4e')](_0x7810('0xad'),_0x7810('0xae'));_0x2d31b0[_0x7810('0x4e')](_0x7810('0xaf'),_0x7810('0xb0'));}if(_0x1a218f[_0x7810('0x23')])_0x2d31b0[_0x7810('0x23')](_0x1a218f[_0x7810('0x23')]);if(_0x1a218f[_0x7810('0x21')])_0x2d31b0[_0x7810('0x21')](_0x1a218f[_0x7810('0x21')]);return db[_0x7810('0x9b')][_0x7810('0x42')](_0x2d31b0[_0x7810('0x9a')](),_0x255b5d);})[_0x7810('0x2a')](function(_0x1c62a6){if(_0x1c62a6[_0x7810('0x48')]>0x0)_0x17f085[_0x7810('0x76')](_0x7810('0xb1'),_['map'](_0x1c62a6,'id'));return db['sequelize'][_0x7810('0x42')](_0x17f085[_0x7810('0x9a')](),_0x255b5d)[_0x7810('0x2a')](function(_0x175933){var _0x2f37e3=_[_0x7810('0xb2')](_0x175933,_0x7810('0xb3'));var _0x501378=[];_0x1c62a6['forEach'](function(_0x11d42c){_0x501378[_0x7810('0x35')](updateSmsInteraction(_0x11d42c,_0x3348bc,_0x2f37e3));});return BPromise[_0x7810('0xb4')](_0x501378);});});})[_0x7810('0x2a')](function(_0x4e1750){_0x1850d6[_0x7810('0xb5')]=_0x4e1750;return _0x1850d6;})['then'](respondWithFilteredResult(_0x556007,_0x1a218f))[_0x7810('0x36')](handleError(_0x556007,null));};exports[_0x7810('0xb6')]=function(_0x372ee2,_0x18ae2f){var _0x22e2ad={'raw':![],'where':{'id':_0x372ee2['params']['id']}},_0x3d4bc0={};_0x3d4bc0[_0x7810('0x41')]=_[_0x7810('0x43')](db[_0x7810('0xb7')]['rawAttributes']);_0x3d4bc0[_0x7810('0x42')]=_[_0x7810('0x43')](_0x372ee2['query']);_0x3d4bc0[_0x7810('0x44')]=_['intersection'](_0x3d4bc0[_0x7810('0x41')],_0x3d4bc0[_0x7810('0x42')]);_0x22e2ad[_0x7810('0x45')]=_[_0x7810('0x46')](_0x3d4bc0[_0x7810('0x41')],qs[_0x7810('0x47')](_0x372ee2[_0x7810('0x42')]['fields']));_0x22e2ad[_0x7810('0x45')]=_0x22e2ad['attributes'][_0x7810('0x48')]?_0x22e2ad[_0x7810('0x45')]:_0x3d4bc0[_0x7810('0x41')];if(_0x372ee2[_0x7810('0x42')]['includeAll']){_0x22e2ad[_0x7810('0xb8')]=[{'all':!![]}];}_0x22e2ad=_['merge']({},_0x22e2ad,_0x372ee2[_0x7810('0xb9')]);return db[_0x7810('0xb7')][_0x7810('0x60')](_0x22e2ad)[_0x7810('0x2a')](handleEntityNotFound(_0x18ae2f,null))['then'](respondWithResult(_0x18ae2f,null))['catch'](handleError(_0x18ae2f,null));};exports[_0x7810('0xba')]=function(_0x5496e9,_0x43345a){return db[_0x7810('0xb7')][_0x7810('0xba')](_0x5496e9[_0x7810('0x71')],{})[_0x7810('0x2a')](respondWithResult(_0x43345a,0xc9))[_0x7810('0x36')](handleError(_0x43345a,null));};exports[_0x7810('0x28')]=function(_0x5c6867,_0x4e5fbb){if(_0x5c6867[_0x7810('0x71')]['id']){delete _0x5c6867[_0x7810('0x71')]['id'];}return db[_0x7810('0xb7')]['find']({'where':{'id':_0x5c6867['params']['id']}})['then'](handleEntityNotFound(_0x4e5fbb,null))[_0x7810('0x2a')](saveUpdates(_0x5c6867[_0x7810('0x71')],null))[_0x7810('0x2a')](respondWithResult(_0x4e5fbb,null))[_0x7810('0x36')](handleError(_0x4e5fbb,null));};exports[_0x7810('0x29')]=function(_0x39db3d,_0x573eca){return db[_0x7810('0xb7')][_0x7810('0x60')]({'where':{'id':_0x39db3d[_0x7810('0xbb')]['id']}})[_0x7810('0x2a')](handleEntityNotFound(_0x573eca,null))[_0x7810('0x2a')](removeEntity(_0x573eca,null))[_0x7810('0x36')](handleError(_0x573eca,null));};exports[_0x7810('0xbc')]=function(_0x11d3fe,_0x54287f){return db[_0x7810('0xb7')]['describe']()[_0x7810('0x2a')](respondWithResult(_0x54287f,null))['catch'](handleError(_0x54287f,null));};exports[_0x7810('0xbd')]=function(_0x36e3f0,_0x20f4c8,_0x55eafe){return db[_0x7810('0xbe')]['find']({'where':{'id':_0x36e3f0['params']['id']}})[_0x7810('0x2a')](handleEntityNotFound(_0x20f4c8,null))[_0x7810('0x2a')](function(_0x2abfb6){if(_0x2abfb6){return _0x2abfb6[_0x7810('0xbd')](_0x36e3f0[_0x7810('0x71')]['ids'],_['omit'](_0x36e3f0[_0x7810('0x71')],[_0x7810('0xbf'),'id'])||{});}})[_0x7810('0x2a')](respondWithResult(_0x20f4c8,null))[_0x7810('0x36')](handleError(_0x20f4c8,null));};exports['getMessages']=function(_0x386dc1,_0x331daf,_0xce4626){var _0x17c453={'raw':![],'where':{}};var _0x41f68a={};var _0x52f8cc={'count':0x0,'rows':[]};return db[_0x7810('0xb7')][_0x7810('0xc0')]({'where':{'id':_0x386dc1[_0x7810('0xbb')]['id']}})['then'](handleEntityNotFound(_0x331daf,null))[_0x7810('0x2a')](function(_0x5862aa){if(_0x5862aa){_0x41f68a[_0x7810('0x41')]=_[_0x7810('0x43')](db[_0x7810('0xbe')]['rawAttributes']);_0x41f68a['query']=_[_0x7810('0x43')](_0x386dc1[_0x7810('0x42')]);_0x41f68a[_0x7810('0x44')]=_['intersection'](_0x41f68a[_0x7810('0x41')],_0x41f68a[_0x7810('0x42')]);_0x17c453[_0x7810('0x45')]=_['intersection'](_0x41f68a[_0x7810('0x41')],qs[_0x7810('0x47')](_0x386dc1[_0x7810('0x42')][_0x7810('0x47')]));_0x17c453['attributes']=_0x17c453[_0x7810('0x45')][_0x7810('0x48')]?_0x17c453[_0x7810('0x45')]:_0x41f68a[_0x7810('0x41')];if(!_0x386dc1['query'][_0x7810('0x49')](_0x7810('0xc1'))){_0x17c453[_0x7810('0x23')]=qs[_0x7810('0x23')](_0x386dc1['query']['limit']);_0x17c453[_0x7810('0x21')]=qs[_0x7810('0x21')](_0x386dc1['query']['offset']);}_0x17c453[_0x7810('0x4a')]=qs[_0x7810('0x4b')](_0x386dc1[_0x7810('0x42')][_0x7810('0x4b')]);_0x17c453['where']=qs['filters'](_[_0x7810('0x4c')](_0x386dc1[_0x7810('0x42')],_0x41f68a['filters']));_0x17c453[_0x7810('0x76')]['SmsInteractionId']=_0x5862aa['id'];if(_0x386dc1[_0x7810('0x42')][_0x7810('0x83')]){_0x17c453[_0x7810('0x76')]=_[_0x7810('0x9c')](_0x17c453[_0x7810('0x76')],{'$or':_[_0x7810('0x30')](_0x17c453[_0x7810('0x45')],function(_0x5746e8){var _0x236a2c={};_0x236a2c[_0x5746e8]={'$like':'%'+_0x386dc1[_0x7810('0x42')][_0x7810('0x83')]+'%'};return _0x236a2c;})});}if(_0x386dc1[_0x7810('0x42')][_0x7810('0x7a')]){var _0xe5cd4f=_0x386dc1[_0x7810('0x42')]['$gte'][_0x7810('0x33')](',');var _0x2a030c={};_0x2a030c[_0xe5cd4f[0x0]]={'$gte':moment(_0xe5cd4f[0x1])[_0x7810('0xc2')](_0x7810('0xc3'))};_0x17c453[_0x7810('0x76')]=_['merge'](_0x17c453[_0x7810('0x76')],_0x2a030c);}_0x17c453=_[_0x7810('0x9c')]({},_0x17c453,_0x386dc1[_0x7810('0xb9')]);return db[_0x7810('0xbe')][_0x7810('0x24')]({'where':_0x17c453[_0x7810('0x76')]})[_0x7810('0x2a')](function(_0x4ba553){_0x52f8cc['count']=_0x4ba553;if(_0x386dc1['query'][_0x7810('0xc4')]){_0x17c453['include']=[{'all':!![]}];}return db[_0x7810('0xbe')]['findAll'](_0x17c453);})['then'](function(_0x4a3395){_0x52f8cc['rows']=_0x4a3395;return _0x52f8cc;});}})['then'](respondWithFilteredResult(_0x331daf,_0x17c453))[_0x7810('0x36')](handleError(_0x331daf,null));};exports[_0x7810('0xc5')]=function(_0x3477cc,_0x350914,_0x32dcf6){return db[_0x7810('0xb7')][_0x7810('0x60')]({'where':{'id':_0x3477cc[_0x7810('0xbb')]['id']}})[_0x7810('0x2a')](handleEntityNotFound(_0x350914,null))[_0x7810('0x2a')](function(_0x380361){if(_0x380361){return _0x380361[_0x7810('0xc6')](_0x3477cc[_0x7810('0x71')][_0x7810('0xbf')],_[_0x7810('0xc7')](_0x3477cc[_0x7810('0x71')],[_0x7810('0xbf'),'id'])||{})[_0x7810('0xc8')](function(){return db[_0x7810('0xc9')][_0x7810('0xca')]({'attributes':['id',_0x7810('0x2d'),_0x7810('0x4f')],'where':{'id':_0x3477cc[_0x7810('0x71')][_0x7810('0xbf')]}});})[_0x7810('0x2a')](function(_0x4dac65){socket[_0x7810('0xcb')](_0x7810('0xcc'),{'id':Number(_0x3477cc['params']['id']),'tags':_0x4dac65||[]});return{'id':Number(_0x3477cc[_0x7810('0xbb')]['id']),'tags':_0x4dac65||[]};});}})['then'](respondWithResult(_0x350914,null))['catch'](handleError(_0x350914,null));};exports[_0x7810('0xcd')]=function(_0x59a854,_0x21c0f7,_0x397238){return db[_0x7810('0xb7')][_0x7810('0x60')]({'where':{'id':_0x59a854[_0x7810('0xbb')]['id']}})[_0x7810('0x2a')](handleEntityNotFound(_0x21c0f7,null))[_0x7810('0x2a')](function(_0x4cfa8c){if(_0x4cfa8c){return _0x4cfa8c['removeTags'](_0x59a854[_0x7810('0x42')][_0x7810('0xbf')]);}})[_0x7810('0x2a')](respondWithStatusCode(_0x21c0f7,null))['catch'](handleError(_0x21c0f7,null));};exports['download']=function(_0x41e698,_0x750f5b){var _0x3e153b=moment()['unix']()[_0x7810('0x9a')]();var _0x101131=path[_0x7810('0xce')](config[_0x7810('0xcf')],_0x7810('0xd0'),'files',_0x7810('0xd1'));var _0x320c4d=path[_0x7810('0xce')](config[_0x7810('0xcf')],_0x7810('0xd0'),'files',_0x7810('0xd2'));var _0x20bd59=path[_0x7810('0xce')](_0x101131,_0x3e153b);var _0x73f74a=util[_0x7810('0xc2')](_0x7810('0xd3'),_0x41e698[_0x7810('0xbb')]['id'],_0x3e153b);var _0x1eb163=path[_0x7810('0xce')](_0x101131,_0x73f74a);var _0x37f79e=[];_0x37f79e[_0x7810('0x35')]({'model':db[_0x7810('0x6f')],'as':'User','attributes':['id',_0x7810('0x31')],'raw':!![]});_0x37f79e[_0x7810('0x35')]({'model':db[_0x7810('0xd4')],'as':'Contact','attributes':['id',_0x7810('0xd5'),_0x7810('0xd6')],'raw':!![]});var _0x3bae8c=[{'model':db[_0x7810('0xbe')],'as':_0x7810('0xd7'),'attributes':['id',_0x7810('0x71'),_0x7810('0xd8'),_0x7810('0xd9'),_0x7810('0xda'),_0x7810('0x7f')],'include':_0x37f79e}];_0x3bae8c[_0x7810('0x35')]({'model':db[_0x7810('0xdb')],'as':_0x7810('0xdc'),'attributes':['id',_0x7810('0x2d')]});_0x3bae8c[_0x7810('0x35')]({'model':db[_0x7810('0x6f')],'as':_0x7810('0xdd'),'attributes':['id',_0x7810('0x31')]});return db['SmsInteraction'][_0x7810('0x60')]({'where':{'id':_0x41e698[_0x7810('0xbb')]['id']},'include':_0x3bae8c})['then'](handleEntityNotFound(_0x750f5b,null))[_0x7810('0x2a')](function(_0x3cbfce){if(_0x3cbfce){var _0x10bc1c=_0x3cbfce[_0x7810('0xde')]({'plain':!![]});fs[_0x7810('0xdf')](_0x20bd59);var _0x1cdd77={'channel':'Sms','account':_0x10bc1c[_0x7810('0xdc')]['name'],'agent':_0x10bc1c['Owner']?_0x10bc1c[_0x7810('0xdd')][_0x7810('0x31')]:_0x7810('0xe0'),'createdAt':moment(_0x10bc1c[_0x7810('0xd8')])[_0x7810('0xc2')](_0x7810('0xc3'))[_0x7810('0x9a')](),'closedAt':_0x10bc1c[_0x7810('0x3b')]?moment(_0x10bc1c['closedAt'])[_0x7810('0xc2')](_0x7810('0xc3'))[_0x7810('0x9a')]():'','disposition':_0x10bc1c[_0x7810('0xe1')],'messages':_(_0x10bc1c[_0x7810('0xd7')])[_0x7810('0x83')]({'secret':![]})['map'](function(_0x133439){return{'date':moment(_0x133439['createdAt'])[_0x7810('0xc2')]('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'sender':_0x133439[_0x7810('0xd9')]===_0x7810('0xe2')?_0x133439[_0x7810('0x6f')]?_0x133439[_0x7810('0x6f')][_0x7810('0x31')]:_0x7810('0xe3'):_0x133439[_0x7810('0x65')][_0x7810('0xd5')]+(_0x133439[_0x7810('0x65')][_0x7810('0xd6')]?'\x20'+_0x133439['Contact'][_0x7810('0xd6')]:''),'body':_0x133439['body'],'direction':_0x133439['direction']==='out'?'A':'C','secret':_0x133439['secret'],'read':_0x133439[_0x7810('0x7f')]};})['value']()};return ejs['renderFile'](path[_0x7810('0xce')](config[_0x7810('0xcf')],_0x7810('0xd0'),_0x7810('0xe4'),'downloadInteraction.ejs'),{'interaction':_0x1cdd77})[_0x7810('0x2a')](function(_0x5c1c5c){var _0x123666=path['join'](_0x20bd59,_0x7810('0xe5')+_0x10bc1c['id']+'-'+_0x3e153b+'.pdf');var _0x242067={'path':_0x123666,'channel':_0x7810('0xe6'),'interactionId':_0x10bc1c['id']};return pdf[_0x7810('0xe7')](_0x5c1c5c,_0x242067);})['then'](function(){return new BPromise(function(_0x1b050f,_0x54cb5e){zipdir(_0x20bd59,{'saveTo':_0x1eb163},function(_0x2a11c3,_0x4561a7){if(_0x2a11c3)return _0x54cb5e(_0x2a11c3);return _0x1b050f(_0x4561a7);});})[_0x7810('0x2a')](function(){return new BPromise(function(_0x5b9ef9,_0x1a93be){rimraf(_0x20bd59,function(_0x440264){if(_0x440264)_0x1a93be(_0x440264);return _0x5b9ef9();});});})[_0x7810('0x2a')](function(){return _0x750f5b[_0x7810('0xe8')](_0x1eb163,_0x73f74a,function(_0x2de132){if(_0x2de132){console[_0x7810('0xe9')](_0x7810('0xea'),_0x2de132);}else{fs[_0x7810('0xeb')](_0x1eb163);}});});});}else{return _0x750f5b[_0x7810('0x1d')](0xc8);}})['catch'](handleError(_0x750f5b,null));};