Built motion from commit 936e8062.|2.5.33
[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 _0x0563=['System','secret','renderFile','views','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./smsInteraction.socket','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','then','destroy','sendStatus','error','stack','name','send','Users','map','fullname','Tags','TagIds','split','index','fieldName','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filters','select','field','from','u.id','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','left_join','users','cm_contacts','o.id\x20=\x20i.UserId','sms_accounts','a.id\x20=\x20i.SmsAccountId','sms_messages','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','`\x20=\x200','having','`\x20>\x200','Contact','operator','$substring','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','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','some','compact','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','agent','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','keyBy','SmsInteraction','a.key','Account.key','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','c.email','Contact.email','Contact.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','groupBy','SmsInteractionId','push','all','catch','params','rawAttributes','includeAll','options','update','describe','SmsMessage','addMessage','ids','omit','getMessages','findOne','nolimit','merge','format','findAll','rows','addTags','spread','color','emit','smsInteractionTags:save','removeTags','download','join','root','server','tmp','files','transcript-%d-%s.zip','CmContact','firstName','lastName','direction','SmsAccount','Owner','get','Sms','Account','YYYY-MM-DD\x20HH:mm:ss','closedAt','out'];(function(_0x47d29f,_0xb47a8f){var _0x30a8e2=function(_0x3de81a){while(--_0x3de81a){_0x47d29f['push'](_0x47d29f['shift']());}};_0x30a8e2(++_0xb47a8f);}(_0x0563,0x1d2));var _0x3056=function(_0x254a8a,_0x1ca234){_0x254a8a=_0x254a8a-0x0;var _0x39e8e7=_0x0563[_0x254a8a];return _0x39e8e7;};'use strict';var emlformat=require(_0x3056('0x0'));var rimraf=require(_0x3056('0x1'));var zipdir=require(_0x3056('0x2'));var jsonpatch=require(_0x3056('0x3'));var rp=require(_0x3056('0x4'));var moment=require('moment');var BPromise=require(_0x3056('0x5'));var Mustache=require(_0x3056('0x6'));var util=require(_0x3056('0x7'));var path=require(_0x3056('0x8'));var sox=require('sox');var csv=require(_0x3056('0x9'));var ejs=require(_0x3056('0xa'));var fs=require('fs');var fs_extra=require(_0x3056('0xb'));var _=require(_0x3056('0xc'));var squel=require(_0x3056('0xd'));var crypto=require(_0x3056('0xe'));var jsforce=require(_0x3056('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x3056('0x9'));var querystring=require('querystring');var Papa=require(_0x3056('0x10'));var Redis=require('ioredis');var authService=require(_0x3056('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x3056('0x12'));var pdf=require(_0x3056('0x13'));var hardwareService=require(_0x3056('0x14'));var logger=require(_0x3056('0x15'))(_0x3056('0x16'));var utils=require(_0x3056('0x17'));var config=require(_0x3056('0x18'));var licenseUtil=require(_0x3056('0x19'));var db=require(_0x3056('0x1a'))['db'];config[_0x3056('0x1b')]=_[_0x3056('0x1c')](config[_0x3056('0x1b')],{'host':'localhost','port':0x18eb});var socket=require(_0x3056('0x1d'))(new Redis(config['redis']));require(_0x3056('0x1e'))['register'](socket);function respondWithStatusCode(_0x4e8fc9,_0x1d70c2){_0x1d70c2=_0x1d70c2||0xcc;return function(_0x186e4d){if(_0x186e4d){return _0x4e8fc9['sendStatus'](_0x1d70c2);}return _0x4e8fc9[_0x3056('0x1f')](_0x1d70c2)[_0x3056('0x20')]();};}function respondWithResult(_0x1559b2,_0x5e97da){_0x5e97da=_0x5e97da||0xc8;return function(_0x38dd3a){if(_0x38dd3a){return _0x1559b2[_0x3056('0x1f')](_0x5e97da)[_0x3056('0x21')](_0x38dd3a);}};}function respondWithFilteredResult(_0x3e0710,_0x15cd4e){return function(_0x16622f){if(_0x16622f){var _0x319851=typeof _0x15cd4e[_0x3056('0x22')]===_0x3056('0x23')&&typeof _0x15cd4e['limit']===_0x3056('0x23');var _0x42371b=_0x16622f[_0x3056('0x24')];var _0x4d0e36=_0x319851?0x0:_0x15cd4e[_0x3056('0x22')];var _0x48dbdd=_0x319851?_0x16622f['count']:_0x15cd4e[_0x3056('0x22')]+_0x15cd4e[_0x3056('0x25')];var _0xb60b8d;if(_0x48dbdd>=_0x42371b){_0x48dbdd=_0x42371b;_0xb60b8d=0xc8;}else{_0xb60b8d=0xce;}_0x3e0710['status'](_0xb60b8d);return _0x3e0710[_0x3056('0x26')](_0x3056('0x27'),_0x4d0e36+'-'+_0x48dbdd+'/'+_0x42371b)[_0x3056('0x21')](_0x16622f);}return null;};}function patchUpdates(_0x4b9c87){return function(_0x516502){try{jsonpatch[_0x3056('0x28')](_0x516502,_0x4b9c87,!![]);}catch(_0x38041e){return BPromise[_0x3056('0x29')](_0x38041e);}return _0x516502[_0x3056('0x2a')]();};}function saveUpdates(_0x3cb067,_0x14b793){return function(_0x19722){if(_0x19722){return _0x19722['update'](_0x3cb067)[_0x3056('0x2b')](function(_0x580763){return _0x580763;});}return null;};}function removeEntity(_0x488e87,_0x132c4d){return function(_0x3dfbbb){if(_0x3dfbbb){return _0x3dfbbb[_0x3056('0x2c')]()['then'](function(){_0x488e87[_0x3056('0x1f')](0xcc)[_0x3056('0x20')]();});}};}function handleEntityNotFound(_0xda73cb,_0x12a6f0){return function(_0x34e116){if(!_0x34e116){_0xda73cb[_0x3056('0x2d')](0x194);}return _0x34e116;};}function handleError(_0x2dea9e,_0x167cca){_0x167cca=_0x167cca||0x1f4;return function(_0x5d9ea2){logger[_0x3056('0x2e')](_0x5d9ea2[_0x3056('0x2f')]);if(_0x5d9ea2[_0x3056('0x30')]){delete _0x5d9ea2[_0x3056('0x30')];}_0x2dea9e[_0x3056('0x1f')](_0x167cca)[_0x3056('0x31')](_0x5d9ea2);};}function getInteractionUsers(_0x2c7695,_0x395f2c){return new BPromise(function(_0x535d02,_0x9fae98){try{if(_0x395f2c[_0x2c7695['id']]){_0x2c7695[_0x3056('0x32')]=_[_0x3056('0x33')](_0x395f2c[_0x2c7695['id']],function(_0x5d9f05){return{'id':_0x5d9f05['id'],'fullname':_0x5d9f05[_0x3056('0x34')]};});}}catch(_0x34793a){_0x9fae98(_0x34793a);}_0x535d02(_0x2c7695);});}function getInteractionTags(_0x5e5169,_0x1d425a){return new BPromise(function(_0x1a29f4,_0x349057){try{if(_0x5e5169['TagIds']){_0x5e5169[_0x3056('0x35')]=[];_0x5e5169[_0x3056('0x36')][_0x3056('0x37')](',')['forEach'](function(_0x5389a6){_0x5e5169[_0x3056('0x35')]['push'](_0x1d425a[_0x5389a6]);});}delete _0x5e5169[_0x3056('0x36')];}catch(_0x3b4b00){_0x349057(_0x3b4b00);}_0x1a29f4(_0x5e5169);});}function updateSmsInteraction(_0x12fa15,_0x5d5698,_0x188d9c){return new BPromise(function(_0x235737,_0x247e06){return getInteractionUsers(_0x12fa15,_0x188d9c)['then'](function(_0x3e729b){return getInteractionTags(_0x3e729b,_0x5d5698);})['then'](function(_0x1beed9){_0x235737(_0x1beed9);})['catch'](function(_0x1ab607){_0x247e06(_0x1ab607);});});}exports[_0x3056('0x38')]=function(_0x1de566,_0x45acbe){var _0x1738cf={},_0x573330={},_0xea96be={'count':0x0,'rows':[]};var _0xbcd7b9=_[_0x3056('0x33')](db['SmsInteraction']['rawAttributes'],function(_0x419196){return{'name':_0x419196[_0x3056('0x39')],'type':_0x419196['type']['key']};});_0x573330[_0x3056('0x3a')]=_[_0x3056('0x33')](_0xbcd7b9,'name');_0x573330[_0x3056('0x3b')]=_[_0x3056('0x3c')](_0x1de566[_0x3056('0x3b')]);_0x573330['filters']=_[_0x3056('0x3d')](_0x573330['model'],_0x573330[_0x3056('0x3b')]);_0x1738cf[_0x3056('0x3e')]=_[_0x3056('0x3d')](_0x573330[_0x3056('0x3a')],qs[_0x3056('0x3f')](_0x1de566[_0x3056('0x3b')][_0x3056('0x3f')]));_0x1738cf[_0x3056('0x3e')]=_0x1738cf[_0x3056('0x3e')][_0x3056('0x40')]?_0x1738cf[_0x3056('0x3e')]:_0x573330[_0x3056('0x3a')];if(!_0x1de566[_0x3056('0x3b')][_0x3056('0x41')]('nolimit')){_0x1738cf[_0x3056('0x25')]=qs[_0x3056('0x25')](_0x1de566[_0x3056('0x3b')]['limit']);_0x1738cf[_0x3056('0x22')]=qs[_0x3056('0x22')](_0x1de566[_0x3056('0x3b')][_0x3056('0x22')]);}_0x1738cf[_0x3056('0x42')]=qs[_0x3056('0x43')](_0x1de566['query'][_0x3056('0x43')]);_0x1738cf[_0x3056('0x44')]=qs['filters'](_[_0x3056('0x45')](_0x1de566[_0x3056('0x3b')],_0x573330[_0x3056('0x46')]),_0xbcd7b9);var _0x1dad2e=[];var _0x337508=squel[_0x3056('0x47')]()[_0x3056('0x48')]('id')[_0x3056('0x48')](_0x3056('0x30'))['field']('color')[_0x3056('0x49')]('tools_tags');var _0x448382=squel[_0x3056('0x47')]()['field'](_0x3056('0x4a'))[_0x3056('0x48')](_0x3056('0x4b'))[_0x3056('0x48')](_0x3056('0x4c'))[_0x3056('0x49')](_0x3056('0x4d'),'ui')[_0x3056('0x4e')](_0x3056('0x4f'),'u','u.id\x20=\x20ui.UserId');var _0xd81e59=squel['select']()[_0x3056('0x49')]('sms_interactions','i')['left_join'](_0x3056('0x50'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join'](_0x3056('0x4f'),'o',_0x3056('0x51'))[_0x3056('0x4e')](_0x3056('0x52'),'a',_0x3056('0x53'))[_0x3056('0x4e')](_0x3056('0x54'),'me','me.SmsInteractionId\x20=\x20i.id')[_0x3056('0x4e')]('sms_interaction_has_tags','it','it.SmsInteractionId\x20=\x20i.id')[_0x3056('0x4e')]('tools_tags','t',_0x3056('0x55'));var _0x3d3bff=squel[_0x3056('0x56')]();var _0x40b2d6=[];var _0x1d2087=squel[_0x3056('0x56')]();var _0x3002b2;if(_0x1de566['query'][_0x3056('0x57')]){_0x3002b2=as[_0x3056('0x58')](_0x1de566['query'][_0x3056('0x57')]);var _0x351493=_0x3002b2[_0x3056('0x59')];for(var _0x1f24b0=0x0;_0x1f24b0<_0x3002b2[_0x3056('0x5a')][_0x3056('0x40')];_0x1f24b0++){var _0x28cb4e=_0x3002b2[_0x3056('0x5a')][_0x1f24b0];var _0xa20575='i';var _0x36b029=_[_0x3056('0x5b')](_0xbcd7b9,[_0x3056('0x30'),_0x28cb4e[_0x3056('0x48')]]);if(!_0x36b029){switch(_0x28cb4e[_0x3056('0x48')]){case _0x3056('0x5c'):if(_0x28cb4e[_0x3056('0x5d')]==0x1){_0xd81e59['having']('`'+_0x28cb4e[_0x3056('0x48')]+_0x3056('0x5e'));}else{_0xd81e59[_0x3056('0x5f')]('`'+_0x28cb4e[_0x3056('0x48')]+_0x3056('0x60'));}break;case _0x3056('0x61'):if(_0x28cb4e[_0x3056('0x62')]===_0x3056('0x63')){if(_0x28cb4e[_0x3056('0x5d')][_0x3056('0x37')]('\x20')['length']>0x1){_0x3d3bff[_0x351493](_0x3056('0x64'),qs[_0x3056('0x65')](_0x28cb4e[_0x3056('0x5d')]),null);}else{var _0x2688a7='%'+_0x28cb4e[_0x3056('0x5d')]+'%';_0x3d3bff[_0x351493](_0x3056('0x66'),_0x2688a7,_0x2688a7,_0x2688a7);}}else{_0x36b029=_[_0x3056('0x5b')](_0xbcd7b9,['name',_0x3056('0x67')]);_0x28cb4e['field']=_0x3056('0x67');_0x52bdf4=as[_0x3056('0x68')](_0xa20575,_0x36b029[_0x3056('0x69')],_0x28cb4e);_0x3d3bff[_0x351493](_0x52bdf4[_0x3056('0x6a')],_0x52bdf4[_0x3056('0x5d')][_0x3056('0x6b')],_0x52bdf4[_0x3056('0x5d')][_0x3056('0x20')]);}break;case'Tag':var _0x411fcf=_0x28cb4e['value'][_0x3056('0x37')](',')[_0x3056('0x33')](function(_0x4696d1){return Number(_0x4696d1);});_0x411fcf[_0x3056('0x6c')](function(_0x3eea28){_0x1d2087['or'](_0x3056('0x6d'),'%,'+_0x3eea28+',%');});_0x40b2d6=_['union'](_0x40b2d6,_0x411fcf);break;case _0x3056('0x6e'):if(_0x28cb4e[_0x3056('0x62')]===_0x3056('0x63')){_0x3d3bff[_0x351493](_0x3056('0x6f'),'%'+_0x28cb4e[_0x3056('0x5d')]+'%',null);}else{_0x36b029=_[_0x3056('0x5b')](_0xbcd7b9,[_0x3056('0x30'),_0x3056('0x70')]);_0x28cb4e[_0x3056('0x48')]=_0x3056('0x70');_0x52bdf4=as['buildExpression'](_0xa20575,_0x36b029[_0x3056('0x69')],_0x28cb4e);_0x3d3bff[_0x351493](_0x52bdf4['text'],_0x52bdf4[_0x3056('0x5d')]['start'],_0x52bdf4['value'][_0x3056('0x20')]);}break;case _0x3056('0x71'):_0x52bdf4=as[_0x3056('0x68')]('me',null,_0x28cb4e);_0x3d3bff[_0x351493](_0x52bdf4[_0x3056('0x6a')],_0x52bdf4[_0x3056('0x5d')]['start'],_0x52bdf4['value'][_0x3056('0x20')]);break;}}else{var _0x52bdf4=as[_0x3056('0x68')](_0xa20575,_0x36b029['type'],_0x28cb4e);_0x3d3bff[_0x351493](_0x52bdf4[_0x3056('0x6a')],_0x52bdf4[_0x3056('0x5d')][_0x3056('0x6b')],_0x52bdf4[_0x3056('0x5d')][_0x3056('0x20')]);}}}else{var _0x5ce144=_(_0x1de566[_0x3056('0x3b')])[_0x3056('0x3c')]()[_0x3056('0x33')](function(_0x36822e){return _[_0x3056('0x72')](_0xbcd7b9,[_0x3056('0x30'),_0x36822e])?_0x36822e:undefined;})[_0x3056('0x73')]()['value']();if(!_[_0x3056('0x74')](_0x5ce144)){_0x5ce144[_0x3056('0x6c')](function(_0xe3510f){if(_0xe3510f===_0x3056('0x75')){_0xd81e59['where'](_0x3056('0x76'),[]['concat'](_0x1de566[_0x3056('0x3b')][_0xe3510f]));}else if(_0xe3510f===_0x3056('0x77')){var _0x274d11=JSON[_0x3056('0x78')](_0x1de566[_0x3056('0x3b')][_0xe3510f])[_0x3056('0x79')];var _0x2ecbd7=JSON[_0x3056('0x78')](_0x1de566[_0x3056('0x3b')][_0xe3510f])[_0x3056('0x7a')];_0xd81e59[_0x3056('0x44')](_0x3056('0x7b'),_0x274d11,_0x2ecbd7);}else{if(_0x1de566[_0x3056('0x3b')][_0xe3510f]===_0x3056('0x7c')){_0xd81e59['where']('i.'+_0xe3510f+_0x3056('0x7d'));}else{_0xd81e59[_0x3056('0x44')]('i.'+_0xe3510f+_0x3056('0x7e'),_0x1de566[_0x3056('0x3b')][_0xe3510f]);}}});}if(_0x1de566[_0x3056('0x3b')]['read']){if(_0x1de566[_0x3056('0x3b')][_0x3056('0x7f')]==0x1){_0xd81e59[_0x3056('0x5f')](_0x3056('0x80'));}else{_0xd81e59[_0x3056('0x5f')](_0x3056('0x81'));}}if(_0x1de566[_0x3056('0x3b')]['tag']){_0x40b2d6=_[_0x3056('0x82')](_0x1de566[_0x3056('0x3b')]['tag'])?_0x1de566[_0x3056('0x3b')][_0x3056('0x83')]:new Array(_0x1de566['query'][_0x3056('0x83')]);_0x40b2d6['forEach'](function(_0x41761c){_0x1d2087['or'](_0x3056('0x6d'),'%,'+_0x41761c+',%');});}if(_0x1de566[_0x3056('0x3b')][_0x3056('0x84')]){var _0x159769=_0x1de566[_0x3056('0x3b')][_0x3056('0x84')][_0x3056('0x85')]('\x5c','\x5c\x5c')[_0x3056('0x85')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x159769)){_0x3d3bff['or'](_0x3056('0x86'),_0x159769+'%')['or'](_0x3056('0x87'),_0x159769+'%');}else{_0x3d3bff['or'](_0x3056('0x88'),qs[_0x3056('0x65')](_0x159769))['or'](_0x3056('0x89'),_0x159769+'%');}}}_0xd81e59['where'](_0x3d3bff);_0xd81e59[_0x3056('0x8a')]('i.id');var _0x284d17={'type':db[_0x3056('0x8b')][_0x3056('0x8c')][_0x3056('0x8d')],'raw':!![]};var _0x444a4d=_0xd81e59[_0x3056('0x8e')]();_0x444a4d['field']('i.id');_0x444a4d[_0x3056('0x48')](_0x3056('0x8f'),_0x3056('0x5c'));if(_0x1738cf[_0x3056('0x42')]){_0x1738cf[_0x3056('0x42')][_0x3056('0x6c')](function(_0xcbc17b){var _0x358781=_0xcbc17b[0x0]===_0x3056('0x90')?_0xcbc17b[0x0]:'i.'+_0xcbc17b[0x0];_0xd81e59[_0x3056('0x42')](_0x358781,_0xcbc17b[0x1]===_0x3056('0x91')?![]:!![]);});}if(!_[_0x3056('0x74')](_0x40b2d6)){_0xd81e59[_0x3056('0x5f')](_0x1d2087);_0x444a4d[_0x3056('0x44')](_0x3056('0x92'),_0x40b2d6);}BPromise[_0x3056('0x93')]()[_0x3056('0x2b')](function(){if(!_0x3002b2){if(_0x1de566[_0x3056('0x3b')][_0x3056('0x75')])return;_0x444a4d[_0x3056('0x44')](_0x3056('0x94'));_0xd81e59[_0x3056('0x44')](_0x3056('0x94'));return;}if(_0x1de566[_0x3056('0x95')][_0x3056('0x96')]!==_0x3056('0x97'))return;return _0x1de566[_0x3056('0x95')]['getSmsAccounts']({'attributes':['id'],'raw':!![]})[_0x3056('0x2b')](function(_0x498e17){if(_[_0x3056('0x74')](_0x498e17)){_0x444a4d[_0x3056('0x44')](_0x3056('0x98'));_0xd81e59[_0x3056('0x44')]('i.SmsAccountId\x20IS\x20NULL');}else{_0x444a4d[_0x3056('0x44')]('i.SmsAccountId\x20IN\x20?',_['map'](_0x498e17,'id'));_0xd81e59[_0x3056('0x44')](_0x3056('0x76'),_['map'](_0x498e17,'id'));}});})[_0x3056('0x2b')](function(){if(_0x1de566[_0x3056('0x95')][_0x3056('0x96')]===_0x3056('0x97')&&!_0x3002b2&&!_0x1de566[_0x3056('0x3b')][_0x3056('0x75')])return[];return db[_0x3056('0x99')][_0x3056('0x3b')](_0x444a4d['toString'](),_0x284d17);})['then'](function(_0x189d4e){_0xea96be[_0x3056('0x24')]=_0x189d4e[_0x3056('0x40')];if(_0xea96be[_0x3056('0x24')]===0x0)return[];return db[_0x3056('0x99')][_0x3056('0x3b')](_0x337508[_0x3056('0x9a')](),_0x284d17)[_0x3056('0x2b')](function(_0x4ab245){_0x1dad2e=_[_0x3056('0x9b')](_0x4ab245,'id');_0x284d17=_['merge'](_0x284d17,{'model':db[_0x3056('0x9c')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1de566['query'][_0x3056('0x3f')]){_0x1738cf['attributes'][_0x3056('0x6c')](function(_0x1b2a5d){_0xd81e59['field']('i.'+_0x1b2a5d);});}else{_0xd81e59['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x3056('0x5c'));_0xd81e59['field'](_0x3056('0x9d'),_0x3056('0x9e'));_0xd81e59[_0x3056('0x48')]('a.mandatoryDisposition',_0x3056('0x9f'));_0xd81e59[_0x3056('0x48')](_0x3056('0xa0'),'contactName');_0xd81e59[_0x3056('0x48')](_0x3056('0xa1'));_0xd81e59[_0x3056('0x48')](_0x3056('0xa2'),_0x3056('0xa3'));_0xd81e59['field'](_0x3056('0xa4'),_0x3056('0xa5'));_0xd81e59[_0x3056('0x48')](_0x3056('0xa6'),_0x3056('0xa7'));_0xd81e59[_0x3056('0x48')]('c.phone',_0x3056('0xa8'));_0xd81e59[_0x3056('0x48')]('c.mobile',_0x3056('0xa9'));_0xd81e59[_0x3056('0x48')](_0x3056('0xaa'),_0x3056('0xab'));_0xd81e59['field'](_0x3056('0xac'),_0x3056('0xad'));_0xd81e59['field']('o.internal',_0x3056('0xae'));_0xd81e59['field'](_0x3056('0xaf'),'TagIds');}if(_0x1738cf[_0x3056('0x25')])_0xd81e59[_0x3056('0x25')](_0x1738cf['limit']);if(_0x1738cf[_0x3056('0x22')])_0xd81e59[_0x3056('0x22')](_0x1738cf[_0x3056('0x22')]);return db[_0x3056('0x99')][_0x3056('0x3b')](_0xd81e59[_0x3056('0x9a')](),_0x284d17);})[_0x3056('0x2b')](function(_0x3f0494){if(_0x3f0494[_0x3056('0x40')]>0x0)_0x448382[_0x3056('0x44')](_0x3056('0xb0'),_[_0x3056('0x33')](_0x3f0494,'id'));return db[_0x3056('0x99')][_0x3056('0x3b')](_0x448382[_0x3056('0x9a')](),_0x284d17)[_0x3056('0x2b')](function(_0x485eab){var _0x26c724=_[_0x3056('0xb1')](_0x485eab,_0x3056('0xb2'));var _0x52ceda=[];_0x3f0494[_0x3056('0x6c')](function(_0x415d89){_0x52ceda[_0x3056('0xb3')](updateSmsInteraction(_0x415d89,_0x1dad2e,_0x26c724));});return BPromise[_0x3056('0xb4')](_0x52ceda);});});})['then'](function(_0x3dccc0){_0xea96be['rows']=_0x3dccc0;return _0xea96be;})[_0x3056('0x2b')](respondWithFilteredResult(_0x45acbe,_0x1738cf))[_0x3056('0xb5')](handleError(_0x45acbe,null));};exports['show']=function(_0x539404,_0x205300){var _0x3b5dfa={'raw':![],'where':{'id':_0x539404[_0x3056('0xb6')]['id']}},_0x7cb79a={};_0x7cb79a[_0x3056('0x3a')]=_[_0x3056('0x3c')](db[_0x3056('0x9c')][_0x3056('0xb7')]);_0x7cb79a[_0x3056('0x3b')]=_[_0x3056('0x3c')](_0x539404[_0x3056('0x3b')]);_0x7cb79a['filters']=_['intersection'](_0x7cb79a['model'],_0x7cb79a[_0x3056('0x3b')]);_0x3b5dfa['attributes']=_['intersection'](_0x7cb79a[_0x3056('0x3a')],qs[_0x3056('0x3f')](_0x539404[_0x3056('0x3b')][_0x3056('0x3f')]));_0x3b5dfa[_0x3056('0x3e')]=_0x3b5dfa['attributes'][_0x3056('0x40')]?_0x3b5dfa[_0x3056('0x3e')]:_0x7cb79a[_0x3056('0x3a')];if(_0x539404['query'][_0x3056('0xb8')]){_0x3b5dfa['include']=[{'all':!![]}];}_0x3b5dfa=_['merge']({},_0x3b5dfa,_0x539404[_0x3056('0xb9')]);return db[_0x3056('0x9c')][_0x3056('0x5b')](_0x3b5dfa)['then'](handleEntityNotFound(_0x205300,null))['then'](respondWithResult(_0x205300,null))[_0x3056('0xb5')](handleError(_0x205300,null));};exports['create']=function(_0x467756,_0x5e53ef){return db[_0x3056('0x9c')]['create'](_0x467756[_0x3056('0x71')],{})[_0x3056('0x2b')](respondWithResult(_0x5e53ef,0xc9))[_0x3056('0xb5')](handleError(_0x5e53ef,null));};exports[_0x3056('0xba')]=function(_0x9a5bc6,_0x3e1917){if(_0x9a5bc6[_0x3056('0x71')]['id']){delete _0x9a5bc6[_0x3056('0x71')]['id'];}return db['SmsInteraction'][_0x3056('0x5b')]({'where':{'id':_0x9a5bc6[_0x3056('0xb6')]['id']}})[_0x3056('0x2b')](handleEntityNotFound(_0x3e1917,null))[_0x3056('0x2b')](saveUpdates(_0x9a5bc6[_0x3056('0x71')],null))['then'](respondWithResult(_0x3e1917,null))[_0x3056('0xb5')](handleError(_0x3e1917,null));};exports['destroy']=function(_0x10aba6,_0x4cef1b){return db[_0x3056('0x9c')][_0x3056('0x5b')]({'where':{'id':_0x10aba6[_0x3056('0xb6')]['id']}})[_0x3056('0x2b')](handleEntityNotFound(_0x4cef1b,null))[_0x3056('0x2b')](removeEntity(_0x4cef1b,null))[_0x3056('0xb5')](handleError(_0x4cef1b,null));};exports[_0x3056('0xbb')]=function(_0x4b988d,_0x1ef067){return db['SmsInteraction']['describe']()[_0x3056('0x2b')](respondWithResult(_0x1ef067,null))[_0x3056('0xb5')](handleError(_0x1ef067,null));};exports['addMessage']=function(_0x37ec6e,_0x427323,_0x1334c4){return db[_0x3056('0xbc')][_0x3056('0x5b')]({'where':{'id':_0x37ec6e[_0x3056('0xb6')]['id']}})['then'](handleEntityNotFound(_0x427323,null))[_0x3056('0x2b')](function(_0x26eafd){if(_0x26eafd){return _0x26eafd[_0x3056('0xbd')](_0x37ec6e[_0x3056('0x71')][_0x3056('0xbe')],_[_0x3056('0xbf')](_0x37ec6e[_0x3056('0x71')],['ids','id'])||{});}})[_0x3056('0x2b')](respondWithResult(_0x427323,null))[_0x3056('0xb5')](handleError(_0x427323,null));};exports[_0x3056('0xc0')]=function(_0x3c49fe,_0x39e019,_0x586224){var _0x3f52f9={'raw':![],'where':{}};var _0x317e86={};var _0x4d16f3={'count':0x0,'rows':[]};return db[_0x3056('0x9c')][_0x3056('0xc1')]({'where':{'id':_0x3c49fe[_0x3056('0xb6')]['id']}})['then'](handleEntityNotFound(_0x39e019,null))[_0x3056('0x2b')](function(_0x4858df){if(_0x4858df){_0x317e86[_0x3056('0x3a')]=_[_0x3056('0x3c')](db[_0x3056('0xbc')][_0x3056('0xb7')]);_0x317e86[_0x3056('0x3b')]=_[_0x3056('0x3c')](_0x3c49fe['query']);_0x317e86[_0x3056('0x46')]=_[_0x3056('0x3d')](_0x317e86[_0x3056('0x3a')],_0x317e86[_0x3056('0x3b')]);_0x3f52f9[_0x3056('0x3e')]=_[_0x3056('0x3d')](_0x317e86[_0x3056('0x3a')],qs[_0x3056('0x3f')](_0x3c49fe['query'][_0x3056('0x3f')]));_0x3f52f9[_0x3056('0x3e')]=_0x3f52f9[_0x3056('0x3e')][_0x3056('0x40')]?_0x3f52f9['attributes']:_0x317e86['model'];if(!_0x3c49fe[_0x3056('0x3b')][_0x3056('0x41')](_0x3056('0xc2'))){_0x3f52f9[_0x3056('0x25')]=qs[_0x3056('0x25')](_0x3c49fe[_0x3056('0x3b')][_0x3056('0x25')]);_0x3f52f9[_0x3056('0x22')]=qs[_0x3056('0x22')](_0x3c49fe[_0x3056('0x3b')][_0x3056('0x22')]);}_0x3f52f9[_0x3056('0x42')]=qs[_0x3056('0x43')](_0x3c49fe[_0x3056('0x3b')][_0x3056('0x43')]);_0x3f52f9['where']=qs[_0x3056('0x46')](_[_0x3056('0x45')](_0x3c49fe[_0x3056('0x3b')],_0x317e86[_0x3056('0x46')]));_0x3f52f9[_0x3056('0x44')][_0x3056('0xb2')]=_0x4858df['id'];if(_0x3c49fe['query'][_0x3056('0x84')]){_0x3f52f9[_0x3056('0x44')]=_[_0x3056('0xc3')](_0x3f52f9['where'],{'$or':_[_0x3056('0x33')](_0x3f52f9[_0x3056('0x3e')],function(_0x406a75){var _0x147479={};_0x147479[_0x406a75]={'$like':'%'+_0x3c49fe[_0x3056('0x3b')][_0x3056('0x84')]+'%'};return _0x147479;})});}if(_0x3c49fe[_0x3056('0x3b')][_0x3056('0x79')]){var _0x281b4b=_0x3c49fe['query'][_0x3056('0x79')]['split'](',');var _0x7cf65f={};_0x7cf65f[_0x281b4b[0x0]]={'$gte':moment(_0x281b4b[0x1])[_0x3056('0xc4')]('YYYY-MM-DD\x20HH:mm:ss')};_0x3f52f9[_0x3056('0x44')]=_[_0x3056('0xc3')](_0x3f52f9[_0x3056('0x44')],_0x7cf65f);}_0x3f52f9=_[_0x3056('0xc3')]({},_0x3f52f9,_0x3c49fe[_0x3056('0xb9')]);return db['SmsMessage'][_0x3056('0x24')]({'where':_0x3f52f9[_0x3056('0x44')]})['then'](function(_0x20ee05){_0x4d16f3[_0x3056('0x24')]=_0x20ee05;if(_0x3c49fe['query'][_0x3056('0xb8')]){_0x3f52f9['include']=[{'all':!![]}];}return db[_0x3056('0xbc')][_0x3056('0xc5')](_0x3f52f9);})[_0x3056('0x2b')](function(_0x3c5473){_0x4d16f3[_0x3056('0xc6')]=_0x3c5473;return _0x4d16f3;});}})[_0x3056('0x2b')](respondWithFilteredResult(_0x39e019,_0x3f52f9))[_0x3056('0xb5')](handleError(_0x39e019,null));};exports[_0x3056('0xc7')]=function(_0x580c7a,_0x5d9d8b,_0x49e078){return db[_0x3056('0x9c')]['find']({'where':{'id':_0x580c7a[_0x3056('0xb6')]['id']}})['then'](handleEntityNotFound(_0x5d9d8b,null))[_0x3056('0x2b')](function(_0x419678){if(_0x419678){return _0x419678['setTags'](_0x580c7a[_0x3056('0x71')][_0x3056('0xbe')],_[_0x3056('0xbf')](_0x580c7a[_0x3056('0x71')],[_0x3056('0xbe'),'id'])||{})[_0x3056('0xc8')](function(){return db['Tag'][_0x3056('0xc5')]({'attributes':['id',_0x3056('0x30'),_0x3056('0xc9')],'where':{'id':_0x580c7a['body'][_0x3056('0xbe')]}});})[_0x3056('0x2b')](function(_0xd45b43){socket[_0x3056('0xca')](_0x3056('0xcb'),{'id':Number(_0x580c7a[_0x3056('0xb6')]['id']),'tags':_0xd45b43||[]});return{'id':Number(_0x580c7a[_0x3056('0xb6')]['id']),'tags':_0xd45b43||[]};});}})[_0x3056('0x2b')](respondWithResult(_0x5d9d8b,null))[_0x3056('0xb5')](handleError(_0x5d9d8b,null));};exports[_0x3056('0xcc')]=function(_0x3b5a2b,_0x5df872,_0x1bdba2){return db[_0x3056('0x9c')]['find']({'where':{'id':_0x3b5a2b[_0x3056('0xb6')]['id']}})[_0x3056('0x2b')](handleEntityNotFound(_0x5df872,null))[_0x3056('0x2b')](function(_0xc6ff23){if(_0xc6ff23){return _0xc6ff23['removeTags'](_0x3b5a2b[_0x3056('0x3b')][_0x3056('0xbe')]);}})['then'](respondWithStatusCode(_0x5df872,null))['catch'](handleError(_0x5df872,null));};exports[_0x3056('0xcd')]=function(_0x289b24,_0x35c801){var _0x3b048c=moment()['unix']()[_0x3056('0x9a')]();var _0x252c27=path[_0x3056('0xce')](config[_0x3056('0xcf')],_0x3056('0xd0'),'files',_0x3056('0xd1'));var _0x1f286a=path[_0x3056('0xce')](config[_0x3056('0xcf')],_0x3056('0xd0'),_0x3056('0xd2'),'attachments');var _0x1ee4a0=path[_0x3056('0xce')](_0x252c27,_0x3b048c);var _0x9ef3d1=util[_0x3056('0xc4')](_0x3056('0xd3'),_0x289b24[_0x3056('0xb6')]['id'],_0x3b048c);var _0x4be00f=path['join'](_0x252c27,_0x9ef3d1);var _0x3ecfa5=[];_0x3ecfa5[_0x3056('0xb3')]({'model':db[_0x3056('0x6e')],'as':'User','attributes':['id','fullname'],'raw':!![]});_0x3ecfa5['push']({'model':db[_0x3056('0xd4')],'as':_0x3056('0x61'),'attributes':['id',_0x3056('0xd5'),_0x3056('0xd6')],'raw':!![]});var _0xdc8d62=[{'model':db['SmsMessage'],'as':'Messages','attributes':['id','body',_0x3056('0x77'),_0x3056('0xd7'),'secret',_0x3056('0x7f')],'include':_0x3ecfa5}];_0xdc8d62['push']({'model':db[_0x3056('0xd8')],'as':'Account','attributes':['id',_0x3056('0x30')]});_0xdc8d62['push']({'model':db['User'],'as':_0x3056('0xd9'),'attributes':['id','fullname']});return db[_0x3056('0x9c')][_0x3056('0x5b')]({'where':{'id':_0x289b24[_0x3056('0xb6')]['id']},'include':_0xdc8d62})[_0x3056('0x2b')](handleEntityNotFound(_0x35c801,null))['then'](function(_0xf35953){if(_0xf35953){var _0x50bf8a=_0xf35953[_0x3056('0xda')]({'plain':!![]});fs['mkdirSync'](_0x1ee4a0);var _0x937703={'channel':_0x3056('0xdb'),'account':_0x50bf8a[_0x3056('0xdc')][_0x3056('0x30')],'agent':_0x50bf8a[_0x3056('0xd9')]?_0x50bf8a[_0x3056('0xd9')][_0x3056('0x34')]:'N.A.','createdAt':moment(_0x50bf8a['createdAt'])[_0x3056('0xc4')](_0x3056('0xdd'))['toString'](),'closedAt':_0x50bf8a['closed']?moment(_0x50bf8a[_0x3056('0xde')])[_0x3056('0xc4')]('YYYY-MM-DD\x20HH:mm:ss')[_0x3056('0x9a')]():'','disposition':_0x50bf8a['disposition'],'messages':_(_0x50bf8a['Messages'])[_0x3056('0x84')]({'secret':![]})['map'](function(_0x547cc0){return{'date':moment(_0x547cc0[_0x3056('0x77')])[_0x3056('0xc4')](_0x3056('0xdd'))[_0x3056('0x9a')](),'sender':_0x547cc0['direction']===_0x3056('0xdf')?_0x547cc0[_0x3056('0x6e')]?_0x547cc0[_0x3056('0x6e')][_0x3056('0x34')]:_0x3056('0xe0'):_0x547cc0[_0x3056('0x61')][_0x3056('0xd5')]+(_0x547cc0[_0x3056('0x61')][_0x3056('0xd6')]?'\x20'+_0x547cc0['Contact'][_0x3056('0xd6')]:''),'body':_0x547cc0[_0x3056('0x71')],'direction':_0x547cc0[_0x3056('0xd7')]===_0x3056('0xdf')?'A':'C','secret':_0x547cc0[_0x3056('0xe1')],'read':_0x547cc0[_0x3056('0x7f')]};})[_0x3056('0x5d')]()};return ejs[_0x3056('0xe2')](path[_0x3056('0xce')](config['root'],_0x3056('0xd0'),_0x3056('0xe3'),'downloadInteraction.ejs'),{'interaction':_0x937703})[_0x3056('0x2b')](function(_0x5b39d3){var _0x2f4fe9=path['join'](_0x1ee4a0,'transcript-'+_0x50bf8a['id']+'-'+_0x3b048c+'.pdf');var _0x1b811f={'path':_0x2f4fe9,'channel':_0x3056('0xdb'),'interactionId':_0x50bf8a['id']};return pdf['createPdfFromHTML'](_0x5b39d3,_0x1b811f);})[_0x3056('0x2b')](function(){return new BPromise(function(_0x5489f8,_0x556f05){zipdir(_0x1ee4a0,{'saveTo':_0x4be00f},function(_0x52d570,_0x7c65b1){if(_0x52d570)return _0x556f05(_0x52d570);return _0x5489f8(_0x7c65b1);});})[_0x3056('0x2b')](function(){return new BPromise(function(_0x49a71c,_0x733508){rimraf(_0x1ee4a0,function(_0x5e9d8a){if(_0x5e9d8a)_0x733508(_0x5e9d8a);return _0x49a71c();});});})[_0x3056('0x2b')](function(){return _0x35c801[_0x3056('0xcd')](_0x4be00f,_0x9ef3d1,function(_0x2e215f){if(_0x2e215f){console['log'](_0x3056('0xe4'),_0x2e215f);}else{fs[_0x3056('0xe5')](_0x4be00f);}});});});}else{return _0x35c801[_0x3056('0x2d')](0xc8);}})[_0x3056('0xb5')](handleError(_0x35c801,null));};