Built motion from commit (unavailable).|2.5.6
[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 _0xe14b=['`\x20=\x200','`\x20>\x200','operator','value','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','ContactId','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','body','some','compact','SmsAccountId','where','i.SmsAccountId\x20IN\x20?','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','having','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','\x27\x27\x27\x27','i.id\x20LIKE\x20?','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','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','isEmpty','resolve','journey','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','keyBy','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','groupBy','SmsInteractionId','all','catch','show','params','rawAttributes','includeAll','include','merge','options','SmsInteraction','create','describe','SmsMessage','addMessage','ids','omit','getMessages','findOne','nolimit','format','rows','addTags','spread','findAll','color','emit','smsInteractionTags:save','removeTags','download','join','server','files','tmp','attachments','transcript-%d-%s.zip','CmContact','Contact','lastName','direction','secret','SmsAccount','Owner','mkdirSync','10px','40px','30px','<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>','%s\x20#%d','Sms','YYYY-MM-DD','Account','N.A.','YYYY-MM-DD\x20HH:mm:ss','closed','closedAt','disposition','Messages','System','firstName','out','renderFile','root','views','downloadInteraction.html','transcript-','log','unlinkSync','html-pdf','eml-format','fast-json-patch','request-promise','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsInteraction.socket','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','save','update','then','error','name','send','Users','map','fullname','TagIds','Tags','split','forEach','push','index','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','field','select','u.fullname','ui.SmsInteractionId','left_join','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','a.id\x20=\x20i.SmsAccountId','sms_messages','me.SmsInteractionId\x20=\x20i.id','it.SmsInteractionId\x20=\x20i.id','expr','parseSearch','search','sqlOperator','conditions','unreadMessages'];(function(_0x5ad80a,_0x3ecc28){var _0x3c1b2d=function(_0x4dc78d){while(--_0x4dc78d){_0x5ad80a['push'](_0x5ad80a['shift']());}};_0x3c1b2d(++_0x3ecc28);}(_0xe14b,0x93));var _0xbe14=function(_0xe78b00,_0x86d8da){_0xe78b00=_0xe78b00-0x0;var _0x2a9c8c=_0xe14b[_0xe78b00];return _0x2a9c8c;};'use strict';var pdf=require(_0xbe14('0x0'));var emlformat=require(_0xbe14('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xbe14('0x2'));var rp=require(_0xbe14('0x3'));var moment=require('moment');var BPromise=require(_0xbe14('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0xbe14('0x5'));var sox=require(_0xbe14('0x6'));var csv=require(_0xbe14('0x7'));var ejs=require(_0xbe14('0x8'));var fs=require('fs');var _=require(_0xbe14('0x9'));var squel=require(_0xbe14('0xa'));var crypto=require(_0xbe14('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xbe14('0xc'));var Papa=require(_0xbe14('0xd'));var Redis=require(_0xbe14('0xe'));var authService=require(_0xbe14('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbe14('0x10'));var logger=require(_0xbe14('0x11'))('api');var utils=require(_0xbe14('0x12'));var config=require(_0xbe14('0x13'));var licenseUtil=require(_0xbe14('0x14'));var db=require(_0xbe14('0x15'))['db'];config[_0xbe14('0x16')]=_[_0xbe14('0x17')](config[_0xbe14('0x16')],{'host':_0xbe14('0x18'),'port':0x18eb});var socket=require(_0xbe14('0x19'))(new Redis(config[_0xbe14('0x16')]));require(_0xbe14('0x1a'))[_0xbe14('0x1b')](socket);function respondWithStatusCode(_0x813399,_0x530538){_0x530538=_0x530538||0xcc;return function(_0x55b3a7){if(_0x55b3a7){return _0x813399[_0xbe14('0x1c')](_0x530538);}return _0x813399[_0xbe14('0x1d')](_0x530538)[_0xbe14('0x1e')]();};}function respondWithResult(_0x37ce4e,_0x4e8f34){_0x4e8f34=_0x4e8f34||0xc8;return function(_0x21c789){if(_0x21c789){return _0x37ce4e[_0xbe14('0x1d')](_0x4e8f34)[_0xbe14('0x1f')](_0x21c789);}};}function respondWithFilteredResult(_0x123ede,_0x38f1ea){return function(_0x29ab73){if(_0x29ab73){var _0x17ae86=_0x29ab73[_0xbe14('0x20')],_0x5ea1f8=_0x38f1ea[_0xbe14('0x21')],_0x137ee5=_0x38f1ea[_0xbe14('0x21')]+_0x38f1ea[_0xbe14('0x22')],_0x456ca8;if(_0x137ee5>=_0x17ae86){_0x137ee5=_0x17ae86;_0x456ca8=0xc8;}else{_0x456ca8=0xce;}_0x123ede['status'](_0x456ca8);return _0x123ede[_0xbe14('0x23')](_0xbe14('0x24'),_0x5ea1f8+'-'+_0x137ee5+'/'+_0x17ae86)[_0xbe14('0x1f')](_0x29ab73);}return null;};}function patchUpdates(_0xc12977){return function(_0x188ec4){try{jsonpatch['apply'](_0x188ec4,_0xc12977,!![]);}catch(_0xe60f42){return BPromise['reject'](_0xe60f42);}return _0x188ec4[_0xbe14('0x25')]();};}function saveUpdates(_0x56e80c,_0x32e8eb){return function(_0x4a25fa){if(_0x4a25fa){return _0x4a25fa[_0xbe14('0x26')](_0x56e80c)[_0xbe14('0x27')](function(_0x505dbd){return _0x505dbd;});}return null;};}function removeEntity(_0x2da350,_0x4d4190){return function(_0x4587a8){if(_0x4587a8){return _0x4587a8['destroy']()[_0xbe14('0x27')](function(){_0x2da350[_0xbe14('0x1d')](0xcc)[_0xbe14('0x1e')]();});}};}function handleEntityNotFound(_0x39cc81,_0x15ef02){return function(_0x2703f5){if(!_0x2703f5){_0x39cc81['sendStatus'](0x194);}return _0x2703f5;};}function handleError(_0x1822e0,_0x1ba46a){_0x1ba46a=_0x1ba46a||0x1f4;return function(_0x391556){logger[_0xbe14('0x28')](_0x391556['stack']);if(_0x391556[_0xbe14('0x29')]){delete _0x391556[_0xbe14('0x29')];}_0x1822e0['status'](_0x1ba46a)[_0xbe14('0x2a')](_0x391556);};}function getInteractionUsers(_0x3b3e84,_0x1c7cc7){return new BPromise(function(_0x19252f,_0x34d648){try{if(_0x1c7cc7[_0x3b3e84['id']]){_0x3b3e84[_0xbe14('0x2b')]=_[_0xbe14('0x2c')](_0x1c7cc7[_0x3b3e84['id']],function(_0x2b05cb){return{'id':_0x2b05cb['id'],'fullname':_0x2b05cb[_0xbe14('0x2d')]};});}}catch(_0x16a159){_0x34d648(_0x16a159);}_0x19252f(_0x3b3e84);});}function getInteractionTags(_0x40538f,_0x3bf43c){return new BPromise(function(_0x39dc0a,_0x10ae36){try{if(_0x40538f[_0xbe14('0x2e')]){_0x40538f[_0xbe14('0x2f')]=[];_0x40538f[_0xbe14('0x2e')][_0xbe14('0x30')](',')[_0xbe14('0x31')](function(_0x14e7c4){_0x40538f['Tags'][_0xbe14('0x32')](_0x3bf43c[_0x14e7c4]);});}delete _0x40538f['TagIds'];}catch(_0x58f8de){_0x10ae36(_0x58f8de);}_0x39dc0a(_0x40538f);});}function updateSmsInteraction(_0x46c2d1,_0x4c1e7e,_0x243524){return new BPromise(function(_0x345b0,_0x52a25c){return getInteractionUsers(_0x46c2d1,_0x243524)['then'](function(_0x5798c7){return getInteractionTags(_0x5798c7,_0x4c1e7e);})[_0xbe14('0x27')](function(_0xa3d24){_0x345b0(_0xa3d24);})['catch'](function(_0x46c570){_0x52a25c(_0x46c570);});});}exports[_0xbe14('0x33')]=function(_0x452635,_0x1aa849){var _0x29c23e={},_0x5ef1e5={},_0x591a36={'count':0x0,'rows':[]};var _0x15a997=_['map'](db['SmsInteraction']['rawAttributes'],function(_0x163ef7){return{'name':_0x163ef7[_0xbe14('0x34')],'type':_0x163ef7[_0xbe14('0x35')][_0xbe14('0x36')]};});_0x5ef1e5[_0xbe14('0x37')]=_[_0xbe14('0x2c')](_0x15a997,_0xbe14('0x29'));_0x5ef1e5[_0xbe14('0x38')]=_[_0xbe14('0x39')](_0x452635[_0xbe14('0x38')]);_0x5ef1e5[_0xbe14('0x3a')]=_[_0xbe14('0x3b')](_0x5ef1e5['model'],_0x5ef1e5['query']);_0x29c23e[_0xbe14('0x3c')]=_[_0xbe14('0x3b')](_0x5ef1e5[_0xbe14('0x37')],qs['fields'](_0x452635[_0xbe14('0x38')][_0xbe14('0x3d')]));_0x29c23e[_0xbe14('0x3c')]=_0x29c23e[_0xbe14('0x3c')][_0xbe14('0x3e')]?_0x29c23e[_0xbe14('0x3c')]:_0x5ef1e5[_0xbe14('0x37')];if(!_0x452635[_0xbe14('0x38')][_0xbe14('0x3f')]('nolimit')){_0x29c23e[_0xbe14('0x22')]=qs[_0xbe14('0x22')](_0x452635[_0xbe14('0x38')][_0xbe14('0x22')]);_0x29c23e[_0xbe14('0x21')]=qs[_0xbe14('0x21')](_0x452635['query'][_0xbe14('0x21')]);}_0x29c23e[_0xbe14('0x40')]=qs[_0xbe14('0x41')](_0x452635[_0xbe14('0x38')]['sort']);_0x29c23e['where']=qs[_0xbe14('0x3a')](_[_0xbe14('0x42')](_0x452635[_0xbe14('0x38')],_0x5ef1e5['filters']),_0x15a997);var _0x5d5318=[];var _0x6b6aa8=squel['select']()['field']('id')[_0xbe14('0x43')](_0xbe14('0x29'))[_0xbe14('0x43')]('color')['from']('tools_tags');var _0x46fee8=squel[_0xbe14('0x44')]()[_0xbe14('0x43')]('u.id')[_0xbe14('0x43')](_0xbe14('0x45'))[_0xbe14('0x43')](_0xbe14('0x46'))['from']('user_has_sms_interactions','ui')[_0xbe14('0x47')](_0xbe14('0x48'),'u',_0xbe14('0x49'));var _0xb2b285=squel[_0xbe14('0x44')]()['from']('sms_interactions','i')[_0xbe14('0x47')](_0xbe14('0x4a'),'c',_0xbe14('0x4b'))[_0xbe14('0x47')]('users','o',_0xbe14('0x4c'))[_0xbe14('0x47')]('sms_accounts','a',_0xbe14('0x4d'))[_0xbe14('0x47')](_0xbe14('0x4e'),'me',_0xbe14('0x4f'))['left_join']('sms_interaction_has_tags','it',_0xbe14('0x50'))[_0xbe14('0x47')]('tools_tags','t','t.id\x20=\x20it.TagId');var _0xca8cdb=squel[_0xbe14('0x51')]();var _0x3f7f5b=[];var _0x1a8a3d=squel[_0xbe14('0x51')]();var _0xd04fd5;if(_0x452635[_0xbe14('0x38')]['search']){_0xd04fd5=as[_0xbe14('0x52')](_0x452635[_0xbe14('0x38')][_0xbe14('0x53')]);var _0x22b1f8=_0xd04fd5[_0xbe14('0x54')];for(var _0x494c32=0x0;_0x494c32<_0xd04fd5[_0xbe14('0x55')][_0xbe14('0x3e')];_0x494c32++){var _0x35126f=_0xd04fd5[_0xbe14('0x55')][_0x494c32];var _0x3d3ae1='i';var _0x2dbeb1=_['find'](_0x15a997,['name',_0x35126f[_0xbe14('0x43')]]);if(!_0x2dbeb1){switch(_0x35126f[_0xbe14('0x43')]){case _0xbe14('0x56'):if(_0x35126f['value']==0x1){_0xb2b285['having']('`'+_0x35126f[_0xbe14('0x43')]+_0xbe14('0x57'));}else{_0xb2b285['having']('`'+_0x35126f[_0xbe14('0x43')]+_0xbe14('0x58'));}break;case'Contact':if(_0x35126f[_0xbe14('0x59')]==='$substring'){if(_0x35126f[_0xbe14('0x5a')][_0xbe14('0x30')]('\x20')[_0xbe14('0x3e')]>0x1){_0xca8cdb[_0x22b1f8]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xbe14('0x5b')](_0x35126f[_0xbe14('0x5a')]),null);}else{var _0x5dc78a='%'+_0x35126f[_0xbe14('0x5a')]+'%';_0xca8cdb[_0x22b1f8](_0xbe14('0x5c'),_0x5dc78a,_0x5dc78a,_0x5dc78a);}}else{_0x2dbeb1=_[_0xbe14('0x5d')](_0x15a997,[_0xbe14('0x29'),_0xbe14('0x5e')]);_0x35126f['field']=_0xbe14('0x5e');_0x5f394c=as[_0xbe14('0x5f')](_0x3d3ae1,_0x2dbeb1[_0xbe14('0x35')],_0x35126f);_0xca8cdb[_0x22b1f8](_0x5f394c[_0xbe14('0x60')],_0x5f394c[_0xbe14('0x5a')][_0xbe14('0x61')],_0x5f394c[_0xbe14('0x5a')]['end']);}break;case _0xbe14('0x62'):var _0x1b47a4=_0x35126f[_0xbe14('0x5a')][_0xbe14('0x30')](',')[_0xbe14('0x2c')](function(_0x2ed3fb){return Number(_0x2ed3fb);});_0x1b47a4[_0xbe14('0x31')](function(_0x32df3c){_0x1a8a3d['or'](_0xbe14('0x63'),'%,'+_0x32df3c+',%');});_0x3f7f5b=_[_0xbe14('0x64')](_0x3f7f5b,_0x1b47a4);break;case _0xbe14('0x65'):if(_0x35126f['operator']==='$substring'){_0xca8cdb[_0x22b1f8]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x35126f[_0xbe14('0x5a')]+'%',null);}else{_0x2dbeb1=_[_0xbe14('0x5d')](_0x15a997,[_0xbe14('0x29'),_0xbe14('0x66')]);_0x35126f[_0xbe14('0x43')]=_0xbe14('0x66');_0x5f394c=as[_0xbe14('0x5f')](_0x3d3ae1,_0x2dbeb1[_0xbe14('0x35')],_0x35126f);_0xca8cdb[_0x22b1f8](_0x5f394c[_0xbe14('0x60')],_0x5f394c[_0xbe14('0x5a')][_0xbe14('0x61')],_0x5f394c[_0xbe14('0x5a')][_0xbe14('0x1e')]);}break;case _0xbe14('0x67'):_0x5f394c=as[_0xbe14('0x5f')]('me',null,_0x35126f);_0xca8cdb[_0x22b1f8](_0x5f394c[_0xbe14('0x60')],_0x5f394c[_0xbe14('0x5a')][_0xbe14('0x61')],_0x5f394c[_0xbe14('0x5a')][_0xbe14('0x1e')]);break;}}else{var _0x5f394c=as[_0xbe14('0x5f')](_0x3d3ae1,_0x2dbeb1[_0xbe14('0x35')],_0x35126f);_0xca8cdb[_0x22b1f8](_0x5f394c[_0xbe14('0x60')],_0x5f394c[_0xbe14('0x5a')][_0xbe14('0x61')],_0x5f394c[_0xbe14('0x5a')][_0xbe14('0x1e')]);}}}else{var _0x310311=_(_0x452635[_0xbe14('0x38')])[_0xbe14('0x39')]()['map'](function(_0x18be56){return _[_0xbe14('0x68')](_0x15a997,[_0xbe14('0x29'),_0x18be56])?_0x18be56:undefined;})[_0xbe14('0x69')]()[_0xbe14('0x5a')]();if(!_['isEmpty'](_0x310311)){_0x310311[_0xbe14('0x31')](function(_0x120077){if(_0x120077===_0xbe14('0x6a')){_0xb2b285[_0xbe14('0x6b')](_0xbe14('0x6c'),[]['concat'](_0x452635[_0xbe14('0x38')][_0x120077]));}else if(_0x120077===_0xbe14('0x6d')){var _0x7ea146=JSON[_0xbe14('0x6e')](_0x452635[_0xbe14('0x38')][_0x120077])[_0xbe14('0x6f')];var _0xd9dd1c=JSON[_0xbe14('0x6e')](_0x452635['query'][_0x120077])[_0xbe14('0x70')];_0xb2b285[_0xbe14('0x6b')](_0xbe14('0x71'),_0x7ea146,_0xd9dd1c);}else{if(_0x452635[_0xbe14('0x38')][_0x120077]===_0xbe14('0x72')){_0xb2b285[_0xbe14('0x6b')]('i.'+_0x120077+_0xbe14('0x73'));}else{_0xb2b285['where']('i.'+_0x120077+'\x20=\x20?',_0x452635[_0xbe14('0x38')][_0x120077]);}}});}if(_0x452635[_0xbe14('0x38')][_0xbe14('0x74')]){if(_0x452635[_0xbe14('0x38')][_0xbe14('0x74')]==0x1){_0xb2b285[_0xbe14('0x75')](_0xbe14('0x76'));}else{_0xb2b285[_0xbe14('0x75')]('`unreadMessages`\x20>\x200');}}if(_0x452635['query'][_0xbe14('0x77')]){_0x3f7f5b=_[_0xbe14('0x78')](_0x452635[_0xbe14('0x38')]['tag'])?_0x452635[_0xbe14('0x38')][_0xbe14('0x77')]:new Array(_0x452635[_0xbe14('0x38')][_0xbe14('0x77')]);_0x3f7f5b[_0xbe14('0x31')](function(_0x1ef09b){_0x1a8a3d['or'](_0xbe14('0x63'),'%,'+_0x1ef09b+',%');});}if(_0x452635['query'][_0xbe14('0x79')]){var _0x3b6ef5=_0x452635[_0xbe14('0x38')][_0xbe14('0x79')][_0xbe14('0x7a')]('\x5c','\x5c\x5c')[_0xbe14('0x7a')]('\x27\x27',_0xbe14('0x7b'));if(qs['isNumeric'](_0x3b6ef5)){_0xca8cdb['or'](_0xbe14('0x7c'),_0x3b6ef5+'%')['or'](_0xbe14('0x7d'),_0x3b6ef5+'%');}else{_0xca8cdb['or'](_0xbe14('0x7e'),qs[_0xbe14('0x5b')](_0x3b6ef5))['or'](_0xbe14('0x7f'),_0x3b6ef5+'%');}}}_0xb2b285[_0xbe14('0x6b')](_0xca8cdb);_0xb2b285[_0xbe14('0x80')](_0xbe14('0x81'));var _0x5d064e={'type':db[_0xbe14('0x82')][_0xbe14('0x83')][_0xbe14('0x84')],'raw':!![]};var _0xb40587=_0xb2b285[_0xbe14('0x85')]();_0xb40587[_0xbe14('0x43')]('i.id');_0xb40587[_0xbe14('0x43')](_0xbe14('0x86'),_0xbe14('0x56'));if(_0x29c23e[_0xbe14('0x40')]){_0x29c23e['order'][_0xbe14('0x31')](function(_0x1578b6){_0xb2b285[_0xbe14('0x40')]('i.'+_0x1578b6[0x0],_0x1578b6[0x1]===_0xbe14('0x87')?![]:!![]);});}if(!_[_0xbe14('0x88')](_0x3f7f5b)){_0xb2b285[_0xbe14('0x75')](_0x1a8a3d);_0xb40587[_0xbe14('0x6b')]('t.id\x20IN\x20?',_0x3f7f5b);}BPromise[_0xbe14('0x89')]()['then'](function(){if(!_0xd04fd5){if(_0x452635[_0xbe14('0x38')]['SmsAccountId']||_0x452635[_0xbe14('0x38')][_0xbe14('0x8a')])return;_0xb40587[_0xbe14('0x6b')]('i.SmsAccountId\x20IS\x20NOT\x20NULL');_0xb2b285[_0xbe14('0x6b')](_0xbe14('0x8b'));return;}return _0x452635[_0xbe14('0x8c')]['getSmsAccounts']({'attributes':['id'],'raw':!![]})[_0xbe14('0x27')](function(_0x590277){if(_[_0xbe14('0x88')](_0x590277)){_0xb40587[_0xbe14('0x6b')]('i.SmsAccountId\x20IS\x20NULL');_0xb2b285[_0xbe14('0x6b')](_0xbe14('0x8d'));}else{_0xb40587[_0xbe14('0x6b')](_0xbe14('0x6c'),_[_0xbe14('0x2c')](_0x590277,'id'));_0xb2b285[_0xbe14('0x6b')](_0xbe14('0x6c'),_['map'](_0x590277,'id'));}});})[_0xbe14('0x27')](function(){db[_0xbe14('0x8e')][_0xbe14('0x38')](_0xb40587['toString'](),_0x5d064e)[_0xbe14('0x27')](function(_0x420467){_0x591a36[_0xbe14('0x20')]=_0x420467['length'];if(_0x591a36[_0xbe14('0x20')]===0x0)return[];return db[_0xbe14('0x8e')]['query'](_0x6b6aa8[_0xbe14('0x8f')](),_0x5d064e)['then'](function(_0x4640b1){_0x5d5318=_[_0xbe14('0x90')](_0x4640b1,'id');_0x5d064e=_['merge'](_0x5d064e,{'model':db['SmsInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x452635[_0xbe14('0x38')][_0xbe14('0x3d')]){_0x29c23e[_0xbe14('0x3c')]['forEach'](function(_0x96ecf6){_0xb2b285[_0xbe14('0x43')]('i.'+_0x96ecf6);});}else{_0xb2b285[_0xbe14('0x43')](_0xbe14('0x86'),'unreadMessages');_0xb2b285['field'](_0xbe14('0x91'),_0xbe14('0x92'));_0xb2b285[_0xbe14('0x43')](_0xbe14('0x93'),_0xbe14('0x94'));_0xb2b285[_0xbe14('0x43')](_0xbe14('0x95'));_0xb2b285['field'](_0xbe14('0x96'),'Contact.firstName');_0xb2b285[_0xbe14('0x43')](_0xbe14('0x97'),_0xbe14('0x98'));_0xb2b285[_0xbe14('0x43')]('c.email',_0xbe14('0x99'));_0xb2b285[_0xbe14('0x43')](_0xbe14('0x9a'),'Contact.phone');_0xb2b285[_0xbe14('0x43')](_0xbe14('0x9b'),_0xbe14('0x9c'));_0xb2b285[_0xbe14('0x43')](_0xbe14('0x9d'),_0xbe14('0x9e'));_0xb2b285[_0xbe14('0x43')](_0xbe14('0x9f'),_0xbe14('0xa0'));_0xb2b285[_0xbe14('0x43')](_0xbe14('0xa1'),_0xbe14('0xa2'));_0xb2b285[_0xbe14('0x43')](_0xbe14('0xa3'),_0xbe14('0x2e'));}if(_0x29c23e[_0xbe14('0x22')])_0xb2b285[_0xbe14('0x22')](_0x29c23e[_0xbe14('0x22')]);if(_0x29c23e[_0xbe14('0x21')])_0xb2b285[_0xbe14('0x21')](_0x29c23e['offset']);return db[_0xbe14('0x8e')]['query'](_0xb2b285[_0xbe14('0x8f')](),_0x5d064e);})[_0xbe14('0x27')](function(_0x262bc0){_0x46fee8[_0xbe14('0x6b')](_0xbe14('0xa4'),_['map'](_0x262bc0,'id'));return db['sequelize'][_0xbe14('0x38')](_0x46fee8[_0xbe14('0x8f')](),_0x5d064e)[_0xbe14('0x27')](function(_0x42b849){var _0x4c1ad2=_[_0xbe14('0xa5')](_0x42b849,_0xbe14('0xa6'));var _0x4d6a75=[];_0x262bc0[_0xbe14('0x31')](function(_0x3b8b45){_0x4d6a75[_0xbe14('0x32')](updateSmsInteraction(_0x3b8b45,_0x5d5318,_0x4c1ad2));});return BPromise[_0xbe14('0xa7')](_0x4d6a75);});});})['then'](function(_0x3c5241){_0x591a36['rows']=_0x3c5241;return _0x591a36;})['then'](respondWithFilteredResult(_0x1aa849,_0x29c23e));})[_0xbe14('0xa8')](handleError(_0x1aa849,null));};exports[_0xbe14('0xa9')]=function(_0x110603,_0x3d890b){var _0x3e8655={'raw':![],'where':{'id':_0x110603[_0xbe14('0xaa')]['id']}},_0x50390a={};_0x50390a[_0xbe14('0x37')]=_['keys'](db['SmsInteraction'][_0xbe14('0xab')]);_0x50390a[_0xbe14('0x38')]=_['keys'](_0x110603[_0xbe14('0x38')]);_0x50390a['filters']=_[_0xbe14('0x3b')](_0x50390a['model'],_0x50390a[_0xbe14('0x38')]);_0x3e8655['attributes']=_[_0xbe14('0x3b')](_0x50390a['model'],qs[_0xbe14('0x3d')](_0x110603[_0xbe14('0x38')]['fields']));_0x3e8655['attributes']=_0x3e8655[_0xbe14('0x3c')]['length']?_0x3e8655['attributes']:_0x50390a[_0xbe14('0x37')];if(_0x110603[_0xbe14('0x38')][_0xbe14('0xac')]){_0x3e8655[_0xbe14('0xad')]=[{'all':!![]}];}_0x3e8655=_[_0xbe14('0xae')]({},_0x3e8655,_0x110603[_0xbe14('0xaf')]);return db[_0xbe14('0xb0')]['find'](_0x3e8655)[_0xbe14('0x27')](handleEntityNotFound(_0x3d890b,null))[_0xbe14('0x27')](respondWithResult(_0x3d890b,null))[_0xbe14('0xa8')](handleError(_0x3d890b,null));};exports[_0xbe14('0xb1')]=function(_0x59779a,_0x26372a){return db[_0xbe14('0xb0')][_0xbe14('0xb1')](_0x59779a['body'],{})[_0xbe14('0x27')](respondWithResult(_0x26372a,0xc9))[_0xbe14('0xa8')](handleError(_0x26372a,null));};exports['update']=function(_0x360cee,_0x5f0df8){if(_0x360cee[_0xbe14('0x67')]['id']){delete _0x360cee[_0xbe14('0x67')]['id'];}return db[_0xbe14('0xb0')]['find']({'where':{'id':_0x360cee[_0xbe14('0xaa')]['id']}})['then'](handleEntityNotFound(_0x5f0df8,null))[_0xbe14('0x27')](saveUpdates(_0x360cee['body'],null))['then'](respondWithResult(_0x5f0df8,null))[_0xbe14('0xa8')](handleError(_0x5f0df8,null));};exports['destroy']=function(_0xab74eb,_0x5c6784){return db[_0xbe14('0xb0')][_0xbe14('0x5d')]({'where':{'id':_0xab74eb[_0xbe14('0xaa')]['id']}})[_0xbe14('0x27')](handleEntityNotFound(_0x5c6784,null))[_0xbe14('0x27')](removeEntity(_0x5c6784,null))[_0xbe14('0xa8')](handleError(_0x5c6784,null));};exports[_0xbe14('0xb2')]=function(_0x3086f3,_0x466f7f){return db[_0xbe14('0xb0')][_0xbe14('0xb2')]()[_0xbe14('0x27')](respondWithResult(_0x466f7f,null))[_0xbe14('0xa8')](handleError(_0x466f7f,null));};exports['addMessage']=function(_0x2d99fa,_0x234c4e,_0x342992){return db[_0xbe14('0xb3')][_0xbe14('0x5d')]({'where':{'id':_0x2d99fa['params']['id']}})['then'](handleEntityNotFound(_0x234c4e,null))[_0xbe14('0x27')](function(_0x1a9cdc){if(_0x1a9cdc){return _0x1a9cdc[_0xbe14('0xb4')](_0x2d99fa[_0xbe14('0x67')][_0xbe14('0xb5')],_[_0xbe14('0xb6')](_0x2d99fa[_0xbe14('0x67')],[_0xbe14('0xb5'),'id'])||{});}})[_0xbe14('0x27')](respondWithResult(_0x234c4e,null))[_0xbe14('0xa8')](handleError(_0x234c4e,null));};exports[_0xbe14('0xb7')]=function(_0x30597b,_0xaddf0d,_0x23fd86){var _0x894313={'raw':![],'where':{}};var _0x2c2dce={};var _0x3fa596={'count':0x0,'rows':[]};return db[_0xbe14('0xb0')][_0xbe14('0xb8')]({'where':{'id':_0x30597b[_0xbe14('0xaa')]['id']}})[_0xbe14('0x27')](handleEntityNotFound(_0xaddf0d,null))[_0xbe14('0x27')](function(_0x1bdb8b){if(_0x1bdb8b){_0x2c2dce[_0xbe14('0x37')]=_[_0xbe14('0x39')](db['SmsMessage'][_0xbe14('0xab')]);_0x2c2dce[_0xbe14('0x38')]=_[_0xbe14('0x39')](_0x30597b[_0xbe14('0x38')]);_0x2c2dce[_0xbe14('0x3a')]=_[_0xbe14('0x3b')](_0x2c2dce['model'],_0x2c2dce['query']);_0x894313[_0xbe14('0x3c')]=_['intersection'](_0x2c2dce[_0xbe14('0x37')],qs['fields'](_0x30597b[_0xbe14('0x38')]['fields']));_0x894313[_0xbe14('0x3c')]=_0x894313[_0xbe14('0x3c')][_0xbe14('0x3e')]?_0x894313[_0xbe14('0x3c')]:_0x2c2dce[_0xbe14('0x37')];if(!_0x30597b[_0xbe14('0x38')][_0xbe14('0x3f')](_0xbe14('0xb9'))){_0x894313[_0xbe14('0x22')]=qs['limit'](_0x30597b[_0xbe14('0x38')][_0xbe14('0x22')]);_0x894313[_0xbe14('0x21')]=qs[_0xbe14('0x21')](_0x30597b['query'][_0xbe14('0x21')]);}_0x894313['order']=qs[_0xbe14('0x41')](_0x30597b['query'][_0xbe14('0x41')]);_0x894313[_0xbe14('0x6b')]=qs[_0xbe14('0x3a')](_['pick'](_0x30597b[_0xbe14('0x38')],_0x2c2dce['filters']));_0x894313[_0xbe14('0x6b')][_0xbe14('0xa6')]=_0x1bdb8b['id'];if(_0x30597b[_0xbe14('0x38')][_0xbe14('0x79')]){_0x894313[_0xbe14('0x6b')]=_[_0xbe14('0xae')](_0x894313[_0xbe14('0x6b')],{'$or':_[_0xbe14('0x2c')](_0x894313[_0xbe14('0x3c')],function(_0x5a7724){var _0x4459b3={};_0x4459b3[_0x5a7724]={'$like':'%'+_0x30597b['query'][_0xbe14('0x79')]+'%'};return _0x4459b3;})});}if(_0x30597b[_0xbe14('0x38')][_0xbe14('0x6f')]){var _0x4bce35=_0x30597b[_0xbe14('0x38')][_0xbe14('0x6f')][_0xbe14('0x30')](',');var _0xb6251a={};_0xb6251a[_0x4bce35[0x0]]={'$gte':moment(_0x4bce35[0x1])[_0xbe14('0xba')]('YYYY-MM-DD\x20HH:mm:ss')};_0x894313['where']=_[_0xbe14('0xae')](_0x894313['where'],_0xb6251a);}_0x894313=_[_0xbe14('0xae')]({},_0x894313,_0x30597b[_0xbe14('0xaf')]);return db[_0xbe14('0xb3')][_0xbe14('0x20')]({'where':_0x894313['where']})[_0xbe14('0x27')](function(_0x34af71){_0x3fa596['count']=_0x34af71;if(_0x30597b[_0xbe14('0x38')][_0xbe14('0xac')]){_0x894313[_0xbe14('0xad')]=[{'all':!![]}];}return db[_0xbe14('0xb3')]['findAll'](_0x894313);})[_0xbe14('0x27')](function(_0x2633aa){_0x3fa596[_0xbe14('0xbb')]=_0x2633aa;return _0x3fa596;});}})[_0xbe14('0x27')](respondWithFilteredResult(_0xaddf0d,_0x894313))[_0xbe14('0xa8')](handleError(_0xaddf0d,null));};exports[_0xbe14('0xbc')]=function(_0x208fae,_0x310d42,_0x9c229f){return db[_0xbe14('0xb0')]['find']({'where':{'id':_0x208fae[_0xbe14('0xaa')]['id']}})[_0xbe14('0x27')](handleEntityNotFound(_0x310d42,null))[_0xbe14('0x27')](function(_0x678716){if(_0x678716){return _0x678716['setTags'](_0x208fae[_0xbe14('0x67')][_0xbe14('0xb5')],_[_0xbe14('0xb6')](_0x208fae['body'],[_0xbe14('0xb5'),'id'])||{})[_0xbe14('0xbd')](function(){return db[_0xbe14('0x62')][_0xbe14('0xbe')]({'attributes':['id',_0xbe14('0x29'),_0xbe14('0xbf')],'where':{'id':_0x208fae[_0xbe14('0x67')]['ids']}});})[_0xbe14('0x27')](function(_0x4844b4){socket[_0xbe14('0xc0')](_0xbe14('0xc1'),{'id':Number(_0x208fae[_0xbe14('0xaa')]['id']),'tags':_0x4844b4||[]});return{'id':Number(_0x208fae[_0xbe14('0xaa')]['id']),'tags':_0x4844b4||[]};});}})[_0xbe14('0x27')](respondWithResult(_0x310d42,null))['catch'](handleError(_0x310d42,null));};exports['removeTags']=function(_0xe2c9b,_0x161d13,_0x29a892){return db[_0xbe14('0xb0')]['find']({'where':{'id':_0xe2c9b[_0xbe14('0xaa')]['id']}})[_0xbe14('0x27')](handleEntityNotFound(_0x161d13,null))[_0xbe14('0x27')](function(_0x54e986){if(_0x54e986){return _0x54e986[_0xbe14('0xc2')](_0xe2c9b['query']['ids']);}})[_0xbe14('0x27')](respondWithStatusCode(_0x161d13,null))[_0xbe14('0xa8')](handleError(_0x161d13,null));};exports[_0xbe14('0xc3')]=function(_0x5322d7,_0x3ea9c2){var _0x2ada1f=moment()['unix']()[_0xbe14('0x8f')]();var _0x402c14=path[_0xbe14('0xc4')](config['root'],_0xbe14('0xc5'),_0xbe14('0xc6'),_0xbe14('0xc7'));var _0x42ff1d=path[_0xbe14('0xc4')](config['root'],_0xbe14('0xc5'),_0xbe14('0xc6'),_0xbe14('0xc8'));var _0x49f2bf=path[_0xbe14('0xc4')](_0x402c14,_0x2ada1f);var _0x23bf46=util[_0xbe14('0xba')](_0xbe14('0xc9'),_0x5322d7[_0xbe14('0xaa')]['id'],_0x2ada1f);var _0x402820=path[_0xbe14('0xc4')](_0x402c14,_0x23bf46);var _0x1f3a90=[];_0x1f3a90[_0xbe14('0x32')]({'model':db[_0xbe14('0x65')],'as':_0xbe14('0x65'),'attributes':['id','fullname'],'raw':!![]});_0x1f3a90[_0xbe14('0x32')]({'model':db[_0xbe14('0xca')],'as':_0xbe14('0xcb'),'attributes':['id','firstName',_0xbe14('0xcc')],'raw':!![]});var _0x38bda9=[{'model':db[_0xbe14('0xb3')],'as':'Messages','attributes':['id',_0xbe14('0x67'),'createdAt',_0xbe14('0xcd'),_0xbe14('0xce'),'read'],'include':_0x1f3a90}];_0x38bda9[_0xbe14('0x32')]({'model':db[_0xbe14('0xcf')],'as':'Account','attributes':['id',_0xbe14('0x29')]});_0x38bda9[_0xbe14('0x32')]({'model':db[_0xbe14('0x65')],'as':_0xbe14('0xd0'),'attributes':['id',_0xbe14('0x2d')]});return db[_0xbe14('0xb0')]['find']({'where':{'id':_0x5322d7['params']['id']},'include':_0x38bda9})[_0xbe14('0x27')](handleEntityNotFound(_0x3ea9c2,null))[_0xbe14('0x27')](function(_0x40c304){if(_0x40c304){var _0x3c23fc=_0x40c304['get']({'plain':!![]});fs[_0xbe14('0xd1')](_0x49f2bf);var _0x4cb29c={'format':'A4','border':_0xbe14('0xd2'),'header':{'height':_0xbe14('0xd3'),'contents':{'first':'<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>'}},'footer':{'height':_0xbe14('0xd4'),'contents':{'default':util[_0xbe14('0xba')](_0xbe14('0xd5'),util[_0xbe14('0xba')](_0xbe14('0xd6'),_0xbe14('0xd7'),_0x3c23fc['id']),moment()[_0xbe14('0xba')](_0xbe14('0xd8'))[_0xbe14('0x8f')]())}}};var _0x3117fc={'channel':_0xbe14('0xd7'),'account':_0x3c23fc[_0xbe14('0xd9')]['name'],'agent':_0x3c23fc[_0xbe14('0xd0')]?_0x3c23fc[_0xbe14('0xd0')][_0xbe14('0x2d')]:_0xbe14('0xda'),'createdAt':moment(_0x3c23fc['createdAt'])[_0xbe14('0xba')](_0xbe14('0xdb'))['toString'](),'closedAt':_0x3c23fc[_0xbe14('0xdc')]?moment(_0x3c23fc[_0xbe14('0xdd')])[_0xbe14('0xba')]('YYYY-MM-DD\x20HH:mm:ss')[_0xbe14('0x8f')]():'','disposition':_0x3c23fc[_0xbe14('0xde')],'messages':_(_0x3c23fc[_0xbe14('0xdf')])[_0xbe14('0x79')]({'secret':![]})[_0xbe14('0x2c')](function(_0x4bffab){return{'date':moment(_0x4bffab[_0xbe14('0x6d')])[_0xbe14('0xba')](_0xbe14('0xdb'))[_0xbe14('0x8f')](),'sender':_0x4bffab[_0xbe14('0xcd')]==='out'?_0x4bffab[_0xbe14('0x65')]?_0x4bffab[_0xbe14('0x65')][_0xbe14('0x2d')]:_0xbe14('0xe0'):_0x4bffab[_0xbe14('0xcb')][_0xbe14('0xe1')]+(_0x4bffab[_0xbe14('0xcb')][_0xbe14('0xcc')]?'\x20'+_0x4bffab['Contact']['lastName']:''),'body':_0x4bffab[_0xbe14('0x67')],'direction':_0x4bffab[_0xbe14('0xcd')]===_0xbe14('0xe2')?'A':'C','secret':_0x4bffab[_0xbe14('0xce')],'read':_0x4bffab[_0xbe14('0x74')]};})['value']()};return ejs[_0xbe14('0xe3')](path[_0xbe14('0xc4')](config[_0xbe14('0xe4')],_0xbe14('0xc5'),_0xbe14('0xe5'),_0xbe14('0xe6')),{'interaction':_0x3117fc})[_0xbe14('0x27')](function(_0x472395){return new BPromise(function(_0x54e160,_0xf6da38){pdf[_0xbe14('0xb1')](_0x472395,_0x4cb29c)['toFile'](path['join'](_0x49f2bf,_0xbe14('0xe7')+_0x3c23fc['id']+'-'+_0x2ada1f+'.pdf'),function(_0x2fefea,_0x6cd2cd){if(_0x2fefea)return _0xf6da38(_0x2fefea);_0x54e160(_0x6cd2cd);});});})[_0xbe14('0x27')](function(){return new BPromise(function(_0x3f5ca3,_0x7499d0){zipdir(_0x49f2bf,{'saveTo':_0x402820},function(_0x4fac13,_0x1f7d96){if(_0x4fac13)return _0x7499d0(_0x4fac13);return _0x3f5ca3(_0x1f7d96);});})[_0xbe14('0x27')](function(){return new BPromise(function(_0x1c31b1,_0x1ad663){rimraf(_0x49f2bf,function(_0x2a56db){if(_0x2a56db)_0x1ad663(_0x2a56db);return _0x1c31b1();});});})[_0xbe14('0x27')](function(){return _0x3ea9c2['download'](_0x402820,_0x23bf46,function(_0x4eea48){if(_0x4eea48){console[_0xbe14('0xe8')]('err',_0x4eea48);}else{fs[_0xbe14('0xe9')](_0x402820);}});});});}else{return _0x3ea9c2[_0xbe14('0x1c')](0xc8);}})[_0xbe14('0xa8')](handleError(_0x3ea9c2,null));};