Built motion from commit e6806ed6.|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 _0xda26=['direction','secret','SmsAccount','Owner','get','YYYY-MM-DD\x20HH:mm:ss','closedAt','out','System','views','downloadInteraction.ejs','.pdf','createPdfFromHTML','unlinkSync','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','../../config/license/util','../../mysqldb','redis','localhost','./smsInteraction.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','update','then','destroy','error','stack','name','send','Users','map','fullname','TagIds','Tags','waiting','talking','answered','unmanaged','closed','UserId','total','index','SmsInteraction','rawAttributes','fieldName','type','key','query','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','select','field','from','tools_tags','u.id','u.fullname','ui.SmsInteractionId','users','u.id\x20=\x20ui.UserId','left_join','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','sms_accounts','sms_messages','me.SmsInteractionId\x20=\x20i.id','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','Contact','operator','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','buildExpression','keys','some','isEmpty','forEach','SmsAccountId','where','i.SmsAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','isNumeric','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','Sequelize','QueryTypes','SELECT','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','i.SmsAccountId\x20IS\x20NULL','toString','sequelize','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.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','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','groupBy','push','all','rows','show','params','includeAll','include','catch','create','body','describe','addMessage','SmsMessage','ids','omit','findOne','pick','SmsInteractionId','format','options','setTags','spread','findAll','color','emit','smsInteractionTags:save','removeTags','download','unix','join','root','server','files','attachments','transcript-%d-%s.zip','User','CmContact','firstName','lastName','Messages'];(function(_0x1203f,_0x554bbc){var _0x365f0a=function(_0x3531d0){while(--_0x3531d0){_0x1203f['push'](_0x1203f['shift']());}};_0x365f0a(++_0x554bbc);}(_0xda26,0xf4));var _0x6da2=function(_0x104da2,_0x19c390){_0x104da2=_0x104da2-0x0;var _0x5eab7e=_0xda26[_0x104da2];return _0x5eab7e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6da2('0x0'));var zipdir=require(_0x6da2('0x1'));var jsonpatch=require(_0x6da2('0x2'));var rp=require(_0x6da2('0x3'));var moment=require(_0x6da2('0x4'));var BPromise=require(_0x6da2('0x5'));var Mustache=require(_0x6da2('0x6'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x6da2('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6da2('0x8'));var squel=require(_0x6da2('0x9'));var crypto=require(_0x6da2('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x6da2('0xb'));var toCsv=require('to-csv');var querystring=require(_0x6da2('0xc'));var Papa=require(_0x6da2('0xd'));var Redis=require(_0x6da2('0xe'));var authService=require(_0x6da2('0xf'));var qs=require(_0x6da2('0x10'));var as=require(_0x6da2('0x11'));var pdf=require(_0x6da2('0x12'));var hardwareService=require(_0x6da2('0x13'));var logger=require(_0x6da2('0x14'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x6da2('0x15'));var db=require(_0x6da2('0x16'))['db'];config[_0x6da2('0x17')]=_['defaults'](config[_0x6da2('0x17')],{'host':_0x6da2('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x6da2('0x17')]));require(_0x6da2('0x19'))[_0x6da2('0x1a')](socket);function respondWithStatusCode(_0xeac6c6,_0x160b51){_0x160b51=_0x160b51||0xcc;return function(_0x25395f){if(_0x25395f){return _0xeac6c6[_0x6da2('0x1b')](_0x160b51);}return _0xeac6c6[_0x6da2('0x1c')](_0x160b51)[_0x6da2('0x1d')]();};}function respondWithResult(_0x290d55,_0x1775f4){_0x1775f4=_0x1775f4||0xc8;return function(_0x798368){if(_0x798368){return _0x290d55[_0x6da2('0x1c')](_0x1775f4)[_0x6da2('0x1e')](_0x798368);}};}function respondWithFilteredResult(_0x28aec2,_0x473be2){return function(_0x46aba3){if(_0x46aba3){var _0x441cf6=typeof _0x473be2[_0x6da2('0x1f')]===_0x6da2('0x20')&&typeof _0x473be2[_0x6da2('0x21')]===_0x6da2('0x20');var _0x5157cf=_0x46aba3[_0x6da2('0x22')];var _0xef39ee=_0x441cf6?0x0:_0x473be2['offset'];var _0x1d5831=_0x441cf6?_0x46aba3['count']:_0x473be2['offset']+_0x473be2[_0x6da2('0x21')];var _0x2b236e;if(_0x1d5831>=_0x5157cf){_0x1d5831=_0x5157cf;_0x2b236e=0xc8;}else{_0x2b236e=0xce;}_0x28aec2[_0x6da2('0x1c')](_0x2b236e);return _0x28aec2['set'](_0x6da2('0x23'),_0xef39ee+'-'+_0x1d5831+'/'+_0x5157cf)[_0x6da2('0x1e')](_0x46aba3);}return null;};}function patchUpdates(_0x447560){return function(_0x1ebeae){try{jsonpatch[_0x6da2('0x24')](_0x1ebeae,_0x447560,!![]);}catch(_0x1f8525){return BPromise['reject'](_0x1f8525);}return _0x1ebeae['save']();};}function saveUpdates(_0x459813,_0x455d57){return function(_0x32e12e){if(_0x32e12e){return _0x32e12e[_0x6da2('0x25')](_0x459813)[_0x6da2('0x26')](function(_0x230ac8){return _0x230ac8;});}return null;};}function removeEntity(_0x289da6,_0x12fbac){return function(_0x4b5451){if(_0x4b5451){return _0x4b5451[_0x6da2('0x27')]()[_0x6da2('0x26')](function(){_0x289da6[_0x6da2('0x1c')](0xcc)[_0x6da2('0x1d')]();});}};}function handleEntityNotFound(_0x3b071c,_0x389dd4){return function(_0x35ff1b){if(!_0x35ff1b){_0x3b071c[_0x6da2('0x1b')](0x194);}return _0x35ff1b;};}function handleError(_0x5332cb,_0xbe31c6){_0xbe31c6=_0xbe31c6||0x1f4;return function(_0x44e8e2){logger[_0x6da2('0x28')](_0x44e8e2[_0x6da2('0x29')]);if(_0x44e8e2[_0x6da2('0x2a')]){delete _0x44e8e2[_0x6da2('0x2a')];}_0x5332cb['status'](_0xbe31c6)[_0x6da2('0x2b')](_0x44e8e2);};}function getInteractionUsers(_0x1ff7a1,_0x4ce745){return new BPromise(function(_0x110521,_0x3eb846){try{if(_0x4ce745[_0x1ff7a1['id']]){_0x1ff7a1[_0x6da2('0x2c')]=_[_0x6da2('0x2d')](_0x4ce745[_0x1ff7a1['id']],function(_0x47b120){return{'id':_0x47b120['id'],'fullname':_0x47b120[_0x6da2('0x2e')]};});}}catch(_0x27d088){_0x3eb846(_0x27d088);}_0x110521(_0x1ff7a1);});}function getInteractionTags(_0xc3e11c,_0x24700a){return new BPromise(function(_0x3c25b2,_0x1fde07){try{if(_0xc3e11c[_0x6da2('0x2f')]){_0xc3e11c[_0x6da2('0x30')]=[];_0xc3e11c[_0x6da2('0x2f')]['split'](',')['forEach'](function(_0x1e23ff){_0xc3e11c[_0x6da2('0x30')]['push'](_0x24700a[_0x1e23ff]);});}delete _0xc3e11c[_0x6da2('0x2f')];}catch(_0x95288d){_0x1fde07(_0x95288d);}_0x3c25b2(_0xc3e11c);});}function updateSmsInteraction(_0x271ffa,_0x523e97,_0x36f39c){return new BPromise(function(_0x50468f,_0x179714){return getInteractionUsers(_0x271ffa,_0x36f39c)[_0x6da2('0x26')](function(_0x1db5c4){return getInteractionTags(_0x1db5c4,_0x523e97);})[_0x6da2('0x26')](function(_0x1ed86c){return getStateInteraction(_0x1ed86c);})['then'](function(_0x33541c){_0x50468f(_0x33541c);})['catch'](function(_0xfea7c5){_0x179714(_0xfea7c5);});});}function getStateInteraction(_0x58de65){return new BPromise(function(_0x269096){_0x58de65[_0x6da2('0x31')]=0x0;_0x58de65[_0x6da2('0x32')]=0x0;_0x58de65[_0x6da2('0x33')]=0x0;_0x58de65[_0x6da2('0x34')]=0x0;_0x58de65['total']=0x0;if(!_0x58de65[_0x6da2('0x35')]&&!_0x58de65['UserId']){_0x58de65[_0x6da2('0x31')]+=0x1;}if(!_0x58de65[_0x6da2('0x35')]&&_0x58de65['UserId']){_0x58de65[_0x6da2('0x32')]+=0x1;if(_0x58de65[_0x6da2('0x31')]){_0x58de65['waiting']-=0x1;}}if(_0x58de65[_0x6da2('0x35')]&&_0x58de65['UserId']){_0x58de65[_0x6da2('0x33')]+=0x1;if(_0x58de65[_0x6da2('0x32')]){_0x58de65[_0x6da2('0x32')]-=0x1;}}if(_0x58de65[_0x6da2('0x35')]&&!_0x58de65[_0x6da2('0x36')]){_0x58de65[_0x6da2('0x34')]+=0x1;if(_0x58de65[_0x6da2('0x31')]){_0x58de65[_0x6da2('0x31')]-=0x1;}}_0x58de65[_0x6da2('0x37')]+=0x1;_0x269096(_0x58de65);});}exports[_0x6da2('0x38')]=function(_0x378c81,_0x2f5b04){var _0x3b40d0={},_0x119433={},_0x1610d0={'count':0x0,'rows':[]};var _0x3c1f6c=_[_0x6da2('0x2d')](db[_0x6da2('0x39')][_0x6da2('0x3a')],function(_0x57f468){return{'name':_0x57f468[_0x6da2('0x3b')],'type':_0x57f468[_0x6da2('0x3c')][_0x6da2('0x3d')]};});_0x119433['model']=_[_0x6da2('0x2d')](_0x3c1f6c,'name');_0x119433[_0x6da2('0x3e')]=_['keys'](_0x378c81[_0x6da2('0x3e')]);_0x119433[_0x6da2('0x3f')]=_[_0x6da2('0x40')](_0x119433['model'],_0x119433['query']);_0x3b40d0[_0x6da2('0x41')]=_[_0x6da2('0x40')](_0x119433[_0x6da2('0x42')],qs[_0x6da2('0x43')](_0x378c81[_0x6da2('0x3e')]['fields']));_0x3b40d0[_0x6da2('0x41')]=_0x3b40d0['attributes'][_0x6da2('0x44')]?_0x3b40d0[_0x6da2('0x41')]:_0x119433[_0x6da2('0x42')];if(!_0x378c81[_0x6da2('0x3e')][_0x6da2('0x45')](_0x6da2('0x46'))){_0x3b40d0['limit']=qs[_0x6da2('0x21')](_0x378c81[_0x6da2('0x3e')][_0x6da2('0x21')]);_0x3b40d0['offset']=qs[_0x6da2('0x1f')](_0x378c81['query']['offset']);}_0x3b40d0[_0x6da2('0x47')]=qs[_0x6da2('0x48')](_0x378c81['query'][_0x6da2('0x48')]);_0x3b40d0['where']=qs['filters'](_['pick'](_0x378c81[_0x6da2('0x3e')],_0x119433['filters']),_0x3c1f6c);var _0x43c58b=[];var _0x2babb8=squel[_0x6da2('0x49')]()[_0x6da2('0x4a')]('id')['field'](_0x6da2('0x2a'))['field']('color')[_0x6da2('0x4b')](_0x6da2('0x4c'));var _0x30058a=squel['select']()[_0x6da2('0x4a')](_0x6da2('0x4d'))[_0x6da2('0x4a')](_0x6da2('0x4e'))[_0x6da2('0x4a')](_0x6da2('0x4f'))['from']('user_has_sms_interactions','ui')['left_join'](_0x6da2('0x50'),'u',_0x6da2('0x51'));var _0x55d63a=squel['select']()['from']('sms_interactions','i')[_0x6da2('0x52')]('cm_contacts','c',_0x6da2('0x53'))[_0x6da2('0x52')](_0x6da2('0x50'),'o',_0x6da2('0x54'))[_0x6da2('0x52')](_0x6da2('0x55'),'a','a.id\x20=\x20i.SmsAccountId')['left_join'](_0x6da2('0x56'),'me',_0x6da2('0x57'))['left_join']('sms_interaction_has_tags','it',_0x6da2('0x58'))[_0x6da2('0x52')](_0x6da2('0x4c'),'t',_0x6da2('0x59'));var _0x3da93d=squel['expr']();var _0x4a79f2=[];var _0x3ea91a=squel[_0x6da2('0x5a')]();var _0x41ddc8;if(_0x378c81[_0x6da2('0x3e')][_0x6da2('0x5b')]){_0x41ddc8=as[_0x6da2('0x5c')](_0x378c81[_0x6da2('0x3e')][_0x6da2('0x5b')]);var _0x3935d8=_0x41ddc8[_0x6da2('0x5d')];for(var _0x36341f=0x0;_0x36341f<_0x41ddc8[_0x6da2('0x5e')][_0x6da2('0x44')];_0x36341f++){var _0x14e3aa=_0x41ddc8['conditions'][_0x36341f];var _0x22f7b7='i';var _0x44bb0f=_[_0x6da2('0x5f')](_0x3c1f6c,[_0x6da2('0x2a'),_0x14e3aa[_0x6da2('0x4a')]]);if(!_0x44bb0f){switch(_0x14e3aa[_0x6da2('0x4a')]){case _0x6da2('0x60'):if(_0x14e3aa[_0x6da2('0x61')]==0x1){_0x55d63a[_0x6da2('0x62')]('`'+_0x14e3aa['field']+_0x6da2('0x63'));}else{_0x55d63a[_0x6da2('0x62')]('`'+_0x14e3aa[_0x6da2('0x4a')]+'`\x20>\x200');}break;case _0x6da2('0x64'):if(_0x14e3aa[_0x6da2('0x65')]==='$substring'){if(_0x14e3aa[_0x6da2('0x61')][_0x6da2('0x66')]('\x20')[_0x6da2('0x44')]>0x1){_0x3da93d[_0x3935d8](_0x6da2('0x67'),qs[_0x6da2('0x68')](_0x14e3aa['value']),null);}else{var _0x297ae9='%'+_0x14e3aa[_0x6da2('0x61')]+'%';_0x3da93d[_0x3935d8](_0x6da2('0x69'),_0x297ae9,_0x297ae9,_0x297ae9);}}else{_0x44bb0f=_[_0x6da2('0x5f')](_0x3c1f6c,['name',_0x6da2('0x6a')]);_0x14e3aa[_0x6da2('0x4a')]='ContactId';_0x4c919f=as['buildExpression'](_0x22f7b7,_0x44bb0f[_0x6da2('0x3c')],_0x14e3aa);_0x3da93d[_0x3935d8](_0x4c919f[_0x6da2('0x6b')],_0x4c919f[_0x6da2('0x61')][_0x6da2('0x6c')],_0x4c919f[_0x6da2('0x61')][_0x6da2('0x1d')]);}break;case _0x6da2('0x6d'):var _0x5afb50=_0x14e3aa[_0x6da2('0x61')]['split'](',')[_0x6da2('0x2d')](function(_0x3e56f8){return Number(_0x3e56f8);});_0x5afb50['forEach'](function(_0x283c8e){_0x3ea91a['or'](_0x6da2('0x6e'),'%,'+_0x283c8e+',%');});_0x4a79f2=_[_0x6da2('0x6f')](_0x4a79f2,_0x5afb50);break;case'User':if(_0x14e3aa[_0x6da2('0x65')]===_0x6da2('0x70')){_0x3da93d[_0x3935d8](_0x6da2('0x71'),'%'+_0x14e3aa[_0x6da2('0x61')]+'%',null);}else{_0x44bb0f=_[_0x6da2('0x5f')](_0x3c1f6c,['name',_0x6da2('0x36')]);_0x14e3aa[_0x6da2('0x4a')]=_0x6da2('0x36');_0x4c919f=as['buildExpression'](_0x22f7b7,_0x44bb0f['type'],_0x14e3aa);_0x3da93d[_0x3935d8](_0x4c919f[_0x6da2('0x6b')],_0x4c919f[_0x6da2('0x61')][_0x6da2('0x6c')],_0x4c919f[_0x6da2('0x61')]['end']);}break;case'body':_0x4c919f=as[_0x6da2('0x72')]('me',null,_0x14e3aa);_0x3da93d[_0x3935d8](_0x4c919f[_0x6da2('0x6b')],_0x4c919f[_0x6da2('0x61')][_0x6da2('0x6c')],_0x4c919f[_0x6da2('0x61')][_0x6da2('0x1d')]);break;}}else{var _0x4c919f=as[_0x6da2('0x72')](_0x22f7b7,_0x44bb0f[_0x6da2('0x3c')],_0x14e3aa);_0x3da93d[_0x3935d8](_0x4c919f[_0x6da2('0x6b')],_0x4c919f['value'][_0x6da2('0x6c')],_0x4c919f[_0x6da2('0x61')][_0x6da2('0x1d')]);}}}else{var _0x7ae745=_(_0x378c81['query'])[_0x6da2('0x73')]()['map'](function(_0x115a76){return _[_0x6da2('0x74')](_0x3c1f6c,[_0x6da2('0x2a'),_0x115a76])?_0x115a76:undefined;})['compact']()[_0x6da2('0x61')]();if(!_[_0x6da2('0x75')](_0x7ae745)){_0x7ae745[_0x6da2('0x76')](function(_0xb85452){if(_0xb85452===_0x6da2('0x77')){_0x55d63a[_0x6da2('0x78')](_0x6da2('0x79'),[][_0x6da2('0x7a')](_0x378c81['query'][_0xb85452]));}else if(_0xb85452===_0x6da2('0x7b')){var _0x3848c6=JSON[_0x6da2('0x7c')](_0x378c81[_0x6da2('0x3e')][_0xb85452])[_0x6da2('0x7d')];var _0x116d31=JSON['parse'](_0x378c81['query'][_0xb85452])[_0x6da2('0x7e')];_0x55d63a[_0x6da2('0x78')](_0x6da2('0x7f'),_0x3848c6,_0x116d31);}else{if(_0x378c81[_0x6da2('0x3e')][_0xb85452]===_0x6da2('0x80')){_0x55d63a[_0x6da2('0x78')]('i.'+_0xb85452+_0x6da2('0x81'));}else{_0x55d63a[_0x6da2('0x78')]('i.'+_0xb85452+'\x20=\x20?',_0x378c81[_0x6da2('0x3e')][_0xb85452]);}}});}if(_0x378c81[_0x6da2('0x3e')]['read']){if(_0x378c81[_0x6da2('0x3e')][_0x6da2('0x82')]==0x1){_0x55d63a[_0x6da2('0x62')](_0x6da2('0x83'));}else{_0x55d63a[_0x6da2('0x62')]('`unreadMessages`\x20>\x200');}}if(_0x378c81['query'][_0x6da2('0x84')]){_0x4a79f2=_[_0x6da2('0x85')](_0x378c81['query']['tag'])?_0x378c81[_0x6da2('0x3e')][_0x6da2('0x84')]:new Array(_0x378c81[_0x6da2('0x3e')][_0x6da2('0x84')]);_0x4a79f2[_0x6da2('0x76')](function(_0x43ac67){_0x3ea91a['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x43ac67+',%');});}if(_0x378c81[_0x6da2('0x3e')][_0x6da2('0x86')]){var _0x470da9=_0x378c81[_0x6da2('0x3e')][_0x6da2('0x86')]['replace']('\x5c','\x5c\x5c')[_0x6da2('0x87')](/'/g,'\x27\x27');if(qs[_0x6da2('0x88')](_0x470da9)){_0x3da93d['or']('i.id\x20LIKE\x20?',_0x470da9+'%')['or'](_0x6da2('0x89'),_0x470da9+'%');}else{_0x3da93d['or'](_0x6da2('0x8a'),qs[_0x6da2('0x68')](_0x470da9))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x470da9+'%');}}}_0x55d63a[_0x6da2('0x78')](_0x3da93d);_0x55d63a[_0x6da2('0x8b')]('i.id');var _0x1cbfab={'type':db[_0x6da2('0x8c')][_0x6da2('0x8d')][_0x6da2('0x8e')],'raw':!![]};var _0x4fa1ca=_0x55d63a['clone']();_0x4fa1ca[_0x6da2('0x4a')](_0x6da2('0x8f'));_0x4fa1ca[_0x6da2('0x4a')](_0x6da2('0x90'),_0x6da2('0x60'));if(_0x3b40d0[_0x6da2('0x47')]){_0x3b40d0[_0x6da2('0x47')][_0x6da2('0x76')](function(_0x5f5040){var _0x2bb5c7=_0x5f5040[0x0]===_0x6da2('0x91')?_0x5f5040[0x0]:'i.'+_0x5f5040[0x0];_0x55d63a['order'](_0x2bb5c7,_0x5f5040[0x1]===_0x6da2('0x92')?![]:!![]);});}if(!_[_0x6da2('0x75')](_0x4a79f2)){_0x55d63a[_0x6da2('0x62')](_0x3ea91a);_0x4fa1ca['where']('t.id\x20IN\x20?',_0x4a79f2);}BPromise[_0x6da2('0x93')]()[_0x6da2('0x26')](function(){if(!_0x41ddc8){if(_0x378c81['query']['SmsAccountId'])return;_0x4fa1ca['where'](_0x6da2('0x94'));_0x55d63a[_0x6da2('0x78')](_0x6da2('0x94'));return;}if(_0x378c81[_0x6da2('0x95')][_0x6da2('0x96')]!==_0x6da2('0x97'))return;return _0x378c81[_0x6da2('0x95')]['getSmsAccounts']({'attributes':['id'],'raw':!![]})[_0x6da2('0x26')](function(_0x328055){if(_[_0x6da2('0x75')](_0x328055)){_0x4fa1ca[_0x6da2('0x78')](_0x6da2('0x98'));_0x55d63a[_0x6da2('0x78')](_0x6da2('0x98'));}else{_0x4fa1ca[_0x6da2('0x78')](_0x6da2('0x79'),_['map'](_0x328055,'id'));_0x55d63a[_0x6da2('0x78')](_0x6da2('0x79'),_[_0x6da2('0x2d')](_0x328055,'id'));}});})[_0x6da2('0x26')](function(){if(_0x378c81['user'][_0x6da2('0x96')]==='agent'&&!_0x41ddc8&&!_0x378c81[_0x6da2('0x3e')]['SmsAccountId'])return[];return db['sequelize'][_0x6da2('0x3e')](_0x4fa1ca[_0x6da2('0x99')](),_0x1cbfab);})['then'](function(_0xfc2466){_0x1610d0[_0x6da2('0x22')]=_0xfc2466[_0x6da2('0x44')];if(_0x1610d0[_0x6da2('0x22')]===0x0)return[];return db[_0x6da2('0x9a')][_0x6da2('0x3e')](_0x2babb8[_0x6da2('0x99')](),_0x1cbfab)[_0x6da2('0x26')](function(_0x2d6e87){_0x43c58b=_[_0x6da2('0x9b')](_0x2d6e87,'id');_0x1cbfab=_[_0x6da2('0x9c')](_0x1cbfab,{'model':db['SmsInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x378c81[_0x6da2('0x3e')][_0x6da2('0x43')]){_0x3b40d0[_0x6da2('0x41')][_0x6da2('0x76')](function(_0x9c4752){_0x55d63a['field']('i.'+_0x9c4752);});}else{_0x55d63a[_0x6da2('0x4a')](_0x6da2('0x90'),_0x6da2('0x60'));_0x55d63a['field'](_0x6da2('0x9d'),_0x6da2('0x9e'));_0x55d63a['field'](_0x6da2('0x9f'),_0x6da2('0xa0'));_0x55d63a[_0x6da2('0x4a')](_0x6da2('0xa1'),_0x6da2('0x91'));_0x55d63a[_0x6da2('0x4a')](_0x6da2('0xa2'));_0x55d63a[_0x6da2('0x4a')](_0x6da2('0xa3'),_0x6da2('0xa4'));_0x55d63a[_0x6da2('0x4a')](_0x6da2('0xa5'),_0x6da2('0xa6'));_0x55d63a[_0x6da2('0x4a')](_0x6da2('0xa7'),'Contact.email');_0x55d63a['field'](_0x6da2('0xa8'),'Contact.phone');_0x55d63a['field'](_0x6da2('0xa9'),_0x6da2('0xaa'));_0x55d63a[_0x6da2('0x4a')](_0x6da2('0xab'),_0x6da2('0xac'));_0x55d63a['field'](_0x6da2('0xad'),_0x6da2('0xae'));_0x55d63a[_0x6da2('0x4a')]('o.internal','Owner.internal');_0x55d63a[_0x6da2('0x4a')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x6da2('0x2f'));}if(_0x3b40d0[_0x6da2('0x21')])_0x55d63a['limit'](_0x3b40d0[_0x6da2('0x21')]);if(_0x3b40d0[_0x6da2('0x1f')])_0x55d63a[_0x6da2('0x1f')](_0x3b40d0[_0x6da2('0x1f')]);return db[_0x6da2('0x9a')][_0x6da2('0x3e')](_0x55d63a[_0x6da2('0x99')](),_0x1cbfab);})['then'](function(_0x2af128){if(_0x2af128['length']>0x0)_0x30058a[_0x6da2('0x78')]('ui.SmsInteractionId\x20IN\x20?',_[_0x6da2('0x2d')](_0x2af128,'id'));return db['sequelize'][_0x6da2('0x3e')](_0x30058a[_0x6da2('0x99')](),_0x1cbfab)[_0x6da2('0x26')](function(_0x5c62c0){var _0x1c15d2=_[_0x6da2('0xaf')](_0x5c62c0,'SmsInteractionId');var _0x2be09a=[];_0x2af128['forEach'](function(_0x549e0d){_0x2be09a[_0x6da2('0xb0')](updateSmsInteraction(_0x549e0d,_0x43c58b,_0x1c15d2));});return BPromise[_0x6da2('0xb1')](_0x2be09a);});});})[_0x6da2('0x26')](function(_0x5c480e){_0x1610d0[_0x6da2('0xb2')]=_0x5c480e;return _0x1610d0;})[_0x6da2('0x26')](respondWithFilteredResult(_0x2f5b04,_0x3b40d0))['catch'](handleError(_0x2f5b04,null));};exports[_0x6da2('0xb3')]=function(_0x297b94,_0x55849b){var _0x14e4e7={'raw':![],'where':{'id':_0x297b94[_0x6da2('0xb4')]['id']}},_0x341667={};_0x341667[_0x6da2('0x42')]=_[_0x6da2('0x73')](db[_0x6da2('0x39')][_0x6da2('0x3a')]);_0x341667['query']=_[_0x6da2('0x73')](_0x297b94[_0x6da2('0x3e')]);_0x341667[_0x6da2('0x3f')]=_[_0x6da2('0x40')](_0x341667[_0x6da2('0x42')],_0x341667[_0x6da2('0x3e')]);_0x14e4e7['attributes']=_[_0x6da2('0x40')](_0x341667[_0x6da2('0x42')],qs[_0x6da2('0x43')](_0x297b94['query']['fields']));_0x14e4e7[_0x6da2('0x41')]=_0x14e4e7['attributes'][_0x6da2('0x44')]?_0x14e4e7['attributes']:_0x341667[_0x6da2('0x42')];if(_0x297b94[_0x6da2('0x3e')][_0x6da2('0xb5')]){_0x14e4e7[_0x6da2('0xb6')]=[{'all':!![]}];}_0x14e4e7=_[_0x6da2('0x9c')]({},_0x14e4e7,_0x297b94['options']);return db['SmsInteraction'][_0x6da2('0x5f')](_0x14e4e7)['then'](handleEntityNotFound(_0x55849b,null))['then'](respondWithResult(_0x55849b,null))[_0x6da2('0xb7')](handleError(_0x55849b,null));};exports[_0x6da2('0xb8')]=function(_0x53c630,_0x432a0b){return db[_0x6da2('0x39')][_0x6da2('0xb8')](_0x53c630['body'],{})['then'](respondWithResult(_0x432a0b,0xc9))[_0x6da2('0xb7')](handleError(_0x432a0b,null));};exports[_0x6da2('0x25')]=function(_0x56dee4,_0x5dfab4){if(_0x56dee4['body']['id']){delete _0x56dee4[_0x6da2('0xb9')]['id'];}return db[_0x6da2('0x39')][_0x6da2('0x5f')]({'where':{'id':_0x56dee4[_0x6da2('0xb4')]['id']}})[_0x6da2('0x26')](handleEntityNotFound(_0x5dfab4,null))[_0x6da2('0x26')](saveUpdates(_0x56dee4[_0x6da2('0xb9')],null))[_0x6da2('0x26')](respondWithResult(_0x5dfab4,null))[_0x6da2('0xb7')](handleError(_0x5dfab4,null));};exports[_0x6da2('0x27')]=function(_0x24ac8e,_0x317cb2){return db[_0x6da2('0x39')][_0x6da2('0x5f')]({'where':{'id':_0x24ac8e[_0x6da2('0xb4')]['id']}})[_0x6da2('0x26')](handleEntityNotFound(_0x317cb2,null))[_0x6da2('0x26')](removeEntity(_0x317cb2,null))[_0x6da2('0xb7')](handleError(_0x317cb2,null));};exports[_0x6da2('0xba')]=function(_0x22ae2d,_0x223d15){return db[_0x6da2('0x39')]['describe']()[_0x6da2('0x26')](respondWithResult(_0x223d15,null))['catch'](handleError(_0x223d15,null));};exports[_0x6da2('0xbb')]=function(_0x47d31f,_0x158ee4,_0xc559e9){return db[_0x6da2('0xbc')][_0x6da2('0x5f')]({'where':{'id':_0x47d31f[_0x6da2('0xb4')]['id']}})[_0x6da2('0x26')](handleEntityNotFound(_0x158ee4,null))[_0x6da2('0x26')](function(_0x13a765){if(_0x13a765){return _0x13a765['addMessage'](_0x47d31f[_0x6da2('0xb9')][_0x6da2('0xbd')],_[_0x6da2('0xbe')](_0x47d31f[_0x6da2('0xb9')],[_0x6da2('0xbd'),'id'])||{});}})[_0x6da2('0x26')](respondWithResult(_0x158ee4,null))[_0x6da2('0xb7')](handleError(_0x158ee4,null));};exports['getMessages']=function(_0x14eb5d,_0x1278a1,_0x4b98bf){var _0xf3e872={'raw':![],'where':{}};var _0x5e25fb={};var _0x1755a8={'count':0x0,'rows':[]};return db[_0x6da2('0x39')][_0x6da2('0xbf')]({'where':{'id':_0x14eb5d['params']['id']}})[_0x6da2('0x26')](handleEntityNotFound(_0x1278a1,null))[_0x6da2('0x26')](function(_0x4c153b){if(_0x4c153b){_0x5e25fb['model']=_[_0x6da2('0x73')](db[_0x6da2('0xbc')]['rawAttributes']);_0x5e25fb[_0x6da2('0x3e')]=_[_0x6da2('0x73')](_0x14eb5d[_0x6da2('0x3e')]);_0x5e25fb[_0x6da2('0x3f')]=_['intersection'](_0x5e25fb[_0x6da2('0x42')],_0x5e25fb[_0x6da2('0x3e')]);_0xf3e872['attributes']=_[_0x6da2('0x40')](_0x5e25fb[_0x6da2('0x42')],qs[_0x6da2('0x43')](_0x14eb5d[_0x6da2('0x3e')][_0x6da2('0x43')]));_0xf3e872[_0x6da2('0x41')]=_0xf3e872[_0x6da2('0x41')][_0x6da2('0x44')]?_0xf3e872[_0x6da2('0x41')]:_0x5e25fb['model'];if(!_0x14eb5d[_0x6da2('0x3e')][_0x6da2('0x45')](_0x6da2('0x46'))){_0xf3e872[_0x6da2('0x21')]=qs[_0x6da2('0x21')](_0x14eb5d[_0x6da2('0x3e')]['limit']);_0xf3e872[_0x6da2('0x1f')]=qs['offset'](_0x14eb5d['query']['offset']);}_0xf3e872[_0x6da2('0x47')]=qs[_0x6da2('0x48')](_0x14eb5d[_0x6da2('0x3e')][_0x6da2('0x48')]);_0xf3e872[_0x6da2('0x78')]=qs[_0x6da2('0x3f')](_[_0x6da2('0xc0')](_0x14eb5d[_0x6da2('0x3e')],_0x5e25fb['filters']));_0xf3e872[_0x6da2('0x78')][_0x6da2('0xc1')]=_0x4c153b['id'];if(_0x14eb5d[_0x6da2('0x3e')][_0x6da2('0x86')]){_0xf3e872[_0x6da2('0x78')]=_[_0x6da2('0x9c')](_0xf3e872[_0x6da2('0x78')],{'$or':_[_0x6da2('0x2d')](_0xf3e872[_0x6da2('0x41')],function(_0x52d809){var _0x51d809={};_0x51d809[_0x52d809]={'$like':'%'+_0x14eb5d['query']['filter']+'%'};return _0x51d809;})});}if(_0x14eb5d['query'][_0x6da2('0x7d')]){var _0x152ba5=_0x14eb5d['query'][_0x6da2('0x7d')]['split'](',');var _0x17abe2={};_0x17abe2[_0x152ba5[0x0]]={'$gte':moment(_0x152ba5[0x1])[_0x6da2('0xc2')]('YYYY-MM-DD\x20HH:mm:ss')};_0xf3e872['where']=_['merge'](_0xf3e872[_0x6da2('0x78')],_0x17abe2);}_0xf3e872=_['merge']({},_0xf3e872,_0x14eb5d[_0x6da2('0xc3')]);return db[_0x6da2('0xbc')][_0x6da2('0x22')]({'where':_0xf3e872['where']})[_0x6da2('0x26')](function(_0x2596ed){_0x1755a8[_0x6da2('0x22')]=_0x2596ed;if(_0x14eb5d[_0x6da2('0x3e')][_0x6da2('0xb5')]){_0xf3e872['include']=[{'all':!![]}];}return db['SmsMessage']['findAll'](_0xf3e872);})[_0x6da2('0x26')](function(_0x22edbf){_0x1755a8['rows']=_0x22edbf;return _0x1755a8;});}})[_0x6da2('0x26')](respondWithFilteredResult(_0x1278a1,_0xf3e872))[_0x6da2('0xb7')](handleError(_0x1278a1,null));};exports['addTags']=function(_0x113e6b,_0x2b2da6,_0x5cb967){return db[_0x6da2('0x39')][_0x6da2('0x5f')]({'where':{'id':_0x113e6b['params']['id']}})[_0x6da2('0x26')](handleEntityNotFound(_0x2b2da6,null))[_0x6da2('0x26')](function(_0x8db559){if(_0x8db559){return _0x8db559[_0x6da2('0xc4')](_0x113e6b[_0x6da2('0xb9')][_0x6da2('0xbd')],_['omit'](_0x113e6b['body'],[_0x6da2('0xbd'),'id'])||{})[_0x6da2('0xc5')](function(){return db[_0x6da2('0x6d')][_0x6da2('0xc6')]({'attributes':['id',_0x6da2('0x2a'),_0x6da2('0xc7')],'where':{'id':_0x113e6b[_0x6da2('0xb9')][_0x6da2('0xbd')]}});})[_0x6da2('0x26')](function(_0x94691e){socket[_0x6da2('0xc8')](_0x6da2('0xc9'),{'id':Number(_0x113e6b[_0x6da2('0xb4')]['id']),'tags':_0x94691e||[]});return{'id':Number(_0x113e6b[_0x6da2('0xb4')]['id']),'tags':_0x94691e||[]};});}})[_0x6da2('0x26')](respondWithResult(_0x2b2da6,null))[_0x6da2('0xb7')](handleError(_0x2b2da6,null));};exports['removeTags']=function(_0x1aedbb,_0x1141a4,_0x253bef){return db['SmsInteraction'][_0x6da2('0x5f')]({'where':{'id':_0x1aedbb[_0x6da2('0xb4')]['id']}})[_0x6da2('0x26')](handleEntityNotFound(_0x1141a4,null))[_0x6da2('0x26')](function(_0x11c65d){if(_0x11c65d){return _0x11c65d[_0x6da2('0xca')](_0x1aedbb['query'][_0x6da2('0xbd')]);}})[_0x6da2('0x26')](respondWithStatusCode(_0x1141a4,null))[_0x6da2('0xb7')](handleError(_0x1141a4,null));};exports[_0x6da2('0xcb')]=function(_0x15df0a,_0x2695b5){var _0x200e81=moment()[_0x6da2('0xcc')]()[_0x6da2('0x99')]();var _0x14e63e=path[_0x6da2('0xcd')](config[_0x6da2('0xce')],_0x6da2('0xcf'),_0x6da2('0xd0'),'tmp');var _0x4fb66e=path[_0x6da2('0xcd')](config[_0x6da2('0xce')],_0x6da2('0xcf'),_0x6da2('0xd0'),_0x6da2('0xd1'));var _0x305611=path[_0x6da2('0xcd')](_0x14e63e,_0x200e81);var _0x257905=util[_0x6da2('0xc2')](_0x6da2('0xd2'),_0x15df0a[_0x6da2('0xb4')]['id'],_0x200e81);var _0x5c151e=path['join'](_0x14e63e,_0x257905);var _0x14df3f=[];_0x14df3f[_0x6da2('0xb0')]({'model':db[_0x6da2('0xd3')],'as':'User','attributes':['id',_0x6da2('0x2e')],'raw':!![]});_0x14df3f['push']({'model':db[_0x6da2('0xd4')],'as':_0x6da2('0x64'),'attributes':['id',_0x6da2('0xd5'),_0x6da2('0xd6')],'raw':!![]});var _0x2e73e0=[{'model':db[_0x6da2('0xbc')],'as':_0x6da2('0xd7'),'attributes':['id',_0x6da2('0xb9'),'createdAt',_0x6da2('0xd8'),_0x6da2('0xd9'),_0x6da2('0x82')],'include':_0x14df3f}];_0x2e73e0['push']({'model':db[_0x6da2('0xda')],'as':'Account','attributes':['id',_0x6da2('0x2a')]});_0x2e73e0[_0x6da2('0xb0')]({'model':db[_0x6da2('0xd3')],'as':_0x6da2('0xdb'),'attributes':['id',_0x6da2('0x2e')]});return db[_0x6da2('0x39')][_0x6da2('0x5f')]({'where':{'id':_0x15df0a[_0x6da2('0xb4')]['id']},'include':_0x2e73e0})['then'](handleEntityNotFound(_0x2695b5,null))[_0x6da2('0x26')](function(_0x57db7c){if(_0x57db7c){var _0x2da507=_0x57db7c[_0x6da2('0xdc')]({'plain':!![]});fs['mkdirSync'](_0x305611);var _0x159b20={'channel':'Sms','account':_0x2da507['Account'][_0x6da2('0x2a')],'agent':_0x2da507[_0x6da2('0xdb')]?_0x2da507['Owner'][_0x6da2('0x2e')]:'N.A.','createdAt':moment(_0x2da507['createdAt'])['format'](_0x6da2('0xdd'))[_0x6da2('0x99')](),'closedAt':_0x2da507[_0x6da2('0x35')]?moment(_0x2da507[_0x6da2('0xde')])[_0x6da2('0xc2')](_0x6da2('0xdd'))[_0x6da2('0x99')]():'','disposition':_0x2da507['disposition'],'messages':_(_0x2da507[_0x6da2('0xd7')])[_0x6da2('0x86')]({'secret':![]})[_0x6da2('0x2d')](function(_0x2de04d){return{'date':moment(_0x2de04d[_0x6da2('0x7b')])[_0x6da2('0xc2')]('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'sender':_0x2de04d[_0x6da2('0xd8')]===_0x6da2('0xdf')?_0x2de04d[_0x6da2('0xd3')]?_0x2de04d[_0x6da2('0xd3')][_0x6da2('0x2e')]:_0x6da2('0xe0'):_0x2de04d[_0x6da2('0x64')]['firstName']+(_0x2de04d[_0x6da2('0x64')][_0x6da2('0xd6')]?'\x20'+_0x2de04d['Contact']['lastName']:''),'body':_0x2de04d['body'],'direction':_0x2de04d[_0x6da2('0xd8')]===_0x6da2('0xdf')?'A':'C','secret':_0x2de04d[_0x6da2('0xd9')],'read':_0x2de04d['read']};})[_0x6da2('0x61')]()};return ejs['renderFile'](path[_0x6da2('0xcd')](config[_0x6da2('0xce')],_0x6da2('0xcf'),_0x6da2('0xe1'),_0x6da2('0xe2')),{'interaction':_0x159b20})['then'](function(_0x4108e8){var _0x3f1b29=path[_0x6da2('0xcd')](_0x305611,'transcript-'+_0x2da507['id']+'-'+_0x200e81+_0x6da2('0xe3'));var _0x10ae09={'path':_0x3f1b29,'channel':'Sms','interactionId':_0x2da507['id']};return pdf[_0x6da2('0xe4')](_0x4108e8,_0x10ae09);})[_0x6da2('0x26')](function(){return new BPromise(function(_0x5be935,_0x548ce2){zipdir(_0x305611,{'saveTo':_0x5c151e},function(_0x24ca40,_0x30d6c2){if(_0x24ca40)return _0x548ce2(_0x24ca40);return _0x5be935(_0x30d6c2);});})[_0x6da2('0x26')](function(){return new BPromise(function(_0xc0d00b,_0x3f9f39){rimraf(_0x305611,function(_0x41a23a){if(_0x41a23a)_0x3f9f39(_0x41a23a);return _0xc0d00b();});});})[_0x6da2('0x26')](function(){return _0x2695b5[_0x6da2('0xcb')](_0x5c151e,_0x257905,function(_0xc35086){if(_0xc35086){console['log']('err',_0xc35086);}else{fs[_0x6da2('0xe5')](_0x5c151e);}});});});}else{return _0x2695b5[_0x6da2('0x1b')](0xc8);}})[_0x6da2('0xb7')](handleError(_0x2695b5,null));};