53305df27b5c8cb179083f4a49fd9a44cab8c1df
[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 _0x47c5=['`\x20>\x200','Contact','operator','$substring','value','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','buildExpression','text','start','Tag','map','union','User','UserId','body','some','isEmpty','SmsAccountId','where','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','isNumeric','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','resolve','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','i.SmsAccountId\x20IN\x20?','sequelize','toString','keyBy','merge','SmsInteraction','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.fax','Contact.fax','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','SmsInteractionId','all','rows','catch','params','includeAll','include','options','create','describe','addMessage','ids','omit','getMessages','findOne','SmsMessage','nolimit','pick','YYYY-MM-DD\x20HH:mm:ss','findAll','setTags','spread','smsInteractionTags:save','removeTags','download','unix','join','root','server','tmp','files','attachments','format','transcript-%d-%s.zip','firstName','lastName','direction','secret','SmsAccount','Account','Owner','get','mkdirSync','10px','40px','<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','Sms','N.A.','closedAt','Messages','out','System','views','downloadInteraction.html','transcript-','.pdf','log','err','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./smsInteraction.socket','register','sendStatus','status','end','json','count','offset','limit','apply','save','update','then','destroy','stack','name','send','Users','fullname','TagIds','split','forEach','Tags','push','index','rawAttributes','fieldName','type','key','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','order','sort','filters','select','field','color','from','u.id','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','users','u.id\x20=\x20ui.UserId','sms_interactions','cm_contacts','left_join','sms_accounts','a.id\x20=\x20i.SmsAccountId','me.SmsInteractionId\x20=\x20i.id','it.SmsInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','conditions','find','unreadMessages','having','`\x20=\x200'];(function(_0x42eaab,_0x393a99){var _0x18cbfe=function(_0x129324){while(--_0x129324){_0x42eaab['push'](_0x42eaab['shift']());}};_0x18cbfe(++_0x393a99);}(_0x47c5,0x165));var _0x547c=function(_0x2e6d8e,_0x3360a1){_0x2e6d8e=_0x2e6d8e-0x0;var _0x16c0f9=_0x47c5[_0x2e6d8e];return _0x16c0f9;};'use strict';var pdf=require(_0x547c('0x0'));var emlformat=require(_0x547c('0x1'));var rimraf=require(_0x547c('0x2'));var zipdir=require(_0x547c('0x3'));var jsonpatch=require(_0x547c('0x4'));var rp=require(_0x547c('0x5'));var moment=require('moment');var BPromise=require(_0x547c('0x6'));var Mustache=require(_0x547c('0x7'));var util=require('util');var path=require(_0x547c('0x8'));var sox=require(_0x547c('0x9'));var csv=require('to-csv');var ejs=require(_0x547c('0xa'));var fs=require('fs');var _=require(_0x547c('0xb'));var squel=require(_0x547c('0xc'));var crypto=require(_0x547c('0xd'));var jsforce=require(_0x547c('0xe'));var deskjs=require(_0x547c('0xf'));var toCsv=require(_0x547c('0x10'));var querystring=require(_0x547c('0x11'));var Papa=require(_0x547c('0x12'));var Redis=require(_0x547c('0x13'));var authService=require(_0x547c('0x14'));var qs=require(_0x547c('0x15'));var as=require(_0x547c('0x16'));var hardwareService=require(_0x547c('0x17'));var logger=require(_0x547c('0x18'))(_0x547c('0x19'));var utils=require(_0x547c('0x1a'));var config=require('../../config/environment');var licenseUtil=require(_0x547c('0x1b'));var db=require(_0x547c('0x1c'))['db'];config['redis']=_[_0x547c('0x1d')](config[_0x547c('0x1e')],{'host':_0x547c('0x1f'),'port':0x18eb});var socket=require(_0x547c('0x20'))(new Redis(config[_0x547c('0x1e')]));require(_0x547c('0x21'))[_0x547c('0x22')](socket);function respondWithStatusCode(_0xa3c7b0,_0x255aa6){_0x255aa6=_0x255aa6||0xcc;return function(_0x161991){if(_0x161991){return _0xa3c7b0[_0x547c('0x23')](_0x255aa6);}return _0xa3c7b0[_0x547c('0x24')](_0x255aa6)[_0x547c('0x25')]();};}function respondWithResult(_0x23644b,_0x2d5331){_0x2d5331=_0x2d5331||0xc8;return function(_0xf32cdd){if(_0xf32cdd){return _0x23644b[_0x547c('0x24')](_0x2d5331)[_0x547c('0x26')](_0xf32cdd);}};}function respondWithFilteredResult(_0x49acca,_0x4a6c57){return function(_0x23fa9e){if(_0x23fa9e){var _0x199e4f=_0x23fa9e[_0x547c('0x27')],_0xeb059e=_0x4a6c57[_0x547c('0x28')],_0x4a8901=_0x4a6c57['offset']+_0x4a6c57[_0x547c('0x29')],_0x248aca;if(_0x4a8901>=_0x199e4f){_0x4a8901=_0x199e4f;_0x248aca=0xc8;}else{_0x248aca=0xce;}_0x49acca[_0x547c('0x24')](_0x248aca);return _0x49acca['set']('Content-Range',_0xeb059e+'-'+_0x4a8901+'/'+_0x199e4f)[_0x547c('0x26')](_0x23fa9e);}return null;};}function patchUpdates(_0x4ce2a6){return function(_0x4f20c1){try{jsonpatch[_0x547c('0x2a')](_0x4f20c1,_0x4ce2a6,!![]);}catch(_0x16a3a6){return BPromise['reject'](_0x16a3a6);}return _0x4f20c1[_0x547c('0x2b')]();};}function saveUpdates(_0x17fd97,_0x436e67){return function(_0x4c718c){if(_0x4c718c){return _0x4c718c[_0x547c('0x2c')](_0x17fd97)[_0x547c('0x2d')](function(_0x470694){return _0x470694;});}return null;};}function removeEntity(_0x26823c,_0x1f3581){return function(_0x2663bc){if(_0x2663bc){return _0x2663bc[_0x547c('0x2e')]()[_0x547c('0x2d')](function(){_0x26823c['status'](0xcc)[_0x547c('0x25')]();});}};}function handleEntityNotFound(_0x4c66b9,_0x5b05f2){return function(_0x4855fd){if(!_0x4855fd){_0x4c66b9['sendStatus'](0x194);}return _0x4855fd;};}function handleError(_0x2c725d,_0x4c5256){_0x4c5256=_0x4c5256||0x1f4;return function(_0x93985c){logger['error'](_0x93985c[_0x547c('0x2f')]);if(_0x93985c['name']){delete _0x93985c[_0x547c('0x30')];}_0x2c725d[_0x547c('0x24')](_0x4c5256)[_0x547c('0x31')](_0x93985c);};}function getInteractionUsers(_0x30a96c,_0x198afb){return new BPromise(function(_0x569924,_0x575c74){try{if(_0x198afb[_0x30a96c['id']]){_0x30a96c[_0x547c('0x32')]=_['map'](_0x198afb[_0x30a96c['id']],function(_0x303b57){return{'id':_0x303b57['id'],'fullname':_0x303b57[_0x547c('0x33')]};});}}catch(_0x3e7652){_0x575c74(_0x3e7652);}_0x569924(_0x30a96c);});}function getInteractionTags(_0x1695be,_0x4652e7){return new BPromise(function(_0x51e6e7,_0x342c10){try{if(_0x1695be['TagIds']){_0x1695be['Tags']=[];_0x1695be[_0x547c('0x34')][_0x547c('0x35')](',')[_0x547c('0x36')](function(_0x26850a){_0x1695be[_0x547c('0x37')][_0x547c('0x38')](_0x4652e7[_0x26850a]);});}delete _0x1695be[_0x547c('0x34')];}catch(_0x474178){_0x342c10(_0x474178);}_0x51e6e7(_0x1695be);});}function updateSmsInteraction(_0x378bac,_0x31026e,_0x21174e){return new BPromise(function(_0xbaf7a7,_0x243cb){return getInteractionUsers(_0x378bac,_0x21174e)[_0x547c('0x2d')](function(_0x5e44ba){return getInteractionTags(_0x5e44ba,_0x31026e);})[_0x547c('0x2d')](function(_0x553dcf){_0xbaf7a7(_0x553dcf);})['catch'](function(_0x5f37e7){_0x243cb(_0x5f37e7);});});}exports[_0x547c('0x39')]=function(_0x13a8d1,_0x31c7d3){var _0x1e3d52={},_0x14c50c={},_0x45f724={'count':0x0,'rows':[]};var _0x5c920e=_['map'](db['SmsInteraction'][_0x547c('0x3a')],function(_0x338b6b){return{'name':_0x338b6b[_0x547c('0x3b')],'type':_0x338b6b[_0x547c('0x3c')][_0x547c('0x3d')]};});_0x14c50c[_0x547c('0x3e')]=_['map'](_0x5c920e,_0x547c('0x30'));_0x14c50c['query']=_[_0x547c('0x3f')](_0x13a8d1[_0x547c('0x40')]);_0x14c50c['filters']=_[_0x547c('0x41')](_0x14c50c['model'],_0x14c50c['query']);_0x1e3d52[_0x547c('0x42')]=_[_0x547c('0x41')](_0x14c50c[_0x547c('0x3e')],qs[_0x547c('0x43')](_0x13a8d1['query']['fields']));_0x1e3d52[_0x547c('0x42')]=_0x1e3d52[_0x547c('0x42')][_0x547c('0x44')]?_0x1e3d52['attributes']:_0x14c50c[_0x547c('0x3e')];if(!_0x13a8d1[_0x547c('0x40')][_0x547c('0x45')]('nolimit')){_0x1e3d52[_0x547c('0x29')]=qs[_0x547c('0x29')](_0x13a8d1[_0x547c('0x40')]['limit']);_0x1e3d52[_0x547c('0x28')]=qs[_0x547c('0x28')](_0x13a8d1['query'][_0x547c('0x28')]);}_0x1e3d52[_0x547c('0x46')]=qs[_0x547c('0x47')](_0x13a8d1['query'][_0x547c('0x47')]);_0x1e3d52['where']=qs[_0x547c('0x48')](_['pick'](_0x13a8d1[_0x547c('0x40')],_0x14c50c[_0x547c('0x48')]),_0x5c920e);var _0x3d37d7=[];var _0x3797d3=squel[_0x547c('0x49')]()[_0x547c('0x4a')]('id')['field']('name')[_0x547c('0x4a')](_0x547c('0x4b'))[_0x547c('0x4c')]('tools_tags');var _0x24e99c=squel[_0x547c('0x49')]()[_0x547c('0x4a')](_0x547c('0x4d'))[_0x547c('0x4a')](_0x547c('0x4e'))['field'](_0x547c('0x4f'))[_0x547c('0x4c')](_0x547c('0x50'),'ui')['left_join'](_0x547c('0x51'),'u',_0x547c('0x52'));var _0xebf295=squel[_0x547c('0x49')]()['from'](_0x547c('0x53'),'i')['left_join'](_0x547c('0x54'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x547c('0x55')](_0x547c('0x51'),'o','o.id\x20=\x20i.UserId')[_0x547c('0x55')](_0x547c('0x56'),'a',_0x547c('0x57'))[_0x547c('0x55')]('sms_messages','me',_0x547c('0x58'))['left_join']('sms_interaction_has_tags','it',_0x547c('0x59'))[_0x547c('0x55')](_0x547c('0x5a'),'t',_0x547c('0x5b'));var _0x1daaf4=squel[_0x547c('0x5c')]();var _0x153392=[];var _0x444b2c=squel[_0x547c('0x5c')]();var _0x31a262;if(_0x13a8d1[_0x547c('0x40')][_0x547c('0x5d')]){_0x31a262=as['parseSearch'](_0x13a8d1['query'][_0x547c('0x5d')]);var _0x21ea26=_0x31a262['sqlOperator'];for(var _0xadd57d=0x0;_0xadd57d<_0x31a262[_0x547c('0x5e')][_0x547c('0x44')];_0xadd57d++){var _0x4abae7=_0x31a262[_0x547c('0x5e')][_0xadd57d];var _0x2bb808='i';var _0x4d4cf9=_[_0x547c('0x5f')](_0x5c920e,['name',_0x4abae7[_0x547c('0x4a')]]);if(!_0x4d4cf9){switch(_0x4abae7[_0x547c('0x4a')]){case _0x547c('0x60'):if(_0x4abae7['value']==0x1){_0xebf295[_0x547c('0x61')]('`'+_0x4abae7['field']+_0x547c('0x62'));}else{_0xebf295[_0x547c('0x61')]('`'+_0x4abae7['field']+_0x547c('0x63'));}break;case _0x547c('0x64'):if(_0x4abae7[_0x547c('0x65')]===_0x547c('0x66')){if(_0x4abae7[_0x547c('0x67')][_0x547c('0x35')]('\x20')[_0x547c('0x44')]>0x1){_0x1daaf4[_0x21ea26]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x547c('0x68')](_0x4abae7['value']),null);}else{var _0x3bd9b9='%'+_0x4abae7[_0x547c('0x67')]+'%';_0x1daaf4[_0x21ea26](_0x547c('0x69'),_0x3bd9b9,_0x3bd9b9,_0x3bd9b9);}}else{_0x4d4cf9=_[_0x547c('0x5f')](_0x5c920e,[_0x547c('0x30'),'ContactId']);_0x4abae7[_0x547c('0x4a')]='ContactId';_0x70e648=as[_0x547c('0x6a')](_0x2bb808,_0x4d4cf9[_0x547c('0x3c')],_0x4abae7);_0x1daaf4[_0x21ea26](_0x70e648[_0x547c('0x6b')],_0x70e648[_0x547c('0x67')][_0x547c('0x6c')],_0x70e648['value'][_0x547c('0x25')]);}break;case _0x547c('0x6d'):var _0x4efdd5=_0x4abae7[_0x547c('0x67')][_0x547c('0x35')](',')[_0x547c('0x6e')](function(_0xa83a7e){return Number(_0xa83a7e);});_0x4efdd5['forEach'](function(_0x52d134){_0x444b2c['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x52d134+',%');});_0x153392=_[_0x547c('0x6f')](_0x153392,_0x4efdd5);break;case _0x547c('0x70'):if(_0x4abae7['operator']===_0x547c('0x66')){_0x1daaf4[_0x21ea26]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x4abae7[_0x547c('0x67')]+'%',null);}else{_0x4d4cf9=_[_0x547c('0x5f')](_0x5c920e,[_0x547c('0x30'),_0x547c('0x71')]);_0x4abae7[_0x547c('0x4a')]=_0x547c('0x71');_0x70e648=as[_0x547c('0x6a')](_0x2bb808,_0x4d4cf9['type'],_0x4abae7);_0x1daaf4[_0x21ea26](_0x70e648['text'],_0x70e648[_0x547c('0x67')][_0x547c('0x6c')],_0x70e648[_0x547c('0x67')][_0x547c('0x25')]);}break;case _0x547c('0x72'):_0x70e648=as['buildExpression']('me',null,_0x4abae7);_0x1daaf4[_0x21ea26](_0x70e648['text'],_0x70e648['value']['start'],_0x70e648['value'][_0x547c('0x25')]);break;}}else{var _0x70e648=as[_0x547c('0x6a')](_0x2bb808,_0x4d4cf9['type'],_0x4abae7);_0x1daaf4[_0x21ea26](_0x70e648[_0x547c('0x6b')],_0x70e648[_0x547c('0x67')][_0x547c('0x6c')],_0x70e648[_0x547c('0x67')]['end']);}}}else{var _0x4ab718=_(_0x13a8d1['query'])[_0x547c('0x3f')]()[_0x547c('0x6e')](function(_0x42ee7c){return _[_0x547c('0x73')](_0x5c920e,[_0x547c('0x30'),_0x42ee7c])?_0x42ee7c:undefined;})['compact']()['value']();if(!_[_0x547c('0x74')](_0x4ab718)){_0x4ab718[_0x547c('0x36')](function(_0x1ac2ea){if(_0x1ac2ea===_0x547c('0x75')){_0xebf295[_0x547c('0x76')]('i.SmsAccountId\x20IN\x20?',[]['concat'](_0x13a8d1['query'][_0x1ac2ea]));}else if(_0x1ac2ea===_0x547c('0x77')){var _0x48f519=JSON[_0x547c('0x78')](_0x13a8d1[_0x547c('0x40')][_0x1ac2ea])[_0x547c('0x79')];var _0x50f4e6=JSON['parse'](_0x13a8d1[_0x547c('0x40')][_0x1ac2ea])[_0x547c('0x7a')];_0xebf295[_0x547c('0x76')](_0x547c('0x7b'),_0x48f519,_0x50f4e6);}else{if(_0x13a8d1[_0x547c('0x40')][_0x1ac2ea]===_0x547c('0x7c')){_0xebf295[_0x547c('0x76')]('i.'+_0x1ac2ea+'\x20IS\x20NULL');}else{_0xebf295[_0x547c('0x76')]('i.'+_0x1ac2ea+_0x547c('0x7d'),_0x13a8d1[_0x547c('0x40')][_0x1ac2ea]);}}});}if(_0x13a8d1[_0x547c('0x40')][_0x547c('0x7e')]){if(_0x13a8d1[_0x547c('0x40')][_0x547c('0x7e')]==0x1){_0xebf295[_0x547c('0x61')]('`unreadMessages`\x20=\x200');}else{_0xebf295[_0x547c('0x61')](_0x547c('0x7f'));}}if(_0x13a8d1[_0x547c('0x40')][_0x547c('0x80')]){_0x153392=_['isArray'](_0x13a8d1[_0x547c('0x40')][_0x547c('0x80')])?_0x13a8d1[_0x547c('0x40')]['tag']:new Array(_0x13a8d1['query']['tag']);_0x153392[_0x547c('0x36')](function(_0x42a2a0){_0x444b2c['or'](_0x547c('0x81'),'%,'+_0x42a2a0+',%');});}if(_0x13a8d1['query'][_0x547c('0x82')]){var _0x305dd0=_0x13a8d1[_0x547c('0x40')][_0x547c('0x82')]['replace']('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x547c('0x83')](_0x305dd0)){_0x1daaf4['or']('i.id\x20LIKE\x20?',_0x305dd0+'%')['or'](_0x547c('0x84'),_0x305dd0+'%');}else{_0x1daaf4['or'](_0x547c('0x85'),qs['getFullTextValue'](_0x305dd0))['or'](_0x547c('0x86'),_0x305dd0+'%');}}}_0xebf295['where'](_0x1daaf4);_0xebf295[_0x547c('0x87')](_0x547c('0x88'));var _0x4e2655={'type':db[_0x547c('0x89')][_0x547c('0x8a')][_0x547c('0x8b')],'raw':!![]};var _0x27f824=_0xebf295['clone']();_0x27f824['field'](_0x547c('0x88'));_0x27f824[_0x547c('0x4a')](_0x547c('0x8c'),_0x547c('0x60'));if(_0x1e3d52['order']){_0x1e3d52['order'][_0x547c('0x36')](function(_0x1f2886){_0xebf295[_0x547c('0x46')]('i.'+_0x1f2886[0x0],_0x1f2886[0x1]===_0x547c('0x8d')?![]:!![]);});}if(!_[_0x547c('0x74')](_0x153392)){_0xebf295[_0x547c('0x61')](_0x444b2c);_0x27f824[_0x547c('0x76')](_0x547c('0x8e'),_0x153392);}BPromise[_0x547c('0x8f')]()[_0x547c('0x2d')](function(){if(!_0x31a262){if(_0x13a8d1[_0x547c('0x40')][_0x547c('0x75')]||_0x13a8d1[_0x547c('0x40')]['journey'])return;_0x27f824['where']('i.SmsAccountId\x20IS\x20NOT\x20NULL');_0xebf295[_0x547c('0x76')]('i.SmsAccountId\x20IS\x20NOT\x20NULL');return;}return _0x13a8d1['user'][_0x547c('0x90')]({'attributes':['id'],'raw':!![]})['then'](function(_0x5723f1){if(_[_0x547c('0x74')](_0x5723f1)){_0x27f824[_0x547c('0x76')](_0x547c('0x91'));_0xebf295[_0x547c('0x76')]('i.SmsAccountId\x20IS\x20NULL');}else{_0x27f824[_0x547c('0x76')](_0x547c('0x92'),_['map'](_0x5723f1,'id'));_0xebf295['where'](_0x547c('0x92'),_[_0x547c('0x6e')](_0x5723f1,'id'));}});})[_0x547c('0x2d')](function(){db[_0x547c('0x93')][_0x547c('0x40')](_0x27f824[_0x547c('0x94')](),_0x4e2655)[_0x547c('0x2d')](function(_0x17ea5a){_0x45f724['count']=_0x17ea5a[_0x547c('0x44')];if(_0x45f724[_0x547c('0x27')]===0x0)return[];return db[_0x547c('0x93')]['query'](_0x3797d3[_0x547c('0x94')](),_0x4e2655)[_0x547c('0x2d')](function(_0x2cb2ff){_0x3d37d7=_[_0x547c('0x95')](_0x2cb2ff,'id');_0x4e2655=_[_0x547c('0x96')](_0x4e2655,{'model':db[_0x547c('0x97')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x13a8d1[_0x547c('0x40')][_0x547c('0x43')]){_0x1e3d52[_0x547c('0x42')][_0x547c('0x36')](function(_0x73eb72){_0xebf295[_0x547c('0x4a')]('i.'+_0x73eb72);});}else{_0xebf295[_0x547c('0x4a')](_0x547c('0x8c'),'unreadMessages');_0xebf295[_0x547c('0x4a')](_0x547c('0x98'),_0x547c('0x99'));_0xebf295['field'](_0x547c('0x9a'),_0x547c('0x9b'));_0xebf295[_0x547c('0x4a')](_0x547c('0x9c'));_0xebf295[_0x547c('0x4a')](_0x547c('0x9d'),_0x547c('0x9e'));_0xebf295[_0x547c('0x4a')](_0x547c('0x9f'),_0x547c('0xa0'));_0xebf295[_0x547c('0x4a')](_0x547c('0xa1'),_0x547c('0xa2'));_0xebf295['field']('c.phone','Contact.phone');_0xebf295['field']('c.mobile','Contact.mobile');_0xebf295[_0x547c('0x4a')](_0x547c('0xa3'),_0x547c('0xa4'));_0xebf295[_0x547c('0x4a')]('o.fullname',_0x547c('0xa5'));_0xebf295[_0x547c('0x4a')](_0x547c('0xa6'),'Owner.internal');_0xebf295[_0x547c('0x4a')](_0x547c('0xa7'),_0x547c('0x34'));}if(_0x1e3d52['limit'])_0xebf295['limit'](_0x1e3d52['limit']);if(_0x1e3d52[_0x547c('0x28')])_0xebf295['offset'](_0x1e3d52[_0x547c('0x28')]);return db[_0x547c('0x93')]['query'](_0xebf295[_0x547c('0x94')](),_0x4e2655);})[_0x547c('0x2d')](function(_0x168b42){_0x24e99c[_0x547c('0x76')](_0x547c('0xa8'),_['map'](_0x168b42,'id'));return db[_0x547c('0x93')]['query'](_0x24e99c[_0x547c('0x94')](),_0x4e2655)[_0x547c('0x2d')](function(_0x32e9ee){var _0x1dfce9=_['groupBy'](_0x32e9ee,_0x547c('0xa9'));var _0x53d6d9=[];_0x168b42[_0x547c('0x36')](function(_0x8eb70e){_0x53d6d9['push'](updateSmsInteraction(_0x8eb70e,_0x3d37d7,_0x1dfce9));});return BPromise[_0x547c('0xaa')](_0x53d6d9);});});})['then'](function(_0x12d3d3){_0x45f724[_0x547c('0xab')]=_0x12d3d3;return _0x45f724;})[_0x547c('0x2d')](respondWithFilteredResult(_0x31c7d3,_0x1e3d52));})[_0x547c('0xac')](handleError(_0x31c7d3,null));};exports['show']=function(_0xe7f35,_0x311cb8){var _0xea441b={'raw':![],'where':{'id':_0xe7f35[_0x547c('0xad')]['id']}},_0x4732f4={};_0x4732f4['model']=_[_0x547c('0x3f')](db[_0x547c('0x97')][_0x547c('0x3a')]);_0x4732f4['query']=_[_0x547c('0x3f')](_0xe7f35[_0x547c('0x40')]);_0x4732f4[_0x547c('0x48')]=_[_0x547c('0x41')](_0x4732f4['model'],_0x4732f4[_0x547c('0x40')]);_0xea441b['attributes']=_[_0x547c('0x41')](_0x4732f4['model'],qs[_0x547c('0x43')](_0xe7f35[_0x547c('0x40')][_0x547c('0x43')]));_0xea441b[_0x547c('0x42')]=_0xea441b[_0x547c('0x42')][_0x547c('0x44')]?_0xea441b['attributes']:_0x4732f4['model'];if(_0xe7f35['query'][_0x547c('0xae')]){_0xea441b[_0x547c('0xaf')]=[{'all':!![]}];}_0xea441b=_[_0x547c('0x96')]({},_0xea441b,_0xe7f35[_0x547c('0xb0')]);return db['SmsInteraction'][_0x547c('0x5f')](_0xea441b)['then'](handleEntityNotFound(_0x311cb8,null))[_0x547c('0x2d')](respondWithResult(_0x311cb8,null))[_0x547c('0xac')](handleError(_0x311cb8,null));};exports[_0x547c('0xb1')]=function(_0xca76b6,_0x208939){return db[_0x547c('0x97')]['create'](_0xca76b6[_0x547c('0x72')],{})['then'](respondWithResult(_0x208939,0xc9))[_0x547c('0xac')](handleError(_0x208939,null));};exports[_0x547c('0x2c')]=function(_0x599179,_0x2daa82){if(_0x599179[_0x547c('0x72')]['id']){delete _0x599179[_0x547c('0x72')]['id'];}return db[_0x547c('0x97')][_0x547c('0x5f')]({'where':{'id':_0x599179[_0x547c('0xad')]['id']}})[_0x547c('0x2d')](handleEntityNotFound(_0x2daa82,null))['then'](saveUpdates(_0x599179[_0x547c('0x72')],null))[_0x547c('0x2d')](respondWithResult(_0x2daa82,null))[_0x547c('0xac')](handleError(_0x2daa82,null));};exports['destroy']=function(_0x35a937,_0x48d7aa){return db[_0x547c('0x97')]['find']({'where':{'id':_0x35a937[_0x547c('0xad')]['id']}})[_0x547c('0x2d')](handleEntityNotFound(_0x48d7aa,null))[_0x547c('0x2d')](removeEntity(_0x48d7aa,null))[_0x547c('0xac')](handleError(_0x48d7aa,null));};exports['describe']=function(_0x14e771,_0xd0f773){return db[_0x547c('0x97')][_0x547c('0xb2')]()['then'](respondWithResult(_0xd0f773,null))['catch'](handleError(_0xd0f773,null));};exports[_0x547c('0xb3')]=function(_0xfcc93f,_0x5d1a46,_0xaa9401){return db['SmsMessage']['find']({'where':{'id':_0xfcc93f['params']['id']}})[_0x547c('0x2d')](handleEntityNotFound(_0x5d1a46,null))[_0x547c('0x2d')](function(_0x2b1224){if(_0x2b1224){return _0x2b1224[_0x547c('0xb3')](_0xfcc93f['body'][_0x547c('0xb4')],_[_0x547c('0xb5')](_0xfcc93f[_0x547c('0x72')],['ids','id'])||{});}})[_0x547c('0x2d')](respondWithResult(_0x5d1a46,null))['catch'](handleError(_0x5d1a46,null));};exports[_0x547c('0xb6')]=function(_0x3ffc1e,_0xc648f4,_0x509a61){var _0x3c2eef={'raw':![],'where':{}};var _0x26f6b0={};var _0x4cfa46={'count':0x0,'rows':[]};return db[_0x547c('0x97')][_0x547c('0xb7')]({'where':{'id':_0x3ffc1e[_0x547c('0xad')]['id']}})[_0x547c('0x2d')](handleEntityNotFound(_0xc648f4,null))[_0x547c('0x2d')](function(_0x5a343b){if(_0x5a343b){_0x26f6b0[_0x547c('0x3e')]=_[_0x547c('0x3f')](db[_0x547c('0xb8')][_0x547c('0x3a')]);_0x26f6b0['query']=_['keys'](_0x3ffc1e[_0x547c('0x40')]);_0x26f6b0['filters']=_[_0x547c('0x41')](_0x26f6b0['model'],_0x26f6b0[_0x547c('0x40')]);_0x3c2eef[_0x547c('0x42')]=_[_0x547c('0x41')](_0x26f6b0[_0x547c('0x3e')],qs[_0x547c('0x43')](_0x3ffc1e[_0x547c('0x40')][_0x547c('0x43')]));_0x3c2eef['attributes']=_0x3c2eef[_0x547c('0x42')][_0x547c('0x44')]?_0x3c2eef[_0x547c('0x42')]:_0x26f6b0[_0x547c('0x3e')];if(!_0x3ffc1e[_0x547c('0x40')][_0x547c('0x45')](_0x547c('0xb9'))){_0x3c2eef[_0x547c('0x29')]=qs[_0x547c('0x29')](_0x3ffc1e[_0x547c('0x40')][_0x547c('0x29')]);_0x3c2eef[_0x547c('0x28')]=qs[_0x547c('0x28')](_0x3ffc1e['query'][_0x547c('0x28')]);}_0x3c2eef[_0x547c('0x46')]=qs[_0x547c('0x47')](_0x3ffc1e[_0x547c('0x40')][_0x547c('0x47')]);_0x3c2eef[_0x547c('0x76')]=qs[_0x547c('0x48')](_[_0x547c('0xba')](_0x3ffc1e['query'],_0x26f6b0[_0x547c('0x48')]));_0x3c2eef[_0x547c('0x76')][_0x547c('0xa9')]=_0x5a343b['id'];if(_0x3ffc1e['query']['filter']){_0x3c2eef[_0x547c('0x76')]=_[_0x547c('0x96')](_0x3c2eef[_0x547c('0x76')],{'$or':_[_0x547c('0x6e')](_0x3c2eef[_0x547c('0x42')],function(_0x45ce77){var _0x230b46={};_0x230b46[_0x45ce77]={'$like':'%'+_0x3ffc1e[_0x547c('0x40')]['filter']+'%'};return _0x230b46;})});}if(_0x3ffc1e[_0x547c('0x40')][_0x547c('0x79')]){var _0x5ac594=_0x3ffc1e[_0x547c('0x40')][_0x547c('0x79')][_0x547c('0x35')](',');var _0x30c5e1={};_0x30c5e1[_0x5ac594[0x0]]={'$gte':moment(_0x5ac594[0x1])['format'](_0x547c('0xbb'))};_0x3c2eef[_0x547c('0x76')]=_[_0x547c('0x96')](_0x3c2eef[_0x547c('0x76')],_0x30c5e1);}_0x3c2eef=_[_0x547c('0x96')]({},_0x3c2eef,_0x3ffc1e[_0x547c('0xb0')]);return db[_0x547c('0xb8')]['count']({'where':_0x3c2eef[_0x547c('0x76')]})[_0x547c('0x2d')](function(_0x3fd4c0){_0x4cfa46[_0x547c('0x27')]=_0x3fd4c0;if(_0x3ffc1e['query'][_0x547c('0xae')]){_0x3c2eef['include']=[{'all':!![]}];}return db['SmsMessage'][_0x547c('0xbc')](_0x3c2eef);})[_0x547c('0x2d')](function(_0x4d1849){_0x4cfa46[_0x547c('0xab')]=_0x4d1849;return _0x4cfa46;});}})[_0x547c('0x2d')](respondWithFilteredResult(_0xc648f4,_0x3c2eef))[_0x547c('0xac')](handleError(_0xc648f4,null));};exports['addTags']=function(_0x5c3ccc,_0x21845e,_0x54ff1f){return db[_0x547c('0x97')][_0x547c('0x5f')]({'where':{'id':_0x5c3ccc[_0x547c('0xad')]['id']}})[_0x547c('0x2d')](handleEntityNotFound(_0x21845e,null))['then'](function(_0x44c4a7){if(_0x44c4a7){return _0x44c4a7[_0x547c('0xbd')](_0x5c3ccc['body'][_0x547c('0xb4')],_[_0x547c('0xb5')](_0x5c3ccc['body'],[_0x547c('0xb4'),'id'])||{})[_0x547c('0xbe')](function(){return db[_0x547c('0x6d')]['findAll']({'attributes':['id',_0x547c('0x30'),'color'],'where':{'id':_0x5c3ccc['body'][_0x547c('0xb4')]}});})['then'](function(_0x2d60bf){socket['emit'](_0x547c('0xbf'),{'id':Number(_0x5c3ccc['params']['id']),'tags':_0x2d60bf||[]});return{'id':Number(_0x5c3ccc[_0x547c('0xad')]['id']),'tags':_0x2d60bf||[]};});}})[_0x547c('0x2d')](respondWithResult(_0x21845e,null))[_0x547c('0xac')](handleError(_0x21845e,null));};exports[_0x547c('0xc0')]=function(_0x42ad48,_0x225c5d,_0x370562){return db[_0x547c('0x97')]['find']({'where':{'id':_0x42ad48[_0x547c('0xad')]['id']}})[_0x547c('0x2d')](handleEntityNotFound(_0x225c5d,null))[_0x547c('0x2d')](function(_0x3e4451){if(_0x3e4451){return _0x3e4451[_0x547c('0xc0')](_0x42ad48[_0x547c('0x40')][_0x547c('0xb4')]);}})[_0x547c('0x2d')](respondWithStatusCode(_0x225c5d,null))[_0x547c('0xac')](handleError(_0x225c5d,null));};exports[_0x547c('0xc1')]=function(_0x317195,_0x382564){var _0x3b9337=moment()[_0x547c('0xc2')]()['toString']();var _0x4397dc=path[_0x547c('0xc3')](config[_0x547c('0xc4')],_0x547c('0xc5'),'files',_0x547c('0xc6'));var _0x30c890=path[_0x547c('0xc3')](config[_0x547c('0xc4')],_0x547c('0xc5'),_0x547c('0xc7'),_0x547c('0xc8'));var _0xecf19c=path['join'](_0x4397dc,_0x3b9337);var _0x38c6d9=util[_0x547c('0xc9')](_0x547c('0xca'),_0x317195[_0x547c('0xad')]['id'],_0x3b9337);var _0x13dccb=path[_0x547c('0xc3')](_0x4397dc,_0x38c6d9);var _0x30a301=[];_0x30a301[_0x547c('0x38')]({'model':db[_0x547c('0x70')],'as':_0x547c('0x70'),'attributes':['id',_0x547c('0x33')],'raw':!![]});_0x30a301[_0x547c('0x38')]({'model':db['CmContact'],'as':_0x547c('0x64'),'attributes':['id',_0x547c('0xcb'),_0x547c('0xcc')],'raw':!![]});var _0x3e422b=[{'model':db[_0x547c('0xb8')],'as':'Messages','attributes':['id','body',_0x547c('0x77'),_0x547c('0xcd'),_0x547c('0xce'),'read'],'include':_0x30a301}];_0x3e422b[_0x547c('0x38')]({'model':db[_0x547c('0xcf')],'as':_0x547c('0xd0'),'attributes':['id',_0x547c('0x30')]});_0x3e422b[_0x547c('0x38')]({'model':db[_0x547c('0x70')],'as':_0x547c('0xd1'),'attributes':['id',_0x547c('0x33')]});return db[_0x547c('0x97')]['find']({'where':{'id':_0x317195['params']['id']},'include':_0x3e422b})[_0x547c('0x2d')](handleEntityNotFound(_0x382564,null))[_0x547c('0x2d')](function(_0x51b1aa){if(_0x51b1aa){var _0x101cd1=_0x51b1aa[_0x547c('0xd2')]({'plain':!![]});fs[_0x547c('0xd3')](_0xecf19c);var _0x24c725={'format':'A4','border':_0x547c('0xd4'),'header':{'height':_0x547c('0xd5'),'contents':{'first':_0x547c('0xd6')}},'footer':{'height':_0x547c('0xd7'),'contents':{'default':util['format']('<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[_0x547c('0xc9')]('%s\x20#%d',_0x547c('0xd8'),_0x101cd1['id']),moment()[_0x547c('0xc9')]('YYYY-MM-DD')[_0x547c('0x94')]())}}};var _0x560173={'channel':_0x547c('0xd8'),'account':_0x101cd1[_0x547c('0xd0')]['name'],'agent':_0x101cd1[_0x547c('0xd1')]?_0x101cd1[_0x547c('0xd1')][_0x547c('0x33')]:_0x547c('0xd9'),'createdAt':moment(_0x101cd1[_0x547c('0x77')])[_0x547c('0xc9')](_0x547c('0xbb'))['toString'](),'closedAt':_0x101cd1['closed']?moment(_0x101cd1[_0x547c('0xda')])[_0x547c('0xc9')]('YYYY-MM-DD\x20HH:mm:ss')[_0x547c('0x94')]():'','disposition':_0x101cd1['disposition'],'messages':_(_0x101cd1[_0x547c('0xdb')])[_0x547c('0x82')]({'secret':![]})[_0x547c('0x6e')](function(_0x10ab78){return{'date':moment(_0x10ab78['createdAt'])[_0x547c('0xc9')](_0x547c('0xbb'))[_0x547c('0x94')](),'sender':_0x10ab78['direction']===_0x547c('0xdc')?_0x10ab78['User']?_0x10ab78[_0x547c('0x70')][_0x547c('0x33')]:_0x547c('0xdd'):_0x10ab78[_0x547c('0x64')][_0x547c('0xcb')]+(_0x10ab78[_0x547c('0x64')][_0x547c('0xcc')]?'\x20'+_0x10ab78[_0x547c('0x64')]['lastName']:''),'body':_0x10ab78['body'],'direction':_0x10ab78[_0x547c('0xcd')]===_0x547c('0xdc')?'A':'C','secret':_0x10ab78['secret'],'read':_0x10ab78[_0x547c('0x7e')]};})[_0x547c('0x67')]()};return ejs['renderFile'](path['join'](config[_0x547c('0xc4')],_0x547c('0xc5'),_0x547c('0xde'),_0x547c('0xdf')),{'interaction':_0x560173})['then'](function(_0x4583ed){return new BPromise(function(_0xa4a7c3,_0x3464fb){pdf[_0x547c('0xb1')](_0x4583ed,_0x24c725)['toFile'](path[_0x547c('0xc3')](_0xecf19c,_0x547c('0xe0')+_0x101cd1['id']+'-'+_0x3b9337+_0x547c('0xe1')),function(_0x434959,_0x2808a9){if(_0x434959)return _0x3464fb(_0x434959);_0xa4a7c3(_0x2808a9);});});})[_0x547c('0x2d')](function(){return new BPromise(function(_0x313e91,_0x439ef0){zipdir(_0xecf19c,{'saveTo':_0x13dccb},function(_0x1d02f1,_0x42c8c5){if(_0x1d02f1)return _0x439ef0(_0x1d02f1);return _0x313e91(_0x42c8c5);});})[_0x547c('0x2d')](function(){return new BPromise(function(_0x2ae48d,_0x355b64){rimraf(_0xecf19c,function(_0x115ada){if(_0x115ada)_0x355b64(_0x115ada);return _0x2ae48d();});});})['then'](function(){return _0x382564['download'](_0x13dccb,_0x38c6d9,function(_0x307b25){if(_0x307b25){console[_0x547c('0xe2')](_0x547c('0xe3'),_0x307b25);}else{fs['unlinkSync'](_0x13dccb);}});});});}else{return _0x382564[_0x547c('0x23')](0xc8);}})[_0x547c('0xac')](handleError(_0x382564,null));};