Built motion from commit 753c950e.|2.5.42
[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 _0xec22=['../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','status','end','offset','undefined','limit','count','json','apply','reject','save','then','sendStatus','error','name','send','Users','map','TagIds','forEach','Tags','catch','waiting','answered','unmanaged','total','UserId','closed','talking','index','SmsInteraction','rawAttributes','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.id','u.fullname','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','left_join','o.id\x20=\x20i.UserId','sms_accounts','me.SmsInteractionId\x20=\x20i.id','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','search','sqlOperator','conditions','length','find','unreadMessages','value','having','`\x20=\x200','operator','$substring','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','type','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','some','compact','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','parse','$lte','null','\x20IS\x20NULL','read','`unreadMessages`\x20>\x200','tag','filter','replace','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','QueryTypes','SELECT','clone','i.id','contactName','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','a.key','a.mandatoryDisposition','i.*','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.phone','c.mobile','Contact.mobile','Contact.fax','o.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','groupBy','SmsInteractionId','push','all','rows','params','keys','includeAll','include','options','create','body','destroy','describe','addMessage','ids','omit','getMessages','findOne','$gte','format','SmsMessage','addTags','setTags','findAll','emit','smsInteractionTags:save','removeTags','download','unix','join','server','files','root','attachments','transcript-%d-%s.zip','fullname','Contact','firstName','lastName','Messages','secret','Account','Sms','Owner','createdAt','YYYY-MM-DD\x20HH:mm:ss','closedAt','direction','out','System','renderFile','views','downloadInteraction.ejs','transcript-','createPdfFromHTML','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils'];(function(_0x17767f,_0x44d9b6){var _0x20bdc4=function(_0x6cb2b){while(--_0x6cb2b){_0x17767f['push'](_0x17767f['shift']());}};_0x20bdc4(++_0x44d9b6);}(_0xec22,0x1b1));var _0x2ec2=function(_0x46698a,_0x8de1e4){_0x46698a=_0x46698a-0x0;var _0x356db0=_0xec22[_0x46698a];return _0x356db0;};'use strict';var emlformat=require(_0x2ec2('0x0'));var rimraf=require(_0x2ec2('0x1'));var zipdir=require(_0x2ec2('0x2'));var jsonpatch=require(_0x2ec2('0x3'));var rp=require(_0x2ec2('0x4'));var moment=require(_0x2ec2('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x2ec2('0x6'));var util=require(_0x2ec2('0x7'));var path=require(_0x2ec2('0x8'));var sox=require('sox');var csv=require(_0x2ec2('0x9'));var ejs=require(_0x2ec2('0xa'));var fs=require('fs');var fs_extra=require(_0x2ec2('0xb'));var _=require('lodash');var squel=require(_0x2ec2('0xc'));var crypto=require(_0x2ec2('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x2ec2('0xe'));var toCsv=require('to-csv');var querystring=require(_0x2ec2('0xf'));var Papa=require(_0x2ec2('0x10'));var Redis=require(_0x2ec2('0x11'));var authService=require(_0x2ec2('0x12'));var qs=require(_0x2ec2('0x13'));var as=require(_0x2ec2('0x14'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0x2ec2('0x15'));var logger=require(_0x2ec2('0x16'))(_0x2ec2('0x17'));var utils=require(_0x2ec2('0x18'));var config=require(_0x2ec2('0x19'));var licenseUtil=require(_0x2ec2('0x1a'));var db=require(_0x2ec2('0x1b'))['db'];config[_0x2ec2('0x1c')]=_[_0x2ec2('0x1d')](config[_0x2ec2('0x1c')],{'host':_0x2ec2('0x1e'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x2ec2('0x1c')]));require('./smsInteraction.socket')['register'](socket);function respondWithStatusCode(_0x4fe1e2,_0x442ca9){_0x442ca9=_0x442ca9||0xcc;return function(_0x10094a){if(_0x10094a){return _0x4fe1e2['sendStatus'](_0x442ca9);}return _0x4fe1e2[_0x2ec2('0x1f')](_0x442ca9)[_0x2ec2('0x20')]();};}function respondWithResult(_0x4563a6,_0x49f55c){_0x49f55c=_0x49f55c||0xc8;return function(_0x167f00){if(_0x167f00){return _0x4563a6[_0x2ec2('0x1f')](_0x49f55c)['json'](_0x167f00);}};}function respondWithFilteredResult(_0x510f7c,_0x39bc43){return function(_0x5cd183){if(_0x5cd183){var _0x1717f0=typeof _0x39bc43[_0x2ec2('0x21')]===_0x2ec2('0x22')&&typeof _0x39bc43[_0x2ec2('0x23')]===_0x2ec2('0x22');var _0x293444=_0x5cd183[_0x2ec2('0x24')];var _0x1eb741=_0x1717f0?0x0:_0x39bc43[_0x2ec2('0x21')];var _0x16c80f=_0x1717f0?_0x5cd183['count']:_0x39bc43[_0x2ec2('0x21')]+_0x39bc43['limit'];var _0x4eaf61;if(_0x16c80f>=_0x293444){_0x16c80f=_0x293444;_0x4eaf61=0xc8;}else{_0x4eaf61=0xce;}_0x510f7c[_0x2ec2('0x1f')](_0x4eaf61);return _0x510f7c['set']('Content-Range',_0x1eb741+'-'+_0x16c80f+'/'+_0x293444)[_0x2ec2('0x25')](_0x5cd183);}return null;};}function patchUpdates(_0x516bd2){return function(_0xce9e59){try{jsonpatch[_0x2ec2('0x26')](_0xce9e59,_0x516bd2,!![]);}catch(_0xf065db){return BPromise[_0x2ec2('0x27')](_0xf065db);}return _0xce9e59[_0x2ec2('0x28')]();};}function saveUpdates(_0x306342,_0x5d5140){return function(_0x295690){if(_0x295690){return _0x295690['update'](_0x306342)[_0x2ec2('0x29')](function(_0xe22ad){return _0xe22ad;});}return null;};}function removeEntity(_0x45ac31,_0x87ecb5){return function(_0x4de51a){if(_0x4de51a){return _0x4de51a['destroy']()['then'](function(){_0x45ac31[_0x2ec2('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x381488,_0x3b38b8){return function(_0x40ac83){if(!_0x40ac83){_0x381488[_0x2ec2('0x2a')](0x194);}return _0x40ac83;};}function handleError(_0x814a37,_0x2cb8f0){_0x2cb8f0=_0x2cb8f0||0x1f4;return function(_0xe82ae0){logger[_0x2ec2('0x2b')](_0xe82ae0['stack']);if(_0xe82ae0[_0x2ec2('0x2c')]){delete _0xe82ae0[_0x2ec2('0x2c')];}_0x814a37[_0x2ec2('0x1f')](_0x2cb8f0)[_0x2ec2('0x2d')](_0xe82ae0);};}function getInteractionUsers(_0x50cfb3,_0x203cd){return new BPromise(function(_0x5f5a8c,_0x19cb24){try{if(_0x203cd[_0x50cfb3['id']]){_0x50cfb3[_0x2ec2('0x2e')]=_[_0x2ec2('0x2f')](_0x203cd[_0x50cfb3['id']],function(_0x8b62bd){return{'id':_0x8b62bd['id'],'fullname':_0x8b62bd['fullname']};});}}catch(_0x145c5f){_0x19cb24(_0x145c5f);}_0x5f5a8c(_0x50cfb3);});}function getInteractionTags(_0x10e05a,_0x3f832d){return new BPromise(function(_0x25d26f,_0x59b7ff){try{if(_0x10e05a[_0x2ec2('0x30')]){_0x10e05a['Tags']=[];_0x10e05a['TagIds']['split'](',')[_0x2ec2('0x31')](function(_0x1b20e1){_0x10e05a[_0x2ec2('0x32')]['push'](_0x3f832d[_0x1b20e1]);});}delete _0x10e05a[_0x2ec2('0x30')];}catch(_0x2efb14){_0x59b7ff(_0x2efb14);}_0x25d26f(_0x10e05a);});}function updateSmsInteraction(_0x290dae,_0x5d908b,_0x457a59){return new BPromise(function(_0x2e0be2,_0x5715f1){return getInteractionUsers(_0x290dae,_0x457a59)[_0x2ec2('0x29')](function(_0x3137ae){return getInteractionTags(_0x3137ae,_0x5d908b);})[_0x2ec2('0x29')](function(_0xc6a857){return getStateInteraction(_0xc6a857);})[_0x2ec2('0x29')](function(_0x515392){_0x2e0be2(_0x515392);})[_0x2ec2('0x33')](function(_0x49d91b){_0x5715f1(_0x49d91b);});});}function getStateInteraction(_0x2dbb20){return new BPromise(function(_0x106868){_0x2dbb20[_0x2ec2('0x34')]=0x0;_0x2dbb20['talking']=0x0;_0x2dbb20[_0x2ec2('0x35')]=0x0;_0x2dbb20[_0x2ec2('0x36')]=0x0;_0x2dbb20[_0x2ec2('0x37')]=0x0;if(!_0x2dbb20['closed']&&!_0x2dbb20[_0x2ec2('0x38')]){_0x2dbb20[_0x2ec2('0x34')]+=0x1;}if(!_0x2dbb20[_0x2ec2('0x39')]&&_0x2dbb20[_0x2ec2('0x38')]){_0x2dbb20['talking']+=0x1;if(_0x2dbb20[_0x2ec2('0x34')]){_0x2dbb20[_0x2ec2('0x34')]-=0x1;}}if(_0x2dbb20['closed']&&_0x2dbb20[_0x2ec2('0x38')]){_0x2dbb20[_0x2ec2('0x35')]+=0x1;if(_0x2dbb20['talking']){_0x2dbb20[_0x2ec2('0x3a')]-=0x1;}}if(_0x2dbb20[_0x2ec2('0x39')]&&!_0x2dbb20[_0x2ec2('0x38')]){_0x2dbb20[_0x2ec2('0x36')]+=0x1;if(_0x2dbb20[_0x2ec2('0x34')]){_0x2dbb20[_0x2ec2('0x34')]-=0x1;}}_0x2dbb20[_0x2ec2('0x37')]+=0x1;_0x106868(_0x2dbb20);});}exports[_0x2ec2('0x3b')]=function(_0x23a296,_0xa8b7cc){var _0x3a70b5={},_0xf09366={},_0x22f7c9={'count':0x0,'rows':[]};var _0x5c3759=_[_0x2ec2('0x2f')](db[_0x2ec2('0x3c')][_0x2ec2('0x3d')],function(_0x959a49){return{'name':_0x959a49['fieldName'],'type':_0x959a49['type'][_0x2ec2('0x3e')]};});_0xf09366[_0x2ec2('0x3f')]=_[_0x2ec2('0x2f')](_0x5c3759,_0x2ec2('0x2c'));_0xf09366[_0x2ec2('0x40')]=_['keys'](_0x23a296[_0x2ec2('0x40')]);_0xf09366[_0x2ec2('0x41')]=_[_0x2ec2('0x42')](_0xf09366['model'],_0xf09366[_0x2ec2('0x40')]);_0x3a70b5[_0x2ec2('0x43')]=_[_0x2ec2('0x42')](_0xf09366[_0x2ec2('0x3f')],qs[_0x2ec2('0x44')](_0x23a296[_0x2ec2('0x40')]['fields']));_0x3a70b5['attributes']=_0x3a70b5[_0x2ec2('0x43')]['length']?_0x3a70b5['attributes']:_0xf09366[_0x2ec2('0x3f')];if(!_0x23a296[_0x2ec2('0x40')][_0x2ec2('0x45')](_0x2ec2('0x46'))){_0x3a70b5[_0x2ec2('0x23')]=qs[_0x2ec2('0x23')](_0x23a296['query'][_0x2ec2('0x23')]);_0x3a70b5[_0x2ec2('0x21')]=qs[_0x2ec2('0x21')](_0x23a296[_0x2ec2('0x40')][_0x2ec2('0x21')]);}_0x3a70b5[_0x2ec2('0x47')]=qs[_0x2ec2('0x48')](_0x23a296[_0x2ec2('0x40')]['sort']);_0x3a70b5[_0x2ec2('0x49')]=qs[_0x2ec2('0x41')](_[_0x2ec2('0x4a')](_0x23a296[_0x2ec2('0x40')],_0xf09366[_0x2ec2('0x41')]),_0x5c3759);var _0xe7e318=[];var _0x2f4835=squel[_0x2ec2('0x4b')]()['field']('id')[_0x2ec2('0x4c')](_0x2ec2('0x2c'))[_0x2ec2('0x4c')](_0x2ec2('0x4d'))[_0x2ec2('0x4e')](_0x2ec2('0x4f'));var _0x408997=squel['select']()[_0x2ec2('0x4c')](_0x2ec2('0x50'))[_0x2ec2('0x4c')](_0x2ec2('0x51'))[_0x2ec2('0x4c')]('ui.SmsInteractionId')[_0x2ec2('0x4e')]('user_has_sms_interactions','ui')['left_join'](_0x2ec2('0x52'),'u',_0x2ec2('0x53'));var _0x1311d6=squel[_0x2ec2('0x4b')]()['from']('sms_interactions','i')['left_join'](_0x2ec2('0x54'),'c',_0x2ec2('0x55'))[_0x2ec2('0x56')](_0x2ec2('0x52'),'o',_0x2ec2('0x57'))[_0x2ec2('0x56')](_0x2ec2('0x58'),'a','a.id\x20=\x20i.SmsAccountId')[_0x2ec2('0x56')]('sms_messages','me',_0x2ec2('0x59'))[_0x2ec2('0x56')]('sms_interaction_has_tags','it',_0x2ec2('0x5a'))[_0x2ec2('0x56')](_0x2ec2('0x4f'),'t',_0x2ec2('0x5b'));var _0x5eb80e=squel[_0x2ec2('0x5c')]();var _0x57daa0=[];var _0xfb5d99=squel[_0x2ec2('0x5c')]();var _0x4e1aa0;if(_0x23a296['query']['search']){_0x4e1aa0=as[_0x2ec2('0x5d')](_0x23a296[_0x2ec2('0x40')][_0x2ec2('0x5e')]);var _0x2cf4ec=_0x4e1aa0[_0x2ec2('0x5f')];for(var _0xd0a536=0x0;_0xd0a536<_0x4e1aa0[_0x2ec2('0x60')][_0x2ec2('0x61')];_0xd0a536++){var _0x51c03a=_0x4e1aa0[_0x2ec2('0x60')][_0xd0a536];var _0x10ea7a='i';var _0x207511=_[_0x2ec2('0x62')](_0x5c3759,[_0x2ec2('0x2c'),_0x51c03a['field']]);if(!_0x207511){switch(_0x51c03a['field']){case _0x2ec2('0x63'):if(_0x51c03a[_0x2ec2('0x64')]==0x1){_0x1311d6[_0x2ec2('0x65')]('`'+_0x51c03a[_0x2ec2('0x4c')]+_0x2ec2('0x66'));}else{_0x1311d6[_0x2ec2('0x65')]('`'+_0x51c03a['field']+'`\x20>\x200');}break;case'Contact':if(_0x51c03a[_0x2ec2('0x67')]===_0x2ec2('0x68')){if(_0x51c03a[_0x2ec2('0x64')][_0x2ec2('0x69')]('\x20')['length']>0x1){_0x5eb80e[_0x2cf4ec](_0x2ec2('0x6a'),qs[_0x2ec2('0x6b')](_0x51c03a[_0x2ec2('0x64')]),null);}else{var _0x23ee5e='%'+_0x51c03a[_0x2ec2('0x64')]+'%';_0x5eb80e[_0x2cf4ec](_0x2ec2('0x6c'),_0x23ee5e,_0x23ee5e,_0x23ee5e);}}else{_0x207511=_['find'](_0x5c3759,[_0x2ec2('0x2c'),_0x2ec2('0x6d')]);_0x51c03a[_0x2ec2('0x4c')]=_0x2ec2('0x6d');_0x47afc5=as[_0x2ec2('0x6e')](_0x10ea7a,_0x207511[_0x2ec2('0x6f')],_0x51c03a);_0x5eb80e[_0x2cf4ec](_0x47afc5[_0x2ec2('0x70')],_0x47afc5[_0x2ec2('0x64')][_0x2ec2('0x71')],_0x47afc5[_0x2ec2('0x64')]['end']);}break;case _0x2ec2('0x72'):var _0x3b386b=_0x51c03a['value']['split'](',')[_0x2ec2('0x2f')](function(_0x2f4069){return Number(_0x2f4069);});_0x3b386b['forEach'](function(_0x2c1762){_0xfb5d99['or'](_0x2ec2('0x73'),'%,'+_0x2c1762+',%');});_0x57daa0=_['union'](_0x57daa0,_0x3b386b);break;case _0x2ec2('0x74'):if(_0x51c03a[_0x2ec2('0x67')]===_0x2ec2('0x68')){_0x5eb80e[_0x2cf4ec](_0x2ec2('0x75'),'%'+_0x51c03a[_0x2ec2('0x64')]+'%',null);}else{_0x207511=_[_0x2ec2('0x62')](_0x5c3759,[_0x2ec2('0x2c'),_0x2ec2('0x38')]);_0x51c03a[_0x2ec2('0x4c')]=_0x2ec2('0x38');_0x47afc5=as[_0x2ec2('0x6e')](_0x10ea7a,_0x207511[_0x2ec2('0x6f')],_0x51c03a);_0x5eb80e[_0x2cf4ec](_0x47afc5[_0x2ec2('0x70')],_0x47afc5[_0x2ec2('0x64')]['start'],_0x47afc5[_0x2ec2('0x64')][_0x2ec2('0x20')]);}break;case'body':_0x47afc5=as[_0x2ec2('0x6e')]('me',null,_0x51c03a);_0x5eb80e[_0x2cf4ec](_0x47afc5[_0x2ec2('0x70')],_0x47afc5['value'][_0x2ec2('0x71')],_0x47afc5[_0x2ec2('0x64')][_0x2ec2('0x20')]);break;}}else{var _0x47afc5=as['buildExpression'](_0x10ea7a,_0x207511[_0x2ec2('0x6f')],_0x51c03a);_0x5eb80e[_0x2cf4ec](_0x47afc5['text'],_0x47afc5[_0x2ec2('0x64')][_0x2ec2('0x71')],_0x47afc5['value'][_0x2ec2('0x20')]);}}}else{var _0x4f9713=_(_0x23a296[_0x2ec2('0x40')])['keys']()[_0x2ec2('0x2f')](function(_0x4c00bf){return _[_0x2ec2('0x76')](_0x5c3759,['name',_0x4c00bf])?_0x4c00bf:undefined;})[_0x2ec2('0x77')]()[_0x2ec2('0x64')]();if(!_[_0x2ec2('0x78')](_0x4f9713)){_0x4f9713[_0x2ec2('0x31')](function(_0xe0e194){if(_0xe0e194===_0x2ec2('0x79')){_0x1311d6[_0x2ec2('0x49')](_0x2ec2('0x7a'),[][_0x2ec2('0x7b')](_0x23a296[_0x2ec2('0x40')][_0xe0e194]));}else if(_0xe0e194==='createdAt'){var _0x3f9e58=JSON['parse'](_0x23a296['query'][_0xe0e194])['$gte'];var _0x42e009=JSON[_0x2ec2('0x7c')](_0x23a296[_0x2ec2('0x40')][_0xe0e194])[_0x2ec2('0x7d')];_0x1311d6[_0x2ec2('0x49')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x3f9e58,_0x42e009);}else{if(_0x23a296[_0x2ec2('0x40')][_0xe0e194]===_0x2ec2('0x7e')){_0x1311d6[_0x2ec2('0x49')]('i.'+_0xe0e194+_0x2ec2('0x7f'));}else{_0x1311d6['where']('i.'+_0xe0e194+'\x20=\x20?',_0x23a296['query'][_0xe0e194]);}}});}if(_0x23a296[_0x2ec2('0x40')][_0x2ec2('0x80')]){if(_0x23a296['query'][_0x2ec2('0x80')]==0x1){_0x1311d6['having']('`unreadMessages`\x20=\x200');}else{_0x1311d6['having'](_0x2ec2('0x81'));}}if(_0x23a296[_0x2ec2('0x40')][_0x2ec2('0x82')]){_0x57daa0=_['isArray'](_0x23a296[_0x2ec2('0x40')]['tag'])?_0x23a296[_0x2ec2('0x40')]['tag']:new Array(_0x23a296[_0x2ec2('0x40')]['tag']);_0x57daa0[_0x2ec2('0x31')](function(_0x2a3dd7){_0xfb5d99['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x2a3dd7+',%');});}if(_0x23a296['query'][_0x2ec2('0x83')]){var _0x18018b=_0x23a296[_0x2ec2('0x40')][_0x2ec2('0x83')][_0x2ec2('0x84')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x2ec2('0x85')](_0x18018b)){_0x5eb80e['or'](_0x2ec2('0x86'),_0x18018b+'%')['or']('i.phone\x20LIKE\x20?',_0x18018b+'%');}else{_0x5eb80e['or'](_0x2ec2('0x87'),qs[_0x2ec2('0x6b')](_0x18018b))['or'](_0x2ec2('0x88'),_0x18018b+'%');}}}_0x1311d6[_0x2ec2('0x49')](_0x5eb80e);_0x1311d6[_0x2ec2('0x89')]('i.id');var _0x54676a={'type':db['Sequelize'][_0x2ec2('0x8a')][_0x2ec2('0x8b')],'raw':!![]};var _0x27a184=_0x1311d6[_0x2ec2('0x8c')]();_0x27a184[_0x2ec2('0x4c')](_0x2ec2('0x8d'));_0x27a184[_0x2ec2('0x4c')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x2ec2('0x63'));if(_0x3a70b5['order']){_0x3a70b5[_0x2ec2('0x47')]['forEach'](function(_0xa7b7f3){var _0x3cb75d=_0xa7b7f3[0x0]===_0x2ec2('0x8e')?_0xa7b7f3[0x0]:'i.'+_0xa7b7f3[0x0];_0x1311d6[_0x2ec2('0x47')](_0x3cb75d,_0xa7b7f3[0x1]==='DESC'?![]:!![]);});}if(!_['isEmpty'](_0x57daa0)){_0x1311d6[_0x2ec2('0x65')](_0xfb5d99);_0x27a184[_0x2ec2('0x49')](_0x2ec2('0x8f'),_0x57daa0);}BPromise[_0x2ec2('0x90')]()[_0x2ec2('0x29')](function(){if(!_0x4e1aa0){if(_0x23a296[_0x2ec2('0x40')]['SmsAccountId'])return;_0x27a184[_0x2ec2('0x49')]('i.SmsAccountId\x20IS\x20NOT\x20NULL');_0x1311d6[_0x2ec2('0x49')](_0x2ec2('0x91'));return;}if(_0x23a296[_0x2ec2('0x92')][_0x2ec2('0x93')]!==_0x2ec2('0x94'))return;return _0x23a296[_0x2ec2('0x92')][_0x2ec2('0x95')]({'attributes':['id'],'raw':!![]})[_0x2ec2('0x29')](function(_0x4c20d1){if(_[_0x2ec2('0x78')](_0x4c20d1)){_0x27a184[_0x2ec2('0x49')]('i.SmsAccountId\x20IS\x20NULL');_0x1311d6[_0x2ec2('0x49')](_0x2ec2('0x96'));}else{_0x27a184[_0x2ec2('0x49')](_0x2ec2('0x7a'),_[_0x2ec2('0x2f')](_0x4c20d1,'id'));_0x1311d6[_0x2ec2('0x49')]('i.SmsAccountId\x20IN\x20?',_[_0x2ec2('0x2f')](_0x4c20d1,'id'));}});})[_0x2ec2('0x29')](function(){if(_0x23a296[_0x2ec2('0x92')][_0x2ec2('0x93')]==='agent'&&!_0x4e1aa0&&!_0x23a296[_0x2ec2('0x40')][_0x2ec2('0x79')])return[];return db[_0x2ec2('0x97')][_0x2ec2('0x40')](_0x27a184[_0x2ec2('0x98')](),_0x54676a);})[_0x2ec2('0x29')](function(_0x1b26c7){_0x22f7c9[_0x2ec2('0x24')]=_0x1b26c7['length'];if(_0x22f7c9[_0x2ec2('0x24')]===0x0)return[];return db['sequelize'][_0x2ec2('0x40')](_0x2f4835[_0x2ec2('0x98')](),_0x54676a)['then'](function(_0x1524c7){_0xe7e318=_[_0x2ec2('0x99')](_0x1524c7,'id');_0x54676a=_[_0x2ec2('0x9a')](_0x54676a,{'model':db[_0x2ec2('0x3c')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x23a296[_0x2ec2('0x40')][_0x2ec2('0x44')]){_0x3a70b5['attributes']['forEach'](function(_0x3e45d8){_0x1311d6[_0x2ec2('0x4c')]('i.'+_0x3e45d8);});}else{_0x1311d6[_0x2ec2('0x4c')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x2ec2('0x63'));_0x1311d6[_0x2ec2('0x4c')](_0x2ec2('0x9b'),'Account.key');_0x1311d6[_0x2ec2('0x4c')](_0x2ec2('0x9c'),'Account.mandatoryDisposition');_0x1311d6[_0x2ec2('0x4c')]('CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','contactName');_0x1311d6['field'](_0x2ec2('0x9d'));_0x1311d6[_0x2ec2('0x4c')]('c.firstName',_0x2ec2('0x9e'));_0x1311d6[_0x2ec2('0x4c')](_0x2ec2('0x9f'),_0x2ec2('0xa0'));_0x1311d6[_0x2ec2('0x4c')](_0x2ec2('0xa1'),'Contact.email');_0x1311d6['field']('c.phone',_0x2ec2('0xa2'));_0x1311d6[_0x2ec2('0x4c')](_0x2ec2('0xa3'),_0x2ec2('0xa4'));_0x1311d6['field']('c.fax',_0x2ec2('0xa5'));_0x1311d6[_0x2ec2('0x4c')](_0x2ec2('0xa6'),'Owner.fullname');_0x1311d6[_0x2ec2('0x4c')](_0x2ec2('0xa7'),_0x2ec2('0xa8'));_0x1311d6[_0x2ec2('0x4c')](_0x2ec2('0xa9'),_0x2ec2('0x30'));}if(_0x3a70b5[_0x2ec2('0x23')])_0x1311d6[_0x2ec2('0x23')](_0x3a70b5[_0x2ec2('0x23')]);if(_0x3a70b5[_0x2ec2('0x21')])_0x1311d6[_0x2ec2('0x21')](_0x3a70b5['offset']);return db[_0x2ec2('0x97')][_0x2ec2('0x40')](_0x1311d6['toString'](),_0x54676a);})[_0x2ec2('0x29')](function(_0x1ccdda){if(_0x1ccdda[_0x2ec2('0x61')]>0x0)_0x408997[_0x2ec2('0x49')](_0x2ec2('0xaa'),_[_0x2ec2('0x2f')](_0x1ccdda,'id'));return db['sequelize'][_0x2ec2('0x40')](_0x408997[_0x2ec2('0x98')](),_0x54676a)[_0x2ec2('0x29')](function(_0x1f5d90){var _0x4bda35=_[_0x2ec2('0xab')](_0x1f5d90,_0x2ec2('0xac'));var _0x8952ef=[];_0x1ccdda['forEach'](function(_0x1d6fd9){_0x8952ef[_0x2ec2('0xad')](updateSmsInteraction(_0x1d6fd9,_0xe7e318,_0x4bda35));});return BPromise[_0x2ec2('0xae')](_0x8952ef);});});})['then'](function(_0x20121e){_0x22f7c9[_0x2ec2('0xaf')]=_0x20121e;return _0x22f7c9;})[_0x2ec2('0x29')](respondWithFilteredResult(_0xa8b7cc,_0x3a70b5))[_0x2ec2('0x33')](handleError(_0xa8b7cc,null));};exports['show']=function(_0x47540e,_0x36e17e){var _0x59832={'raw':![],'where':{'id':_0x47540e[_0x2ec2('0xb0')]['id']}},_0x5844ec={};_0x5844ec[_0x2ec2('0x3f')]=_[_0x2ec2('0xb1')](db['SmsInteraction']['rawAttributes']);_0x5844ec[_0x2ec2('0x40')]=_[_0x2ec2('0xb1')](_0x47540e[_0x2ec2('0x40')]);_0x5844ec[_0x2ec2('0x41')]=_['intersection'](_0x5844ec[_0x2ec2('0x3f')],_0x5844ec[_0x2ec2('0x40')]);_0x59832['attributes']=_[_0x2ec2('0x42')](_0x5844ec['model'],qs[_0x2ec2('0x44')](_0x47540e[_0x2ec2('0x40')]['fields']));_0x59832[_0x2ec2('0x43')]=_0x59832[_0x2ec2('0x43')]['length']?_0x59832[_0x2ec2('0x43')]:_0x5844ec[_0x2ec2('0x3f')];if(_0x47540e['query'][_0x2ec2('0xb2')]){_0x59832[_0x2ec2('0xb3')]=[{'all':!![]}];}_0x59832=_[_0x2ec2('0x9a')]({},_0x59832,_0x47540e[_0x2ec2('0xb4')]);return db[_0x2ec2('0x3c')][_0x2ec2('0x62')](_0x59832)[_0x2ec2('0x29')](handleEntityNotFound(_0x36e17e,null))[_0x2ec2('0x29')](respondWithResult(_0x36e17e,null))[_0x2ec2('0x33')](handleError(_0x36e17e,null));};exports[_0x2ec2('0xb5')]=function(_0x3a26f0,_0x2f8aa3){return db['SmsInteraction'][_0x2ec2('0xb5')](_0x3a26f0[_0x2ec2('0xb6')],{})['then'](respondWithResult(_0x2f8aa3,0xc9))[_0x2ec2('0x33')](handleError(_0x2f8aa3,null));};exports['update']=function(_0x4afc51,_0x5a7ac9){if(_0x4afc51[_0x2ec2('0xb6')]['id']){delete _0x4afc51[_0x2ec2('0xb6')]['id'];}return db[_0x2ec2('0x3c')][_0x2ec2('0x62')]({'where':{'id':_0x4afc51['params']['id']}})[_0x2ec2('0x29')](handleEntityNotFound(_0x5a7ac9,null))[_0x2ec2('0x29')](saveUpdates(_0x4afc51[_0x2ec2('0xb6')],null))[_0x2ec2('0x29')](respondWithResult(_0x5a7ac9,null))[_0x2ec2('0x33')](handleError(_0x5a7ac9,null));};exports[_0x2ec2('0xb7')]=function(_0x1abd15,_0x2f09be){return db[_0x2ec2('0x3c')][_0x2ec2('0x62')]({'where':{'id':_0x1abd15[_0x2ec2('0xb0')]['id']}})['then'](handleEntityNotFound(_0x2f09be,null))['then'](removeEntity(_0x2f09be,null))['catch'](handleError(_0x2f09be,null));};exports[_0x2ec2('0xb8')]=function(_0x13f9f0,_0x13f387){return db['SmsInteraction'][_0x2ec2('0xb8')]()['then'](respondWithResult(_0x13f387,null))[_0x2ec2('0x33')](handleError(_0x13f387,null));};exports[_0x2ec2('0xb9')]=function(_0x7bc634,_0x4cd230,_0x47c044){return db['SmsMessage'][_0x2ec2('0x62')]({'where':{'id':_0x7bc634[_0x2ec2('0xb0')]['id']}})[_0x2ec2('0x29')](handleEntityNotFound(_0x4cd230,null))[_0x2ec2('0x29')](function(_0x14c094){if(_0x14c094){return _0x14c094[_0x2ec2('0xb9')](_0x7bc634[_0x2ec2('0xb6')][_0x2ec2('0xba')],_[_0x2ec2('0xbb')](_0x7bc634[_0x2ec2('0xb6')],['ids','id'])||{});}})['then'](respondWithResult(_0x4cd230,null))[_0x2ec2('0x33')](handleError(_0x4cd230,null));};exports[_0x2ec2('0xbc')]=function(_0x5e2304,_0x511c9e,_0x1421fb){var _0x1d34b7={'raw':![],'where':{}};var _0x3acdf3={};var _0x2e2726={'count':0x0,'rows':[]};return db[_0x2ec2('0x3c')][_0x2ec2('0xbd')]({'where':{'id':_0x5e2304[_0x2ec2('0xb0')]['id']}})[_0x2ec2('0x29')](handleEntityNotFound(_0x511c9e,null))[_0x2ec2('0x29')](function(_0x2d72dc){if(_0x2d72dc){_0x3acdf3[_0x2ec2('0x3f')]=_[_0x2ec2('0xb1')](db['SmsMessage']['rawAttributes']);_0x3acdf3['query']=_[_0x2ec2('0xb1')](_0x5e2304[_0x2ec2('0x40')]);_0x3acdf3[_0x2ec2('0x41')]=_['intersection'](_0x3acdf3[_0x2ec2('0x3f')],_0x3acdf3[_0x2ec2('0x40')]);_0x1d34b7[_0x2ec2('0x43')]=_['intersection'](_0x3acdf3[_0x2ec2('0x3f')],qs[_0x2ec2('0x44')](_0x5e2304[_0x2ec2('0x40')][_0x2ec2('0x44')]));_0x1d34b7[_0x2ec2('0x43')]=_0x1d34b7[_0x2ec2('0x43')]['length']?_0x1d34b7[_0x2ec2('0x43')]:_0x3acdf3[_0x2ec2('0x3f')];if(!_0x5e2304[_0x2ec2('0x40')][_0x2ec2('0x45')](_0x2ec2('0x46'))){_0x1d34b7[_0x2ec2('0x23')]=qs[_0x2ec2('0x23')](_0x5e2304[_0x2ec2('0x40')][_0x2ec2('0x23')]);_0x1d34b7['offset']=qs[_0x2ec2('0x21')](_0x5e2304['query'][_0x2ec2('0x21')]);}_0x1d34b7[_0x2ec2('0x47')]=qs['sort'](_0x5e2304[_0x2ec2('0x40')][_0x2ec2('0x48')]);_0x1d34b7['where']=qs[_0x2ec2('0x41')](_[_0x2ec2('0x4a')](_0x5e2304[_0x2ec2('0x40')],_0x3acdf3['filters']));_0x1d34b7[_0x2ec2('0x49')]['SmsInteractionId']=_0x2d72dc['id'];if(_0x5e2304['query'][_0x2ec2('0x83')]){_0x1d34b7['where']=_[_0x2ec2('0x9a')](_0x1d34b7[_0x2ec2('0x49')],{'$or':_['map'](_0x1d34b7[_0x2ec2('0x43')],function(_0x3a97c7){var _0x1e30b0={};_0x1e30b0[_0x3a97c7]={'$like':'%'+_0x5e2304['query']['filter']+'%'};return _0x1e30b0;})});}if(_0x5e2304[_0x2ec2('0x40')][_0x2ec2('0xbe')]){var _0x383fbe=_0x5e2304['query'][_0x2ec2('0xbe')][_0x2ec2('0x69')](',');var _0x21a8df={};_0x21a8df[_0x383fbe[0x0]]={'$gte':moment(_0x383fbe[0x1])[_0x2ec2('0xbf')]('YYYY-MM-DD\x20HH:mm:ss')};_0x1d34b7[_0x2ec2('0x49')]=_[_0x2ec2('0x9a')](_0x1d34b7[_0x2ec2('0x49')],_0x21a8df);}_0x1d34b7=_[_0x2ec2('0x9a')]({},_0x1d34b7,_0x5e2304[_0x2ec2('0xb4')]);return db['SmsMessage'][_0x2ec2('0x24')]({'where':_0x1d34b7[_0x2ec2('0x49')]})[_0x2ec2('0x29')](function(_0x244d35){_0x2e2726[_0x2ec2('0x24')]=_0x244d35;if(_0x5e2304[_0x2ec2('0x40')][_0x2ec2('0xb2')]){_0x1d34b7['include']=[{'all':!![]}];}return db[_0x2ec2('0xc0')]['findAll'](_0x1d34b7);})[_0x2ec2('0x29')](function(_0x3f4e75){_0x2e2726[_0x2ec2('0xaf')]=_0x3f4e75;return _0x2e2726;});}})[_0x2ec2('0x29')](respondWithFilteredResult(_0x511c9e,_0x1d34b7))[_0x2ec2('0x33')](handleError(_0x511c9e,null));};exports[_0x2ec2('0xc1')]=function(_0x3be4fc,_0x26719a,_0x3428c9){return db[_0x2ec2('0x3c')][_0x2ec2('0x62')]({'where':{'id':_0x3be4fc['params']['id']}})[_0x2ec2('0x29')](handleEntityNotFound(_0x26719a,null))[_0x2ec2('0x29')](function(_0x315465){if(_0x315465){return _0x315465[_0x2ec2('0xc2')](_0x3be4fc['body'][_0x2ec2('0xba')],_[_0x2ec2('0xbb')](_0x3be4fc[_0x2ec2('0xb6')],[_0x2ec2('0xba'),'id'])||{})['spread'](function(){return db['Tag'][_0x2ec2('0xc3')]({'attributes':['id',_0x2ec2('0x2c'),_0x2ec2('0x4d')],'where':{'id':_0x3be4fc[_0x2ec2('0xb6')]['ids']}});})[_0x2ec2('0x29')](function(_0xc3d891){socket[_0x2ec2('0xc4')](_0x2ec2('0xc5'),{'id':Number(_0x3be4fc['params']['id']),'tags':_0xc3d891||[]});return{'id':Number(_0x3be4fc[_0x2ec2('0xb0')]['id']),'tags':_0xc3d891||[]};});}})[_0x2ec2('0x29')](respondWithResult(_0x26719a,null))['catch'](handleError(_0x26719a,null));};exports[_0x2ec2('0xc6')]=function(_0xc4097b,_0x18ce11,_0x48cbc4){return db['SmsInteraction'][_0x2ec2('0x62')]({'where':{'id':_0xc4097b['params']['id']}})[_0x2ec2('0x29')](handleEntityNotFound(_0x18ce11,null))['then'](function(_0x4b1ec8){if(_0x4b1ec8){return _0x4b1ec8['removeTags'](_0xc4097b[_0x2ec2('0x40')][_0x2ec2('0xba')]);}})[_0x2ec2('0x29')](respondWithStatusCode(_0x18ce11,null))[_0x2ec2('0x33')](handleError(_0x18ce11,null));};exports[_0x2ec2('0xc7')]=function(_0x6d6a0f,_0x56b5e3){var _0x4131f3=moment()[_0x2ec2('0xc8')]()[_0x2ec2('0x98')]();var _0x591157=path[_0x2ec2('0xc9')](config['root'],_0x2ec2('0xca'),_0x2ec2('0xcb'),'tmp');var _0x133404=path[_0x2ec2('0xc9')](config[_0x2ec2('0xcc')],_0x2ec2('0xca'),_0x2ec2('0xcb'),_0x2ec2('0xcd'));var _0x49e96a=path[_0x2ec2('0xc9')](_0x591157,_0x4131f3);var _0x145636=util[_0x2ec2('0xbf')](_0x2ec2('0xce'),_0x6d6a0f[_0x2ec2('0xb0')]['id'],_0x4131f3);var _0x20dcf1=path['join'](_0x591157,_0x145636);var _0x121de9=[];_0x121de9[_0x2ec2('0xad')]({'model':db['User'],'as':_0x2ec2('0x74'),'attributes':['id',_0x2ec2('0xcf')],'raw':!![]});_0x121de9[_0x2ec2('0xad')]({'model':db['CmContact'],'as':_0x2ec2('0xd0'),'attributes':['id',_0x2ec2('0xd1'),_0x2ec2('0xd2')],'raw':!![]});var _0x5ac2ae=[{'model':db[_0x2ec2('0xc0')],'as':_0x2ec2('0xd3'),'attributes':['id',_0x2ec2('0xb6'),'createdAt','direction',_0x2ec2('0xd4'),_0x2ec2('0x80')],'include':_0x121de9}];_0x5ac2ae['push']({'model':db['SmsAccount'],'as':_0x2ec2('0xd5'),'attributes':['id',_0x2ec2('0x2c')]});_0x5ac2ae['push']({'model':db[_0x2ec2('0x74')],'as':'Owner','attributes':['id',_0x2ec2('0xcf')]});return db[_0x2ec2('0x3c')][_0x2ec2('0x62')]({'where':{'id':_0x6d6a0f[_0x2ec2('0xb0')]['id']},'include':_0x5ac2ae})['then'](handleEntityNotFound(_0x56b5e3,null))[_0x2ec2('0x29')](function(_0xc3f5fa){if(_0xc3f5fa){var _0x2a2bad=_0xc3f5fa['get']({'plain':!![]});fs['mkdirSync'](_0x49e96a);var _0x148c9d={'channel':_0x2ec2('0xd6'),'account':_0x2a2bad[_0x2ec2('0xd5')][_0x2ec2('0x2c')],'agent':_0x2a2bad[_0x2ec2('0xd7')]?_0x2a2bad['Owner'][_0x2ec2('0xcf')]:'N.A.','createdAt':moment(_0x2a2bad[_0x2ec2('0xd8')])[_0x2ec2('0xbf')](_0x2ec2('0xd9'))[_0x2ec2('0x98')](),'closedAt':_0x2a2bad[_0x2ec2('0x39')]?moment(_0x2a2bad[_0x2ec2('0xda')])[_0x2ec2('0xbf')](_0x2ec2('0xd9'))[_0x2ec2('0x98')]():'','disposition':_0x2a2bad['disposition'],'messages':_(_0x2a2bad[_0x2ec2('0xd3')])['filter']({'secret':![]})['map'](function(_0x208edc){return{'date':moment(_0x208edc[_0x2ec2('0xd8')])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0x2ec2('0x98')](),'sender':_0x208edc[_0x2ec2('0xdb')]===_0x2ec2('0xdc')?_0x208edc['User']?_0x208edc[_0x2ec2('0x74')][_0x2ec2('0xcf')]:_0x2ec2('0xdd'):_0x208edc[_0x2ec2('0xd0')][_0x2ec2('0xd1')]+(_0x208edc[_0x2ec2('0xd0')][_0x2ec2('0xd2')]?'\x20'+_0x208edc[_0x2ec2('0xd0')][_0x2ec2('0xd2')]:''),'body':_0x208edc[_0x2ec2('0xb6')],'direction':_0x208edc[_0x2ec2('0xdb')]===_0x2ec2('0xdc')?'A':'C','secret':_0x208edc[_0x2ec2('0xd4')],'read':_0x208edc[_0x2ec2('0x80')]};})[_0x2ec2('0x64')]()};return ejs[_0x2ec2('0xde')](path['join'](config[_0x2ec2('0xcc')],_0x2ec2('0xca'),_0x2ec2('0xdf'),_0x2ec2('0xe0')),{'interaction':_0x148c9d})[_0x2ec2('0x29')](function(_0x4e00a6){var _0x28b793=path[_0x2ec2('0xc9')](_0x49e96a,_0x2ec2('0xe1')+_0x2a2bad['id']+'-'+_0x4131f3+'.pdf');var _0x3cb77f={'path':_0x28b793,'channel':_0x2ec2('0xd6'),'interactionId':_0x2a2bad['id']};return pdf[_0x2ec2('0xe2')](_0x4e00a6,_0x3cb77f);})[_0x2ec2('0x29')](function(){return new BPromise(function(_0x5f9fdd,_0x9efd05){zipdir(_0x49e96a,{'saveTo':_0x20dcf1},function(_0x24bfd0,_0x33d700){if(_0x24bfd0)return _0x9efd05(_0x24bfd0);return _0x5f9fdd(_0x33d700);});})['then'](function(){return new BPromise(function(_0xdeb631,_0x5c00e){rimraf(_0x49e96a,function(_0x3f2b0a){if(_0x3f2b0a)_0x5c00e(_0x3f2b0a);return _0xdeb631();});});})[_0x2ec2('0x29')](function(){return _0x56b5e3['download'](_0x20dcf1,_0x145636,function(_0x2aab9e){if(_0x2aab9e){console['log'](_0x2ec2('0xe3'),_0x2aab9e);}else{fs[_0x2ec2('0xe4')](_0x20dcf1);}});});});}else{return _0x56b5e3[_0x2ec2('0x2a')](0xc8);}})[_0x2ec2('0x33')](handleError(_0x56b5e3,null));};