Built motion from commit 9d7072cc.|2.5.39
[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 _0xd481=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./whatsappInteraction.socket','register','sendStatus','status','end','json','offset','undefined','count','apply','reject','save','destroy','then','stack','name','send','Users','map','fullname','Tags','TagIds','split','catch','waiting','talking','answered','unmanaged','total','closed','UserId','WhatsappInteraction','rawAttributes','key','model','query','filters','intersection','attributes','length','nolimit','limit','order','sort','where','pick','select','field','color','from','tools_tags','u.id','ui.WhatsappInteractionId','user_has_whatsapp_interactions','left_join','users','u.id\x20=\x20ui.UserId','whatsapp_interactions','o.id\x20=\x20i.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','whatsapp_messages','me.WhatsappInteractionId\x20=\x20i.id','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','parseSearch','search','sqlOperator','conditions','find','unreadMessages','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','type','start','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','text','body','some','compact','WhatsappAccountId','i.WhatsappAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','filter','replace','isNumeric','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','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','role','agent','isEmpty','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','fields','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','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','WhatsappInteractionId','push','rows','show','keys','includeAll','include','create','describe','WhatsappMessage','params','addMessage','omit','getMessages','findOne','hasOwnProperty','format','YYYY-MM-DD\x20HH:mm:ss','options','findAll','addTags','setTags','ids','spread','emit','removeTags','join','files','tmp','root','server','attachments','transcript-%d-%s.zip','User','CmContact','firstName','lastName','Attachment','Messages','direction','secret','WhatsappAccount','Account','Owner','get','N.A.','closedAt','disposition','basename','existsSync','createReadStream','createWriteStream','out','System','renderFile','views','downloadInteraction.ejs','transcript-','.pdf','Whatsapp','createPdfFromHTML','download','log','err','unlinkSync','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xd481,0x1e4));var _0x1d48=function(_0xeb1bd9,_0x5a21e5){_0xeb1bd9=_0xeb1bd9-0x0;var _0x54967e=_0xd481[_0xeb1bd9];return _0x54967e;};'use strict';var emlformat=require(_0x1d48('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1d48('0x1'));var jsonpatch=require(_0x1d48('0x2'));var rp=require('request-promise');var moment=require(_0x1d48('0x3'));var BPromise=require(_0x1d48('0x4'));var Mustache=require(_0x1d48('0x5'));var util=require('util');var path=require(_0x1d48('0x6'));var sox=require('sox');var csv=require(_0x1d48('0x7'));var ejs=require(_0x1d48('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1d48('0x9'));var squel=require(_0x1d48('0xa'));var crypto=require(_0x1d48('0xb'));var jsforce=require(_0x1d48('0xc'));var deskjs=require(_0x1d48('0xd'));var toCsv=require(_0x1d48('0x7'));var querystring=require(_0x1d48('0xe'));var Papa=require(_0x1d48('0xf'));var Redis=require(_0x1d48('0x10'));var authService=require(_0x1d48('0x11'));var qs=require(_0x1d48('0x12'));var as=require(_0x1d48('0x13'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0x1d48('0x14'));var logger=require(_0x1d48('0x15'))(_0x1d48('0x16'));var utils=require(_0x1d48('0x17'));var config=require(_0x1d48('0x18'));var licenseUtil=require(_0x1d48('0x19'));var db=require(_0x1d48('0x1a'))['db'];config[_0x1d48('0x1b')]=_[_0x1d48('0x1c')](config[_0x1d48('0x1b')],{'host':'localhost','port':0x18eb});var socket=require(_0x1d48('0x1d'))(new Redis(config['redis']));require(_0x1d48('0x1e'))[_0x1d48('0x1f')](socket);function respondWithStatusCode(_0x2b7f7c,_0x44db99){_0x44db99=_0x44db99||0xcc;return function(_0x4f9f04){if(_0x4f9f04){return _0x2b7f7c[_0x1d48('0x20')](_0x44db99);}return _0x2b7f7c[_0x1d48('0x21')](_0x44db99)[_0x1d48('0x22')]();};}function respondWithResult(_0x4d6bd0,_0x1789af){_0x1789af=_0x1789af||0xc8;return function(_0x433c92){if(_0x433c92){return _0x4d6bd0[_0x1d48('0x21')](_0x1789af)[_0x1d48('0x23')](_0x433c92);}};}function respondWithFilteredResult(_0x9b12b,_0x2a007c){return function(_0x1bcd95){if(_0x1bcd95){var _0x258c7a=typeof _0x2a007c[_0x1d48('0x24')]==='undefined'&&typeof _0x2a007c['limit']===_0x1d48('0x25');var _0x116c72=_0x1bcd95[_0x1d48('0x26')];var _0x12817d=_0x258c7a?0x0:_0x2a007c[_0x1d48('0x24')];var _0x93521d=_0x258c7a?_0x1bcd95[_0x1d48('0x26')]:_0x2a007c[_0x1d48('0x24')]+_0x2a007c['limit'];var _0x7614e2;if(_0x93521d>=_0x116c72){_0x93521d=_0x116c72;_0x7614e2=0xc8;}else{_0x7614e2=0xce;}_0x9b12b[_0x1d48('0x21')](_0x7614e2);return _0x9b12b['set']('Content-Range',_0x12817d+'-'+_0x93521d+'/'+_0x116c72)[_0x1d48('0x23')](_0x1bcd95);}return null;};}function patchUpdates(_0x2e6c11){return function(_0x1d72cb){try{jsonpatch[_0x1d48('0x27')](_0x1d72cb,_0x2e6c11,!![]);}catch(_0x14b6c9){return BPromise[_0x1d48('0x28')](_0x14b6c9);}return _0x1d72cb[_0x1d48('0x29')]();};}function saveUpdates(_0x15fca5,_0x2b5dca){return function(_0x1382d8){if(_0x1382d8){return _0x1382d8['update'](_0x15fca5)['then'](function(_0x137194){return _0x137194;});}return null;};}function removeEntity(_0x2c2b65,_0x42f8f6){return function(_0x2bf773){if(_0x2bf773){return _0x2bf773[_0x1d48('0x2a')]()[_0x1d48('0x2b')](function(){_0x2c2b65['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x187b34,_0x280505){return function(_0x4d3f91){if(!_0x4d3f91){_0x187b34[_0x1d48('0x20')](0x194);}return _0x4d3f91;};}function handleError(_0x368c5f,_0xb4d9c7){_0xb4d9c7=_0xb4d9c7||0x1f4;return function(_0xccc388){logger['error'](_0xccc388[_0x1d48('0x2c')]);if(_0xccc388[_0x1d48('0x2d')]){delete _0xccc388[_0x1d48('0x2d')];}_0x368c5f[_0x1d48('0x21')](_0xb4d9c7)[_0x1d48('0x2e')](_0xccc388);};}function getInteractionUsers(_0x542998,_0x405cca){return new BPromise(function(_0x3dee70,_0x41e050){try{if(_0x405cca[_0x542998['id']]){_0x542998[_0x1d48('0x2f')]=_[_0x1d48('0x30')](_0x405cca[_0x542998['id']],function(_0x5ccc2b){return{'id':_0x5ccc2b['id'],'fullname':_0x5ccc2b[_0x1d48('0x31')]};});}}catch(_0xa3b0ed){_0x41e050(_0xa3b0ed);}_0x3dee70(_0x542998);});}function getInteractionTags(_0x2fb984,_0x4cfc41){return new BPromise(function(_0x3faf3f,_0x5deb4a){try{if(_0x2fb984['TagIds']){_0x2fb984[_0x1d48('0x32')]=[];_0x2fb984[_0x1d48('0x33')][_0x1d48('0x34')](',')['forEach'](function(_0xdaa915){_0x2fb984[_0x1d48('0x32')]['push'](_0x4cfc41[_0xdaa915]);});}delete _0x2fb984[_0x1d48('0x33')];}catch(_0x2e77d5){_0x5deb4a(_0x2e77d5);}_0x3faf3f(_0x2fb984);});}function updateWhatsappInteraction(_0x189a89,_0x4e5286,_0x3c6e09){return new BPromise(function(_0x51093f,_0x3e434c){return getInteractionUsers(_0x189a89,_0x3c6e09)[_0x1d48('0x2b')](function(_0x3de6be){return getInteractionTags(_0x3de6be,_0x4e5286);})['then'](function(_0x538df9){return getStateInteraction(_0x538df9);})[_0x1d48('0x2b')](function(_0x165032){_0x51093f(_0x165032);})[_0x1d48('0x35')](function(_0x438a0d){_0x3e434c(_0x438a0d);});});}function getStateInteraction(_0x292483){return new BPromise(function(_0x16493d){_0x292483[_0x1d48('0x36')]=0x0;_0x292483[_0x1d48('0x37')]=0x0;_0x292483[_0x1d48('0x38')]=0x0;_0x292483[_0x1d48('0x39')]=0x0;_0x292483[_0x1d48('0x3a')]=0x0;if(!_0x292483[_0x1d48('0x3b')]&&!_0x292483[_0x1d48('0x3c')]){_0x292483[_0x1d48('0x36')]+=0x1;}if(!_0x292483[_0x1d48('0x3b')]&&_0x292483[_0x1d48('0x3c')]){_0x292483[_0x1d48('0x37')]+=0x1;if(_0x292483[_0x1d48('0x36')]){_0x292483[_0x1d48('0x36')]-=0x1;}}if(_0x292483[_0x1d48('0x3b')]&&_0x292483[_0x1d48('0x3c')]){_0x292483[_0x1d48('0x38')]+=0x1;if(_0x292483[_0x1d48('0x37')]){_0x292483[_0x1d48('0x37')]-=0x1;}}if(_0x292483[_0x1d48('0x3b')]&&!_0x292483[_0x1d48('0x3c')]){_0x292483[_0x1d48('0x39')]+=0x1;if(_0x292483[_0x1d48('0x36')]){_0x292483['waiting']-=0x1;}}_0x292483[_0x1d48('0x3a')]+=0x1;_0x16493d(_0x292483);});}exports['index']=function(_0xd4a4b6,_0x2d0c52){var _0x574805={},_0x20c089={},_0x3d36ca={'count':0x0,'rows':[]};var _0x4470f6=_[_0x1d48('0x30')](db[_0x1d48('0x3d')][_0x1d48('0x3e')],function(_0x5aaa3c){return{'name':_0x5aaa3c['fieldName'],'type':_0x5aaa3c['type'][_0x1d48('0x3f')]};});_0x20c089[_0x1d48('0x40')]=_['map'](_0x4470f6,_0x1d48('0x2d'));_0x20c089[_0x1d48('0x41')]=_['keys'](_0xd4a4b6[_0x1d48('0x41')]);_0x20c089[_0x1d48('0x42')]=_[_0x1d48('0x43')](_0x20c089['model'],_0x20c089['query']);_0x574805[_0x1d48('0x44')]=_[_0x1d48('0x43')](_0x20c089[_0x1d48('0x40')],qs['fields'](_0xd4a4b6[_0x1d48('0x41')]['fields']));_0x574805[_0x1d48('0x44')]=_0x574805[_0x1d48('0x44')][_0x1d48('0x45')]?_0x574805[_0x1d48('0x44')]:_0x20c089[_0x1d48('0x40')];if(!_0xd4a4b6[_0x1d48('0x41')]['hasOwnProperty'](_0x1d48('0x46'))){_0x574805[_0x1d48('0x47')]=qs[_0x1d48('0x47')](_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0x47')]);_0x574805[_0x1d48('0x24')]=qs[_0x1d48('0x24')](_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0x24')]);}_0x574805[_0x1d48('0x48')]=qs[_0x1d48('0x49')](_0xd4a4b6[_0x1d48('0x41')]['sort']);_0x574805[_0x1d48('0x4a')]=qs['filters'](_[_0x1d48('0x4b')](_0xd4a4b6[_0x1d48('0x41')],_0x20c089[_0x1d48('0x42')]),_0x4470f6);var _0x484e4d=[];var _0x53f2aa=squel[_0x1d48('0x4c')]()[_0x1d48('0x4d')]('id')['field'](_0x1d48('0x2d'))[_0x1d48('0x4d')](_0x1d48('0x4e'))[_0x1d48('0x4f')](_0x1d48('0x50'));var _0x231315=squel['select']()[_0x1d48('0x4d')](_0x1d48('0x51'))[_0x1d48('0x4d')]('u.fullname')[_0x1d48('0x4d')](_0x1d48('0x52'))[_0x1d48('0x4f')](_0x1d48('0x53'),'ui')[_0x1d48('0x54')](_0x1d48('0x55'),'u',_0x1d48('0x56'));var _0x5709ca=squel['select']()[_0x1d48('0x4f')](_0x1d48('0x57'),'i')[_0x1d48('0x54')]('cm_contacts','c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join']('users','o',_0x1d48('0x58'))[_0x1d48('0x54')](_0x1d48('0x59'),'a',_0x1d48('0x5a'))[_0x1d48('0x54')](_0x1d48('0x5b'),'me',_0x1d48('0x5c'))[_0x1d48('0x54')](_0x1d48('0x5d'),'it',_0x1d48('0x5e'))[_0x1d48('0x54')](_0x1d48('0x50'),'t',_0x1d48('0x5f'));var _0x4dd107=squel['expr']();var _0xea6d8c=[];var _0x535d84=squel['expr']();var _0x5cc792;if(_0xd4a4b6[_0x1d48('0x41')]['search']){_0x5cc792=as[_0x1d48('0x60')](_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0x61')]);var _0x293281=_0x5cc792[_0x1d48('0x62')];for(var _0x15f263=0x0;_0x15f263<_0x5cc792[_0x1d48('0x63')]['length'];_0x15f263++){var _0x33cf75=_0x5cc792[_0x1d48('0x63')][_0x15f263];var _0x1c3b13='i';var _0x2abb49=_[_0x1d48('0x64')](_0x4470f6,[_0x1d48('0x2d'),_0x33cf75[_0x1d48('0x4d')]]);if(!_0x2abb49){switch(_0x33cf75['field']){case _0x1d48('0x65'):if(_0x33cf75['value']==0x1){_0x5709ca[_0x1d48('0x66')]('`'+_0x33cf75['field']+_0x1d48('0x67'));}else{_0x5709ca['having']('`'+_0x33cf75[_0x1d48('0x4d')]+_0x1d48('0x68'));}break;case _0x1d48('0x69'):if(_0x33cf75[_0x1d48('0x6a')]===_0x1d48('0x6b')){if(_0x33cf75[_0x1d48('0x6c')][_0x1d48('0x34')]('\x20')[_0x1d48('0x45')]>0x1){_0x4dd107[_0x293281](_0x1d48('0x6d'),qs[_0x1d48('0x6e')](_0x33cf75[_0x1d48('0x6c')]),null);}else{var _0x5103ba='%'+_0x33cf75[_0x1d48('0x6c')]+'%';_0x4dd107[_0x293281](_0x1d48('0x6f'),_0x5103ba,_0x5103ba,_0x5103ba);}}else{_0x2abb49=_['find'](_0x4470f6,['name','ContactId']);_0x33cf75[_0x1d48('0x4d')]=_0x1d48('0x70');_0x5eade2=as[_0x1d48('0x71')](_0x1c3b13,_0x2abb49[_0x1d48('0x72')],_0x33cf75);_0x4dd107[_0x293281](_0x5eade2['text'],_0x5eade2['value'][_0x1d48('0x73')],_0x5eade2['value'][_0x1d48('0x22')]);}break;case _0x1d48('0x74'):var _0x29f6b4=_0x33cf75[_0x1d48('0x6c')][_0x1d48('0x34')](',')[_0x1d48('0x30')](function(_0x50cf3d){return Number(_0x50cf3d);});_0x29f6b4[_0x1d48('0x75')](function(_0x2c1cae){_0x535d84['or'](_0x1d48('0x76'),'%,'+_0x2c1cae+',%');});_0xea6d8c=_[_0x1d48('0x77')](_0xea6d8c,_0x29f6b4);break;case'User':if(_0x33cf75['operator']==='$substring'){_0x4dd107[_0x293281](_0x1d48('0x78'),'%'+_0x33cf75['value']+'%',null);}else{_0x2abb49=_[_0x1d48('0x64')](_0x4470f6,[_0x1d48('0x2d'),_0x1d48('0x3c')]);_0x33cf75[_0x1d48('0x4d')]=_0x1d48('0x3c');_0x5eade2=as['buildExpression'](_0x1c3b13,_0x2abb49[_0x1d48('0x72')],_0x33cf75);_0x4dd107[_0x293281](_0x5eade2[_0x1d48('0x79')],_0x5eade2['value'][_0x1d48('0x73')],_0x5eade2[_0x1d48('0x6c')]['end']);}break;case _0x1d48('0x7a'):_0x5eade2=as[_0x1d48('0x71')]('me',null,_0x33cf75);_0x4dd107[_0x293281](_0x5eade2['text'],_0x5eade2[_0x1d48('0x6c')][_0x1d48('0x73')],_0x5eade2[_0x1d48('0x6c')]['end']);break;}}else{var _0x5eade2=as['buildExpression'](_0x1c3b13,_0x2abb49['type'],_0x33cf75);_0x4dd107[_0x293281](_0x5eade2[_0x1d48('0x79')],_0x5eade2[_0x1d48('0x6c')][_0x1d48('0x73')],_0x5eade2[_0x1d48('0x6c')][_0x1d48('0x22')]);}}}else{var _0x50a0d9=_(_0xd4a4b6[_0x1d48('0x41')])['keys']()['map'](function(_0x3da820){return _[_0x1d48('0x7b')](_0x4470f6,[_0x1d48('0x2d'),_0x3da820])?_0x3da820:undefined;})[_0x1d48('0x7c')]()[_0x1d48('0x6c')]();if(!_['isEmpty'](_0x50a0d9)){_0x50a0d9[_0x1d48('0x75')](function(_0x5c174b){if(_0x5c174b===_0x1d48('0x7d')){_0x5709ca['where'](_0x1d48('0x7e'),[][_0x1d48('0x7f')](_0xd4a4b6[_0x1d48('0x41')][_0x5c174b]));}else if(_0x5c174b===_0x1d48('0x80')){var _0x42acde=JSON[_0x1d48('0x81')](_0xd4a4b6[_0x1d48('0x41')][_0x5c174b])[_0x1d48('0x82')];var _0x527dd2=JSON[_0x1d48('0x81')](_0xd4a4b6['query'][_0x5c174b])[_0x1d48('0x83')];_0x5709ca['where'](_0x1d48('0x84'),_0x42acde,_0x527dd2);}else{if(_0xd4a4b6[_0x1d48('0x41')][_0x5c174b]===_0x1d48('0x85')){_0x5709ca['where']('i.'+_0x5c174b+_0x1d48('0x86'));}else{_0x5709ca[_0x1d48('0x4a')]('i.'+_0x5c174b+_0x1d48('0x87'),_0xd4a4b6[_0x1d48('0x41')][_0x5c174b]);}}});}if(_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0x88')]){if(_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0x88')]==0x1){_0x5709ca[_0x1d48('0x66')](_0x1d48('0x89'));}else{_0x5709ca[_0x1d48('0x66')]('`unreadMessages`\x20>\x200');}}if(_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0x8a')]){_0xea6d8c=_['isArray'](_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0x8a')])?_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0x8a')]:new Array(_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0x8a')]);_0xea6d8c[_0x1d48('0x75')](function(_0x1d809d){_0x535d84['or'](_0x1d48('0x76'),'%,'+_0x1d809d+',%');});}if(_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0x8b')]){var _0x5973cc=_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0x8b')]['replace']('\x5c','\x5c\x5c')[_0x1d48('0x8c')](/'/g,'\x27\x27');if(qs[_0x1d48('0x8d')](_0x5973cc)){_0x4dd107['or'](_0x1d48('0x8e'),_0x5973cc+'%')['or'](_0x1d48('0x8f'),_0x5973cc+'%');}else{_0x4dd107['or'](_0x1d48('0x90'),qs[_0x1d48('0x6e')](_0x5973cc))['or'](_0x1d48('0x91'),_0x5973cc+'%');}}}_0x5709ca['where'](_0x4dd107);_0x5709ca[_0x1d48('0x92')]('i.id');var _0x33e3a6={'type':db[_0x1d48('0x93')][_0x1d48('0x94')][_0x1d48('0x95')],'raw':!![]};var _0x255514=_0x5709ca[_0x1d48('0x96')]();_0x255514['field'](_0x1d48('0x97'));_0x255514[_0x1d48('0x4d')](_0x1d48('0x98'),_0x1d48('0x65'));if(_0x574805['order']){_0x574805[_0x1d48('0x48')][_0x1d48('0x75')](function(_0x34aab1){var _0x52ae37=_0x34aab1[0x0]===_0x1d48('0x99')?_0x34aab1[0x0]:'i.'+_0x34aab1[0x0];_0x5709ca[_0x1d48('0x48')](_0x52ae37,_0x34aab1[0x1]===_0x1d48('0x9a')?![]:!![]);});}if(!_['isEmpty'](_0xea6d8c)){_0x5709ca[_0x1d48('0x66')](_0x535d84);_0x255514[_0x1d48('0x4a')](_0x1d48('0x9b'),_0xea6d8c);}BPromise['resolve']()[_0x1d48('0x2b')](function(){if(!_0x5cc792){if(_0xd4a4b6[_0x1d48('0x41')]['WhatsappAccountId'])return;_0x255514['where'](_0x1d48('0x9c'));_0x5709ca[_0x1d48('0x4a')](_0x1d48('0x9c'));return;}if(_0xd4a4b6[_0x1d48('0x9d')][_0x1d48('0x9e')]!==_0x1d48('0x9f'))return;return _0xd4a4b6[_0x1d48('0x9d')]['getWhatsappAccounts']({'attributes':['id'],'raw':!![]})[_0x1d48('0x2b')](function(_0x58a531){if(_[_0x1d48('0xa0')](_0x58a531)){_0x255514[_0x1d48('0x4a')](_0x1d48('0xa1'));_0x5709ca['where'](_0x1d48('0xa1'));}else{_0x255514[_0x1d48('0x4a')](_0x1d48('0x7e'),_['map'](_0x58a531,'id'));_0x5709ca[_0x1d48('0x4a')](_0x1d48('0x7e'),_[_0x1d48('0x30')](_0x58a531,'id'));}});})['then'](function(){if(_0xd4a4b6[_0x1d48('0x9d')]['role']===_0x1d48('0x9f')&&!_0x5cc792&&!_0xd4a4b6['query'][_0x1d48('0x7d')])return[];return db[_0x1d48('0xa2')]['query'](_0x255514[_0x1d48('0xa3')](),_0x33e3a6);})[_0x1d48('0x2b')](function(_0x280519){_0x3d36ca[_0x1d48('0x26')]=_0x280519[_0x1d48('0x45')];if(_0x3d36ca[_0x1d48('0x26')]===0x0)return[];return db[_0x1d48('0xa2')][_0x1d48('0x41')](_0x53f2aa[_0x1d48('0xa3')](),_0x33e3a6)['then'](function(_0x384c0f){_0x484e4d=_[_0x1d48('0xa4')](_0x384c0f,'id');_0x33e3a6=_[_0x1d48('0xa5')](_0x33e3a6,{'model':db[_0x1d48('0x3d')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xd4a4b6[_0x1d48('0x41')][_0x1d48('0xa6')]){_0x574805[_0x1d48('0x44')]['forEach'](function(_0x1ea54f){_0x5709ca[_0x1d48('0x4d')]('i.'+_0x1ea54f);});}else{_0x5709ca['field'](_0x1d48('0x98'),_0x1d48('0x65'));_0x5709ca[_0x1d48('0x4d')]('a.key','Account.key');_0x5709ca[_0x1d48('0x4d')](_0x1d48('0xa7'),_0x1d48('0xa8'));_0x5709ca[_0x1d48('0x4d')](_0x1d48('0xa9'),_0x1d48('0x99'));_0x5709ca[_0x1d48('0x4d')](_0x1d48('0xaa'));_0x5709ca[_0x1d48('0x4d')](_0x1d48('0xab'),'Contact.firstName');_0x5709ca[_0x1d48('0x4d')](_0x1d48('0xac'),_0x1d48('0xad'));_0x5709ca[_0x1d48('0x4d')](_0x1d48('0xae'),_0x1d48('0xaf'));_0x5709ca['field'](_0x1d48('0xb0'),_0x1d48('0xb1'));_0x5709ca['field'](_0x1d48('0xb2'),_0x1d48('0xb3'));_0x5709ca[_0x1d48('0x4d')]('c.fax',_0x1d48('0xb4'));_0x5709ca[_0x1d48('0x4d')](_0x1d48('0xb5'),_0x1d48('0xb6'));_0x5709ca[_0x1d48('0x4d')](_0x1d48('0xb7'),_0x1d48('0xb8'));_0x5709ca[_0x1d48('0x4d')](_0x1d48('0xb9'),_0x1d48('0x33'));}if(_0x574805[_0x1d48('0x47')])_0x5709ca[_0x1d48('0x47')](_0x574805[_0x1d48('0x47')]);if(_0x574805[_0x1d48('0x24')])_0x5709ca[_0x1d48('0x24')](_0x574805['offset']);return db[_0x1d48('0xa2')][_0x1d48('0x41')](_0x5709ca[_0x1d48('0xa3')](),_0x33e3a6);})[_0x1d48('0x2b')](function(_0x511565){if(_0x511565[_0x1d48('0x45')]>0x0)_0x231315[_0x1d48('0x4a')]('ui.WhatsappInteractionId\x20IN\x20?',_[_0x1d48('0x30')](_0x511565,'id'));return db[_0x1d48('0xa2')][_0x1d48('0x41')](_0x231315[_0x1d48('0xa3')](),_0x33e3a6)[_0x1d48('0x2b')](function(_0xc660b2){var _0x49b6bd=_['groupBy'](_0xc660b2,_0x1d48('0xba'));var _0x30932f=[];_0x511565[_0x1d48('0x75')](function(_0x55306f){_0x30932f[_0x1d48('0xbb')](updateWhatsappInteraction(_0x55306f,_0x484e4d,_0x49b6bd));});return BPromise['all'](_0x30932f);});});})[_0x1d48('0x2b')](function(_0x2c8d18){_0x3d36ca[_0x1d48('0xbc')]=_0x2c8d18;return _0x3d36ca;})[_0x1d48('0x2b')](respondWithFilteredResult(_0x2d0c52,_0x574805))[_0x1d48('0x35')](handleError(_0x2d0c52,null));};exports[_0x1d48('0xbd')]=function(_0x4d7e63,_0x2fc44b){var _0x3949d6={'raw':![],'where':{'id':_0x4d7e63['params']['id']}},_0x167053={};_0x167053[_0x1d48('0x40')]=_['keys'](db[_0x1d48('0x3d')]['rawAttributes']);_0x167053[_0x1d48('0x41')]=_[_0x1d48('0xbe')](_0x4d7e63[_0x1d48('0x41')]);_0x167053[_0x1d48('0x42')]=_[_0x1d48('0x43')](_0x167053[_0x1d48('0x40')],_0x167053[_0x1d48('0x41')]);_0x3949d6[_0x1d48('0x44')]=_[_0x1d48('0x43')](_0x167053[_0x1d48('0x40')],qs['fields'](_0x4d7e63[_0x1d48('0x41')][_0x1d48('0xa6')]));_0x3949d6[_0x1d48('0x44')]=_0x3949d6[_0x1d48('0x44')][_0x1d48('0x45')]?_0x3949d6['attributes']:_0x167053[_0x1d48('0x40')];if(_0x4d7e63[_0x1d48('0x41')][_0x1d48('0xbf')]){_0x3949d6[_0x1d48('0xc0')]=[{'all':!![]}];}_0x3949d6=_[_0x1d48('0xa5')]({},_0x3949d6,_0x4d7e63['options']);return db[_0x1d48('0x3d')][_0x1d48('0x64')](_0x3949d6)[_0x1d48('0x2b')](handleEntityNotFound(_0x2fc44b,null))[_0x1d48('0x2b')](respondWithResult(_0x2fc44b,null))[_0x1d48('0x35')](handleError(_0x2fc44b,null));};exports['create']=function(_0x500028,_0x179045){return db[_0x1d48('0x3d')][_0x1d48('0xc1')](_0x500028[_0x1d48('0x7a')],{})[_0x1d48('0x2b')](respondWithResult(_0x179045,0xc9))[_0x1d48('0x35')](handleError(_0x179045,null));};exports['update']=function(_0x531b28,_0x2213e9){if(_0x531b28[_0x1d48('0x7a')]['id']){delete _0x531b28[_0x1d48('0x7a')]['id'];}return db[_0x1d48('0x3d')][_0x1d48('0x64')]({'where':{'id':_0x531b28['params']['id']}})[_0x1d48('0x2b')](handleEntityNotFound(_0x2213e9,null))[_0x1d48('0x2b')](saveUpdates(_0x531b28[_0x1d48('0x7a')],null))[_0x1d48('0x2b')](respondWithResult(_0x2213e9,null))[_0x1d48('0x35')](handleError(_0x2213e9,null));};exports[_0x1d48('0x2a')]=function(_0x56959f,_0x46274b){return db[_0x1d48('0x3d')][_0x1d48('0x64')]({'where':{'id':_0x56959f['params']['id']}})[_0x1d48('0x2b')](handleEntityNotFound(_0x46274b,null))['then'](removeEntity(_0x46274b,null))['catch'](handleError(_0x46274b,null));};exports[_0x1d48('0xc2')]=function(_0x44f7ab,_0x39efcf){return db[_0x1d48('0x3d')][_0x1d48('0xc2')]()['then'](respondWithResult(_0x39efcf,null))[_0x1d48('0x35')](handleError(_0x39efcf,null));};exports['addMessage']=function(_0x4009b1,_0x539be5,_0x522398){return db[_0x1d48('0xc3')][_0x1d48('0x64')]({'where':{'id':_0x4009b1[_0x1d48('0xc4')]['id']}})['then'](handleEntityNotFound(_0x539be5,null))[_0x1d48('0x2b')](function(_0x21ecf0){if(_0x21ecf0){return _0x21ecf0[_0x1d48('0xc5')](_0x4009b1[_0x1d48('0x7a')]['ids'],_[_0x1d48('0xc6')](_0x4009b1[_0x1d48('0x7a')],['ids','id'])||{});}})[_0x1d48('0x2b')](respondWithResult(_0x539be5,null))[_0x1d48('0x35')](handleError(_0x539be5,null));};exports[_0x1d48('0xc7')]=function(_0x3cecd8,_0x29d019,_0x35e6a5){var _0xb4fa9f={'raw':![],'where':{}};var _0x770d27={};var _0x13b5b4={'count':0x0,'rows':[]};return db['WhatsappInteraction'][_0x1d48('0xc8')]({'where':{'id':_0x3cecd8[_0x1d48('0xc4')]['id']}})[_0x1d48('0x2b')](handleEntityNotFound(_0x29d019,null))['then'](function(_0x43928b){if(_0x43928b){_0x770d27['model']=_[_0x1d48('0xbe')](db['WhatsappMessage'][_0x1d48('0x3e')]);_0x770d27[_0x1d48('0x41')]=_[_0x1d48('0xbe')](_0x3cecd8[_0x1d48('0x41')]);_0x770d27['filters']=_[_0x1d48('0x43')](_0x770d27[_0x1d48('0x40')],_0x770d27[_0x1d48('0x41')]);_0xb4fa9f['attributes']=_[_0x1d48('0x43')](_0x770d27[_0x1d48('0x40')],qs[_0x1d48('0xa6')](_0x3cecd8[_0x1d48('0x41')][_0x1d48('0xa6')]));_0xb4fa9f[_0x1d48('0x44')]=_0xb4fa9f[_0x1d48('0x44')]['length']?_0xb4fa9f['attributes']:_0x770d27['model'];if(!_0x3cecd8[_0x1d48('0x41')][_0x1d48('0xc9')](_0x1d48('0x46'))){_0xb4fa9f[_0x1d48('0x47')]=qs[_0x1d48('0x47')](_0x3cecd8[_0x1d48('0x41')][_0x1d48('0x47')]);_0xb4fa9f['offset']=qs[_0x1d48('0x24')](_0x3cecd8[_0x1d48('0x41')]['offset']);}_0xb4fa9f[_0x1d48('0x48')]=qs['sort'](_0x3cecd8['query'][_0x1d48('0x49')]);_0xb4fa9f[_0x1d48('0x4a')]=qs[_0x1d48('0x42')](_[_0x1d48('0x4b')](_0x3cecd8[_0x1d48('0x41')],_0x770d27[_0x1d48('0x42')]));_0xb4fa9f['where']['WhatsappInteractionId']=_0x43928b['id'];if(_0x3cecd8['query'][_0x1d48('0x8b')]){_0xb4fa9f[_0x1d48('0x4a')]=_[_0x1d48('0xa5')](_0xb4fa9f['where'],{'$or':_[_0x1d48('0x30')](_0xb4fa9f[_0x1d48('0x44')],function(_0x155417){var _0xb1fde1={};_0xb1fde1[_0x155417]={'$like':'%'+_0x3cecd8[_0x1d48('0x41')][_0x1d48('0x8b')]+'%'};return _0xb1fde1;})});}if(_0x3cecd8['query'][_0x1d48('0x82')]){var _0x2c37b5=_0x3cecd8[_0x1d48('0x41')][_0x1d48('0x82')]['split'](',');var _0x15f5b1={};_0x15f5b1[_0x2c37b5[0x0]]={'$gte':moment(_0x2c37b5[0x1])[_0x1d48('0xca')](_0x1d48('0xcb'))};_0xb4fa9f[_0x1d48('0x4a')]=_['merge'](_0xb4fa9f[_0x1d48('0x4a')],_0x15f5b1);}_0xb4fa9f=_[_0x1d48('0xa5')]({},_0xb4fa9f,_0x3cecd8[_0x1d48('0xcc')]);return db[_0x1d48('0xc3')][_0x1d48('0x26')]({'where':_0xb4fa9f['where']})[_0x1d48('0x2b')](function(_0x5a62b4){_0x13b5b4[_0x1d48('0x26')]=_0x5a62b4;if(_0x3cecd8[_0x1d48('0x41')][_0x1d48('0xbf')]){_0xb4fa9f[_0x1d48('0xc0')]=[{'all':!![]}];}return db[_0x1d48('0xc3')][_0x1d48('0xcd')](_0xb4fa9f);})['then'](function(_0x30cca1){_0x13b5b4[_0x1d48('0xbc')]=_0x30cca1;return _0x13b5b4;});}})[_0x1d48('0x2b')](respondWithFilteredResult(_0x29d019,_0xb4fa9f))[_0x1d48('0x35')](handleError(_0x29d019,null));};exports[_0x1d48('0xce')]=function(_0x12d9af,_0x4f76a9,_0x420417){return db[_0x1d48('0x3d')]['find']({'where':{'id':_0x12d9af['params']['id']}})[_0x1d48('0x2b')](handleEntityNotFound(_0x4f76a9,null))[_0x1d48('0x2b')](function(_0x2d82c3){if(_0x2d82c3){return _0x2d82c3[_0x1d48('0xcf')](_0x12d9af[_0x1d48('0x7a')][_0x1d48('0xd0')],_['omit'](_0x12d9af[_0x1d48('0x7a')],[_0x1d48('0xd0'),'id'])||{})[_0x1d48('0xd1')](function(){return db['Tag'][_0x1d48('0xcd')]({'attributes':['id',_0x1d48('0x2d'),_0x1d48('0x4e')],'where':{'id':_0x12d9af[_0x1d48('0x7a')]['ids']}});})[_0x1d48('0x2b')](function(_0x1eabc4){socket[_0x1d48('0xd2')]('whatsappInteractionTags:save',{'id':Number(_0x12d9af[_0x1d48('0xc4')]['id']),'tags':_0x1eabc4||[]});return{'id':Number(_0x12d9af[_0x1d48('0xc4')]['id']),'tags':_0x1eabc4||[]};});}})[_0x1d48('0x2b')](respondWithResult(_0x4f76a9,null))[_0x1d48('0x35')](handleError(_0x4f76a9,null));};exports['removeTags']=function(_0x40ed8b,_0x486347,_0x208898){return db[_0x1d48('0x3d')]['find']({'where':{'id':_0x40ed8b[_0x1d48('0xc4')]['id']}})['then'](handleEntityNotFound(_0x486347,null))[_0x1d48('0x2b')](function(_0x2da96d){if(_0x2da96d){return _0x2da96d[_0x1d48('0xd3')](_0x40ed8b[_0x1d48('0x41')][_0x1d48('0xd0')]);}})['then'](respondWithStatusCode(_0x486347,null))[_0x1d48('0x35')](handleError(_0x486347,null));};exports['download']=function(_0x5ea09b,_0x1460de){var _0x395262=moment()['unix']()['toString']();var _0x559d93=path[_0x1d48('0xd4')](config['root'],'server',_0x1d48('0xd5'),_0x1d48('0xd6'));var _0x2fda6a=path[_0x1d48('0xd4')](config[_0x1d48('0xd7')],_0x1d48('0xd8'),'files',_0x1d48('0xd9'));var _0x5dc241=path[_0x1d48('0xd4')](_0x559d93,_0x395262);var _0x3bb536=util[_0x1d48('0xca')](_0x1d48('0xda'),_0x5ea09b[_0x1d48('0xc4')]['id'],_0x395262);var _0x812d2e=path[_0x1d48('0xd4')](_0x559d93,_0x3bb536);var _0x4c3894=[];_0x4c3894[_0x1d48('0xbb')]({'model':db[_0x1d48('0xdb')],'as':_0x1d48('0xdb'),'attributes':['id',_0x1d48('0x31')],'raw':!![]});_0x4c3894[_0x1d48('0xbb')]({'model':db[_0x1d48('0xdc')],'as':'Contact','attributes':['id',_0x1d48('0xdd'),_0x1d48('0xde')],'raw':!![]});if(_0x5ea09b[_0x1d48('0x41')]['attachments']){_0x4c3894[_0x1d48('0xbb')]({'model':db[_0x1d48('0xdf')],'as':'Attachment','raw':!![]});}var _0x49cc5f=[{'model':db['WhatsappMessage'],'as':_0x1d48('0xe0'),'attributes':['id',_0x1d48('0x7a'),'createdAt',_0x1d48('0xe1'),_0x1d48('0xe2'),_0x1d48('0x88')],'include':_0x4c3894}];_0x49cc5f[_0x1d48('0xbb')]({'model':db[_0x1d48('0xe3')],'as':_0x1d48('0xe4'),'attributes':['id','name']});_0x49cc5f['push']({'model':db[_0x1d48('0xdb')],'as':_0x1d48('0xe5'),'attributes':['id',_0x1d48('0x31')]});return db['WhatsappInteraction']['find']({'where':{'id':_0x5ea09b['params']['id']},'include':_0x49cc5f})[_0x1d48('0x2b')](handleEntityNotFound(_0x1460de,null))[_0x1d48('0x2b')](function(_0x1c327a){if(_0x1c327a){var _0x2866a1=_0x1c327a[_0x1d48('0xe6')]({'plain':!![]});fs['mkdirSync'](_0x5dc241);var _0x1f01a7={'channel':'Whatsapp','account':_0x2866a1[_0x1d48('0xe4')][_0x1d48('0x2d')],'agent':_0x2866a1[_0x1d48('0xe5')]?_0x2866a1[_0x1d48('0xe5')][_0x1d48('0x31')]:_0x1d48('0xe7'),'createdAt':moment(_0x2866a1[_0x1d48('0x80')])[_0x1d48('0xca')](_0x1d48('0xcb'))[_0x1d48('0xa3')](),'closedAt':_0x2866a1['closed']?moment(_0x2866a1[_0x1d48('0xe8')])['format'](_0x1d48('0xcb'))[_0x1d48('0xa3')]():'','disposition':_0x2866a1[_0x1d48('0xe9')],'messages':_(_0x2866a1[_0x1d48('0xe0')])[_0x1d48('0x8b')]({'secret':![]})[_0x1d48('0x30')](function(_0x1b5a24){if(_0x1b5a24[_0x1d48('0xdf')]){var _0x15a16b=path[_0x1d48('0xd4')](_0x2fda6a,_0x1b5a24[_0x1d48('0xdf')][_0x1d48('0xea')]);if(fs[_0x1d48('0xeb')](_0x15a16b)){fs[_0x1d48('0xec')](_0x15a16b)['pipe'](fs[_0x1d48('0xed')](path[_0x1d48('0xd4')](_0x5dc241,_0x1b5a24[_0x1d48('0xdf')][_0x1d48('0xea')])));}}return{'date':moment(_0x1b5a24[_0x1d48('0x80')])['format'](_0x1d48('0xcb'))[_0x1d48('0xa3')](),'sender':_0x1b5a24[_0x1d48('0xe1')]===_0x1d48('0xee')?_0x1b5a24[_0x1d48('0xdb')]?_0x1b5a24[_0x1d48('0xdb')][_0x1d48('0x31')]:_0x1d48('0xef'):_0x1b5a24['Contact']['firstName']+(_0x1b5a24[_0x1d48('0x69')]['lastName']?'\x20'+_0x1b5a24['Contact']['lastName']:''),'body':_0x1b5a24[_0x1d48('0xdf')]?_0x1b5a24[_0x1d48('0xdf')][_0x1d48('0xea')]:_0x1b5a24[_0x1d48('0x7a')],'direction':_0x1b5a24[_0x1d48('0xe1')]===_0x1d48('0xee')?'A':'C','secret':_0x1b5a24[_0x1d48('0xe2')],'read':_0x1b5a24['read'],'attachment':_0x1b5a24[_0x1d48('0xdf')]};})[_0x1d48('0x6c')]()};return ejs[_0x1d48('0xf0')](path[_0x1d48('0xd4')](config[_0x1d48('0xd7')],'server',_0x1d48('0xf1'),_0x1d48('0xf2')),{'interaction':_0x1f01a7})[_0x1d48('0x2b')](function(_0x19ead6){var _0x305a5b=path[_0x1d48('0xd4')](_0x5dc241,_0x1d48('0xf3')+_0x2866a1['id']+'-'+_0x395262+_0x1d48('0xf4'));var _0x4a2055={'path':_0x305a5b,'channel':_0x1d48('0xf5'),'interactionId':_0x2866a1['id']};return pdf[_0x1d48('0xf6')](_0x19ead6,_0x4a2055);})[_0x1d48('0x2b')](function(){return new BPromise(function(_0x2b6d23,_0x5b5fac){zipdir(_0x5dc241,{'saveTo':_0x812d2e},function(_0x4849f7,_0x56b4b1){if(_0x4849f7)return _0x5b5fac(_0x4849f7);return _0x2b6d23(_0x56b4b1);});})['then'](function(){return new BPromise(function(_0x54a5c6,_0x56453e){rimraf(_0x5dc241,function(_0x47cc8a){if(_0x47cc8a)_0x56453e(_0x47cc8a);return _0x54a5c6();});});})['then'](function(){return _0x1460de[_0x1d48('0xf7')](_0x812d2e,_0x3bb536,function(_0x367158){if(_0x367158){console[_0x1d48('0xf8')](_0x1d48('0xf9'),_0x367158);}else{fs[_0x1d48('0xfa')](_0x812d2e);}});});});}else{return _0x1460de[_0x1d48('0x20')](0xc8);}})[_0x1d48('0x35')](handleError(_0x1460de,null));};