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 _0xf0ad=['Account','get','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>','<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','Owner','N.A.','closed','closedAt','disposition','out','System','renderFile','views','downloadInteraction.html','toFile','transcript-','log','err','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','end','status','json','offset','set','Content-Range','apply','reject','save','then','destroy','error','name','send','Users','fullname','TagIds','split','push','catch','index','map','SmsInteraction','rawAttributes','type','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','limit','sort','pick','field','select','u.id','ui.SmsInteractionId','from','users','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','t.id\x20=\x20it.TagId','expr','parseSearch','search','sqlOperator','conditions','unreadMessages','having','`\x20=\x200','Contact','operator','$substring','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','compact','isEmpty','SmsAccountId','concat','createdAt','parse','$gte','$lte','where','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','\x27\x27\x27\x27','isNumeric','i.id\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)','order','DESC','t.id\x20IN\x20?','resolve','journey','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','i.SmsAccountId\x20IS\x20NULL','i.SmsAccountId\x20IN\x20?','sequelize','toString','count','keyBy','a.key','Account.key','a.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','groupBy','SmsInteractionId','all','filtears','includeAll','include','merge','options','find','create','body','update','params','describe','addMessage','SmsMessage','ids','omit','getMessages','nolimit','format','YYYY-MM-DD\x20HH:mm:ss','findAll','emit','smsInteractionTags:save','removeTags','download','unix','join','root','server','files','attachments','CmContact','firstName','lastName','Messages','direction','secret','SmsAccount'];(function(_0x21ff13,_0x5d91a2){var _0x3b4ab8=function(_0x5d90e0){while(--_0x5d90e0){_0x21ff13['push'](_0x21ff13['shift']());}};_0x3b4ab8(++_0x5d91a2);}(_0xf0ad,0xfd));var _0xdf0a=function(_0x34ad72,_0x1e43f6){_0x34ad72=_0x34ad72-0x0;var _0x5c9aa8=_0xf0ad[_0x34ad72];return _0x5c9aa8;};'use strict';var pdf=require(_0xdf0a('0x0'));var emlformat=require(_0xdf0a('0x1'));var rimraf=require(_0xdf0a('0x2'));var zipdir=require(_0xdf0a('0x3'));var jsonpatch=require(_0xdf0a('0x4'));var rp=require(_0xdf0a('0x5'));var moment=require(_0xdf0a('0x6'));var BPromise=require(_0xdf0a('0x7'));var Mustache=require(_0xdf0a('0x8'));var util=require(_0xdf0a('0x9'));var path=require(_0xdf0a('0xa'));var sox=require(_0xdf0a('0xb'));var csv=require(_0xdf0a('0xc'));var ejs=require(_0xdf0a('0xd'));var fs=require('fs');var _=require(_0xdf0a('0xe'));var squel=require('squel');var crypto=require(_0xdf0a('0xf'));var jsforce=require('jsforce');var deskjs=require(_0xdf0a('0x10'));var toCsv=require(_0xdf0a('0xc'));var querystring=require(_0xdf0a('0x11'));var Papa=require('papaparse');var Redis=require(_0xdf0a('0x12'));var authService=require(_0xdf0a('0x13'));var qs=require(_0xdf0a('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xdf0a('0x15'))(_0xdf0a('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xdf0a('0x17'))['db'];config[_0xdf0a('0x18')]=_[_0xdf0a('0x19')](config[_0xdf0a('0x18')],{'host':_0xdf0a('0x1a'),'port':0x18eb});var socket=require(_0xdf0a('0x1b'))(new Redis(config[_0xdf0a('0x18')]));require('./smsInteraction.socket')[_0xdf0a('0x1c')](socket);function respondWithStatusCode(_0x37c90e,_0x2e5ddd){_0x2e5ddd=_0x2e5ddd||0xcc;return function(_0x4318b6){if(_0x4318b6){return _0x37c90e[_0xdf0a('0x1d')](_0x2e5ddd);}return _0x37c90e['status'](_0x2e5ddd)[_0xdf0a('0x1e')]();};}function respondWithResult(_0x4b7bb5,_0x106eff){_0x106eff=_0x106eff||0xc8;return function(_0x171d1e){if(_0x171d1e){return _0x4b7bb5[_0xdf0a('0x1f')](_0x106eff)[_0xdf0a('0x20')](_0x171d1e);}};}function respondWithFilteredResult(_0x211055,_0x5232ce){return function(_0x5c61c7){if(_0x5c61c7){var _0x35b724=_0x5c61c7['count'],_0x4ebc65=_0x5232ce[_0xdf0a('0x21')],_0x20ce7e=_0x5232ce[_0xdf0a('0x21')]+_0x5232ce['limit'],_0x47aaf0;if(_0x20ce7e>=_0x35b724){_0x20ce7e=_0x35b724;_0x47aaf0=0xc8;}else{_0x47aaf0=0xce;}_0x211055[_0xdf0a('0x1f')](_0x47aaf0);return _0x211055[_0xdf0a('0x22')](_0xdf0a('0x23'),_0x4ebc65+'-'+_0x20ce7e+'/'+_0x35b724)[_0xdf0a('0x20')](_0x5c61c7);}return null;};}function patchUpdates(_0x2a1997){return function(_0x5cb66d){try{jsonpatch[_0xdf0a('0x24')](_0x5cb66d,_0x2a1997,!![]);}catch(_0x425aca){return BPromise[_0xdf0a('0x25')](_0x425aca);}return _0x5cb66d[_0xdf0a('0x26')]();};}function saveUpdates(_0x422e8c,_0x16a9d2){return function(_0x59a5e3){if(_0x59a5e3){return _0x59a5e3['update'](_0x422e8c)[_0xdf0a('0x27')](function(_0x50d0ed){return _0x50d0ed;});}return null;};}function removeEntity(_0x337150,_0x1e7610){return function(_0x5ee59b){if(_0x5ee59b){return _0x5ee59b[_0xdf0a('0x28')]()['then'](function(){_0x337150[_0xdf0a('0x1f')](0xcc)[_0xdf0a('0x1e')]();});}};}function handleEntityNotFound(_0x18beed,_0x5ca91c){return function(_0x368447){if(!_0x368447){_0x18beed[_0xdf0a('0x1d')](0x194);}return _0x368447;};}function handleError(_0x4d2c78,_0x3aa3be){_0x3aa3be=_0x3aa3be||0x1f4;return function(_0x654d98){logger[_0xdf0a('0x29')](_0x654d98['stack']);if(_0x654d98['name']){delete _0x654d98[_0xdf0a('0x2a')];}_0x4d2c78[_0xdf0a('0x1f')](_0x3aa3be)[_0xdf0a('0x2b')](_0x654d98);};}function getInteractionUsers(_0x293e8f,_0x41b59e){return new BPromise(function(_0x1ddac4,_0x57ad3a){try{if(_0x41b59e[_0x293e8f['id']]){_0x293e8f[_0xdf0a('0x2c')]=_['map'](_0x41b59e[_0x293e8f['id']],function(_0x56866a){return{'id':_0x56866a['id'],'fullname':_0x56866a[_0xdf0a('0x2d')]};});}}catch(_0x3cae02){_0x57ad3a(_0x3cae02);}_0x1ddac4(_0x293e8f);});}function getInteractionTags(_0x3eeb42,_0x1505f1){return new BPromise(function(_0x10729d,_0x50bb31){try{if(_0x3eeb42['TagIds']){_0x3eeb42['Tags']=[];_0x3eeb42[_0xdf0a('0x2e')][_0xdf0a('0x2f')](',')['forEach'](function(_0x50785d){_0x3eeb42['Tags'][_0xdf0a('0x30')](_0x1505f1[_0x50785d]);});}delete _0x3eeb42[_0xdf0a('0x2e')];}catch(_0x258ff6){_0x50bb31(_0x258ff6);}_0x10729d(_0x3eeb42);});}function updateSmsInteraction(_0x51c74c,_0x541b36,_0x2611d1){return new BPromise(function(_0x53396e,_0x3f39cf){return getInteractionUsers(_0x51c74c,_0x2611d1)[_0xdf0a('0x27')](function(_0x2294d0){return getInteractionTags(_0x2294d0,_0x541b36);})['then'](function(_0x2c141e){_0x53396e(_0x2c141e);})[_0xdf0a('0x31')](function(_0x522949){_0x3f39cf(_0x522949);});});}exports[_0xdf0a('0x32')]=function(_0x46a37d,_0x50adaf){var _0x11f1c6={},_0x2dc807={},_0x708453={'count':0x0,'rows':[]};var _0x1a991c=_[_0xdf0a('0x33')](db[_0xdf0a('0x34')][_0xdf0a('0x35')],function(_0x1c2488){return{'name':_0x1c2488['fieldName'],'type':_0x1c2488[_0xdf0a('0x36')]['key']};});_0x2dc807['model']=_['map'](_0x1a991c,_0xdf0a('0x2a'));_0x2dc807[_0xdf0a('0x37')]=_[_0xdf0a('0x38')](_0x46a37d[_0xdf0a('0x37')]);_0x2dc807[_0xdf0a('0x39')]=_[_0xdf0a('0x3a')](_0x2dc807['model'],_0x2dc807['query']);_0x11f1c6['attributes']=_[_0xdf0a('0x3a')](_0x2dc807[_0xdf0a('0x3b')],qs[_0xdf0a('0x3c')](_0x46a37d['query'][_0xdf0a('0x3c')]));_0x11f1c6[_0xdf0a('0x3d')]=_0x11f1c6['attributes'][_0xdf0a('0x3e')]?_0x11f1c6[_0xdf0a('0x3d')]:_0x2dc807[_0xdf0a('0x3b')];if(!_0x46a37d['query'][_0xdf0a('0x3f')]('nolimit')){_0x11f1c6[_0xdf0a('0x40')]=qs['limit'](_0x46a37d[_0xdf0a('0x37')]['limit']);_0x11f1c6[_0xdf0a('0x21')]=qs[_0xdf0a('0x21')](_0x46a37d[_0xdf0a('0x37')][_0xdf0a('0x21')]);}_0x11f1c6['order']=qs['sort'](_0x46a37d['query'][_0xdf0a('0x41')]);_0x11f1c6['where']=qs[_0xdf0a('0x39')](_[_0xdf0a('0x42')](_0x46a37d[_0xdf0a('0x37')],_0x2dc807[_0xdf0a('0x39')]),_0x1a991c);var _0x46b036=[];var _0x3e50ed=squel['select']()[_0xdf0a('0x43')]('id')[_0xdf0a('0x43')](_0xdf0a('0x2a'))[_0xdf0a('0x43')]('color')['from']('tools_tags');var _0x4899dd=squel[_0xdf0a('0x44')]()[_0xdf0a('0x43')](_0xdf0a('0x45'))[_0xdf0a('0x43')]('u.fullname')[_0xdf0a('0x43')](_0xdf0a('0x46'))[_0xdf0a('0x47')]('user_has_sms_interactions','ui')['left_join'](_0xdf0a('0x48'),'u','u.id\x20=\x20ui.UserId');var _0x511e86=squel[_0xdf0a('0x44')]()[_0xdf0a('0x47')](_0xdf0a('0x49'),'i')[_0xdf0a('0x4a')](_0xdf0a('0x4b'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xdf0a('0x4a')]('users','o',_0xdf0a('0x4c'))[_0xdf0a('0x4a')](_0xdf0a('0x4d'),'a',_0xdf0a('0x4e'))[_0xdf0a('0x4a')](_0xdf0a('0x4f'),'me',_0xdf0a('0x50'))[_0xdf0a('0x4a')]('sms_interaction_has_tags','it','it.SmsInteractionId\x20=\x20i.id')[_0xdf0a('0x4a')]('tools_tags','t',_0xdf0a('0x51'));var _0x3242a3=squel[_0xdf0a('0x52')]();var _0x125ea7=[];var _0x4b9e25=squel[_0xdf0a('0x52')]();var _0x8039c;if(_0x46a37d[_0xdf0a('0x37')]['search']){_0x8039c=as[_0xdf0a('0x53')](_0x46a37d[_0xdf0a('0x37')][_0xdf0a('0x54')]);var _0x311a23=_0x8039c[_0xdf0a('0x55')];for(var _0x4caa57=0x0;_0x4caa57<_0x8039c[_0xdf0a('0x56')][_0xdf0a('0x3e')];_0x4caa57++){var _0xa0f157=_0x8039c[_0xdf0a('0x56')][_0x4caa57];var _0x3f9ccd='i';var _0x39d80f=_['find'](_0x1a991c,[_0xdf0a('0x2a'),_0xa0f157['field']]);if(!_0x39d80f){switch(_0xa0f157[_0xdf0a('0x43')]){case _0xdf0a('0x57'):if(_0xa0f157['value']==0x1){_0x511e86[_0xdf0a('0x58')]('`'+_0xa0f157[_0xdf0a('0x43')]+_0xdf0a('0x59'));}else{_0x511e86[_0xdf0a('0x58')]('`'+_0xa0f157[_0xdf0a('0x43')]+'`\x20>\x200');}break;case _0xdf0a('0x5a'):if(_0xa0f157[_0xdf0a('0x5b')]===_0xdf0a('0x5c')){if(_0xa0f157[_0xdf0a('0x5d')][_0xdf0a('0x2f')]('\x20')[_0xdf0a('0x3e')]>0x1){_0x3242a3[_0x311a23](_0xdf0a('0x5e'),qs[_0xdf0a('0x5f')](_0xa0f157[_0xdf0a('0x5d')]),null);}else{var _0x275cf4='%'+_0xa0f157[_0xdf0a('0x5d')]+'%';_0x3242a3[_0x311a23](_0xdf0a('0x60'),_0x275cf4,_0x275cf4,_0x275cf4);}}else{_0x39d80f=_['find'](_0x1a991c,[_0xdf0a('0x2a'),_0xdf0a('0x61')]);_0xa0f157['field']=_0xdf0a('0x61');_0x324cdc=as[_0xdf0a('0x62')](_0x3f9ccd,_0x39d80f['type'],_0xa0f157);_0x3242a3[_0x311a23](_0x324cdc[_0xdf0a('0x63')],_0x324cdc[_0xdf0a('0x5d')][_0xdf0a('0x64')],_0x324cdc[_0xdf0a('0x5d')][_0xdf0a('0x1e')]);}break;case'Tag':var _0x2049d1=_0xa0f157[_0xdf0a('0x5d')][_0xdf0a('0x2f')](',')['map'](function(_0x6c23fa){return Number(_0x6c23fa);});_0x2049d1[_0xdf0a('0x65')](function(_0x35c0f5){_0x4b9e25['or'](_0xdf0a('0x66'),'%,'+_0x35c0f5+',%');});_0x125ea7=_['union'](_0x125ea7,_0x2049d1);break;case _0xdf0a('0x67'):if(_0xa0f157[_0xdf0a('0x5b')]===_0xdf0a('0x5c')){_0x3242a3[_0x311a23](_0xdf0a('0x68'),'%'+_0xa0f157[_0xdf0a('0x5d')]+'%',null);}else{_0x39d80f=_['find'](_0x1a991c,['name',_0xdf0a('0x69')]);_0xa0f157[_0xdf0a('0x43')]=_0xdf0a('0x69');_0x324cdc=as[_0xdf0a('0x62')](_0x3f9ccd,_0x39d80f[_0xdf0a('0x36')],_0xa0f157);_0x3242a3[_0x311a23](_0x324cdc[_0xdf0a('0x63')],_0x324cdc[_0xdf0a('0x5d')]['start'],_0x324cdc['value'][_0xdf0a('0x1e')]);}break;case'body':_0x324cdc=as[_0xdf0a('0x62')]('me',null,_0xa0f157);_0x3242a3[_0x311a23](_0x324cdc[_0xdf0a('0x63')],_0x324cdc[_0xdf0a('0x5d')][_0xdf0a('0x64')],_0x324cdc[_0xdf0a('0x5d')]['end']);break;}}else{var _0x324cdc=as[_0xdf0a('0x62')](_0x3f9ccd,_0x39d80f[_0xdf0a('0x36')],_0xa0f157);_0x3242a3[_0x311a23](_0x324cdc[_0xdf0a('0x63')],_0x324cdc[_0xdf0a('0x5d')][_0xdf0a('0x64')],_0x324cdc[_0xdf0a('0x5d')][_0xdf0a('0x1e')]);}}}else{var _0x464b95=_(_0x46a37d[_0xdf0a('0x37')])[_0xdf0a('0x38')]()[_0xdf0a('0x33')](function(_0x4d92fd){return _['some'](_0x1a991c,[_0xdf0a('0x2a'),_0x4d92fd])?_0x4d92fd:undefined;})[_0xdf0a('0x6a')]()[_0xdf0a('0x5d')]();if(!_[_0xdf0a('0x6b')](_0x464b95)){_0x464b95[_0xdf0a('0x65')](function(_0x2180b6){if(_0x2180b6===_0xdf0a('0x6c')){_0x511e86['where']('i.SmsAccountId\x20IN\x20?',[][_0xdf0a('0x6d')](_0x46a37d['query'][_0x2180b6]));}else if(_0x2180b6===_0xdf0a('0x6e')){var _0x522e18=JSON[_0xdf0a('0x6f')](_0x46a37d[_0xdf0a('0x37')][_0x2180b6])[_0xdf0a('0x70')];var _0x5d72a8=JSON[_0xdf0a('0x6f')](_0x46a37d[_0xdf0a('0x37')][_0x2180b6])[_0xdf0a('0x71')];_0x511e86[_0xdf0a('0x72')](_0xdf0a('0x73'),_0x522e18,_0x5d72a8);}else{if(_0x46a37d[_0xdf0a('0x37')][_0x2180b6]===_0xdf0a('0x74')){_0x511e86[_0xdf0a('0x72')]('i.'+_0x2180b6+_0xdf0a('0x75'));}else{_0x511e86[_0xdf0a('0x72')]('i.'+_0x2180b6+'\x20=\x20?',_0x46a37d['query'][_0x2180b6]);}}});}if(_0x46a37d[_0xdf0a('0x37')]['read']){if(_0x46a37d[_0xdf0a('0x37')][_0xdf0a('0x76')]==0x1){_0x511e86[_0xdf0a('0x58')](_0xdf0a('0x77'));}else{_0x511e86['having'](_0xdf0a('0x78'));}}if(_0x46a37d[_0xdf0a('0x37')][_0xdf0a('0x79')]){_0x125ea7=_[_0xdf0a('0x7a')](_0x46a37d[_0xdf0a('0x37')]['tag'])?_0x46a37d[_0xdf0a('0x37')]['tag']:new Array(_0x46a37d[_0xdf0a('0x37')]['tag']);_0x125ea7[_0xdf0a('0x65')](function(_0x17127e){_0x4b9e25['or'](_0xdf0a('0x66'),'%,'+_0x17127e+',%');});}if(_0x46a37d[_0xdf0a('0x37')]['filter']){var _0x4ab32c=_0x46a37d[_0xdf0a('0x37')][_0xdf0a('0x7b')]['replace']('\x5c','\x5c\x5c')[_0xdf0a('0x7c')]('\x27\x27',_0xdf0a('0x7d'));if(qs[_0xdf0a('0x7e')](_0x4ab32c)){_0x3242a3['or'](_0xdf0a('0x7f'),_0x4ab32c+'%')['or']('i.phone\x20LIKE\x20?',_0x4ab32c+'%');}else{_0x3242a3['or'](_0xdf0a('0x80'),qs['getFullTextValue'](_0x4ab32c))['or'](_0xdf0a('0x81'),_0x4ab32c+'%');}}}_0x511e86[_0xdf0a('0x72')](_0x3242a3);_0x511e86[_0xdf0a('0x82')](_0xdf0a('0x83'));var _0x4de04f={'type':db[_0xdf0a('0x84')][_0xdf0a('0x85')][_0xdf0a('0x86')],'raw':!![]};var _0x265b70=_0x511e86[_0xdf0a('0x87')]();_0x265b70['field'](_0xdf0a('0x83'));_0x265b70['field'](_0xdf0a('0x88'),'unreadMessages');if(_0x11f1c6[_0xdf0a('0x89')]){_0x11f1c6['order'][_0xdf0a('0x65')](function(_0x5a958d){_0x511e86[_0xdf0a('0x89')]('i.'+_0x5a958d[0x0],_0x5a958d[0x1]===_0xdf0a('0x8a')?![]:!![]);});}if(!_[_0xdf0a('0x6b')](_0x125ea7)){_0x511e86[_0xdf0a('0x58')](_0x4b9e25);_0x265b70[_0xdf0a('0x72')](_0xdf0a('0x8b'),_0x125ea7);}BPromise[_0xdf0a('0x8c')]()[_0xdf0a('0x27')](function(){if(!_0x8039c){if(_0x46a37d['query'][_0xdf0a('0x6c')]||_0x46a37d[_0xdf0a('0x37')][_0xdf0a('0x8d')])return;_0x265b70[_0xdf0a('0x72')](_0xdf0a('0x8e'));_0x511e86[_0xdf0a('0x72')](_0xdf0a('0x8e'));return;}return _0x46a37d[_0xdf0a('0x8f')]['getSmsAccounts']({'attributes':['id'],'raw':!![]})[_0xdf0a('0x27')](function(_0x4388e3){if(_[_0xdf0a('0x6b')](_0x4388e3)){_0x265b70[_0xdf0a('0x72')]('i.SmsAccountId\x20IS\x20NULL');_0x511e86['where'](_0xdf0a('0x90'));}else{_0x265b70[_0xdf0a('0x72')](_0xdf0a('0x91'),_[_0xdf0a('0x33')](_0x4388e3,'id'));_0x511e86[_0xdf0a('0x72')](_0xdf0a('0x91'),_[_0xdf0a('0x33')](_0x4388e3,'id'));}});})['then'](function(){db[_0xdf0a('0x92')][_0xdf0a('0x37')](_0x265b70[_0xdf0a('0x93')](),_0x4de04f)[_0xdf0a('0x27')](function(_0xe43981){_0x708453['count']=_0xe43981['length'];if(_0x708453[_0xdf0a('0x94')]===0x0)return[];return db[_0xdf0a('0x92')]['query'](_0x3e50ed[_0xdf0a('0x93')](),_0x4de04f)[_0xdf0a('0x27')](function(_0x548899){_0x46b036=_[_0xdf0a('0x95')](_0x548899,'id');_0x4de04f=_['merge'](_0x4de04f,{'model':db[_0xdf0a('0x34')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x46a37d[_0xdf0a('0x37')][_0xdf0a('0x3c')]){_0x11f1c6['attributes']['forEach'](function(_0x5df98e){_0x511e86['field']('i.'+_0x5df98e);});}else{_0x511e86[_0xdf0a('0x43')](_0xdf0a('0x88'),'unreadMessages');_0x511e86[_0xdf0a('0x43')](_0xdf0a('0x96'),_0xdf0a('0x97'));_0x511e86['field'](_0xdf0a('0x98'),'Account.mandatoryDisposition');_0x511e86[_0xdf0a('0x43')](_0xdf0a('0x99'));_0x511e86['field'](_0xdf0a('0x9a'),_0xdf0a('0x9b'));_0x511e86[_0xdf0a('0x43')](_0xdf0a('0x9c'),'Contact.lastName');_0x511e86[_0xdf0a('0x43')](_0xdf0a('0x9d'),'Contact.email');_0x511e86[_0xdf0a('0x43')](_0xdf0a('0x9e'),_0xdf0a('0x9f'));_0x511e86[_0xdf0a('0x43')](_0xdf0a('0xa0'),_0xdf0a('0xa1'));_0x511e86[_0xdf0a('0x43')](_0xdf0a('0xa2'),_0xdf0a('0xa3'));_0x511e86[_0xdf0a('0x43')](_0xdf0a('0xa4'),'Owner.fullname');_0x511e86['field'](_0xdf0a('0xa5'),_0xdf0a('0xa6'));_0x511e86['field'](_0xdf0a('0xa7'),_0xdf0a('0x2e'));}if(_0x11f1c6[_0xdf0a('0x40')])_0x511e86['limit'](_0x11f1c6[_0xdf0a('0x40')]);if(_0x11f1c6[_0xdf0a('0x21')])_0x511e86[_0xdf0a('0x21')](_0x11f1c6[_0xdf0a('0x21')]);return db['sequelize'][_0xdf0a('0x37')](_0x511e86['toString'](),_0x4de04f);})[_0xdf0a('0x27')](function(_0x33df3a){_0x4899dd[_0xdf0a('0x72')](_0xdf0a('0xa8'),_[_0xdf0a('0x33')](_0x33df3a,'id'));return db[_0xdf0a('0x92')]['query'](_0x4899dd['toString'](),_0x4de04f)[_0xdf0a('0x27')](function(_0x58f0a4){var _0x351149=_[_0xdf0a('0xa9')](_0x58f0a4,_0xdf0a('0xaa'));var _0x3a319d=[];_0x33df3a[_0xdf0a('0x65')](function(_0x23df96){_0x3a319d[_0xdf0a('0x30')](updateSmsInteraction(_0x23df96,_0x46b036,_0x351149));});return BPromise[_0xdf0a('0xab')](_0x3a319d);});});})['then'](function(_0x270f89){_0x708453['rows']=_0x270f89;return _0x708453;})[_0xdf0a('0x27')](respondWithFilteredResult(_0x50adaf,_0x11f1c6));})[_0xdf0a('0x31')](handleError(_0x50adaf,null));};exports['show']=function(_0xc97dbf,_0x38f027){var _0x269621={'raw':![],'where':{'id':_0xc97dbf['params']['id']}},_0x880f4e={};_0x880f4e[_0xdf0a('0x3b')]=_[_0xdf0a('0x38')](db[_0xdf0a('0x34')][_0xdf0a('0x35')]);_0x880f4e['query']=_[_0xdf0a('0x38')](_0xc97dbf['query']);_0x880f4e[_0xdf0a('0xac')]=_['intersection'](_0x880f4e[_0xdf0a('0x3b')],_0x880f4e['query']);_0x269621[_0xdf0a('0x3d')]=_['intersection'](_0x880f4e[_0xdf0a('0x3b')],qs[_0xdf0a('0x3c')](_0xc97dbf[_0xdf0a('0x37')]['fields']));_0x269621['attributes']=_0x269621[_0xdf0a('0x3d')][_0xdf0a('0x3e')]?_0x269621[_0xdf0a('0x3d')]:_0x880f4e[_0xdf0a('0x3b')];if(_0xc97dbf[_0xdf0a('0x37')][_0xdf0a('0xad')]){_0x269621[_0xdf0a('0xae')]=[{'all':!![]}];}_0x269621=_[_0xdf0a('0xaf')]({},_0x269621,_0xc97dbf[_0xdf0a('0xb0')]);return db[_0xdf0a('0x34')][_0xdf0a('0xb1')](_0x269621)[_0xdf0a('0x27')](handleEntityNotFound(_0x38f027,null))[_0xdf0a('0x27')](respondWithResult(_0x38f027,null))[_0xdf0a('0x31')](handleError(_0x38f027,null));};exports[_0xdf0a('0xb2')]=function(_0x16afb0,_0x3aac69){return db[_0xdf0a('0x34')][_0xdf0a('0xb2')](_0x16afb0[_0xdf0a('0xb3')],{})[_0xdf0a('0x27')](respondWithResult(_0x3aac69,0xc9))['catch'](handleError(_0x3aac69,null));};exports[_0xdf0a('0xb4')]=function(_0x2c5ac2,_0x4bfd1c){if(_0x2c5ac2['body']['id']){delete _0x2c5ac2['body']['id'];}return db[_0xdf0a('0x34')][_0xdf0a('0xb1')]({'where':{'id':_0x2c5ac2[_0xdf0a('0xb5')]['id']}})[_0xdf0a('0x27')](handleEntityNotFound(_0x4bfd1c,null))[_0xdf0a('0x27')](saveUpdates(_0x2c5ac2[_0xdf0a('0xb3')],null))[_0xdf0a('0x27')](respondWithResult(_0x4bfd1c,null))[_0xdf0a('0x31')](handleError(_0x4bfd1c,null));};exports[_0xdf0a('0x28')]=function(_0x50330d,_0x202159){return db[_0xdf0a('0x34')][_0xdf0a('0xb1')]({'where':{'id':_0x50330d['params']['id']}})['then'](handleEntityNotFound(_0x202159,null))['then'](removeEntity(_0x202159,null))[_0xdf0a('0x31')](handleError(_0x202159,null));};exports[_0xdf0a('0xb6')]=function(_0x13516f,_0x558fb7){return db[_0xdf0a('0x34')][_0xdf0a('0xb6')]()[_0xdf0a('0x27')](respondWithResult(_0x558fb7,null))[_0xdf0a('0x31')](handleError(_0x558fb7,null));};exports[_0xdf0a('0xb7')]=function(_0xbd7cac,_0x5c84ac,_0x26910e){return db[_0xdf0a('0xb8')]['find']({'where':{'id':_0xbd7cac[_0xdf0a('0xb5')]['id']}})[_0xdf0a('0x27')](handleEntityNotFound(_0x5c84ac,null))[_0xdf0a('0x27')](function(_0x1f5240){if(_0x1f5240){return _0x1f5240[_0xdf0a('0xb7')](_0xbd7cac['body'][_0xdf0a('0xb9')],_[_0xdf0a('0xba')](_0xbd7cac[_0xdf0a('0xb3')],[_0xdf0a('0xb9'),'id'])||{});}})[_0xdf0a('0x27')](respondWithResult(_0x5c84ac,null))[_0xdf0a('0x31')](handleError(_0x5c84ac,null));};exports[_0xdf0a('0xbb')]=function(_0x1b3859,_0x539d32,_0x5d1920){var _0x5c68d6={'raw':![],'where':{}};var _0x55f7af={};var _0x18ef9d={'count':0x0,'rows':[]};return db['SmsInteraction']['findOne']({'where':{'id':_0x1b3859[_0xdf0a('0xb5')]['id']}})[_0xdf0a('0x27')](handleEntityNotFound(_0x539d32,null))['then'](function(_0x485c60){if(_0x485c60){_0x55f7af[_0xdf0a('0x3b')]=_[_0xdf0a('0x38')](db['SmsMessage']['rawAttributes']);_0x55f7af['query']=_[_0xdf0a('0x38')](_0x1b3859[_0xdf0a('0x37')]);_0x55f7af[_0xdf0a('0x39')]=_[_0xdf0a('0x3a')](_0x55f7af[_0xdf0a('0x3b')],_0x55f7af['query']);_0x5c68d6[_0xdf0a('0x3d')]=_[_0xdf0a('0x3a')](_0x55f7af[_0xdf0a('0x3b')],qs[_0xdf0a('0x3c')](_0x1b3859[_0xdf0a('0x37')]['fields']));_0x5c68d6[_0xdf0a('0x3d')]=_0x5c68d6['attributes'][_0xdf0a('0x3e')]?_0x5c68d6[_0xdf0a('0x3d')]:_0x55f7af[_0xdf0a('0x3b')];if(!_0x1b3859[_0xdf0a('0x37')]['hasOwnProperty'](_0xdf0a('0xbc'))){_0x5c68d6[_0xdf0a('0x40')]=qs['limit'](_0x1b3859[_0xdf0a('0x37')]['limit']);_0x5c68d6[_0xdf0a('0x21')]=qs[_0xdf0a('0x21')](_0x1b3859[_0xdf0a('0x37')][_0xdf0a('0x21')]);}_0x5c68d6[_0xdf0a('0x89')]=qs[_0xdf0a('0x41')](_0x1b3859['query'][_0xdf0a('0x41')]);_0x5c68d6[_0xdf0a('0x72')]=qs['filters'](_['pick'](_0x1b3859[_0xdf0a('0x37')],_0x55f7af[_0xdf0a('0x39')]));_0x5c68d6[_0xdf0a('0x72')][_0xdf0a('0xaa')]=_0x485c60['id'];if(_0x1b3859[_0xdf0a('0x37')][_0xdf0a('0x7b')]){_0x5c68d6[_0xdf0a('0x72')]=_[_0xdf0a('0xaf')](_0x5c68d6[_0xdf0a('0x72')],{'$or':_[_0xdf0a('0x33')](_0x5c68d6[_0xdf0a('0x3d')],function(_0x12a29d){var _0x4a3bc2={};_0x4a3bc2[_0x12a29d]={'$like':'%'+_0x1b3859[_0xdf0a('0x37')][_0xdf0a('0x7b')]+'%'};return _0x4a3bc2;})});}if(_0x1b3859['query'][_0xdf0a('0x70')]){var _0x395aeb=_0x1b3859[_0xdf0a('0x37')][_0xdf0a('0x70')]['split'](',');var _0xca7226={};_0xca7226[_0x395aeb[0x0]]={'$gte':moment(_0x395aeb[0x1])[_0xdf0a('0xbd')](_0xdf0a('0xbe'))};_0x5c68d6[_0xdf0a('0x72')]=_[_0xdf0a('0xaf')](_0x5c68d6['where'],_0xca7226);}_0x5c68d6=_['merge']({},_0x5c68d6,_0x1b3859[_0xdf0a('0xb0')]);return db[_0xdf0a('0xb8')][_0xdf0a('0x94')]({'where':_0x5c68d6[_0xdf0a('0x72')]})[_0xdf0a('0x27')](function(_0x1d7296){_0x18ef9d[_0xdf0a('0x94')]=_0x1d7296;if(_0x1b3859[_0xdf0a('0x37')][_0xdf0a('0xad')]){_0x5c68d6['include']=[{'all':!![]}];}return db[_0xdf0a('0xb8')][_0xdf0a('0xbf')](_0x5c68d6);})[_0xdf0a('0x27')](function(_0x4530fd){_0x18ef9d['rows']=_0x4530fd;return _0x18ef9d;});}})[_0xdf0a('0x27')](respondWithFilteredResult(_0x539d32,_0x5c68d6))[_0xdf0a('0x31')](handleError(_0x539d32,null));};exports['addTags']=function(_0x188f83,_0x1f450b,_0x56fc1f){return db['SmsInteraction'][_0xdf0a('0xb1')]({'where':{'id':_0x188f83[_0xdf0a('0xb5')]['id']}})['then'](handleEntityNotFound(_0x1f450b,null))[_0xdf0a('0x27')](function(_0x4506d6){if(_0x4506d6){return _0x4506d6['setTags'](_0x188f83['body'][_0xdf0a('0xb9')],_['omit'](_0x188f83[_0xdf0a('0xb3')],[_0xdf0a('0xb9'),'id'])||{})['spread'](function(){return db['Tag'][_0xdf0a('0xbf')]({'attributes':['id',_0xdf0a('0x2a'),'color'],'where':{'id':_0x188f83[_0xdf0a('0xb3')]['ids']}});})[_0xdf0a('0x27')](function(_0x5c6347){socket[_0xdf0a('0xc0')](_0xdf0a('0xc1'),{'id':Number(_0x188f83[_0xdf0a('0xb5')]['id']),'tags':_0x5c6347||[]});return{'id':Number(_0x188f83[_0xdf0a('0xb5')]['id']),'tags':_0x5c6347||[]};});}})[_0xdf0a('0x27')](respondWithResult(_0x1f450b,null))['catch'](handleError(_0x1f450b,null));};exports[_0xdf0a('0xc2')]=function(_0xb4810c,_0x1ef56f,_0x520696){return db[_0xdf0a('0x34')]['find']({'where':{'id':_0xb4810c[_0xdf0a('0xb5')]['id']}})[_0xdf0a('0x27')](handleEntityNotFound(_0x1ef56f,null))[_0xdf0a('0x27')](function(_0x221489){if(_0x221489){return _0x221489[_0xdf0a('0xc2')](_0xb4810c[_0xdf0a('0x37')]['ids']);}})[_0xdf0a('0x27')](respondWithStatusCode(_0x1ef56f,null))['catch'](handleError(_0x1ef56f,null));};exports[_0xdf0a('0xc3')]=function(_0x39d467,_0x15f0db){var _0x329652=moment()[_0xdf0a('0xc4')]()['toString']();var _0x2be511=path[_0xdf0a('0xc5')](config[_0xdf0a('0xc6')],_0xdf0a('0xc7'),_0xdf0a('0xc8'),'tmp');var _0x2db974=path['join'](config[_0xdf0a('0xc6')],_0xdf0a('0xc7'),'files',_0xdf0a('0xc9'));var _0x33255d=path[_0xdf0a('0xc5')](_0x2be511,_0x329652);var _0x426ca3=util['format']('transcript-%d-%s.zip',_0x39d467[_0xdf0a('0xb5')]['id'],_0x329652);var _0x2a8820=path[_0xdf0a('0xc5')](_0x2be511,_0x426ca3);var _0x223aff=[];_0x223aff[_0xdf0a('0x30')]({'model':db[_0xdf0a('0x67')],'as':_0xdf0a('0x67'),'attributes':['id','fullname'],'raw':!![]});_0x223aff[_0xdf0a('0x30')]({'model':db[_0xdf0a('0xca')],'as':'Contact','attributes':['id',_0xdf0a('0xcb'),_0xdf0a('0xcc')],'raw':!![]});var _0x9573fc=[{'model':db[_0xdf0a('0xb8')],'as':_0xdf0a('0xcd'),'attributes':['id',_0xdf0a('0xb3'),'createdAt',_0xdf0a('0xce'),_0xdf0a('0xcf'),_0xdf0a('0x76')],'include':_0x223aff}];_0x9573fc[_0xdf0a('0x30')]({'model':db[_0xdf0a('0xd0')],'as':_0xdf0a('0xd1'),'attributes':['id',_0xdf0a('0x2a')]});_0x9573fc[_0xdf0a('0x30')]({'model':db[_0xdf0a('0x67')],'as':'Owner','attributes':['id','fullname']});return db[_0xdf0a('0x34')][_0xdf0a('0xb1')]({'where':{'id':_0x39d467[_0xdf0a('0xb5')]['id']},'include':_0x9573fc})[_0xdf0a('0x27')](handleEntityNotFound(_0x15f0db,null))[_0xdf0a('0x27')](function(_0x225d88){if(_0x225d88){var _0x13802c=_0x225d88[_0xdf0a('0xd2')]({'plain':!![]});fs['mkdirSync'](_0x33255d);var _0x386cc3={'format':'A4','border':_0xdf0a('0xd3'),'header':{'height':_0xdf0a('0xd4'),'contents':{'first':_0xdf0a('0xd5')}},'footer':{'height':'30px','contents':{'default':util[_0xdf0a('0xbd')](_0xdf0a('0xd6'),util[_0xdf0a('0xbd')](_0xdf0a('0xd7'),_0xdf0a('0xd8'),_0x13802c['id']),moment()[_0xdf0a('0xbd')]('YYYY-MM-DD')[_0xdf0a('0x93')]())}}};var _0x23205a={'channel':'Sms','account':_0x13802c['Account'][_0xdf0a('0x2a')],'agent':_0x13802c[_0xdf0a('0xd9')]?_0x13802c[_0xdf0a('0xd9')][_0xdf0a('0x2d')]:_0xdf0a('0xda'),'createdAt':moment(_0x13802c[_0xdf0a('0x6e')])[_0xdf0a('0xbd')](_0xdf0a('0xbe'))[_0xdf0a('0x93')](),'closedAt':_0x13802c[_0xdf0a('0xdb')]?moment(_0x13802c[_0xdf0a('0xdc')])[_0xdf0a('0xbd')]('YYYY-MM-DD\x20HH:mm:ss')[_0xdf0a('0x93')]():'','disposition':_0x13802c[_0xdf0a('0xdd')],'messages':_(_0x13802c[_0xdf0a('0xcd')])[_0xdf0a('0x7b')]({'secret':![]})[_0xdf0a('0x33')](function(_0x54fba8){return{'date':moment(_0x54fba8[_0xdf0a('0x6e')])[_0xdf0a('0xbd')]('YYYY-MM-DD\x20HH:mm:ss')[_0xdf0a('0x93')](),'sender':_0x54fba8[_0xdf0a('0xce')]===_0xdf0a('0xde')?_0x54fba8[_0xdf0a('0x67')]?_0x54fba8[_0xdf0a('0x67')][_0xdf0a('0x2d')]:_0xdf0a('0xdf'):_0x54fba8[_0xdf0a('0x5a')][_0xdf0a('0xcb')]+(_0x54fba8[_0xdf0a('0x5a')][_0xdf0a('0xcc')]?'\x20'+_0x54fba8[_0xdf0a('0x5a')][_0xdf0a('0xcc')]:''),'body':_0x54fba8[_0xdf0a('0xb3')],'direction':_0x54fba8[_0xdf0a('0xce')]==='out'?'A':'C','secret':_0x54fba8[_0xdf0a('0xcf')],'read':_0x54fba8[_0xdf0a('0x76')]};})[_0xdf0a('0x5d')]()};return ejs[_0xdf0a('0xe0')](path['join'](config['root'],_0xdf0a('0xc7'),_0xdf0a('0xe1'),_0xdf0a('0xe2')),{'interaction':_0x23205a})['then'](function(_0x4df9bd){return new BPromise(function(_0xd3e7a,_0x4efe67){pdf[_0xdf0a('0xb2')](_0x4df9bd,_0x386cc3)[_0xdf0a('0xe3')](path[_0xdf0a('0xc5')](_0x33255d,_0xdf0a('0xe4')+_0x13802c['id']+'-'+_0x329652+'.pdf'),function(_0x1b91d8,_0x48214e){if(_0x1b91d8)return _0x4efe67(_0x1b91d8);_0xd3e7a(_0x48214e);});});})[_0xdf0a('0x27')](function(){return new BPromise(function(_0x4a7ab9,_0x1831f4){zipdir(_0x33255d,{'saveTo':_0x2a8820},function(_0x2c1be6,_0x2edc6f){if(_0x2c1be6)return _0x1831f4(_0x2c1be6);return _0x4a7ab9(_0x2edc6f);});})['then'](function(){return new BPromise(function(_0x4b07c0,_0x3df281){rimraf(_0x33255d,function(_0x53d321){if(_0x53d321)_0x3df281(_0x53d321);return _0x4b07c0();});});})[_0xdf0a('0x27')](function(){return _0x15f0db[_0xdf0a('0xc3')](_0x2a8820,_0x426ca3,function(_0x8ee9c9){if(_0x8ee9c9){console[_0xdf0a('0xe5')](_0xdf0a('0xe6'),_0x8ee9c9);}else{fs['unlinkSync'](_0x2a8820);}});});});}else{return _0x15f0db[_0xdf0a('0x1d')](0xc8);}})[_0xdf0a('0x31')](handleError(_0x15f0db,null));};