63be49b46a1f9e822a8ba8e923b287d2ef631b23
[motion2.git] / server / api / whatsappInteraction / whatsappInteraction.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 _0xe2ab=['end','json','offset','undefined','count','limit','set','reject','save','then','destroy','error','stack','name','send','Users','fullname','split','forEach','Tags','catch','waiting','answered','total','closed','UserId','talking','unmanaged','index','map','WhatsappInteraction','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','select','field','color','tools_tags','u.fullname','ui.WhatsappInteractionId','left_join','users','u.id\x20=\x20ui.UserId','from','o.id\x20=\x20i.UserId','whatsapp_accounts','whatsapp_messages','me.WhatsappInteractionId\x20=\x20i.id','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','ContactId','buildExpression','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','start','body','some','compact','isEmpty','WhatsappAccountId','concat','parse','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','isNumeric','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','t.id\x20IN\x20?','role','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','i.WhatsappAccountId\x20IN\x20?','user','agent','toString','sequelize','keyBy','merge','a.key','a.mandatoryDisposition','i.*','c.firstName','Contact.firstName','Contact.lastName','Contact.email','Contact.phone','c.mobile','Contact.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','groupBy','WhatsappInteractionId','push','all','rows','includeAll','include','options','create','update','params','describe','addMessage','ids','getMessages','findOne','WhatsappMessage','rawAttributes','$gte','format','findAll','omit','spread','whatsappInteractionTags:save','removeTags','join','server','files','tmp','root','attachments','transcript-%d-%s.zip','User','firstName','lastName','Attachment','Messages','direction','secret','Account','Whatsapp','Owner','N.A.','createdAt','YYYY-MM-DD\x20HH:mm:ss','basename','existsSync','createReadStream','out','renderFile','views','transcript-','.pdf','createPdfFromHTML','download','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./whatsappInteraction.socket','sendStatus','status'];(function(_0x491835,_0x10d703){var _0x4f1135=function(_0x5316fa){while(--_0x5316fa){_0x491835['push'](_0x491835['shift']());}};_0x4f1135(++_0x10d703);}(_0xe2ab,0xc4));var _0xbe2a=function(_0x4dec3b,_0x1acb3d){_0x4dec3b=_0x4dec3b-0x0;var _0x76fe18=_0xe2ab[_0x4dec3b];return _0x76fe18;};'use strict';var emlformat=require(_0xbe2a('0x0'));var rimraf=require(_0xbe2a('0x1'));var zipdir=require(_0xbe2a('0x2'));var jsonpatch=require(_0xbe2a('0x3'));var rp=require(_0xbe2a('0x4'));var moment=require(_0xbe2a('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xbe2a('0x6'));var util=require(_0xbe2a('0x7'));var path=require(_0xbe2a('0x8'));var sox=require(_0xbe2a('0x9'));var csv=require('to-csv');var ejs=require(_0xbe2a('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xbe2a('0xb'));var squel=require('squel');var crypto=require(_0xbe2a('0xc'));var jsforce=require(_0xbe2a('0xd'));var deskjs=require(_0xbe2a('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xbe2a('0xf'));var Redis=require(_0xbe2a('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xbe2a('0x11'));var as=require(_0xbe2a('0x12'));var pdf=require(_0xbe2a('0x13'));var hardwareService=require(_0xbe2a('0x14'));var logger=require(_0xbe2a('0x15'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xbe2a('0x16'));var db=require(_0xbe2a('0x17'))['db'];config[_0xbe2a('0x18')]=_[_0xbe2a('0x19')](config[_0xbe2a('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0xbe2a('0x1a'))(new Redis(config[_0xbe2a('0x18')]));require(_0xbe2a('0x1b'))['register'](socket);function respondWithStatusCode(_0xa1e295,_0x1ab20f){_0x1ab20f=_0x1ab20f||0xcc;return function(_0x1d3b1b){if(_0x1d3b1b){return _0xa1e295[_0xbe2a('0x1c')](_0x1ab20f);}return _0xa1e295[_0xbe2a('0x1d')](_0x1ab20f)[_0xbe2a('0x1e')]();};}function respondWithResult(_0x14dd38,_0x41ec39){_0x41ec39=_0x41ec39||0xc8;return function(_0x4395fe){if(_0x4395fe){return _0x14dd38['status'](_0x41ec39)[_0xbe2a('0x1f')](_0x4395fe);}};}function respondWithFilteredResult(_0x1877f3,_0x39117c){return function(_0x330274){if(_0x330274){var _0x54e6fb=typeof _0x39117c[_0xbe2a('0x20')]===_0xbe2a('0x21')&&typeof _0x39117c['limit']==='undefined';var _0x8a6d25=_0x330274['count'];var _0x4216bc=_0x54e6fb?0x0:_0x39117c[_0xbe2a('0x20')];var _0x4bcff3=_0x54e6fb?_0x330274[_0xbe2a('0x22')]:_0x39117c['offset']+_0x39117c[_0xbe2a('0x23')];var _0x230532;if(_0x4bcff3>=_0x8a6d25){_0x4bcff3=_0x8a6d25;_0x230532=0xc8;}else{_0x230532=0xce;}_0x1877f3[_0xbe2a('0x1d')](_0x230532);return _0x1877f3[_0xbe2a('0x24')]('Content-Range',_0x4216bc+'-'+_0x4bcff3+'/'+_0x8a6d25)[_0xbe2a('0x1f')](_0x330274);}return null;};}function patchUpdates(_0x34f08f){return function(_0x28fdc7){try{jsonpatch['apply'](_0x28fdc7,_0x34f08f,!![]);}catch(_0x42c358){return BPromise[_0xbe2a('0x25')](_0x42c358);}return _0x28fdc7[_0xbe2a('0x26')]();};}function saveUpdates(_0x19d483,_0x1c8648){return function(_0x570333){if(_0x570333){return _0x570333['update'](_0x19d483)[_0xbe2a('0x27')](function(_0x154416){return _0x154416;});}return null;};}function removeEntity(_0x353434,_0x291d3a){return function(_0x5cc045){if(_0x5cc045){return _0x5cc045[_0xbe2a('0x28')]()['then'](function(){_0x353434[_0xbe2a('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x22d4bc,_0x488baa){return function(_0x13df3b){if(!_0x13df3b){_0x22d4bc[_0xbe2a('0x1c')](0x194);}return _0x13df3b;};}function handleError(_0xae2065,_0x7a3349){_0x7a3349=_0x7a3349||0x1f4;return function(_0x8ea2be){logger[_0xbe2a('0x29')](_0x8ea2be[_0xbe2a('0x2a')]);if(_0x8ea2be[_0xbe2a('0x2b')]){delete _0x8ea2be[_0xbe2a('0x2b')];}_0xae2065['status'](_0x7a3349)[_0xbe2a('0x2c')](_0x8ea2be);};}function getInteractionUsers(_0x487a1e,_0x82e8a7){return new BPromise(function(_0xc15a2a,_0x309bfc){try{if(_0x82e8a7[_0x487a1e['id']]){_0x487a1e[_0xbe2a('0x2d')]=_['map'](_0x82e8a7[_0x487a1e['id']],function(_0x361a85){return{'id':_0x361a85['id'],'fullname':_0x361a85[_0xbe2a('0x2e')]};});}}catch(_0x1b9dc8){_0x309bfc(_0x1b9dc8);}_0xc15a2a(_0x487a1e);});}function getInteractionTags(_0x1c0c54,_0x2d8d6f){return new BPromise(function(_0x22df3b,_0x5cf988){try{if(_0x1c0c54['TagIds']){_0x1c0c54['Tags']=[];_0x1c0c54['TagIds'][_0xbe2a('0x2f')](',')[_0xbe2a('0x30')](function(_0x18f24a){_0x1c0c54[_0xbe2a('0x31')]['push'](_0x2d8d6f[_0x18f24a]);});}delete _0x1c0c54['TagIds'];}catch(_0x4ede14){_0x5cf988(_0x4ede14);}_0x22df3b(_0x1c0c54);});}function updateWhatsappInteraction(_0x37fb15,_0x1d95ea,_0x7dd5f5){return new BPromise(function(_0x54c7ee,_0x1de8e5){return getInteractionUsers(_0x37fb15,_0x7dd5f5)[_0xbe2a('0x27')](function(_0x41b302){return getInteractionTags(_0x41b302,_0x1d95ea);})[_0xbe2a('0x27')](function(_0x366d62){return getStateInteraction(_0x366d62);})[_0xbe2a('0x27')](function(_0x29d9e2){_0x54c7ee(_0x29d9e2);})[_0xbe2a('0x32')](function(_0x494bd1){_0x1de8e5(_0x494bd1);});});}function getStateInteraction(_0x122489){return new BPromise(function(_0x39e3dc){_0x122489[_0xbe2a('0x33')]=0x0;_0x122489['talking']=0x0;_0x122489[_0xbe2a('0x34')]=0x0;_0x122489['unmanaged']=0x0;_0x122489[_0xbe2a('0x35')]=0x0;if(!_0x122489[_0xbe2a('0x36')]&&!_0x122489[_0xbe2a('0x37')]){_0x122489[_0xbe2a('0x33')]+=0x1;}if(!_0x122489[_0xbe2a('0x36')]&&_0x122489[_0xbe2a('0x37')]){_0x122489[_0xbe2a('0x38')]+=0x1;if(_0x122489[_0xbe2a('0x33')]){_0x122489['waiting']-=0x1;}}if(_0x122489[_0xbe2a('0x36')]&&_0x122489[_0xbe2a('0x37')]){_0x122489['answered']+=0x1;if(_0x122489[_0xbe2a('0x38')]){_0x122489[_0xbe2a('0x38')]-=0x1;}}if(_0x122489[_0xbe2a('0x36')]&&!_0x122489[_0xbe2a('0x37')]){_0x122489[_0xbe2a('0x39')]+=0x1;if(_0x122489['waiting']){_0x122489[_0xbe2a('0x33')]-=0x1;}}_0x122489[_0xbe2a('0x35')]+=0x1;_0x39e3dc(_0x122489);});}exports[_0xbe2a('0x3a')]=function(_0x155b8b,_0x458d78){var _0x1fd0c2={},_0x1d022d={},_0x3c4df8={'count':0x0,'rows':[]};var _0x203e62=_[_0xbe2a('0x3b')](db[_0xbe2a('0x3c')]['rawAttributes'],function(_0x2c2c3a){return{'name':_0x2c2c3a[_0xbe2a('0x3d')],'type':_0x2c2c3a[_0xbe2a('0x3e')][_0xbe2a('0x3f')]};});_0x1d022d['model']=_['map'](_0x203e62,_0xbe2a('0x2b'));_0x1d022d[_0xbe2a('0x40')]=_[_0xbe2a('0x41')](_0x155b8b[_0xbe2a('0x40')]);_0x1d022d[_0xbe2a('0x42')]=_[_0xbe2a('0x43')](_0x1d022d[_0xbe2a('0x44')],_0x1d022d[_0xbe2a('0x40')]);_0x1fd0c2[_0xbe2a('0x45')]=_[_0xbe2a('0x43')](_0x1d022d[_0xbe2a('0x44')],qs[_0xbe2a('0x46')](_0x155b8b['query'][_0xbe2a('0x46')]));_0x1fd0c2['attributes']=_0x1fd0c2[_0xbe2a('0x45')][_0xbe2a('0x47')]?_0x1fd0c2[_0xbe2a('0x45')]:_0x1d022d['model'];if(!_0x155b8b[_0xbe2a('0x40')][_0xbe2a('0x48')](_0xbe2a('0x49'))){_0x1fd0c2[_0xbe2a('0x23')]=qs['limit'](_0x155b8b[_0xbe2a('0x40')]['limit']);_0x1fd0c2[_0xbe2a('0x20')]=qs[_0xbe2a('0x20')](_0x155b8b[_0xbe2a('0x40')][_0xbe2a('0x20')]);}_0x1fd0c2['order']=qs[_0xbe2a('0x4a')](_0x155b8b[_0xbe2a('0x40')][_0xbe2a('0x4a')]);_0x1fd0c2[_0xbe2a('0x4b')]=qs['filters'](_[_0xbe2a('0x4c')](_0x155b8b['query'],_0x1d022d[_0xbe2a('0x42')]),_0x203e62);var _0x3f1710=[];var _0xc500cb=squel[_0xbe2a('0x4d')]()[_0xbe2a('0x4e')]('id')[_0xbe2a('0x4e')](_0xbe2a('0x2b'))[_0xbe2a('0x4e')](_0xbe2a('0x4f'))['from'](_0xbe2a('0x50'));var _0x5f5353=squel['select']()['field']('u.id')[_0xbe2a('0x4e')](_0xbe2a('0x51'))[_0xbe2a('0x4e')](_0xbe2a('0x52'))['from']('user_has_whatsapp_interactions','ui')[_0xbe2a('0x53')](_0xbe2a('0x54'),'u',_0xbe2a('0x55'));var _0x532edf=squel['select']()[_0xbe2a('0x56')]('whatsapp_interactions','i')[_0xbe2a('0x53')]('cm_contacts','c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xbe2a('0x53')](_0xbe2a('0x54'),'o',_0xbe2a('0x57'))[_0xbe2a('0x53')](_0xbe2a('0x58'),'a','a.id\x20=\x20i.WhatsappAccountId')[_0xbe2a('0x53')](_0xbe2a('0x59'),'me',_0xbe2a('0x5a'))[_0xbe2a('0x53')](_0xbe2a('0x5b'),'it',_0xbe2a('0x5c'))[_0xbe2a('0x53')](_0xbe2a('0x50'),'t',_0xbe2a('0x5d'));var _0x13c978=squel['expr']();var _0x4630aa=[];var _0x59107e=squel['expr']();var _0x564354;if(_0x155b8b['query'][_0xbe2a('0x5e')]){_0x564354=as[_0xbe2a('0x5f')](_0x155b8b[_0xbe2a('0x40')][_0xbe2a('0x5e')]);var _0x13819e=_0x564354[_0xbe2a('0x60')];for(var _0x15810c=0x0;_0x15810c<_0x564354['conditions'][_0xbe2a('0x47')];_0x15810c++){var _0x3733d3=_0x564354[_0xbe2a('0x61')][_0x15810c];var _0x9d5860='i';var _0x379a31=_[_0xbe2a('0x62')](_0x203e62,['name',_0x3733d3[_0xbe2a('0x4e')]]);if(!_0x379a31){switch(_0x3733d3[_0xbe2a('0x4e')]){case _0xbe2a('0x63'):if(_0x3733d3[_0xbe2a('0x64')]==0x1){_0x532edf[_0xbe2a('0x65')]('`'+_0x3733d3[_0xbe2a('0x4e')]+_0xbe2a('0x66'));}else{_0x532edf[_0xbe2a('0x65')]('`'+_0x3733d3[_0xbe2a('0x4e')]+_0xbe2a('0x67'));}break;case _0xbe2a('0x68'):if(_0x3733d3[_0xbe2a('0x69')]==='$substring'){if(_0x3733d3[_0xbe2a('0x64')][_0xbe2a('0x2f')]('\x20')[_0xbe2a('0x47')]>0x1){_0x13c978[_0x13819e](_0xbe2a('0x6a'),qs['getFullTextValue'](_0x3733d3['value']),null);}else{var _0x1bc076='%'+_0x3733d3['value']+'%';_0x13c978[_0x13819e]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x1bc076,_0x1bc076,_0x1bc076);}}else{_0x379a31=_[_0xbe2a('0x62')](_0x203e62,[_0xbe2a('0x2b'),_0xbe2a('0x6b')]);_0x3733d3[_0xbe2a('0x4e')]=_0xbe2a('0x6b');_0x4c6691=as[_0xbe2a('0x6c')](_0x9d5860,_0x379a31[_0xbe2a('0x3e')],_0x3733d3);_0x13c978[_0x13819e](_0x4c6691[_0xbe2a('0x6d')],_0x4c6691[_0xbe2a('0x64')]['start'],_0x4c6691[_0xbe2a('0x64')][_0xbe2a('0x1e')]);}break;case _0xbe2a('0x6e'):var _0x321328=_0x3733d3[_0xbe2a('0x64')][_0xbe2a('0x2f')](',')[_0xbe2a('0x3b')](function(_0x23bb38){return Number(_0x23bb38);});_0x321328[_0xbe2a('0x30')](function(_0x270ca4){_0x59107e['or'](_0xbe2a('0x6f'),'%,'+_0x270ca4+',%');});_0x4630aa=_['union'](_0x4630aa,_0x321328);break;case'User':if(_0x3733d3[_0xbe2a('0x69')]===_0xbe2a('0x70')){_0x13c978[_0x13819e](_0xbe2a('0x71'),'%'+_0x3733d3['value']+'%',null);}else{_0x379a31=_[_0xbe2a('0x62')](_0x203e62,[_0xbe2a('0x2b'),_0xbe2a('0x37')]);_0x3733d3['field']=_0xbe2a('0x37');_0x4c6691=as[_0xbe2a('0x6c')](_0x9d5860,_0x379a31[_0xbe2a('0x3e')],_0x3733d3);_0x13c978[_0x13819e](_0x4c6691[_0xbe2a('0x6d')],_0x4c6691['value'][_0xbe2a('0x72')],_0x4c6691[_0xbe2a('0x64')][_0xbe2a('0x1e')]);}break;case _0xbe2a('0x73'):_0x4c6691=as[_0xbe2a('0x6c')]('me',null,_0x3733d3);_0x13c978[_0x13819e](_0x4c6691[_0xbe2a('0x6d')],_0x4c6691[_0xbe2a('0x64')][_0xbe2a('0x72')],_0x4c6691[_0xbe2a('0x64')][_0xbe2a('0x1e')]);break;}}else{var _0x4c6691=as['buildExpression'](_0x9d5860,_0x379a31[_0xbe2a('0x3e')],_0x3733d3);_0x13c978[_0x13819e](_0x4c6691[_0xbe2a('0x6d')],_0x4c6691[_0xbe2a('0x64')][_0xbe2a('0x72')],_0x4c6691[_0xbe2a('0x64')][_0xbe2a('0x1e')]);}}}else{var _0x46a0d2=_(_0x155b8b[_0xbe2a('0x40')])[_0xbe2a('0x41')]()['map'](function(_0x17dafb){return _[_0xbe2a('0x74')](_0x203e62,[_0xbe2a('0x2b'),_0x17dafb])?_0x17dafb:undefined;})[_0xbe2a('0x75')]()[_0xbe2a('0x64')]();if(!_[_0xbe2a('0x76')](_0x46a0d2)){_0x46a0d2['forEach'](function(_0x5d6189){if(_0x5d6189===_0xbe2a('0x77')){_0x532edf[_0xbe2a('0x4b')]('i.WhatsappAccountId\x20IN\x20?',[][_0xbe2a('0x78')](_0x155b8b[_0xbe2a('0x40')][_0x5d6189]));}else if(_0x5d6189==='createdAt'){var _0x17d520=JSON[_0xbe2a('0x79')](_0x155b8b[_0xbe2a('0x40')][_0x5d6189])['$gte'];var _0x3c4727=JSON[_0xbe2a('0x79')](_0x155b8b[_0xbe2a('0x40')][_0x5d6189])['$lte'];_0x532edf[_0xbe2a('0x4b')](_0xbe2a('0x7a'),_0x17d520,_0x3c4727);}else{if(_0x155b8b['query'][_0x5d6189]===_0xbe2a('0x7b')){_0x532edf['where']('i.'+_0x5d6189+_0xbe2a('0x7c'));}else{_0x532edf[_0xbe2a('0x4b')]('i.'+_0x5d6189+_0xbe2a('0x7d'),_0x155b8b[_0xbe2a('0x40')][_0x5d6189]);}}});}if(_0x155b8b[_0xbe2a('0x40')]['read']){if(_0x155b8b[_0xbe2a('0x40')][_0xbe2a('0x7e')]==0x1){_0x532edf[_0xbe2a('0x65')](_0xbe2a('0x7f'));}else{_0x532edf[_0xbe2a('0x65')]('`unreadMessages`\x20>\x200');}}if(_0x155b8b['query'][_0xbe2a('0x80')]){_0x4630aa=_[_0xbe2a('0x81')](_0x155b8b['query'][_0xbe2a('0x80')])?_0x155b8b['query'][_0xbe2a('0x80')]:new Array(_0x155b8b[_0xbe2a('0x40')][_0xbe2a('0x80')]);_0x4630aa['forEach'](function(_0x344253){_0x59107e['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x344253+',%');});}if(_0x155b8b[_0xbe2a('0x40')][_0xbe2a('0x82')]){var _0x4fe6c4=_0x155b8b[_0xbe2a('0x40')]['filter'][_0xbe2a('0x83')]('\x5c','\x5c\x5c')[_0xbe2a('0x83')](/'/g,'\x27\x27');if(qs[_0xbe2a('0x84')](_0x4fe6c4)){_0x13c978['or']('i.id\x20LIKE\x20?',_0x4fe6c4+'%')['or'](_0xbe2a('0x85'),_0x4fe6c4+'%');}else{_0x13c978['or'](_0xbe2a('0x86'),qs['getFullTextValue'](_0x4fe6c4))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x4fe6c4+'%');}}}_0x532edf[_0xbe2a('0x4b')](_0x13c978);_0x532edf['group'](_0xbe2a('0x87'));var _0x83271a={'type':db[_0xbe2a('0x88')][_0xbe2a('0x89')][_0xbe2a('0x8a')],'raw':!![]};var _0x32582b=_0x532edf[_0xbe2a('0x8b')]();_0x32582b['field'](_0xbe2a('0x87'));_0x32582b[_0xbe2a('0x4e')](_0xbe2a('0x8c'),_0xbe2a('0x63'));if(_0x1fd0c2[_0xbe2a('0x8d')]){_0x1fd0c2['order'][_0xbe2a('0x30')](function(_0x232965){var _0x414add=_0x232965[0x0]===_0xbe2a('0x8e')?_0x232965[0x0]:'i.'+_0x232965[0x0];_0x532edf['order'](_0x414add,_0x232965[0x1]==='DESC'?![]:!![]);});}if(!_[_0xbe2a('0x76')](_0x4630aa)){_0x532edf[_0xbe2a('0x65')](_0x59107e);_0x32582b['where'](_0xbe2a('0x8f'),_0x4630aa);}BPromise['resolve']()[_0xbe2a('0x27')](function(){if(!_0x564354){if(_0x155b8b[_0xbe2a('0x40')][_0xbe2a('0x77')])return;_0x32582b['where']('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');_0x532edf[_0xbe2a('0x4b')]('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x155b8b['user'][_0xbe2a('0x90')]!=='agent')return;return _0x155b8b['user'][_0xbe2a('0x91')]({'attributes':['id'],'raw':!![]})[_0xbe2a('0x27')](function(_0xdd80b0){if(_[_0xbe2a('0x76')](_0xdd80b0)){_0x32582b['where']('i.WhatsappAccountId\x20IS\x20NULL');_0x532edf[_0xbe2a('0x4b')](_0xbe2a('0x92'));}else{_0x32582b['where'](_0xbe2a('0x93'),_[_0xbe2a('0x3b')](_0xdd80b0,'id'));_0x532edf[_0xbe2a('0x4b')](_0xbe2a('0x93'),_[_0xbe2a('0x3b')](_0xdd80b0,'id'));}});})['then'](function(){if(_0x155b8b[_0xbe2a('0x94')][_0xbe2a('0x90')]===_0xbe2a('0x95')&&!_0x564354&&!_0x155b8b[_0xbe2a('0x40')]['WhatsappAccountId'])return[];return db['sequelize'][_0xbe2a('0x40')](_0x32582b[_0xbe2a('0x96')](),_0x83271a);})['then'](function(_0xbb66be){_0x3c4df8[_0xbe2a('0x22')]=_0xbb66be['length'];if(_0x3c4df8['count']===0x0)return[];return db[_0xbe2a('0x97')][_0xbe2a('0x40')](_0xc500cb[_0xbe2a('0x96')](),_0x83271a)[_0xbe2a('0x27')](function(_0x5f8399){_0x3f1710=_[_0xbe2a('0x98')](_0x5f8399,'id');_0x83271a=_[_0xbe2a('0x99')](_0x83271a,{'model':db[_0xbe2a('0x3c')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x155b8b[_0xbe2a('0x40')][_0xbe2a('0x46')]){_0x1fd0c2['attributes']['forEach'](function(_0x499e47){_0x532edf[_0xbe2a('0x4e')]('i.'+_0x499e47);});}else{_0x532edf[_0xbe2a('0x4e')](_0xbe2a('0x8c'),_0xbe2a('0x63'));_0x532edf['field'](_0xbe2a('0x9a'),'Account.key');_0x532edf['field'](_0xbe2a('0x9b'),'Account.mandatoryDisposition');_0x532edf['field']('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',_0xbe2a('0x8e'));_0x532edf[_0xbe2a('0x4e')](_0xbe2a('0x9c'));_0x532edf[_0xbe2a('0x4e')](_0xbe2a('0x9d'),_0xbe2a('0x9e'));_0x532edf['field']('c.lastName',_0xbe2a('0x9f'));_0x532edf[_0xbe2a('0x4e')]('c.email',_0xbe2a('0xa0'));_0x532edf['field']('c.phone',_0xbe2a('0xa1'));_0x532edf[_0xbe2a('0x4e')](_0xbe2a('0xa2'),'Contact.mobile');_0x532edf[_0xbe2a('0x4e')]('c.fax',_0xbe2a('0xa3'));_0x532edf[_0xbe2a('0x4e')](_0xbe2a('0xa4'),_0xbe2a('0xa5'));_0x532edf['field']('o.internal',_0xbe2a('0xa6'));_0x532edf['field'](_0xbe2a('0xa7'),_0xbe2a('0xa8'));}if(_0x1fd0c2[_0xbe2a('0x23')])_0x532edf['limit'](_0x1fd0c2[_0xbe2a('0x23')]);if(_0x1fd0c2[_0xbe2a('0x20')])_0x532edf[_0xbe2a('0x20')](_0x1fd0c2[_0xbe2a('0x20')]);return db['sequelize'][_0xbe2a('0x40')](_0x532edf[_0xbe2a('0x96')](),_0x83271a);})[_0xbe2a('0x27')](function(_0x4e8107){if(_0x4e8107['length']>0x0)_0x5f5353[_0xbe2a('0x4b')]('ui.WhatsappInteractionId\x20IN\x20?',_[_0xbe2a('0x3b')](_0x4e8107,'id'));return db[_0xbe2a('0x97')][_0xbe2a('0x40')](_0x5f5353['toString'](),_0x83271a)[_0xbe2a('0x27')](function(_0x585d94){var _0x56f5ae=_[_0xbe2a('0xa9')](_0x585d94,_0xbe2a('0xaa'));var _0xb0f86c=[];_0x4e8107[_0xbe2a('0x30')](function(_0x522e42){_0xb0f86c[_0xbe2a('0xab')](updateWhatsappInteraction(_0x522e42,_0x3f1710,_0x56f5ae));});return BPromise[_0xbe2a('0xac')](_0xb0f86c);});});})[_0xbe2a('0x27')](function(_0x4c6f33){_0x3c4df8[_0xbe2a('0xad')]=_0x4c6f33;return _0x3c4df8;})[_0xbe2a('0x27')](respondWithFilteredResult(_0x458d78,_0x1fd0c2))[_0xbe2a('0x32')](handleError(_0x458d78,null));};exports['show']=function(_0x31af2c,_0x195b97){var _0x33d0b8={'raw':![],'where':{'id':_0x31af2c['params']['id']}},_0x285187={};_0x285187[_0xbe2a('0x44')]=_[_0xbe2a('0x41')](db[_0xbe2a('0x3c')]['rawAttributes']);_0x285187['query']=_[_0xbe2a('0x41')](_0x31af2c[_0xbe2a('0x40')]);_0x285187['filters']=_['intersection'](_0x285187[_0xbe2a('0x44')],_0x285187[_0xbe2a('0x40')]);_0x33d0b8['attributes']=_[_0xbe2a('0x43')](_0x285187[_0xbe2a('0x44')],qs[_0xbe2a('0x46')](_0x31af2c[_0xbe2a('0x40')][_0xbe2a('0x46')]));_0x33d0b8['attributes']=_0x33d0b8[_0xbe2a('0x45')][_0xbe2a('0x47')]?_0x33d0b8[_0xbe2a('0x45')]:_0x285187[_0xbe2a('0x44')];if(_0x31af2c[_0xbe2a('0x40')][_0xbe2a('0xae')]){_0x33d0b8[_0xbe2a('0xaf')]=[{'all':!![]}];}_0x33d0b8=_[_0xbe2a('0x99')]({},_0x33d0b8,_0x31af2c[_0xbe2a('0xb0')]);return db[_0xbe2a('0x3c')][_0xbe2a('0x62')](_0x33d0b8)[_0xbe2a('0x27')](handleEntityNotFound(_0x195b97,null))[_0xbe2a('0x27')](respondWithResult(_0x195b97,null))[_0xbe2a('0x32')](handleError(_0x195b97,null));};exports[_0xbe2a('0xb1')]=function(_0x53a7f9,_0x249ae1){return db['WhatsappInteraction'][_0xbe2a('0xb1')](_0x53a7f9[_0xbe2a('0x73')],{})['then'](respondWithResult(_0x249ae1,0xc9))[_0xbe2a('0x32')](handleError(_0x249ae1,null));};exports[_0xbe2a('0xb2')]=function(_0x28a440,_0x516af6){if(_0x28a440[_0xbe2a('0x73')]['id']){delete _0x28a440[_0xbe2a('0x73')]['id'];}return db[_0xbe2a('0x3c')][_0xbe2a('0x62')]({'where':{'id':_0x28a440['params']['id']}})[_0xbe2a('0x27')](handleEntityNotFound(_0x516af6,null))[_0xbe2a('0x27')](saveUpdates(_0x28a440[_0xbe2a('0x73')],null))[_0xbe2a('0x27')](respondWithResult(_0x516af6,null))[_0xbe2a('0x32')](handleError(_0x516af6,null));};exports['destroy']=function(_0x5c51d0,_0xf13549){return db[_0xbe2a('0x3c')][_0xbe2a('0x62')]({'where':{'id':_0x5c51d0[_0xbe2a('0xb3')]['id']}})[_0xbe2a('0x27')](handleEntityNotFound(_0xf13549,null))[_0xbe2a('0x27')](removeEntity(_0xf13549,null))[_0xbe2a('0x32')](handleError(_0xf13549,null));};exports[_0xbe2a('0xb4')]=function(_0x50d4a1,_0xa3c173){return db[_0xbe2a('0x3c')][_0xbe2a('0xb4')]()[_0xbe2a('0x27')](respondWithResult(_0xa3c173,null))['catch'](handleError(_0xa3c173,null));};exports[_0xbe2a('0xb5')]=function(_0x4e757d,_0x1c89f6,_0x575927){return db['WhatsappMessage'][_0xbe2a('0x62')]({'where':{'id':_0x4e757d['params']['id']}})[_0xbe2a('0x27')](handleEntityNotFound(_0x1c89f6,null))[_0xbe2a('0x27')](function(_0x505e00){if(_0x505e00){return _0x505e00[_0xbe2a('0xb5')](_0x4e757d[_0xbe2a('0x73')][_0xbe2a('0xb6')],_['omit'](_0x4e757d[_0xbe2a('0x73')],[_0xbe2a('0xb6'),'id'])||{});}})[_0xbe2a('0x27')](respondWithResult(_0x1c89f6,null))[_0xbe2a('0x32')](handleError(_0x1c89f6,null));};exports[_0xbe2a('0xb7')]=function(_0x4656ad,_0x4a2f88,_0x229d68){var _0x528e03={'raw':![],'where':{}};var _0x162c00={};var _0x351eed={'count':0x0,'rows':[]};return db[_0xbe2a('0x3c')][_0xbe2a('0xb8')]({'where':{'id':_0x4656ad[_0xbe2a('0xb3')]['id']}})['then'](handleEntityNotFound(_0x4a2f88,null))[_0xbe2a('0x27')](function(_0x18eed3){if(_0x18eed3){_0x162c00[_0xbe2a('0x44')]=_[_0xbe2a('0x41')](db[_0xbe2a('0xb9')][_0xbe2a('0xba')]);_0x162c00[_0xbe2a('0x40')]=_[_0xbe2a('0x41')](_0x4656ad['query']);_0x162c00['filters']=_[_0xbe2a('0x43')](_0x162c00[_0xbe2a('0x44')],_0x162c00['query']);_0x528e03[_0xbe2a('0x45')]=_[_0xbe2a('0x43')](_0x162c00['model'],qs[_0xbe2a('0x46')](_0x4656ad[_0xbe2a('0x40')]['fields']));_0x528e03[_0xbe2a('0x45')]=_0x528e03[_0xbe2a('0x45')]['length']?_0x528e03[_0xbe2a('0x45')]:_0x162c00['model'];if(!_0x4656ad[_0xbe2a('0x40')][_0xbe2a('0x48')](_0xbe2a('0x49'))){_0x528e03['limit']=qs[_0xbe2a('0x23')](_0x4656ad[_0xbe2a('0x40')]['limit']);_0x528e03[_0xbe2a('0x20')]=qs['offset'](_0x4656ad[_0xbe2a('0x40')]['offset']);}_0x528e03[_0xbe2a('0x8d')]=qs[_0xbe2a('0x4a')](_0x4656ad[_0xbe2a('0x40')][_0xbe2a('0x4a')]);_0x528e03[_0xbe2a('0x4b')]=qs[_0xbe2a('0x42')](_[_0xbe2a('0x4c')](_0x4656ad[_0xbe2a('0x40')],_0x162c00[_0xbe2a('0x42')]));_0x528e03[_0xbe2a('0x4b')][_0xbe2a('0xaa')]=_0x18eed3['id'];if(_0x4656ad[_0xbe2a('0x40')][_0xbe2a('0x82')]){_0x528e03[_0xbe2a('0x4b')]=_[_0xbe2a('0x99')](_0x528e03[_0xbe2a('0x4b')],{'$or':_[_0xbe2a('0x3b')](_0x528e03['attributes'],function(_0x5da757){var _0x128954={};_0x128954[_0x5da757]={'$like':'%'+_0x4656ad[_0xbe2a('0x40')][_0xbe2a('0x82')]+'%'};return _0x128954;})});}if(_0x4656ad['query'][_0xbe2a('0xbb')]){var _0x310df9=_0x4656ad[_0xbe2a('0x40')][_0xbe2a('0xbb')][_0xbe2a('0x2f')](',');var _0x139132={};_0x139132[_0x310df9[0x0]]={'$gte':moment(_0x310df9[0x1])[_0xbe2a('0xbc')]('YYYY-MM-DD\x20HH:mm:ss')};_0x528e03['where']=_[_0xbe2a('0x99')](_0x528e03[_0xbe2a('0x4b')],_0x139132);}_0x528e03=_['merge']({},_0x528e03,_0x4656ad['options']);return db[_0xbe2a('0xb9')]['count']({'where':_0x528e03['where']})[_0xbe2a('0x27')](function(_0x8a755b){_0x351eed[_0xbe2a('0x22')]=_0x8a755b;if(_0x4656ad[_0xbe2a('0x40')][_0xbe2a('0xae')]){_0x528e03[_0xbe2a('0xaf')]=[{'all':!![]}];}return db[_0xbe2a('0xb9')][_0xbe2a('0xbd')](_0x528e03);})[_0xbe2a('0x27')](function(_0x452466){_0x351eed[_0xbe2a('0xad')]=_0x452466;return _0x351eed;});}})[_0xbe2a('0x27')](respondWithFilteredResult(_0x4a2f88,_0x528e03))[_0xbe2a('0x32')](handleError(_0x4a2f88,null));};exports['addTags']=function(_0x20e895,_0x161c57,_0x35e2d1){return db[_0xbe2a('0x3c')][_0xbe2a('0x62')]({'where':{'id':_0x20e895[_0xbe2a('0xb3')]['id']}})[_0xbe2a('0x27')](handleEntityNotFound(_0x161c57,null))[_0xbe2a('0x27')](function(_0x122c4e){if(_0x122c4e){return _0x122c4e['setTags'](_0x20e895[_0xbe2a('0x73')][_0xbe2a('0xb6')],_[_0xbe2a('0xbe')](_0x20e895[_0xbe2a('0x73')],[_0xbe2a('0xb6'),'id'])||{})[_0xbe2a('0xbf')](function(){return db[_0xbe2a('0x6e')][_0xbe2a('0xbd')]({'attributes':['id',_0xbe2a('0x2b'),'color'],'where':{'id':_0x20e895[_0xbe2a('0x73')][_0xbe2a('0xb6')]}});})[_0xbe2a('0x27')](function(_0x4e0706){socket['emit'](_0xbe2a('0xc0'),{'id':Number(_0x20e895[_0xbe2a('0xb3')]['id']),'tags':_0x4e0706||[]});return{'id':Number(_0x20e895[_0xbe2a('0xb3')]['id']),'tags':_0x4e0706||[]};});}})[_0xbe2a('0x27')](respondWithResult(_0x161c57,null))['catch'](handleError(_0x161c57,null));};exports[_0xbe2a('0xc1')]=function(_0x251642,_0x31300e,_0x4bf08c){return db[_0xbe2a('0x3c')][_0xbe2a('0x62')]({'where':{'id':_0x251642[_0xbe2a('0xb3')]['id']}})[_0xbe2a('0x27')](handleEntityNotFound(_0x31300e,null))['then'](function(_0x31c6ba){if(_0x31c6ba){return _0x31c6ba[_0xbe2a('0xc1')](_0x251642[_0xbe2a('0x40')][_0xbe2a('0xb6')]);}})['then'](respondWithStatusCode(_0x31300e,null))[_0xbe2a('0x32')](handleError(_0x31300e,null));};exports['download']=function(_0x2d9cd9,_0x57fceb){var _0x5634e0=moment()['unix']()['toString']();var _0x52cc11=path[_0xbe2a('0xc2')](config['root'],_0xbe2a('0xc3'),_0xbe2a('0xc4'),_0xbe2a('0xc5'));var _0x46ce5e=path[_0xbe2a('0xc2')](config[_0xbe2a('0xc6')],_0xbe2a('0xc3'),'files',_0xbe2a('0xc7'));var _0x433775=path['join'](_0x52cc11,_0x5634e0);var _0xd4a447=util['format'](_0xbe2a('0xc8'),_0x2d9cd9['params']['id'],_0x5634e0);var _0x3e74e9=path['join'](_0x52cc11,_0xd4a447);var _0x1018be=[];_0x1018be[_0xbe2a('0xab')]({'model':db[_0xbe2a('0xc9')],'as':_0xbe2a('0xc9'),'attributes':['id',_0xbe2a('0x2e')],'raw':!![]});_0x1018be['push']({'model':db['CmContact'],'as':'Contact','attributes':['id',_0xbe2a('0xca'),_0xbe2a('0xcb')],'raw':!![]});if(_0x2d9cd9[_0xbe2a('0x40')][_0xbe2a('0xc7')]){_0x1018be[_0xbe2a('0xab')]({'model':db['Attachment'],'as':_0xbe2a('0xcc'),'raw':!![]});}var _0x1133f5=[{'model':db[_0xbe2a('0xb9')],'as':_0xbe2a('0xcd'),'attributes':['id',_0xbe2a('0x73'),'createdAt',_0xbe2a('0xce'),_0xbe2a('0xcf'),_0xbe2a('0x7e')],'include':_0x1018be}];_0x1133f5[_0xbe2a('0xab')]({'model':db['WhatsappAccount'],'as':_0xbe2a('0xd0'),'attributes':['id',_0xbe2a('0x2b')]});_0x1133f5[_0xbe2a('0xab')]({'model':db[_0xbe2a('0xc9')],'as':'Owner','attributes':['id',_0xbe2a('0x2e')]});return db[_0xbe2a('0x3c')]['find']({'where':{'id':_0x2d9cd9[_0xbe2a('0xb3')]['id']},'include':_0x1133f5})[_0xbe2a('0x27')](handleEntityNotFound(_0x57fceb,null))[_0xbe2a('0x27')](function(_0x3111b7){if(_0x3111b7){var _0x169834=_0x3111b7['get']({'plain':!![]});fs['mkdirSync'](_0x433775);var _0x999e51={'channel':_0xbe2a('0xd1'),'account':_0x169834[_0xbe2a('0xd0')][_0xbe2a('0x2b')],'agent':_0x169834[_0xbe2a('0xd2')]?_0x169834[_0xbe2a('0xd2')][_0xbe2a('0x2e')]:_0xbe2a('0xd3'),'createdAt':moment(_0x169834[_0xbe2a('0xd4')])[_0xbe2a('0xbc')](_0xbe2a('0xd5'))['toString'](),'closedAt':_0x169834[_0xbe2a('0x36')]?moment(_0x169834['closedAt'])[_0xbe2a('0xbc')]('YYYY-MM-DD\x20HH:mm:ss')[_0xbe2a('0x96')]():'','disposition':_0x169834['disposition'],'messages':_(_0x169834[_0xbe2a('0xcd')])[_0xbe2a('0x82')]({'secret':![]})['map'](function(_0x5ccc45){if(_0x5ccc45[_0xbe2a('0xcc')]){var _0x55d6a1=path[_0xbe2a('0xc2')](_0x46ce5e,_0x5ccc45[_0xbe2a('0xcc')][_0xbe2a('0xd6')]);if(fs[_0xbe2a('0xd7')](_0x55d6a1)){fs[_0xbe2a('0xd8')](_0x55d6a1)['pipe'](fs['createWriteStream'](path['join'](_0x433775,_0x5ccc45['Attachment'][_0xbe2a('0xd6')])));}}return{'date':moment(_0x5ccc45['createdAt'])[_0xbe2a('0xbc')]('YYYY-MM-DD\x20HH:mm:ss')[_0xbe2a('0x96')](),'sender':_0x5ccc45['direction']===_0xbe2a('0xd9')?_0x5ccc45[_0xbe2a('0xc9')]?_0x5ccc45[_0xbe2a('0xc9')][_0xbe2a('0x2e')]:'System':_0x5ccc45['Contact']['firstName']+(_0x5ccc45[_0xbe2a('0x68')][_0xbe2a('0xcb')]?'\x20'+_0x5ccc45[_0xbe2a('0x68')]['lastName']:''),'body':_0x5ccc45[_0xbe2a('0xcc')]?_0x5ccc45[_0xbe2a('0xcc')][_0xbe2a('0xd6')]:_0x5ccc45[_0xbe2a('0x73')],'direction':_0x5ccc45['direction']===_0xbe2a('0xd9')?'A':'C','secret':_0x5ccc45[_0xbe2a('0xcf')],'read':_0x5ccc45[_0xbe2a('0x7e')],'attachment':_0x5ccc45['Attachment']};})[_0xbe2a('0x64')]()};return ejs[_0xbe2a('0xda')](path['join'](config[_0xbe2a('0xc6')],'server',_0xbe2a('0xdb'),'downloadInteraction.ejs'),{'interaction':_0x999e51})[_0xbe2a('0x27')](function(_0x12deb4){var _0x456a6d=path['join'](_0x433775,_0xbe2a('0xdc')+_0x169834['id']+'-'+_0x5634e0+_0xbe2a('0xdd'));var _0x394d63={'path':_0x456a6d,'channel':_0xbe2a('0xd1'),'interactionId':_0x169834['id']};return pdf[_0xbe2a('0xde')](_0x12deb4,_0x394d63);})['then'](function(){return new BPromise(function(_0x15b32a,_0x484ae8){zipdir(_0x433775,{'saveTo':_0x3e74e9},function(_0x1196ed,_0x222430){if(_0x1196ed)return _0x484ae8(_0x1196ed);return _0x15b32a(_0x222430);});})[_0xbe2a('0x27')](function(){return new BPromise(function(_0x3f2325,_0x43f014){rimraf(_0x433775,function(_0x4810b2){if(_0x4810b2)_0x43f014(_0x4810b2);return _0x3f2325();});});})[_0xbe2a('0x27')](function(){return _0x57fceb[_0xbe2a('0xdf')](_0x3e74e9,_0xd4a447,function(_0x1811dc){if(_0x1811dc){console['log'](_0xbe2a('0xe0'),_0x1811dc);}else{fs[_0xbe2a('0xe1')](_0x3e74e9);}});});});}else{return _0x57fceb[_0xbe2a('0x1c')](0xc8);}})[_0xbe2a('0x32')](handleError(_0x57fceb,null));};