Built motion from commit 14588770.|2.5.38
[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 _0xc3bf=['key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.id','ui.SmsInteractionId','user_has_sms_interactions','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','sms_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','conditions','find','value','having','`\x20=\x200','`\x20>\x200','Contact','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','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','buildExpression','end','body','text','keys','some','compact','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','createdAt','$gte','parse','$lte','null','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','contactName','DESC','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','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','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','c.mobile','Contact.mobile','Contact.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','SmsInteractionId','rows','catch','params','includeAll','include','create','describe','addMessage','ids','omit','getMessages','findOne','SmsMessage','format','YYYY-MM-DD\x20HH:mm:ss','options','findAll','addTags','setTags','spread','Tag','emit','smsInteractionTags:save','removeTags','unix','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','User','CmContact','firstName','lastName','direction','SmsAccount','Account','get','mkdirSync','Owner','N.A.','closed','closedAt','disposition','Messages','System','out','renderFile','views','downloadInteraction.ejs','.pdf','Sms','createPdfFromHTML','download','log','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','../../components/auth/service','../../components/export/pdf','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsInteraction.socket','register','sendStatus','status','json','undefined','offset','count','limit','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','map','fullname','TagIds','Tags','split','forEach','push','SmsInteraction','rawAttributes','type'];(function(_0xbcea1,_0x469f9f){var _0x17fb47=function(_0x48f5e7){while(--_0x48f5e7){_0xbcea1['push'](_0xbcea1['shift']());}};_0x17fb47(++_0x469f9f);}(_0xc3bf,0x19d));var _0xfc3b=function(_0x48f0de,_0x4ab07d){_0x48f0de=_0x48f0de-0x0;var _0x43185b=_0xc3bf[_0x48f0de];return _0x43185b;};'use strict';var emlformat=require(_0xfc3b('0x0'));var rimraf=require(_0xfc3b('0x1'));var zipdir=require(_0xfc3b('0x2'));var jsonpatch=require(_0xfc3b('0x3'));var rp=require('request-promise');var moment=require(_0xfc3b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xfc3b('0x5'));var util=require(_0xfc3b('0x6'));var path=require(_0xfc3b('0x7'));var sox=require('sox');var csv=require(_0xfc3b('0x8'));var ejs=require(_0xfc3b('0x9'));var fs=require('fs');var fs_extra=require(_0xfc3b('0xa'));var _=require(_0xfc3b('0xb'));var squel=require(_0xfc3b('0xc'));var crypto=require(_0xfc3b('0xd'));var jsforce=require(_0xfc3b('0xe'));var deskjs=require(_0xfc3b('0xf'));var toCsv=require(_0xfc3b('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xfc3b('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var pdf=require(_0xfc3b('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xfc3b('0x12'));var utils=require('../../config/utils');var config=require(_0xfc3b('0x13'));var licenseUtil=require(_0xfc3b('0x14'));var db=require(_0xfc3b('0x15'))['db'];config[_0xfc3b('0x16')]=_[_0xfc3b('0x17')](config[_0xfc3b('0x16')],{'host':_0xfc3b('0x18'),'port':0x18eb});var socket=require(_0xfc3b('0x19'))(new Redis(config[_0xfc3b('0x16')]));require(_0xfc3b('0x1a'))[_0xfc3b('0x1b')](socket);function respondWithStatusCode(_0xd4fbca,_0x272b33){_0x272b33=_0x272b33||0xcc;return function(_0xd7d9){if(_0xd7d9){return _0xd4fbca[_0xfc3b('0x1c')](_0x272b33);}return _0xd4fbca[_0xfc3b('0x1d')](_0x272b33)['end']();};}function respondWithResult(_0x268fb6,_0x2202f2){_0x2202f2=_0x2202f2||0xc8;return function(_0x8264a){if(_0x8264a){return _0x268fb6['status'](_0x2202f2)[_0xfc3b('0x1e')](_0x8264a);}};}function respondWithFilteredResult(_0x105124,_0x17bb62){return function(_0xd387fb){if(_0xd387fb){var _0x261332=typeof _0x17bb62['offset']===_0xfc3b('0x1f')&&typeof _0x17bb62['limit']===_0xfc3b('0x1f');var _0x3f272e=_0xd387fb['count'];var _0x4978c8=_0x261332?0x0:_0x17bb62[_0xfc3b('0x20')];var _0x31b4e9=_0x261332?_0xd387fb[_0xfc3b('0x21')]:_0x17bb62[_0xfc3b('0x20')]+_0x17bb62[_0xfc3b('0x22')];var _0x505af0;if(_0x31b4e9>=_0x3f272e){_0x31b4e9=_0x3f272e;_0x505af0=0xc8;}else{_0x505af0=0xce;}_0x105124['status'](_0x505af0);return _0x105124['set'](_0xfc3b('0x23'),_0x4978c8+'-'+_0x31b4e9+'/'+_0x3f272e)[_0xfc3b('0x1e')](_0xd387fb);}return null;};}function patchUpdates(_0x26da24){return function(_0x60721f){try{jsonpatch[_0xfc3b('0x24')](_0x60721f,_0x26da24,!![]);}catch(_0x588209){return BPromise[_0xfc3b('0x25')](_0x588209);}return _0x60721f[_0xfc3b('0x26')]();};}function saveUpdates(_0xd1b564,_0x380feb){return function(_0x4c0761){if(_0x4c0761){return _0x4c0761[_0xfc3b('0x27')](_0xd1b564)[_0xfc3b('0x28')](function(_0x1a469f){return _0x1a469f;});}return null;};}function removeEntity(_0x38df4a,_0x302e2a){return function(_0x160c61){if(_0x160c61){return _0x160c61[_0xfc3b('0x29')]()[_0xfc3b('0x28')](function(){_0x38df4a[_0xfc3b('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3c395c,_0x118b36){return function(_0x14bb1a){if(!_0x14bb1a){_0x3c395c[_0xfc3b('0x1c')](0x194);}return _0x14bb1a;};}function handleError(_0x346825,_0x16e716){_0x16e716=_0x16e716||0x1f4;return function(_0x2dbd09){logger[_0xfc3b('0x2a')](_0x2dbd09[_0xfc3b('0x2b')]);if(_0x2dbd09[_0xfc3b('0x2c')]){delete _0x2dbd09[_0xfc3b('0x2c')];}_0x346825[_0xfc3b('0x1d')](_0x16e716)['send'](_0x2dbd09);};}function getInteractionUsers(_0x51ba3f,_0x67c51e){return new BPromise(function(_0x18d18f,_0x1c462a){try{if(_0x67c51e[_0x51ba3f['id']]){_0x51ba3f['Users']=_[_0xfc3b('0x2d')](_0x67c51e[_0x51ba3f['id']],function(_0x1aaba5){return{'id':_0x1aaba5['id'],'fullname':_0x1aaba5[_0xfc3b('0x2e')]};});}}catch(_0x463644){_0x1c462a(_0x463644);}_0x18d18f(_0x51ba3f);});}function getInteractionTags(_0x3fe56c,_0x478693){return new BPromise(function(_0xba67c8,_0x4d948e){try{if(_0x3fe56c[_0xfc3b('0x2f')]){_0x3fe56c[_0xfc3b('0x30')]=[];_0x3fe56c[_0xfc3b('0x2f')][_0xfc3b('0x31')](',')[_0xfc3b('0x32')](function(_0x178445){_0x3fe56c[_0xfc3b('0x30')][_0xfc3b('0x33')](_0x478693[_0x178445]);});}delete _0x3fe56c['TagIds'];}catch(_0x22aa22){_0x4d948e(_0x22aa22);}_0xba67c8(_0x3fe56c);});}function updateSmsInteraction(_0xba3e3d,_0x3e7e4e,_0x3522ee){return new BPromise(function(_0x51d757,_0x242ed0){return getInteractionUsers(_0xba3e3d,_0x3522ee)['then'](function(_0x317213){return getInteractionTags(_0x317213,_0x3e7e4e);})[_0xfc3b('0x28')](function(_0x30524f){_0x51d757(_0x30524f);})['catch'](function(_0x37d200){_0x242ed0(_0x37d200);});});}exports['index']=function(_0x29d53e,_0xb84b66){var _0x115737={},_0x4a2599={},_0x186749={'count':0x0,'rows':[]};var _0x30ee6f=_[_0xfc3b('0x2d')](db[_0xfc3b('0x34')][_0xfc3b('0x35')],function(_0x346a1e){return{'name':_0x346a1e['fieldName'],'type':_0x346a1e[_0xfc3b('0x36')][_0xfc3b('0x37')]};});_0x4a2599[_0xfc3b('0x38')]=_[_0xfc3b('0x2d')](_0x30ee6f,_0xfc3b('0x2c'));_0x4a2599[_0xfc3b('0x39')]=_['keys'](_0x29d53e[_0xfc3b('0x39')]);_0x4a2599[_0xfc3b('0x3a')]=_[_0xfc3b('0x3b')](_0x4a2599[_0xfc3b('0x38')],_0x4a2599[_0xfc3b('0x39')]);_0x115737[_0xfc3b('0x3c')]=_[_0xfc3b('0x3b')](_0x4a2599[_0xfc3b('0x38')],qs[_0xfc3b('0x3d')](_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x3d')]));_0x115737[_0xfc3b('0x3c')]=_0x115737[_0xfc3b('0x3c')][_0xfc3b('0x3e')]?_0x115737['attributes']:_0x4a2599[_0xfc3b('0x38')];if(!_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x3f')](_0xfc3b('0x40'))){_0x115737[_0xfc3b('0x22')]=qs[_0xfc3b('0x22')](_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x22')]);_0x115737['offset']=qs['offset'](_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x20')]);}_0x115737[_0xfc3b('0x41')]=qs[_0xfc3b('0x42')](_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x42')]);_0x115737[_0xfc3b('0x43')]=qs[_0xfc3b('0x3a')](_[_0xfc3b('0x44')](_0x29d53e[_0xfc3b('0x39')],_0x4a2599[_0xfc3b('0x3a')]),_0x30ee6f);var _0xb5121e=[];var _0x21675a=squel[_0xfc3b('0x45')]()[_0xfc3b('0x46')]('id')[_0xfc3b('0x46')](_0xfc3b('0x2c'))[_0xfc3b('0x46')](_0xfc3b('0x47'))[_0xfc3b('0x48')](_0xfc3b('0x49'));var _0x424ff5=squel[_0xfc3b('0x45')]()[_0xfc3b('0x46')](_0xfc3b('0x4a'))['field']('u.fullname')[_0xfc3b('0x46')](_0xfc3b('0x4b'))[_0xfc3b('0x48')](_0xfc3b('0x4c'),'ui')['left_join'](_0xfc3b('0x4d'),'u','u.id\x20=\x20ui.UserId');var _0x4376bd=squel[_0xfc3b('0x45')]()['from'](_0xfc3b('0x4e'),'i')[_0xfc3b('0x4f')](_0xfc3b('0x50'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xfc3b('0x4f')](_0xfc3b('0x4d'),'o',_0xfc3b('0x51'))[_0xfc3b('0x4f')](_0xfc3b('0x52'),'a',_0xfc3b('0x53'))[_0xfc3b('0x4f')](_0xfc3b('0x54'),'me',_0xfc3b('0x55'))['left_join'](_0xfc3b('0x56'),'it','it.SmsInteractionId\x20=\x20i.id')[_0xfc3b('0x4f')](_0xfc3b('0x49'),'t',_0xfc3b('0x57'));var _0x384362=squel['expr']();var _0x2f4c59=[];var _0x213a1f=squel[_0xfc3b('0x58')]();var _0x22be1c;if(_0x29d53e['query'][_0xfc3b('0x59')]){_0x22be1c=as['parseSearch'](_0x29d53e[_0xfc3b('0x39')]['search']);var _0xf47faf=_0x22be1c['sqlOperator'];for(var _0x2b8b1e=0x0;_0x2b8b1e<_0x22be1c[_0xfc3b('0x5a')][_0xfc3b('0x3e')];_0x2b8b1e++){var _0x3afc8b=_0x22be1c['conditions'][_0x2b8b1e];var _0xeddcd0='i';var _0x50ab94=_[_0xfc3b('0x5b')](_0x30ee6f,['name',_0x3afc8b[_0xfc3b('0x46')]]);if(!_0x50ab94){switch(_0x3afc8b[_0xfc3b('0x46')]){case'unreadMessages':if(_0x3afc8b[_0xfc3b('0x5c')]==0x1){_0x4376bd[_0xfc3b('0x5d')]('`'+_0x3afc8b[_0xfc3b('0x46')]+_0xfc3b('0x5e'));}else{_0x4376bd['having']('`'+_0x3afc8b[_0xfc3b('0x46')]+_0xfc3b('0x5f'));}break;case _0xfc3b('0x60'):if(_0x3afc8b['operator']==='$substring'){if(_0x3afc8b[_0xfc3b('0x5c')][_0xfc3b('0x31')]('\x20')['length']>0x1){_0x384362[_0xf47faf](_0xfc3b('0x61'),qs[_0xfc3b('0x62')](_0x3afc8b[_0xfc3b('0x5c')]),null);}else{var _0x32bb99='%'+_0x3afc8b['value']+'%';_0x384362[_0xf47faf](_0xfc3b('0x63'),_0x32bb99,_0x32bb99,_0x32bb99);}}else{_0x50ab94=_[_0xfc3b('0x5b')](_0x30ee6f,[_0xfc3b('0x2c'),_0xfc3b('0x64')]);_0x3afc8b['field']=_0xfc3b('0x64');_0x32cd19=as['buildExpression'](_0xeddcd0,_0x50ab94[_0xfc3b('0x36')],_0x3afc8b);_0x384362[_0xf47faf](_0x32cd19['text'],_0x32cd19[_0xfc3b('0x5c')][_0xfc3b('0x65')],_0x32cd19[_0xfc3b('0x5c')]['end']);}break;case'Tag':var _0x343e25=_0x3afc8b[_0xfc3b('0x5c')]['split'](',')[_0xfc3b('0x2d')](function(_0x356e71){return Number(_0x356e71);});_0x343e25['forEach'](function(_0x566291){_0x213a1f['or'](_0xfc3b('0x66'),'%,'+_0x566291+',%');});_0x2f4c59=_[_0xfc3b('0x67')](_0x2f4c59,_0x343e25);break;case'User':if(_0x3afc8b['operator']===_0xfc3b('0x68')){_0x384362[_0xf47faf](_0xfc3b('0x69'),'%'+_0x3afc8b['value']+'%',null);}else{_0x50ab94=_['find'](_0x30ee6f,[_0xfc3b('0x2c'),_0xfc3b('0x6a')]);_0x3afc8b['field']=_0xfc3b('0x6a');_0x32cd19=as[_0xfc3b('0x6b')](_0xeddcd0,_0x50ab94[_0xfc3b('0x36')],_0x3afc8b);_0x384362[_0xf47faf](_0x32cd19['text'],_0x32cd19['value'][_0xfc3b('0x65')],_0x32cd19[_0xfc3b('0x5c')][_0xfc3b('0x6c')]);}break;case _0xfc3b('0x6d'):_0x32cd19=as[_0xfc3b('0x6b')]('me',null,_0x3afc8b);_0x384362[_0xf47faf](_0x32cd19[_0xfc3b('0x6e')],_0x32cd19[_0xfc3b('0x5c')][_0xfc3b('0x65')],_0x32cd19[_0xfc3b('0x5c')][_0xfc3b('0x6c')]);break;}}else{var _0x32cd19=as[_0xfc3b('0x6b')](_0xeddcd0,_0x50ab94['type'],_0x3afc8b);_0x384362[_0xf47faf](_0x32cd19['text'],_0x32cd19[_0xfc3b('0x5c')]['start'],_0x32cd19[_0xfc3b('0x5c')][_0xfc3b('0x6c')]);}}}else{var _0x3c38c6=_(_0x29d53e[_0xfc3b('0x39')])[_0xfc3b('0x6f')]()['map'](function(_0x4bacb4){return _[_0xfc3b('0x70')](_0x30ee6f,[_0xfc3b('0x2c'),_0x4bacb4])?_0x4bacb4:undefined;})[_0xfc3b('0x71')]()[_0xfc3b('0x5c')]();if(!_[_0xfc3b('0x72')](_0x3c38c6)){_0x3c38c6[_0xfc3b('0x32')](function(_0x3f88e5){if(_0x3f88e5===_0xfc3b('0x73')){_0x4376bd['where'](_0xfc3b('0x74'),[][_0xfc3b('0x75')](_0x29d53e[_0xfc3b('0x39')][_0x3f88e5]));}else if(_0x3f88e5===_0xfc3b('0x76')){var _0x2821d2=JSON['parse'](_0x29d53e[_0xfc3b('0x39')][_0x3f88e5])[_0xfc3b('0x77')];var _0x24a1de=JSON[_0xfc3b('0x78')](_0x29d53e[_0xfc3b('0x39')][_0x3f88e5])[_0xfc3b('0x79')];_0x4376bd[_0xfc3b('0x43')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x2821d2,_0x24a1de);}else{if(_0x29d53e[_0xfc3b('0x39')][_0x3f88e5]===_0xfc3b('0x7a')){_0x4376bd['where']('i.'+_0x3f88e5+'\x20IS\x20NULL');}else{_0x4376bd[_0xfc3b('0x43')]('i.'+_0x3f88e5+_0xfc3b('0x7b'),_0x29d53e[_0xfc3b('0x39')][_0x3f88e5]);}}});}if(_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x7c')]){if(_0x29d53e['query'][_0xfc3b('0x7c')]==0x1){_0x4376bd[_0xfc3b('0x5d')]('`unreadMessages`\x20=\x200');}else{_0x4376bd['having'](_0xfc3b('0x7d'));}}if(_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x7e')]){_0x2f4c59=_[_0xfc3b('0x7f')](_0x29d53e['query'][_0xfc3b('0x7e')])?_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x7e')]:new Array(_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x7e')]);_0x2f4c59[_0xfc3b('0x32')](function(_0x1ab20c){_0x213a1f['or'](_0xfc3b('0x66'),'%,'+_0x1ab20c+',%');});}if(_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x80')]){var _0x3616df=_0x29d53e[_0xfc3b('0x39')]['filter'][_0xfc3b('0x81')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0xfc3b('0x82')](_0x3616df)){_0x384362['or'](_0xfc3b('0x83'),_0x3616df+'%')['or'](_0xfc3b('0x84'),_0x3616df+'%');}else{_0x384362['or'](_0xfc3b('0x85'),qs['getFullTextValue'](_0x3616df))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x3616df+'%');}}}_0x4376bd['where'](_0x384362);_0x4376bd[_0xfc3b('0x86')](_0xfc3b('0x87'));var _0x5d6d5e={'type':db[_0xfc3b('0x88')][_0xfc3b('0x89')][_0xfc3b('0x8a')],'raw':!![]};var _0x4dbbe0=_0x4376bd[_0xfc3b('0x8b')]();_0x4dbbe0['field'](_0xfc3b('0x87'));_0x4dbbe0[_0xfc3b('0x46')](_0xfc3b('0x8c'),_0xfc3b('0x8d'));if(_0x115737[_0xfc3b('0x41')]){_0x115737['order']['forEach'](function(_0x66a661){var _0x19d140=_0x66a661[0x0]===_0xfc3b('0x8e')?_0x66a661[0x0]:'i.'+_0x66a661[0x0];_0x4376bd['order'](_0x19d140,_0x66a661[0x1]===_0xfc3b('0x8f')?![]:!![]);});}if(!_[_0xfc3b('0x72')](_0x2f4c59)){_0x4376bd[_0xfc3b('0x5d')](_0x213a1f);_0x4dbbe0[_0xfc3b('0x43')]('t.id\x20IN\x20?',_0x2f4c59);}BPromise[_0xfc3b('0x90')]()[_0xfc3b('0x28')](function(){if(!_0x22be1c){if(_0x29d53e['query'][_0xfc3b('0x73')])return;_0x4dbbe0[_0xfc3b('0x43')](_0xfc3b('0x91'));_0x4376bd[_0xfc3b('0x43')](_0xfc3b('0x91'));return;}if(_0x29d53e[_0xfc3b('0x92')][_0xfc3b('0x93')]!==_0xfc3b('0x94'))return;return _0x29d53e[_0xfc3b('0x92')][_0xfc3b('0x95')]({'attributes':['id'],'raw':!![]})[_0xfc3b('0x28')](function(_0x1b1434){if(_[_0xfc3b('0x72')](_0x1b1434)){_0x4dbbe0[_0xfc3b('0x43')](_0xfc3b('0x96'));_0x4376bd['where'](_0xfc3b('0x96'));}else{_0x4dbbe0['where'](_0xfc3b('0x74'),_['map'](_0x1b1434,'id'));_0x4376bd[_0xfc3b('0x43')](_0xfc3b('0x74'),_[_0xfc3b('0x2d')](_0x1b1434,'id'));}});})[_0xfc3b('0x28')](function(){if(_0x29d53e[_0xfc3b('0x92')]['role']===_0xfc3b('0x94')&&!_0x22be1c&&!_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x73')])return[];return db['sequelize']['query'](_0x4dbbe0['toString'](),_0x5d6d5e);})['then'](function(_0x36f913){_0x186749['count']=_0x36f913[_0xfc3b('0x3e')];if(_0x186749[_0xfc3b('0x21')]===0x0)return[];return db[_0xfc3b('0x97')][_0xfc3b('0x39')](_0x21675a[_0xfc3b('0x98')](),_0x5d6d5e)[_0xfc3b('0x28')](function(_0x3cb167){_0xb5121e=_[_0xfc3b('0x99')](_0x3cb167,'id');_0x5d6d5e=_[_0xfc3b('0x9a')](_0x5d6d5e,{'model':db[_0xfc3b('0x34')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x29d53e[_0xfc3b('0x39')][_0xfc3b('0x3d')]){_0x115737[_0xfc3b('0x3c')]['forEach'](function(_0x3707fc){_0x4376bd[_0xfc3b('0x46')]('i.'+_0x3707fc);});}else{_0x4376bd[_0xfc3b('0x46')](_0xfc3b('0x8c'),'unreadMessages');_0x4376bd[_0xfc3b('0x46')](_0xfc3b('0x9b'),_0xfc3b('0x9c'));_0x4376bd[_0xfc3b('0x46')](_0xfc3b('0x9d'),_0xfc3b('0x9e'));_0x4376bd[_0xfc3b('0x46')](_0xfc3b('0x9f'),'contactName');_0x4376bd[_0xfc3b('0x46')](_0xfc3b('0xa0'));_0x4376bd['field'](_0xfc3b('0xa1'),_0xfc3b('0xa2'));_0x4376bd[_0xfc3b('0x46')](_0xfc3b('0xa3'),_0xfc3b('0xa4'));_0x4376bd['field']('c.email',_0xfc3b('0xa5'));_0x4376bd[_0xfc3b('0x46')](_0xfc3b('0xa6'),'Contact.phone');_0x4376bd[_0xfc3b('0x46')](_0xfc3b('0xa7'),_0xfc3b('0xa8'));_0x4376bd[_0xfc3b('0x46')]('c.fax',_0xfc3b('0xa9'));_0x4376bd[_0xfc3b('0x46')](_0xfc3b('0xaa'),_0xfc3b('0xab'));_0x4376bd[_0xfc3b('0x46')]('o.internal',_0xfc3b('0xac'));_0x4376bd[_0xfc3b('0x46')](_0xfc3b('0xad'),_0xfc3b('0x2f'));}if(_0x115737[_0xfc3b('0x22')])_0x4376bd[_0xfc3b('0x22')](_0x115737[_0xfc3b('0x22')]);if(_0x115737['offset'])_0x4376bd[_0xfc3b('0x20')](_0x115737[_0xfc3b('0x20')]);return db[_0xfc3b('0x97')][_0xfc3b('0x39')](_0x4376bd[_0xfc3b('0x98')](),_0x5d6d5e);})[_0xfc3b('0x28')](function(_0x557df8){if(_0x557df8[_0xfc3b('0x3e')]>0x0)_0x424ff5['where'](_0xfc3b('0xae'),_[_0xfc3b('0x2d')](_0x557df8,'id'));return db[_0xfc3b('0x97')][_0xfc3b('0x39')](_0x424ff5[_0xfc3b('0x98')](),_0x5d6d5e)[_0xfc3b('0x28')](function(_0x5630ca){var _0x20d441=_['groupBy'](_0x5630ca,_0xfc3b('0xaf'));var _0x2adc17=[];_0x557df8[_0xfc3b('0x32')](function(_0x57bb15){_0x2adc17[_0xfc3b('0x33')](updateSmsInteraction(_0x57bb15,_0xb5121e,_0x20d441));});return BPromise['all'](_0x2adc17);});});})['then'](function(_0x2f5ca1){_0x186749[_0xfc3b('0xb0')]=_0x2f5ca1;return _0x186749;})[_0xfc3b('0x28')](respondWithFilteredResult(_0xb84b66,_0x115737))[_0xfc3b('0xb1')](handleError(_0xb84b66,null));};exports['show']=function(_0x929aac,_0x172476){var _0x154abf={'raw':![],'where':{'id':_0x929aac[_0xfc3b('0xb2')]['id']}},_0x6de5c3={};_0x6de5c3[_0xfc3b('0x38')]=_[_0xfc3b('0x6f')](db[_0xfc3b('0x34')][_0xfc3b('0x35')]);_0x6de5c3['query']=_[_0xfc3b('0x6f')](_0x929aac[_0xfc3b('0x39')]);_0x6de5c3[_0xfc3b('0x3a')]=_[_0xfc3b('0x3b')](_0x6de5c3[_0xfc3b('0x38')],_0x6de5c3[_0xfc3b('0x39')]);_0x154abf[_0xfc3b('0x3c')]=_[_0xfc3b('0x3b')](_0x6de5c3['model'],qs[_0xfc3b('0x3d')](_0x929aac['query'][_0xfc3b('0x3d')]));_0x154abf[_0xfc3b('0x3c')]=_0x154abf[_0xfc3b('0x3c')][_0xfc3b('0x3e')]?_0x154abf[_0xfc3b('0x3c')]:_0x6de5c3[_0xfc3b('0x38')];if(_0x929aac[_0xfc3b('0x39')][_0xfc3b('0xb3')]){_0x154abf[_0xfc3b('0xb4')]=[{'all':!![]}];}_0x154abf=_[_0xfc3b('0x9a')]({},_0x154abf,_0x929aac['options']);return db['SmsInteraction']['find'](_0x154abf)[_0xfc3b('0x28')](handleEntityNotFound(_0x172476,null))[_0xfc3b('0x28')](respondWithResult(_0x172476,null))['catch'](handleError(_0x172476,null));};exports[_0xfc3b('0xb5')]=function(_0x101743,_0x243d69){return db[_0xfc3b('0x34')][_0xfc3b('0xb5')](_0x101743['body'],{})['then'](respondWithResult(_0x243d69,0xc9))[_0xfc3b('0xb1')](handleError(_0x243d69,null));};exports[_0xfc3b('0x27')]=function(_0xad9d70,_0x2114be){if(_0xad9d70[_0xfc3b('0x6d')]['id']){delete _0xad9d70['body']['id'];}return db[_0xfc3b('0x34')]['find']({'where':{'id':_0xad9d70[_0xfc3b('0xb2')]['id']}})['then'](handleEntityNotFound(_0x2114be,null))[_0xfc3b('0x28')](saveUpdates(_0xad9d70[_0xfc3b('0x6d')],null))[_0xfc3b('0x28')](respondWithResult(_0x2114be,null))[_0xfc3b('0xb1')](handleError(_0x2114be,null));};exports['destroy']=function(_0x217c52,_0x40ea2d){return db[_0xfc3b('0x34')][_0xfc3b('0x5b')]({'where':{'id':_0x217c52[_0xfc3b('0xb2')]['id']}})[_0xfc3b('0x28')](handleEntityNotFound(_0x40ea2d,null))[_0xfc3b('0x28')](removeEntity(_0x40ea2d,null))[_0xfc3b('0xb1')](handleError(_0x40ea2d,null));};exports[_0xfc3b('0xb6')]=function(_0x1c702e,_0x73aa0b){return db[_0xfc3b('0x34')]['describe']()[_0xfc3b('0x28')](respondWithResult(_0x73aa0b,null))[_0xfc3b('0xb1')](handleError(_0x73aa0b,null));};exports['addMessage']=function(_0xf10d5b,_0x4cf5bf,_0x2e6f7f){return db['SmsMessage'][_0xfc3b('0x5b')]({'where':{'id':_0xf10d5b[_0xfc3b('0xb2')]['id']}})[_0xfc3b('0x28')](handleEntityNotFound(_0x4cf5bf,null))[_0xfc3b('0x28')](function(_0x509c22){if(_0x509c22){return _0x509c22[_0xfc3b('0xb7')](_0xf10d5b[_0xfc3b('0x6d')][_0xfc3b('0xb8')],_[_0xfc3b('0xb9')](_0xf10d5b[_0xfc3b('0x6d')],[_0xfc3b('0xb8'),'id'])||{});}})[_0xfc3b('0x28')](respondWithResult(_0x4cf5bf,null))[_0xfc3b('0xb1')](handleError(_0x4cf5bf,null));};exports[_0xfc3b('0xba')]=function(_0x5ab2d3,_0x57d7f7,_0x15fda6){var _0x493781={'raw':![],'where':{}};var _0x10ec30={};var _0x533a9c={'count':0x0,'rows':[]};return db['SmsInteraction'][_0xfc3b('0xbb')]({'where':{'id':_0x5ab2d3[_0xfc3b('0xb2')]['id']}})[_0xfc3b('0x28')](handleEntityNotFound(_0x57d7f7,null))['then'](function(_0x267ddf){if(_0x267ddf){_0x10ec30[_0xfc3b('0x38')]=_[_0xfc3b('0x6f')](db[_0xfc3b('0xbc')]['rawAttributes']);_0x10ec30[_0xfc3b('0x39')]=_[_0xfc3b('0x6f')](_0x5ab2d3[_0xfc3b('0x39')]);_0x10ec30[_0xfc3b('0x3a')]=_[_0xfc3b('0x3b')](_0x10ec30[_0xfc3b('0x38')],_0x10ec30[_0xfc3b('0x39')]);_0x493781['attributes']=_[_0xfc3b('0x3b')](_0x10ec30[_0xfc3b('0x38')],qs['fields'](_0x5ab2d3[_0xfc3b('0x39')][_0xfc3b('0x3d')]));_0x493781[_0xfc3b('0x3c')]=_0x493781[_0xfc3b('0x3c')][_0xfc3b('0x3e')]?_0x493781[_0xfc3b('0x3c')]:_0x10ec30[_0xfc3b('0x38')];if(!_0x5ab2d3[_0xfc3b('0x39')]['hasOwnProperty']('nolimit')){_0x493781[_0xfc3b('0x22')]=qs['limit'](_0x5ab2d3[_0xfc3b('0x39')]['limit']);_0x493781[_0xfc3b('0x20')]=qs[_0xfc3b('0x20')](_0x5ab2d3[_0xfc3b('0x39')][_0xfc3b('0x20')]);}_0x493781[_0xfc3b('0x41')]=qs[_0xfc3b('0x42')](_0x5ab2d3[_0xfc3b('0x39')][_0xfc3b('0x42')]);_0x493781['where']=qs[_0xfc3b('0x3a')](_[_0xfc3b('0x44')](_0x5ab2d3[_0xfc3b('0x39')],_0x10ec30[_0xfc3b('0x3a')]));_0x493781[_0xfc3b('0x43')][_0xfc3b('0xaf')]=_0x267ddf['id'];if(_0x5ab2d3['query'][_0xfc3b('0x80')]){_0x493781['where']=_[_0xfc3b('0x9a')](_0x493781['where'],{'$or':_[_0xfc3b('0x2d')](_0x493781[_0xfc3b('0x3c')],function(_0x53fbbd){var _0x3b8ec3={};_0x3b8ec3[_0x53fbbd]={'$like':'%'+_0x5ab2d3[_0xfc3b('0x39')]['filter']+'%'};return _0x3b8ec3;})});}if(_0x5ab2d3[_0xfc3b('0x39')][_0xfc3b('0x77')]){var _0xf01eb4=_0x5ab2d3[_0xfc3b('0x39')][_0xfc3b('0x77')][_0xfc3b('0x31')](',');var _0x2d1718={};_0x2d1718[_0xf01eb4[0x0]]={'$gte':moment(_0xf01eb4[0x1])[_0xfc3b('0xbd')](_0xfc3b('0xbe'))};_0x493781[_0xfc3b('0x43')]=_[_0xfc3b('0x9a')](_0x493781[_0xfc3b('0x43')],_0x2d1718);}_0x493781=_[_0xfc3b('0x9a')]({},_0x493781,_0x5ab2d3[_0xfc3b('0xbf')]);return db[_0xfc3b('0xbc')][_0xfc3b('0x21')]({'where':_0x493781[_0xfc3b('0x43')]})[_0xfc3b('0x28')](function(_0x372e2c){_0x533a9c[_0xfc3b('0x21')]=_0x372e2c;if(_0x5ab2d3[_0xfc3b('0x39')][_0xfc3b('0xb3')]){_0x493781[_0xfc3b('0xb4')]=[{'all':!![]}];}return db['SmsMessage'][_0xfc3b('0xc0')](_0x493781);})[_0xfc3b('0x28')](function(_0x49c700){_0x533a9c[_0xfc3b('0xb0')]=_0x49c700;return _0x533a9c;});}})[_0xfc3b('0x28')](respondWithFilteredResult(_0x57d7f7,_0x493781))['catch'](handleError(_0x57d7f7,null));};exports[_0xfc3b('0xc1')]=function(_0x4a40b9,_0x19124c,_0x12f4ef){return db[_0xfc3b('0x34')][_0xfc3b('0x5b')]({'where':{'id':_0x4a40b9[_0xfc3b('0xb2')]['id']}})['then'](handleEntityNotFound(_0x19124c,null))[_0xfc3b('0x28')](function(_0x540d33){if(_0x540d33){return _0x540d33[_0xfc3b('0xc2')](_0x4a40b9[_0xfc3b('0x6d')][_0xfc3b('0xb8')],_['omit'](_0x4a40b9[_0xfc3b('0x6d')],[_0xfc3b('0xb8'),'id'])||{})[_0xfc3b('0xc3')](function(){return db[_0xfc3b('0xc4')][_0xfc3b('0xc0')]({'attributes':['id',_0xfc3b('0x2c'),_0xfc3b('0x47')],'where':{'id':_0x4a40b9['body'][_0xfc3b('0xb8')]}});})[_0xfc3b('0x28')](function(_0x4a908a){socket[_0xfc3b('0xc5')](_0xfc3b('0xc6'),{'id':Number(_0x4a40b9[_0xfc3b('0xb2')]['id']),'tags':_0x4a908a||[]});return{'id':Number(_0x4a40b9[_0xfc3b('0xb2')]['id']),'tags':_0x4a908a||[]};});}})['then'](respondWithResult(_0x19124c,null))[_0xfc3b('0xb1')](handleError(_0x19124c,null));};exports[_0xfc3b('0xc7')]=function(_0x2cc6df,_0x514c7b,_0x39dd2d){return db[_0xfc3b('0x34')][_0xfc3b('0x5b')]({'where':{'id':_0x2cc6df[_0xfc3b('0xb2')]['id']}})['then'](handleEntityNotFound(_0x514c7b,null))[_0xfc3b('0x28')](function(_0x1e31c0){if(_0x1e31c0){return _0x1e31c0['removeTags'](_0x2cc6df['query'][_0xfc3b('0xb8')]);}})[_0xfc3b('0x28')](respondWithStatusCode(_0x514c7b,null))[_0xfc3b('0xb1')](handleError(_0x514c7b,null));};exports['download']=function(_0x2300a5,_0x2e95e3){var _0x479322=moment()[_0xfc3b('0xc8')]()[_0xfc3b('0x98')]();var _0x360c01=path[_0xfc3b('0xc9')](config[_0xfc3b('0xca')],_0xfc3b('0xcb'),_0xfc3b('0xcc'),_0xfc3b('0xcd'));var _0x404b0c=path['join'](config[_0xfc3b('0xca')],_0xfc3b('0xcb'),_0xfc3b('0xcc'),_0xfc3b('0xce'));var _0x41a37b=path[_0xfc3b('0xc9')](_0x360c01,_0x479322);var _0x361933=util[_0xfc3b('0xbd')](_0xfc3b('0xcf'),_0x2300a5[_0xfc3b('0xb2')]['id'],_0x479322);var _0x43f13c=path[_0xfc3b('0xc9')](_0x360c01,_0x361933);var _0x1c0038=[];_0x1c0038['push']({'model':db[_0xfc3b('0xd0')],'as':'User','attributes':['id','fullname'],'raw':!![]});_0x1c0038['push']({'model':db[_0xfc3b('0xd1')],'as':_0xfc3b('0x60'),'attributes':['id',_0xfc3b('0xd2'),_0xfc3b('0xd3')],'raw':!![]});var _0x112304=[{'model':db[_0xfc3b('0xbc')],'as':'Messages','attributes':['id',_0xfc3b('0x6d'),_0xfc3b('0x76'),_0xfc3b('0xd4'),'secret',_0xfc3b('0x7c')],'include':_0x1c0038}];_0x112304[_0xfc3b('0x33')]({'model':db[_0xfc3b('0xd5')],'as':_0xfc3b('0xd6'),'attributes':['id','name']});_0x112304[_0xfc3b('0x33')]({'model':db[_0xfc3b('0xd0')],'as':'Owner','attributes':['id',_0xfc3b('0x2e')]});return db[_0xfc3b('0x34')][_0xfc3b('0x5b')]({'where':{'id':_0x2300a5[_0xfc3b('0xb2')]['id']},'include':_0x112304})[_0xfc3b('0x28')](handleEntityNotFound(_0x2e95e3,null))[_0xfc3b('0x28')](function(_0x39cd33){if(_0x39cd33){var _0x305945=_0x39cd33[_0xfc3b('0xd7')]({'plain':!![]});fs[_0xfc3b('0xd8')](_0x41a37b);var _0x4cd32e={'channel':'Sms','account':_0x305945[_0xfc3b('0xd6')][_0xfc3b('0x2c')],'agent':_0x305945['Owner']?_0x305945[_0xfc3b('0xd9')][_0xfc3b('0x2e')]:_0xfc3b('0xda'),'createdAt':moment(_0x305945['createdAt'])[_0xfc3b('0xbd')]('YYYY-MM-DD\x20HH:mm:ss')[_0xfc3b('0x98')](),'closedAt':_0x305945[_0xfc3b('0xdb')]?moment(_0x305945[_0xfc3b('0xdc')])[_0xfc3b('0xbd')](_0xfc3b('0xbe'))[_0xfc3b('0x98')]():'','disposition':_0x305945[_0xfc3b('0xdd')],'messages':_(_0x305945[_0xfc3b('0xde')])[_0xfc3b('0x80')]({'secret':![]})['map'](function(_0xed9ac8){return{'date':moment(_0xed9ac8[_0xfc3b('0x76')])[_0xfc3b('0xbd')]('YYYY-MM-DD\x20HH:mm:ss')[_0xfc3b('0x98')](),'sender':_0xed9ac8[_0xfc3b('0xd4')]==='out'?_0xed9ac8[_0xfc3b('0xd0')]?_0xed9ac8['User'][_0xfc3b('0x2e')]:_0xfc3b('0xdf'):_0xed9ac8[_0xfc3b('0x60')][_0xfc3b('0xd2')]+(_0xed9ac8['Contact'][_0xfc3b('0xd3')]?'\x20'+_0xed9ac8['Contact'][_0xfc3b('0xd3')]:''),'body':_0xed9ac8[_0xfc3b('0x6d')],'direction':_0xed9ac8['direction']===_0xfc3b('0xe0')?'A':'C','secret':_0xed9ac8['secret'],'read':_0xed9ac8[_0xfc3b('0x7c')]};})[_0xfc3b('0x5c')]()};return ejs[_0xfc3b('0xe1')](path['join'](config[_0xfc3b('0xca')],_0xfc3b('0xcb'),_0xfc3b('0xe2'),_0xfc3b('0xe3')),{'interaction':_0x4cd32e})[_0xfc3b('0x28')](function(_0x43bee7){var _0x2372fd=path['join'](_0x41a37b,'transcript-'+_0x305945['id']+'-'+_0x479322+_0xfc3b('0xe4'));var _0x4bb4a4={'path':_0x2372fd,'channel':_0xfc3b('0xe5'),'interactionId':_0x305945['id']};return pdf[_0xfc3b('0xe6')](_0x43bee7,_0x4bb4a4);})[_0xfc3b('0x28')](function(){return new BPromise(function(_0x28f11e,_0x511985){zipdir(_0x41a37b,{'saveTo':_0x43f13c},function(_0x4571ae,_0x816cb8){if(_0x4571ae)return _0x511985(_0x4571ae);return _0x28f11e(_0x816cb8);});})[_0xfc3b('0x28')](function(){return new BPromise(function(_0x4b0ee3,_0x587e49){rimraf(_0x41a37b,function(_0x43a9b5){if(_0x43a9b5)_0x587e49(_0x43a9b5);return _0x4b0ee3();});});})[_0xfc3b('0x28')](function(){return _0x2e95e3[_0xfc3b('0xe7')](_0x43f13c,_0x361933,function(_0x28c120){if(_0x28c120){console[_0xfc3b('0xe8')]('err',_0x28c120);}else{fs[_0xfc3b('0xe9')](_0x43f13c);}});});});}else{return _0x2e95e3[_0xfc3b('0x1c')](0xc8);}})[_0xfc3b('0xb1')](handleError(_0x2e95e3,null));};