Built motion from commit (unavailable).|2.4.20
[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 _0x32b6=['disposition','out','renderFile','views','toFile','log','err','html-pdf','eml-format','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','./smsInteraction.socket','register','sendStatus','status','end','count','offset','set','json','apply','reject','save','update','destroy','then','error','stack','name','send','Users','map','fullname','TagIds','Tags','split','forEach','push','index','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filters','select','field','from','tools_tags','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','users','u.id\x20=\x20ui.UserId','sms_interactions','left_join','cm_contacts','o.id\x20=\x20i.UserId','sms_accounts','a.id\x20=\x20i.SmsAccountId','sms_messages','me.SmsInteractionId\x20=\x20i.id','sms_interaction_has_tags','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','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?','find','ContactId','buildExpression','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','start','body','some','compact','SmsAccountId','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','\x27\x27\x27\x27','isNumeric','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.id','Sequelize','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','order','DESC','resolve','journey','i.SmsAccountId\x20IS\x20NOT\x20NULL','getSmsAccounts','isEmpty','i.SmsAccountId\x20IS\x20NULL','i.SmsAccountId\x20IN\x20?','sequelize','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','c.mobile','Contact.mobile','c.fax','o.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','limit','toString','SmsInteractionId','all','rows','catch','show','params','keys','SmsInteraction','includeAll','include','options','create','describe','addMessage','SmsMessage','omit','ids','getMessages','findOne','YYYY-MM-DD\x20HH:mm:ss','findAll','setTags','spread','removeTags','download','unix','root','server','files','tmp','join','format','transcript-%d-%s.zip','CmContact','firstName','lastName','Messages','direction','secret','SmsAccount','Account','Owner','get','mkdirSync','10px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','30px','%s\x20#%d','Sms','YYYY-MM-DD','N.A.','closed','closedAt'];(function(_0x1858d6,_0x1b0c23){var _0x5cff88=function(_0x599e32){while(--_0x599e32){_0x1858d6['push'](_0x1858d6['shift']());}};_0x5cff88(++_0x1b0c23);}(_0x32b6,0x1d1));var _0x632b=function(_0x1db0c0,_0x13b98d){_0x1db0c0=_0x1db0c0-0x0;var _0x492926=_0x32b6[_0x1db0c0];return _0x492926;};'use strict';var pdf=require(_0x632b('0x0'));var emlformat=require(_0x632b('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x632b('0x2'));var jsonpatch=require(_0x632b('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x632b('0x4'));var Mustache=require(_0x632b('0x5'));var util=require(_0x632b('0x6'));var path=require(_0x632b('0x7'));var sox=require(_0x632b('0x8'));var csv=require(_0x632b('0x9'));var ejs=require(_0x632b('0xa'));var fs=require('fs');var _=require(_0x632b('0xb'));var squel=require(_0x632b('0xc'));var crypto=require(_0x632b('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x632b('0xe'));var toCsv=require(_0x632b('0x9'));var querystring=require(_0x632b('0xf'));var Papa=require(_0x632b('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x632b('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x632b('0x12'))(_0x632b('0x13'));var utils=require(_0x632b('0x14'));var config=require(_0x632b('0x15'));var db=require(_0x632b('0x16'))['db'];config[_0x632b('0x17')]=_[_0x632b('0x18')](config[_0x632b('0x17')],{'host':_0x632b('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x632b('0x17')]));require(_0x632b('0x1a'))[_0x632b('0x1b')](socket);function respondWithStatusCode(_0x5a97da,_0x721883){_0x721883=_0x721883||0xcc;return function(_0x1a3a60){if(_0x1a3a60){return _0x5a97da[_0x632b('0x1c')](_0x721883);}return _0x5a97da[_0x632b('0x1d')](_0x721883)[_0x632b('0x1e')]();};}function respondWithResult(_0x21cdd3,_0x4efe39){_0x4efe39=_0x4efe39||0xc8;return function(_0x17ddc5){if(_0x17ddc5){return _0x21cdd3['status'](_0x4efe39)['json'](_0x17ddc5);}};}function respondWithFilteredResult(_0x1109d5,_0x5afa1e){return function(_0x2c8340){if(_0x2c8340){var _0x3bb27f=_0x2c8340[_0x632b('0x1f')],_0x28c472=_0x5afa1e[_0x632b('0x20')],_0x51c894=_0x5afa1e[_0x632b('0x20')]+_0x5afa1e['limit'],_0x2f3e88;if(_0x51c894>=_0x3bb27f){_0x51c894=_0x3bb27f;_0x2f3e88=0xc8;}else{_0x2f3e88=0xce;}_0x1109d5[_0x632b('0x1d')](_0x2f3e88);return _0x1109d5[_0x632b('0x21')]('Content-Range',_0x28c472+'-'+_0x51c894+'/'+_0x3bb27f)[_0x632b('0x22')](_0x2c8340);}return null;};}function patchUpdates(_0x50b930){return function(_0x4b5618){try{jsonpatch[_0x632b('0x23')](_0x4b5618,_0x50b930,!![]);}catch(_0x5ce3fa){return BPromise[_0x632b('0x24')](_0x5ce3fa);}return _0x4b5618[_0x632b('0x25')]();};}function saveUpdates(_0x2a6833,_0x540bfb){return function(_0x10fc32){if(_0x10fc32){return _0x10fc32[_0x632b('0x26')](_0x2a6833)['then'](function(_0x1db8f5){return _0x1db8f5;});}return null;};}function removeEntity(_0x379dc2,_0x30ffb9){return function(_0x1e448c){if(_0x1e448c){return _0x1e448c[_0x632b('0x27')]()[_0x632b('0x28')](function(){_0x379dc2['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x11fe61,_0x4d3a70){return function(_0x4ebd26){if(!_0x4ebd26){_0x11fe61[_0x632b('0x1c')](0x194);}return _0x4ebd26;};}function handleError(_0x5d6855,_0x273e89){_0x273e89=_0x273e89||0x1f4;return function(_0x3f4eab){logger[_0x632b('0x29')](_0x3f4eab[_0x632b('0x2a')]);if(_0x3f4eab[_0x632b('0x2b')]){delete _0x3f4eab[_0x632b('0x2b')];}_0x5d6855[_0x632b('0x1d')](_0x273e89)[_0x632b('0x2c')](_0x3f4eab);};}function getInteractionUsers(_0x33a625,_0x4f8410){return new BPromise(function(_0x1bb484,_0x35348e){try{if(_0x4f8410[_0x33a625['id']]){_0x33a625[_0x632b('0x2d')]=_[_0x632b('0x2e')](_0x4f8410[_0x33a625['id']],function(_0x17a5ba){return{'id':_0x17a5ba['id'],'fullname':_0x17a5ba[_0x632b('0x2f')]};});}}catch(_0x3c5dc9){_0x35348e(_0x3c5dc9);}_0x1bb484(_0x33a625);});}function getInteractionTags(_0x417d62,_0x1ace1b){return new BPromise(function(_0x319df3,_0x417793){try{if(_0x417d62[_0x632b('0x30')]){_0x417d62[_0x632b('0x31')]=[];_0x417d62[_0x632b('0x30')][_0x632b('0x32')](',')[_0x632b('0x33')](function(_0x18efab){_0x417d62[_0x632b('0x31')][_0x632b('0x34')](_0x1ace1b[_0x18efab]);});}delete _0x417d62[_0x632b('0x30')];}catch(_0x4899b0){_0x417793(_0x4899b0);}_0x319df3(_0x417d62);});}function updateSmsInteraction(_0x1fc0f9,_0x4401dc,_0x397f36){return new BPromise(function(_0x1220a7,_0x5857e4){return getInteractionUsers(_0x1fc0f9,_0x397f36)[_0x632b('0x28')](function(_0x4ebef2){return getInteractionTags(_0x4ebef2,_0x4401dc);})[_0x632b('0x28')](function(_0x15b22d){_0x1220a7(_0x15b22d);})['catch'](function(_0x2265aa){_0x5857e4(_0x2265aa);});});}exports[_0x632b('0x35')]=function(_0x11f450,_0x11b766){var _0x27bbf5={},_0x2a7998={},_0x1a7773={'count':0x0,'rows':[]};var _0x300b60=_['map'](db['SmsInteraction'][_0x632b('0x36')],function(_0x18e484){return{'name':_0x18e484[_0x632b('0x37')],'type':_0x18e484[_0x632b('0x38')][_0x632b('0x39')]};});_0x2a7998[_0x632b('0x3a')]=_[_0x632b('0x2e')](_0x300b60,_0x632b('0x2b'));_0x2a7998['query']=_['keys'](_0x11f450[_0x632b('0x3b')]);_0x2a7998['filters']=_[_0x632b('0x3c')](_0x2a7998[_0x632b('0x3a')],_0x2a7998[_0x632b('0x3b')]);_0x27bbf5[_0x632b('0x3d')]=_[_0x632b('0x3c')](_0x2a7998[_0x632b('0x3a')],qs[_0x632b('0x3e')](_0x11f450[_0x632b('0x3b')][_0x632b('0x3e')]));_0x27bbf5[_0x632b('0x3d')]=_0x27bbf5[_0x632b('0x3d')][_0x632b('0x3f')]?_0x27bbf5[_0x632b('0x3d')]:_0x2a7998[_0x632b('0x3a')];if(!_0x11f450[_0x632b('0x3b')][_0x632b('0x40')](_0x632b('0x41'))){_0x27bbf5['limit']=qs['limit'](_0x11f450['query']['limit']);_0x27bbf5['offset']=qs[_0x632b('0x20')](_0x11f450['query']['offset']);}_0x27bbf5['order']=qs[_0x632b('0x42')](_0x11f450[_0x632b('0x3b')][_0x632b('0x42')]);_0x27bbf5[_0x632b('0x43')]=qs['filters'](_[_0x632b('0x44')](_0x11f450[_0x632b('0x3b')],_0x2a7998[_0x632b('0x45')]));var _0x4dbe4b=[];var _0x15bb30=squel[_0x632b('0x46')]()[_0x632b('0x47')]('id')[_0x632b('0x47')](_0x632b('0x2b'))[_0x632b('0x47')]('color')[_0x632b('0x48')](_0x632b('0x49'));var _0x3873ee=squel[_0x632b('0x46')]()['field']('u.id')[_0x632b('0x47')](_0x632b('0x4a'))[_0x632b('0x47')](_0x632b('0x4b'))[_0x632b('0x48')](_0x632b('0x4c'),'ui')['left_join'](_0x632b('0x4d'),'u',_0x632b('0x4e'));var _0x4140f8=squel[_0x632b('0x46')]()[_0x632b('0x48')](_0x632b('0x4f'),'i')[_0x632b('0x50')](_0x632b('0x51'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x632b('0x50')]('users','o',_0x632b('0x52'))['left_join'](_0x632b('0x53'),'a',_0x632b('0x54'))[_0x632b('0x50')](_0x632b('0x55'),'me',_0x632b('0x56'))['left_join'](_0x632b('0x57'),'it',_0x632b('0x58'))[_0x632b('0x50')]('tools_tags','t',_0x632b('0x59'));var _0x16eb80=squel[_0x632b('0x5a')]();var _0x35f25a=[];var _0x13bbfa=squel['expr']();var _0xe51b4f;if(_0x11f450['query'][_0x632b('0x5b')]){_0xe51b4f=as[_0x632b('0x5c')](_0x11f450[_0x632b('0x3b')][_0x632b('0x5b')]);var _0x43b325=_0xe51b4f['sqlOperator'];for(var _0x4c9b4e=0x0;_0x4c9b4e<_0xe51b4f[_0x632b('0x5d')][_0x632b('0x3f')];_0x4c9b4e++){var _0x3ad524=_0xe51b4f[_0x632b('0x5d')][_0x4c9b4e];var _0x1a517d='i';var _0x3d5bc0=_['find'](_0x300b60,[_0x632b('0x2b'),_0x3ad524[_0x632b('0x47')]]);if(!_0x3d5bc0){switch(_0x3ad524[_0x632b('0x47')]){case'unreadMessages':if(_0x3ad524[_0x632b('0x5e')]==0x1){_0x4140f8[_0x632b('0x5f')]('`'+_0x3ad524[_0x632b('0x47')]+_0x632b('0x60'));}else{_0x4140f8['having']('`'+_0x3ad524[_0x632b('0x47')]+_0x632b('0x61'));}break;case _0x632b('0x62'):if(_0x3ad524[_0x632b('0x63')]===_0x632b('0x64')){if(_0x3ad524['value'][_0x632b('0x32')]('\x20')[_0x632b('0x3f')]>0x1){_0x16eb80[_0x43b325](_0x632b('0x65'),qs[_0x632b('0x66')](_0x3ad524[_0x632b('0x5e')]),null);}else{var _0x5d1d05='%'+_0x3ad524[_0x632b('0x5e')]+'%';_0x16eb80[_0x43b325](_0x632b('0x67'),_0x5d1d05,_0x5d1d05,_0x5d1d05);}}else{_0x3d5bc0=_[_0x632b('0x68')](_0x300b60,[_0x632b('0x2b'),_0x632b('0x69')]);_0x3ad524[_0x632b('0x47')]=_0x632b('0x69');_0x5dc254=as[_0x632b('0x6a')](_0x1a517d,_0x3d5bc0[_0x632b('0x38')],_0x3ad524);_0x16eb80[_0x43b325](_0x5dc254[_0x632b('0x6b')],_0x5dc254[_0x632b('0x5e')]['start'],_0x5dc254[_0x632b('0x5e')][_0x632b('0x1e')]);}break;case _0x632b('0x6c'):var _0x3532c7=_0x3ad524[_0x632b('0x5e')]['split'](',')[_0x632b('0x2e')](function(_0x2239ec){return Number(_0x2239ec);});_0x3532c7[_0x632b('0x33')](function(_0x335b8e){_0x13bbfa['or'](_0x632b('0x6d'),'%,'+_0x335b8e+',%');});_0x35f25a=_[_0x632b('0x6e')](_0x35f25a,_0x3532c7);break;case _0x632b('0x6f'):if(_0x3ad524['operator']===_0x632b('0x64')){_0x16eb80[_0x43b325]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x3ad524[_0x632b('0x5e')]+'%',null);}else{_0x3d5bc0=_['find'](_0x300b60,[_0x632b('0x2b'),'UserId']);_0x3ad524[_0x632b('0x47')]=_0x632b('0x70');_0x5dc254=as['buildExpression'](_0x1a517d,_0x3d5bc0['type'],_0x3ad524);_0x16eb80[_0x43b325](_0x5dc254[_0x632b('0x6b')],_0x5dc254[_0x632b('0x5e')][_0x632b('0x71')],_0x5dc254[_0x632b('0x5e')]['end']);}break;case _0x632b('0x72'):_0x5dc254=as[_0x632b('0x6a')]('me',null,_0x3ad524);_0x16eb80[_0x43b325](_0x5dc254['text'],_0x5dc254[_0x632b('0x5e')]['start'],_0x5dc254[_0x632b('0x5e')][_0x632b('0x1e')]);break;}}else{var _0x5dc254=as[_0x632b('0x6a')](_0x1a517d,_0x3d5bc0[_0x632b('0x38')],_0x3ad524);_0x16eb80[_0x43b325](_0x5dc254[_0x632b('0x6b')],_0x5dc254[_0x632b('0x5e')]['start'],_0x5dc254[_0x632b('0x5e')][_0x632b('0x1e')]);}}}else{var _0x3d1ac3=_(_0x11f450[_0x632b('0x3b')])['keys']()[_0x632b('0x2e')](function(_0x29be1a){return _[_0x632b('0x73')](_0x300b60,[_0x632b('0x2b'),_0x29be1a])?_0x29be1a:undefined;})[_0x632b('0x74')]()[_0x632b('0x5e')]();if(!_['isEmpty'](_0x3d1ac3)){_0x3d1ac3[_0x632b('0x33')](function(_0x83d8f9){if(_0x83d8f9===_0x632b('0x75')){_0x4140f8['where']('i.SmsAccountId\x20IN\x20?',[][_0x632b('0x76')](_0x11f450[_0x632b('0x3b')][_0x83d8f9]));}else if(_0x83d8f9===_0x632b('0x77')){var _0x1daea0=JSON[_0x632b('0x78')](_0x11f450[_0x632b('0x3b')][_0x83d8f9])[_0x632b('0x79')];var _0x52c080=JSON[_0x632b('0x78')](_0x11f450[_0x632b('0x3b')][_0x83d8f9])[_0x632b('0x7a')];_0x4140f8[_0x632b('0x43')](_0x632b('0x7b'),_0x1daea0,_0x52c080);}else{if(_0x11f450[_0x632b('0x3b')][_0x83d8f9]==='null'){_0x4140f8[_0x632b('0x43')]('i.'+_0x83d8f9+_0x632b('0x7c'));}else{_0x4140f8[_0x632b('0x43')]('i.'+_0x83d8f9+_0x632b('0x7d'),_0x11f450['query'][_0x83d8f9]);}}});}if(_0x11f450[_0x632b('0x3b')][_0x632b('0x7e')]){if(_0x11f450[_0x632b('0x3b')]['read']==0x1){_0x4140f8[_0x632b('0x5f')](_0x632b('0x7f'));}else{_0x4140f8[_0x632b('0x5f')](_0x632b('0x80'));}}if(_0x11f450[_0x632b('0x3b')][_0x632b('0x81')]){_0x35f25a=_['isArray'](_0x11f450[_0x632b('0x3b')][_0x632b('0x81')])?_0x11f450['query']['tag']:new Array(_0x11f450['query'][_0x632b('0x81')]);_0x35f25a[_0x632b('0x33')](function(_0x2e70ff){_0x13bbfa['or'](_0x632b('0x6d'),'%,'+_0x2e70ff+',%');});}if(_0x11f450[_0x632b('0x3b')]['filter']){var _0x4b876e=_0x11f450[_0x632b('0x3b')][_0x632b('0x82')]['replace']('\x5c','\x5c\x5c')['replace']('\x27\x27',_0x632b('0x83'));if(qs[_0x632b('0x84')](_0x4b876e)){_0x16eb80['or']('i.id\x20LIKE\x20?',_0x4b876e+'%')['or'](_0x632b('0x85'),_0x4b876e+'%');}else{_0x16eb80['or'](_0x632b('0x86'),qs[_0x632b('0x66')](_0x4b876e))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x4b876e+'%');}}}_0x4140f8['where'](_0x16eb80);_0x4140f8['group'](_0x632b('0x87'));var _0x1b30b7={'type':db[_0x632b('0x88')]['QueryTypes']['SELECT'],'raw':!![]};var _0x515773=_0x4140f8[_0x632b('0x89')]();_0x515773['field'](_0x632b('0x87'));_0x515773[_0x632b('0x47')](_0x632b('0x8a'),_0x632b('0x8b'));if(_0x27bbf5[_0x632b('0x8c')]){_0x27bbf5[_0x632b('0x8c')][_0x632b('0x33')](function(_0x360796){_0x4140f8[_0x632b('0x8c')]('i.'+_0x360796[0x0],_0x360796[0x1]===_0x632b('0x8d')?![]:!![]);});}if(!_['isEmpty'](_0x35f25a)){_0x4140f8['having'](_0x13bbfa);_0x515773[_0x632b('0x43')]('t.id\x20IN\x20?',_0x35f25a);}BPromise[_0x632b('0x8e')]()[_0x632b('0x28')](function(){if(!_0xe51b4f){if(_0x11f450[_0x632b('0x3b')][_0x632b('0x75')]||_0x11f450['query'][_0x632b('0x8f')])return;_0x515773['where']('i.SmsAccountId\x20IS\x20NOT\x20NULL');_0x4140f8['where'](_0x632b('0x90'));return;}return _0x11f450['user'][_0x632b('0x91')]({'attributes':['id'],'raw':!![]})[_0x632b('0x28')](function(_0x48ccd3){if(_[_0x632b('0x92')](_0x48ccd3)){_0x515773[_0x632b('0x43')]('i.SmsAccountId\x20IS\x20NULL');_0x4140f8['where'](_0x632b('0x93'));}else{_0x515773[_0x632b('0x43')](_0x632b('0x94'),_[_0x632b('0x2e')](_0x48ccd3,'id'));_0x4140f8[_0x632b('0x43')](_0x632b('0x94'),_[_0x632b('0x2e')](_0x48ccd3,'id'));}});})['then'](function(){db[_0x632b('0x95')][_0x632b('0x3b')](_0x515773['toString'](),_0x1b30b7)['then'](function(_0x3393c7){_0x1a7773['count']=_0x3393c7['length'];if(_0x1a7773[_0x632b('0x1f')]===0x0)return[];return db['sequelize'][_0x632b('0x3b')](_0x15bb30['toString'](),_0x1b30b7)[_0x632b('0x28')](function(_0x590e68){_0x4dbe4b=_[_0x632b('0x96')](_0x590e68,'id');_0x1b30b7=_[_0x632b('0x97')](_0x1b30b7,{'model':db['SmsInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x11f450[_0x632b('0x3b')][_0x632b('0x3e')]){_0x27bbf5[_0x632b('0x3d')][_0x632b('0x33')](function(_0x2b368b){_0x4140f8[_0x632b('0x47')]('i.'+_0x2b368b);});}else{_0x4140f8[_0x632b('0x47')](_0x632b('0x8a'),'unreadMessages');_0x4140f8['field'](_0x632b('0x98'),_0x632b('0x99'));_0x4140f8[_0x632b('0x47')](_0x632b('0x9a'),_0x632b('0x9b'));_0x4140f8[_0x632b('0x47')]('i.*');_0x4140f8[_0x632b('0x47')]('c.firstName',_0x632b('0x9c'));_0x4140f8['field'](_0x632b('0x9d'),_0x632b('0x9e'));_0x4140f8[_0x632b('0x47')](_0x632b('0x9f'),'Contact.email');_0x4140f8[_0x632b('0x47')](_0x632b('0xa0'),'Contact.phone');_0x4140f8[_0x632b('0x47')](_0x632b('0xa1'),_0x632b('0xa2'));_0x4140f8[_0x632b('0x47')](_0x632b('0xa3'),'Contact.fax');_0x4140f8[_0x632b('0x47')](_0x632b('0xa4'),'Owner.fullname');_0x4140f8[_0x632b('0x47')]('o.internal',_0x632b('0xa5'));_0x4140f8['field'](_0x632b('0xa6'),'TagIds');}_0x4140f8[_0x632b('0xa7')](_0x27bbf5[_0x632b('0xa7')]);_0x4140f8[_0x632b('0x20')](_0x27bbf5[_0x632b('0x20')]);return db[_0x632b('0x95')]['query'](_0x4140f8[_0x632b('0xa8')](),_0x1b30b7);})[_0x632b('0x28')](function(_0x58a5fd){_0x3873ee[_0x632b('0x43')]('ui.SmsInteractionId\x20IN\x20?',_[_0x632b('0x2e')](_0x58a5fd,'id'));return db['sequelize'][_0x632b('0x3b')](_0x3873ee['toString'](),_0x1b30b7)[_0x632b('0x28')](function(_0x331cf4){var _0x1c3d33=_['groupBy'](_0x331cf4,_0x632b('0xa9'));var _0x4524fe=[];_0x58a5fd[_0x632b('0x33')](function(_0x2175ce){_0x4524fe[_0x632b('0x34')](updateSmsInteraction(_0x2175ce,_0x4dbe4b,_0x1c3d33));});return BPromise[_0x632b('0xaa')](_0x4524fe);});});})[_0x632b('0x28')](function(_0x31eee9){_0x1a7773[_0x632b('0xab')]=_0x31eee9;return _0x1a7773;})[_0x632b('0x28')](respondWithFilteredResult(_0x11b766,_0x27bbf5));})[_0x632b('0xac')](handleError(_0x11b766,null));};exports[_0x632b('0xad')]=function(_0x1fcb2a,_0x55c36d){var _0x23385d={'raw':![],'where':{'id':_0x1fcb2a[_0x632b('0xae')]['id']}},_0x376112={};_0x376112[_0x632b('0x3a')]=_[_0x632b('0xaf')](db[_0x632b('0xb0')][_0x632b('0x36')]);_0x376112[_0x632b('0x3b')]=_[_0x632b('0xaf')](_0x1fcb2a[_0x632b('0x3b')]);_0x376112[_0x632b('0x45')]=_[_0x632b('0x3c')](_0x376112['model'],_0x376112[_0x632b('0x3b')]);_0x23385d[_0x632b('0x3d')]=_[_0x632b('0x3c')](_0x376112[_0x632b('0x3a')],qs[_0x632b('0x3e')](_0x1fcb2a[_0x632b('0x3b')][_0x632b('0x3e')]));_0x23385d[_0x632b('0x3d')]=_0x23385d['attributes'][_0x632b('0x3f')]?_0x23385d[_0x632b('0x3d')]:_0x376112[_0x632b('0x3a')];if(_0x1fcb2a[_0x632b('0x3b')][_0x632b('0xb1')]){_0x23385d[_0x632b('0xb2')]=[{'all':!![]}];}_0x23385d=_[_0x632b('0x97')]({},_0x23385d,_0x1fcb2a[_0x632b('0xb3')]);return db[_0x632b('0xb0')]['find'](_0x23385d)[_0x632b('0x28')](handleEntityNotFound(_0x55c36d,null))[_0x632b('0x28')](respondWithResult(_0x55c36d,null))[_0x632b('0xac')](handleError(_0x55c36d,null));};exports[_0x632b('0xb4')]=function(_0x18bb94,_0x46398c){return db['SmsInteraction'][_0x632b('0xb4')](_0x18bb94[_0x632b('0x72')],{})[_0x632b('0x28')](respondWithResult(_0x46398c,0xc9))['catch'](handleError(_0x46398c,null));};exports['update']=function(_0x44b2e6,_0x3e9646){if(_0x44b2e6[_0x632b('0x72')]['id']){delete _0x44b2e6[_0x632b('0x72')]['id'];}return db[_0x632b('0xb0')][_0x632b('0x68')]({'where':{'id':_0x44b2e6[_0x632b('0xae')]['id']}})['then'](handleEntityNotFound(_0x3e9646,null))[_0x632b('0x28')](saveUpdates(_0x44b2e6['body'],null))[_0x632b('0x28')](respondWithResult(_0x3e9646,null))['catch'](handleError(_0x3e9646,null));};exports['destroy']=function(_0x6bcc7a,_0x151f6a){return db[_0x632b('0xb0')]['find']({'where':{'id':_0x6bcc7a['params']['id']}})[_0x632b('0x28')](handleEntityNotFound(_0x151f6a,null))[_0x632b('0x28')](removeEntity(_0x151f6a,null))[_0x632b('0xac')](handleError(_0x151f6a,null));};exports['describe']=function(_0x4ee823,_0x37f06c){return db[_0x632b('0xb0')][_0x632b('0xb5')]()[_0x632b('0x28')](respondWithResult(_0x37f06c,null))[_0x632b('0xac')](handleError(_0x37f06c,null));};exports[_0x632b('0xb6')]=function(_0x5a193a,_0x441d42,_0x352ba8){return db[_0x632b('0xb7')][_0x632b('0x68')]({'where':{'id':_0x5a193a[_0x632b('0xae')]['id']}})[_0x632b('0x28')](handleEntityNotFound(_0x441d42,null))['then'](function(_0x5db842){if(_0x5db842){return _0x5db842[_0x632b('0xb6')](_0x5a193a[_0x632b('0x72')]['ids'],_[_0x632b('0xb8')](_0x5a193a[_0x632b('0x72')],[_0x632b('0xb9'),'id'])||{});}})[_0x632b('0x28')](respondWithResult(_0x441d42,null))[_0x632b('0xac')](handleError(_0x441d42,null));};exports[_0x632b('0xba')]=function(_0x17bfa2,_0x28b626,_0x56f349){var _0x4ce406={'raw':![],'where':{}};var _0x1b274d={};var _0x197955={'count':0x0,'rows':[]};return db['SmsInteraction'][_0x632b('0xbb')]({'where':{'id':_0x17bfa2[_0x632b('0xae')]['id']}})[_0x632b('0x28')](handleEntityNotFound(_0x28b626,null))[_0x632b('0x28')](function(_0x36564e){if(_0x36564e){_0x1b274d['model']=_['keys'](db[_0x632b('0xb7')][_0x632b('0x36')]);_0x1b274d[_0x632b('0x3b')]=_[_0x632b('0xaf')](_0x17bfa2[_0x632b('0x3b')]);_0x1b274d[_0x632b('0x45')]=_['intersection'](_0x1b274d[_0x632b('0x3a')],_0x1b274d['query']);_0x4ce406[_0x632b('0x3d')]=_[_0x632b('0x3c')](_0x1b274d[_0x632b('0x3a')],qs[_0x632b('0x3e')](_0x17bfa2[_0x632b('0x3b')][_0x632b('0x3e')]));_0x4ce406[_0x632b('0x3d')]=_0x4ce406[_0x632b('0x3d')][_0x632b('0x3f')]?_0x4ce406[_0x632b('0x3d')]:_0x1b274d['model'];if(!_0x17bfa2[_0x632b('0x3b')][_0x632b('0x40')](_0x632b('0x41'))){_0x4ce406[_0x632b('0xa7')]=qs['limit'](_0x17bfa2[_0x632b('0x3b')][_0x632b('0xa7')]);_0x4ce406['offset']=qs['offset'](_0x17bfa2['query'][_0x632b('0x20')]);}_0x4ce406[_0x632b('0x8c')]=qs[_0x632b('0x42')](_0x17bfa2[_0x632b('0x3b')]['sort']);_0x4ce406[_0x632b('0x43')]=qs[_0x632b('0x45')](_[_0x632b('0x44')](_0x17bfa2['query'],_0x1b274d[_0x632b('0x45')]));_0x4ce406['where']['SmsInteractionId']=_0x36564e['id'];if(_0x17bfa2[_0x632b('0x3b')][_0x632b('0x82')]){_0x4ce406[_0x632b('0x43')]=_['merge'](_0x4ce406['where'],{'$or':_['map'](_0x4ce406[_0x632b('0x3d')],function(_0x30b4e9){var _0x2d0712={};_0x2d0712[_0x30b4e9]={'$like':'%'+_0x17bfa2['query'][_0x632b('0x82')]+'%'};return _0x2d0712;})});}if(_0x17bfa2[_0x632b('0x3b')][_0x632b('0x79')]){var _0x4245ad=_0x17bfa2[_0x632b('0x3b')]['$gte'][_0x632b('0x32')](',');var _0x51ff81={};_0x51ff81[_0x4245ad[0x0]]={'$gte':moment(_0x4245ad[0x1])['format'](_0x632b('0xbc'))};_0x4ce406[_0x632b('0x43')]=_['merge'](_0x4ce406['where'],_0x51ff81);}_0x4ce406=_[_0x632b('0x97')]({},_0x4ce406,_0x17bfa2[_0x632b('0xb3')]);return db[_0x632b('0xb7')]['count']({'where':_0x4ce406[_0x632b('0x43')]})['then'](function(_0x59aaa8){_0x197955[_0x632b('0x1f')]=_0x59aaa8;if(_0x17bfa2[_0x632b('0x3b')][_0x632b('0xb1')]){_0x4ce406[_0x632b('0xb2')]=[{'all':!![]}];}return db['SmsMessage'][_0x632b('0xbd')](_0x4ce406);})[_0x632b('0x28')](function(_0x179041){_0x197955[_0x632b('0xab')]=_0x179041;return _0x197955;});}})[_0x632b('0x28')](respondWithFilteredResult(_0x28b626,_0x4ce406))[_0x632b('0xac')](handleError(_0x28b626,null));};exports['addTags']=function(_0x2945b2,_0x508b0f,_0x1686ce){return db['SmsInteraction'][_0x632b('0x68')]({'where':{'id':_0x2945b2[_0x632b('0xae')]['id']}})[_0x632b('0x28')](handleEntityNotFound(_0x508b0f,null))[_0x632b('0x28')](function(_0x130486){if(_0x130486){return _0x130486[_0x632b('0xbe')](_0x2945b2[_0x632b('0x72')][_0x632b('0xb9')],_[_0x632b('0xb8')](_0x2945b2[_0x632b('0x72')],[_0x632b('0xb9'),'id'])||{})[_0x632b('0xbf')](function(){return db[_0x632b('0x6c')][_0x632b('0xbd')]({'attributes':['id',_0x632b('0x2b'),'color'],'where':{'id':_0x2945b2[_0x632b('0x72')][_0x632b('0xb9')]}});})[_0x632b('0x28')](function(_0x3d5851){socket['emit']('smsInteractionTags:save',{'id':Number(_0x2945b2[_0x632b('0xae')]['id']),'tags':_0x3d5851||[]});return{'id':Number(_0x2945b2['params']['id']),'tags':_0x3d5851||[]};});}})[_0x632b('0x28')](respondWithResult(_0x508b0f,null))[_0x632b('0xac')](handleError(_0x508b0f,null));};exports[_0x632b('0xc0')]=function(_0x54a2b3,_0x22ba69,_0x3ee7c6){return db[_0x632b('0xb0')][_0x632b('0x68')]({'where':{'id':_0x54a2b3[_0x632b('0xae')]['id']}})[_0x632b('0x28')](handleEntityNotFound(_0x22ba69,null))[_0x632b('0x28')](function(_0x119844){if(_0x119844){return _0x119844[_0x632b('0xc0')](_0x54a2b3[_0x632b('0x3b')][_0x632b('0xb9')]);}})[_0x632b('0x28')](respondWithStatusCode(_0x22ba69,null))[_0x632b('0xac')](handleError(_0x22ba69,null));};exports[_0x632b('0xc1')]=function(_0x364066,_0x4df0aa){var _0x1e469c=moment()[_0x632b('0xc2')]()['toString']();var _0x175640=path['join'](config[_0x632b('0xc3')],_0x632b('0xc4'),_0x632b('0xc5'),_0x632b('0xc6'));var _0x5de21a=path['join'](config[_0x632b('0xc3')],_0x632b('0xc4'),_0x632b('0xc5'),'attachments');var _0x3e9ebd=path[_0x632b('0xc7')](_0x175640,_0x1e469c);var _0x1b7f2d=util[_0x632b('0xc8')](_0x632b('0xc9'),_0x364066[_0x632b('0xae')]['id'],_0x1e469c);var _0x121d88=path[_0x632b('0xc7')](_0x175640,_0x1b7f2d);var _0x37e9a1=[];_0x37e9a1[_0x632b('0x34')]({'model':db[_0x632b('0x6f')],'as':_0x632b('0x6f'),'attributes':['id','fullname'],'raw':!![]});_0x37e9a1[_0x632b('0x34')]({'model':db[_0x632b('0xca')],'as':_0x632b('0x62'),'attributes':['id',_0x632b('0xcb'),_0x632b('0xcc')],'raw':!![]});var _0x435857=[{'model':db[_0x632b('0xb7')],'as':_0x632b('0xcd'),'attributes':['id',_0x632b('0x72'),'createdAt',_0x632b('0xce'),_0x632b('0xcf'),'read'],'include':_0x37e9a1}];_0x435857['push']({'model':db[_0x632b('0xd0')],'as':_0x632b('0xd1'),'attributes':['id',_0x632b('0x2b')]});_0x435857[_0x632b('0x34')]({'model':db[_0x632b('0x6f')],'as':_0x632b('0xd2'),'attributes':['id',_0x632b('0x2f')]});return db[_0x632b('0xb0')]['find']({'where':{'id':_0x364066['params']['id']},'include':_0x435857})['then'](handleEntityNotFound(_0x4df0aa,null))['then'](function(_0x28afad){if(_0x28afad){var _0x21a0b0=_0x28afad[_0x632b('0xd3')]({'plain':!![]});fs[_0x632b('0xd4')](_0x3e9ebd);var _0x4d7193={'format':'A4','border':_0x632b('0xd5'),'header':{'height':'40px','contents':{'first':_0x632b('0xd6')}},'footer':{'height':_0x632b('0xd7'),'contents':{'default':util[_0x632b('0xc8')]('<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>',util[_0x632b('0xc8')](_0x632b('0xd8'),_0x632b('0xd9'),_0x21a0b0['id']),moment()[_0x632b('0xc8')](_0x632b('0xda'))['toString']())}}};var _0x29c5a8={'channel':_0x632b('0xd9'),'account':_0x21a0b0['Account'][_0x632b('0x2b')],'agent':_0x21a0b0['Owner']?_0x21a0b0[_0x632b('0xd2')]['fullname']:_0x632b('0xdb'),'createdAt':moment(_0x21a0b0[_0x632b('0x77')])[_0x632b('0xc8')]('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'closedAt':_0x21a0b0[_0x632b('0xdc')]?moment(_0x21a0b0[_0x632b('0xdd')])[_0x632b('0xc8')](_0x632b('0xbc'))[_0x632b('0xa8')]():'','disposition':_0x21a0b0[_0x632b('0xde')],'messages':_(_0x21a0b0[_0x632b('0xcd')])[_0x632b('0x82')]({'secret':![]})[_0x632b('0x2e')](function(_0xb3df38){return{'date':moment(_0xb3df38[_0x632b('0x77')])[_0x632b('0xc8')](_0x632b('0xbc'))[_0x632b('0xa8')](),'sender':_0xb3df38['direction']===_0x632b('0xdf')?_0xb3df38[_0x632b('0x6f')]?_0xb3df38['User'][_0x632b('0x2f')]:'System':_0xb3df38[_0x632b('0x62')][_0x632b('0xcb')]+(_0xb3df38[_0x632b('0x62')][_0x632b('0xcc')]?'\x20'+_0xb3df38[_0x632b('0x62')][_0x632b('0xcc')]:''),'body':_0xb3df38[_0x632b('0x72')],'direction':_0xb3df38[_0x632b('0xce')]===_0x632b('0xdf')?'A':'C','secret':_0xb3df38['secret'],'read':_0xb3df38[_0x632b('0x7e')]};})[_0x632b('0x5e')]()};return ejs[_0x632b('0xe0')](path[_0x632b('0xc7')](config[_0x632b('0xc3')],_0x632b('0xc4'),_0x632b('0xe1'),'downloadInteraction.html'),{'interaction':_0x29c5a8})[_0x632b('0x28')](function(_0x1d5880){return new BPromise(function(_0x361c1c,_0x567332){pdf[_0x632b('0xb4')](_0x1d5880,_0x4d7193)[_0x632b('0xe2')](path[_0x632b('0xc7')](_0x3e9ebd,'transcript-'+_0x21a0b0['id']+'-'+_0x1e469c+'.pdf'),function(_0x232c4e,_0x86c3a1){if(_0x232c4e)return _0x567332(_0x232c4e);_0x361c1c(_0x86c3a1);});});})[_0x632b('0x28')](function(){return new BPromise(function(_0x5d732b,_0xdf43fa){zipdir(_0x3e9ebd,{'saveTo':_0x121d88},function(_0x3fb11b,_0x4ea620){if(_0x3fb11b)return _0xdf43fa(_0x3fb11b);return _0x5d732b(_0x4ea620);});})['then'](function(){return new BPromise(function(_0x3fa2c9,_0x37530c){rimraf(_0x3e9ebd,function(_0x116364){if(_0x116364)_0x37530c(_0x116364);return _0x3fa2c9();});});})[_0x632b('0x28')](function(){return _0x4df0aa[_0x632b('0xc1')](_0x121d88,_0x1b7f2d,function(_0x291928){if(_0x291928){console[_0x632b('0xe3')](_0x632b('0xe4'),_0x291928);}else{fs['unlinkSync'](_0x121d88);}});});});}else{return _0x4df0aa[_0x632b('0x1c')](0xc8);}})[_0x632b('0xac')](handleError(_0x4df0aa,null));};