Built motion from commit 0900f080.|2.5.45
[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 _0x1fa9=['c.mobile','c.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?','groupBy','all','rows','catch','show','params','includeAll','include','options','create','update','destroy','describe','addMessage','WhatsappMessage','ids','getMessages','findOne','WhatsappInteractionId','format','YYYY-MM-DD\x20HH:mm:ss','findAll','addTags','omit','emit','whatsappInteractionTags:save','removeTags','download','root','server','tmp','join','files','attachments','transcript-%d-%s.zip','CmContact','firstName','lastName','Attachment','Messages','secret','WhatsappAccount','Account','Owner','fullname','get','Whatsapp','N.A.','closedAt','disposition','basename','existsSync','createReadStream','pipe','createWriteStream','direction','out','renderFile','downloadInteraction.ejs','.pdf','createPdfFromHTML','log','err','eml-format','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','localhost','redis','./whatsappInteraction.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','reject','save','then','stack','name','send','Users','map','TagIds','split','forEach','Tags','push','waiting','talking','answered','unmanaged','closed','UserId','index','WhatsappInteraction','rawAttributes','fieldName','type','key','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','select','field','color','from','tools_tags','u.fullname','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','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','unreadMessages','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)','getFullTextValue','value','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','ContactId','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','start','body','buildExpression','compact','isEmpty','WhatsappAccountId','i.WhatsappAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','Sequelize','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','t.id\x20IN\x20?','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','role','user','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','agent','sequelize','toString','keyBy','merge','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','c.email','Contact.email','c.phone','Contact.phone'];(function(_0x382410,_0x3f67c9){var _0x1a603d=function(_0x242310){while(--_0x242310){_0x382410['push'](_0x382410['shift']());}};_0x1a603d(++_0x3f67c9);}(_0x1fa9,0x136));var _0x91fa=function(_0x1c9e12,_0x39b881){_0x1c9e12=_0x1c9e12-0x0;var _0x1f0dd4=_0x1fa9[_0x1c9e12];return _0x1f0dd4;};'use strict';var emlformat=require(_0x91fa('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x91fa('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x91fa('0x2'));var moment=require(_0x91fa('0x3'));var BPromise=require(_0x91fa('0x4'));var Mustache=require('mustache');var util=require(_0x91fa('0x5'));var path=require(_0x91fa('0x6'));var sox=require(_0x91fa('0x7'));var csv=require(_0x91fa('0x8'));var ejs=require(_0x91fa('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x91fa('0xa'));var squel=require(_0x91fa('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x91fa('0xc'));var toCsv=require(_0x91fa('0x8'));var querystring=require(_0x91fa('0xd'));var Papa=require(_0x91fa('0xe'));var Redis=require(_0x91fa('0xf'));var authService=require(_0x91fa('0x10'));var qs=require(_0x91fa('0x11'));var as=require('../../components/parsers/advancedSearch');var pdf=require('../../components/export/pdf');var hardwareService=require(_0x91fa('0x12'));var logger=require(_0x91fa('0x13'))(_0x91fa('0x14'));var utils=require(_0x91fa('0x15'));var config=require(_0x91fa('0x16'));var licenseUtil=require(_0x91fa('0x17'));var db=require(_0x91fa('0x18'))['db'];config['redis']=_['defaults'](config['redis'],{'host':_0x91fa('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x91fa('0x1a')]));require(_0x91fa('0x1b'))[_0x91fa('0x1c')](socket);function respondWithStatusCode(_0x2797d2,_0x5449a7){_0x5449a7=_0x5449a7||0xcc;return function(_0x308812){if(_0x308812){return _0x2797d2[_0x91fa('0x1d')](_0x5449a7);}return _0x2797d2[_0x91fa('0x1e')](_0x5449a7)[_0x91fa('0x1f')]();};}function respondWithResult(_0xe9e249,_0x1f43fa){_0x1f43fa=_0x1f43fa||0xc8;return function(_0x5172d8){if(_0x5172d8){return _0xe9e249[_0x91fa('0x1e')](_0x1f43fa)[_0x91fa('0x20')](_0x5172d8);}};}function respondWithFilteredResult(_0x2efa2a,_0x3916cc){return function(_0xd39ff8){if(_0xd39ff8){var _0x4dcbcf=typeof _0x3916cc[_0x91fa('0x21')]===_0x91fa('0x22')&&typeof _0x3916cc[_0x91fa('0x23')]===_0x91fa('0x22');var _0xaaf2eb=_0xd39ff8[_0x91fa('0x24')];var _0xb5109c=_0x4dcbcf?0x0:_0x3916cc[_0x91fa('0x21')];var _0xba1e97=_0x4dcbcf?_0xd39ff8[_0x91fa('0x24')]:_0x3916cc[_0x91fa('0x21')]+_0x3916cc['limit'];var _0x46433d;if(_0xba1e97>=_0xaaf2eb){_0xba1e97=_0xaaf2eb;_0x46433d=0xc8;}else{_0x46433d=0xce;}_0x2efa2a[_0x91fa('0x1e')](_0x46433d);return _0x2efa2a['set'](_0x91fa('0x25'),_0xb5109c+'-'+_0xba1e97+'/'+_0xaaf2eb)['json'](_0xd39ff8);}return null;};}function patchUpdates(_0x3c4b36){return function(_0x4c5ce3){try{jsonpatch['apply'](_0x4c5ce3,_0x3c4b36,!![]);}catch(_0x5d89f9){return BPromise[_0x91fa('0x26')](_0x5d89f9);}return _0x4c5ce3[_0x91fa('0x27')]();};}function saveUpdates(_0x3dd307,_0x476070){return function(_0x1fd482){if(_0x1fd482){return _0x1fd482['update'](_0x3dd307)[_0x91fa('0x28')](function(_0xb7a98){return _0xb7a98;});}return null;};}function removeEntity(_0x252c71,_0x1d2019){return function(_0x4b0090){if(_0x4b0090){return _0x4b0090['destroy']()[_0x91fa('0x28')](function(){_0x252c71[_0x91fa('0x1e')](0xcc)[_0x91fa('0x1f')]();});}};}function handleEntityNotFound(_0x44af0b,_0x1224ef){return function(_0x50b4fa){if(!_0x50b4fa){_0x44af0b[_0x91fa('0x1d')](0x194);}return _0x50b4fa;};}function handleError(_0x404bbc,_0x402884){_0x402884=_0x402884||0x1f4;return function(_0x5601c4){logger['error'](_0x5601c4[_0x91fa('0x29')]);if(_0x5601c4[_0x91fa('0x2a')]){delete _0x5601c4[_0x91fa('0x2a')];}_0x404bbc[_0x91fa('0x1e')](_0x402884)[_0x91fa('0x2b')](_0x5601c4);};}function getInteractionUsers(_0x17bba2,_0x27ed0e){return new BPromise(function(_0x33198a,_0x455e8c){try{if(_0x27ed0e[_0x17bba2['id']]){_0x17bba2[_0x91fa('0x2c')]=_[_0x91fa('0x2d')](_0x27ed0e[_0x17bba2['id']],function(_0x5defcb){return{'id':_0x5defcb['id'],'fullname':_0x5defcb['fullname']};});}}catch(_0x291ff2){_0x455e8c(_0x291ff2);}_0x33198a(_0x17bba2);});}function getInteractionTags(_0x242640,_0x2e5b1f){return new BPromise(function(_0x432fd1,_0x2c6726){try{if(_0x242640[_0x91fa('0x2e')]){_0x242640['Tags']=[];_0x242640[_0x91fa('0x2e')][_0x91fa('0x2f')](',')[_0x91fa('0x30')](function(_0x6b9aed){_0x242640[_0x91fa('0x31')][_0x91fa('0x32')](_0x2e5b1f[_0x6b9aed]);});}delete _0x242640[_0x91fa('0x2e')];}catch(_0x3b65fa){_0x2c6726(_0x3b65fa);}_0x432fd1(_0x242640);});}function updateWhatsappInteraction(_0x4a5388,_0x4bef35,_0x23d3c8){return new BPromise(function(_0xe0a4c6,_0x55ea0f){return getInteractionUsers(_0x4a5388,_0x23d3c8)[_0x91fa('0x28')](function(_0x512a31){return getInteractionTags(_0x512a31,_0x4bef35);})['then'](function(_0x2b4b98){return getStateInteraction(_0x2b4b98);})[_0x91fa('0x28')](function(_0x28cbbe){_0xe0a4c6(_0x28cbbe);})['catch'](function(_0x3ca2fb){_0x55ea0f(_0x3ca2fb);});});}function getStateInteraction(_0xd0816b){return new BPromise(function(_0x2b9a37){_0xd0816b[_0x91fa('0x33')]=0x0;_0xd0816b[_0x91fa('0x34')]=0x0;_0xd0816b[_0x91fa('0x35')]=0x0;_0xd0816b[_0x91fa('0x36')]=0x0;_0xd0816b['total']=0x0;if(!_0xd0816b[_0x91fa('0x37')]&&!_0xd0816b[_0x91fa('0x38')]){_0xd0816b['waiting']+=0x1;}if(!_0xd0816b['closed']&&_0xd0816b[_0x91fa('0x38')]){_0xd0816b[_0x91fa('0x34')]+=0x1;if(_0xd0816b['waiting']){_0xd0816b[_0x91fa('0x33')]-=0x1;}}if(_0xd0816b[_0x91fa('0x37')]&&_0xd0816b['UserId']){_0xd0816b[_0x91fa('0x35')]+=0x1;if(_0xd0816b['talking']){_0xd0816b['talking']-=0x1;}}if(_0xd0816b[_0x91fa('0x37')]&&!_0xd0816b[_0x91fa('0x38')]){_0xd0816b['unmanaged']+=0x1;if(_0xd0816b[_0x91fa('0x33')]){_0xd0816b[_0x91fa('0x33')]-=0x1;}}_0xd0816b['total']+=0x1;_0x2b9a37(_0xd0816b);});}exports[_0x91fa('0x39')]=function(_0x501e3c,_0x3c2482){var _0x4a3c54={},_0x396a91={},_0x560070={'count':0x0,'rows':[]};var _0x8987ad=_[_0x91fa('0x2d')](db[_0x91fa('0x3a')][_0x91fa('0x3b')],function(_0x55417b){return{'name':_0x55417b[_0x91fa('0x3c')],'type':_0x55417b[_0x91fa('0x3d')][_0x91fa('0x3e')]};});_0x396a91[_0x91fa('0x3f')]=_[_0x91fa('0x2d')](_0x8987ad,_0x91fa('0x2a'));_0x396a91['query']=_[_0x91fa('0x40')](_0x501e3c['query']);_0x396a91[_0x91fa('0x41')]=_[_0x91fa('0x42')](_0x396a91[_0x91fa('0x3f')],_0x396a91[_0x91fa('0x43')]);_0x4a3c54[_0x91fa('0x44')]=_[_0x91fa('0x42')](_0x396a91[_0x91fa('0x3f')],qs[_0x91fa('0x45')](_0x501e3c['query'][_0x91fa('0x45')]));_0x4a3c54['attributes']=_0x4a3c54[_0x91fa('0x44')][_0x91fa('0x46')]?_0x4a3c54[_0x91fa('0x44')]:_0x396a91[_0x91fa('0x3f')];if(!_0x501e3c[_0x91fa('0x43')][_0x91fa('0x47')](_0x91fa('0x48'))){_0x4a3c54[_0x91fa('0x23')]=qs[_0x91fa('0x23')](_0x501e3c[_0x91fa('0x43')][_0x91fa('0x23')]);_0x4a3c54[_0x91fa('0x21')]=qs[_0x91fa('0x21')](_0x501e3c[_0x91fa('0x43')][_0x91fa('0x21')]);}_0x4a3c54['order']=qs[_0x91fa('0x49')](_0x501e3c[_0x91fa('0x43')][_0x91fa('0x49')]);_0x4a3c54[_0x91fa('0x4a')]=qs[_0x91fa('0x41')](_[_0x91fa('0x4b')](_0x501e3c[_0x91fa('0x43')],_0x396a91[_0x91fa('0x41')]),_0x8987ad);var _0x50aa1b=[];var _0x3c554c=squel[_0x91fa('0x4c')]()[_0x91fa('0x4d')]('id')[_0x91fa('0x4d')]('name')[_0x91fa('0x4d')](_0x91fa('0x4e'))[_0x91fa('0x4f')](_0x91fa('0x50'));var _0x19b3c9=squel['select']()[_0x91fa('0x4d')]('u.id')[_0x91fa('0x4d')](_0x91fa('0x51'))[_0x91fa('0x4d')](_0x91fa('0x52'))[_0x91fa('0x4f')](_0x91fa('0x53'),'ui')[_0x91fa('0x54')](_0x91fa('0x55'),'u',_0x91fa('0x56'));var _0xed80bb=squel[_0x91fa('0x4c')]()['from'](_0x91fa('0x57'),'i')['left_join']('cm_contacts','c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join']('users','o',_0x91fa('0x58'))[_0x91fa('0x54')](_0x91fa('0x59'),'a',_0x91fa('0x5a'))[_0x91fa('0x54')](_0x91fa('0x5b'),'me',_0x91fa('0x5c'))[_0x91fa('0x54')]('whatsapp_interaction_has_tags','it','it.WhatsappInteractionId\x20=\x20i.id')['left_join'](_0x91fa('0x50'),'t',_0x91fa('0x5d'));var _0x5966e0=squel[_0x91fa('0x5e')]();var _0x231caf=[];var _0x3510a9=squel['expr']();var _0xd5cefb;if(_0x501e3c['query'][_0x91fa('0x5f')]){_0xd5cefb=as[_0x91fa('0x60')](_0x501e3c[_0x91fa('0x43')][_0x91fa('0x5f')]);var _0x439b4b=_0xd5cefb[_0x91fa('0x61')];for(var _0x5f4e04=0x0;_0x5f4e04<_0xd5cefb['conditions'][_0x91fa('0x46')];_0x5f4e04++){var _0x16183e=_0xd5cefb[_0x91fa('0x62')][_0x5f4e04];var _0x29bf0a='i';var _0x2d80c0=_['find'](_0x8987ad,[_0x91fa('0x2a'),_0x16183e[_0x91fa('0x4d')]]);if(!_0x2d80c0){switch(_0x16183e[_0x91fa('0x4d')]){case _0x91fa('0x63'):if(_0x16183e['value']==0x1){_0xed80bb[_0x91fa('0x64')]('`'+_0x16183e[_0x91fa('0x4d')]+_0x91fa('0x65'));}else{_0xed80bb[_0x91fa('0x64')]('`'+_0x16183e[_0x91fa('0x4d')]+_0x91fa('0x66'));}break;case _0x91fa('0x67'):if(_0x16183e[_0x91fa('0x68')]==='$substring'){if(_0x16183e['value'][_0x91fa('0x2f')]('\x20')['length']>0x1){_0x5966e0[_0x439b4b](_0x91fa('0x69'),qs[_0x91fa('0x6a')](_0x16183e[_0x91fa('0x6b')]),null);}else{var _0x5b3712='%'+_0x16183e[_0x91fa('0x6b')]+'%';_0x5966e0[_0x439b4b](_0x91fa('0x6c'),_0x5b3712,_0x5b3712,_0x5b3712);}}else{_0x2d80c0=_[_0x91fa('0x6d')](_0x8987ad,[_0x91fa('0x2a'),_0x91fa('0x6e')]);_0x16183e['field']=_0x91fa('0x6e');_0x1e1872=as['buildExpression'](_0x29bf0a,_0x2d80c0[_0x91fa('0x3d')],_0x16183e);_0x5966e0[_0x439b4b](_0x1e1872[_0x91fa('0x6f')],_0x1e1872['value']['start'],_0x1e1872['value']['end']);}break;case _0x91fa('0x70'):var _0x4c204c=_0x16183e['value'][_0x91fa('0x2f')](',')[_0x91fa('0x2d')](function(_0x27797e){return Number(_0x27797e);});_0x4c204c[_0x91fa('0x30')](function(_0x4f8bad){_0x3510a9['or'](_0x91fa('0x71'),'%,'+_0x4f8bad+',%');});_0x231caf=_[_0x91fa('0x72')](_0x231caf,_0x4c204c);break;case _0x91fa('0x73'):if(_0x16183e[_0x91fa('0x68')]===_0x91fa('0x74')){_0x5966e0[_0x439b4b](_0x91fa('0x75'),'%'+_0x16183e['value']+'%',null);}else{_0x2d80c0=_[_0x91fa('0x6d')](_0x8987ad,['name',_0x91fa('0x38')]);_0x16183e[_0x91fa('0x4d')]=_0x91fa('0x38');_0x1e1872=as['buildExpression'](_0x29bf0a,_0x2d80c0['type'],_0x16183e);_0x5966e0[_0x439b4b](_0x1e1872[_0x91fa('0x6f')],_0x1e1872[_0x91fa('0x6b')][_0x91fa('0x76')],_0x1e1872[_0x91fa('0x6b')][_0x91fa('0x1f')]);}break;case _0x91fa('0x77'):_0x1e1872=as[_0x91fa('0x78')]('me',null,_0x16183e);_0x5966e0[_0x439b4b](_0x1e1872[_0x91fa('0x6f')],_0x1e1872[_0x91fa('0x6b')]['start'],_0x1e1872[_0x91fa('0x6b')][_0x91fa('0x1f')]);break;}}else{var _0x1e1872=as[_0x91fa('0x78')](_0x29bf0a,_0x2d80c0[_0x91fa('0x3d')],_0x16183e);_0x5966e0[_0x439b4b](_0x1e1872[_0x91fa('0x6f')],_0x1e1872[_0x91fa('0x6b')]['start'],_0x1e1872[_0x91fa('0x6b')]['end']);}}}else{var _0x187bab=_(_0x501e3c[_0x91fa('0x43')])['keys']()[_0x91fa('0x2d')](function(_0x22d45e){return _['some'](_0x8987ad,[_0x91fa('0x2a'),_0x22d45e])?_0x22d45e:undefined;})[_0x91fa('0x79')]()['value']();if(!_[_0x91fa('0x7a')](_0x187bab)){_0x187bab['forEach'](function(_0x106fd1){if(_0x106fd1===_0x91fa('0x7b')){_0xed80bb['where'](_0x91fa('0x7c'),[][_0x91fa('0x7d')](_0x501e3c[_0x91fa('0x43')][_0x106fd1]));}else if(_0x106fd1===_0x91fa('0x7e')){var _0x557b7b=JSON[_0x91fa('0x7f')](_0x501e3c[_0x91fa('0x43')][_0x106fd1])[_0x91fa('0x80')];var _0x53b5ad=JSON[_0x91fa('0x7f')](_0x501e3c[_0x91fa('0x43')][_0x106fd1])[_0x91fa('0x81')];_0xed80bb[_0x91fa('0x4a')](_0x91fa('0x82'),_0x557b7b,_0x53b5ad);}else{if(_0x501e3c[_0x91fa('0x43')][_0x106fd1]===_0x91fa('0x83')){_0xed80bb[_0x91fa('0x4a')]('i.'+_0x106fd1+_0x91fa('0x84'));}else{_0xed80bb[_0x91fa('0x4a')]('i.'+_0x106fd1+'\x20=\x20?',_0x501e3c['query'][_0x106fd1]);}}});}if(_0x501e3c[_0x91fa('0x43')][_0x91fa('0x85')]){if(_0x501e3c[_0x91fa('0x43')][_0x91fa('0x85')]==0x1){_0xed80bb[_0x91fa('0x64')](_0x91fa('0x86'));}else{_0xed80bb[_0x91fa('0x64')](_0x91fa('0x87'));}}if(_0x501e3c[_0x91fa('0x43')][_0x91fa('0x88')]){_0x231caf=_[_0x91fa('0x89')](_0x501e3c[_0x91fa('0x43')][_0x91fa('0x88')])?_0x501e3c[_0x91fa('0x43')][_0x91fa('0x88')]:new Array(_0x501e3c[_0x91fa('0x43')]['tag']);_0x231caf[_0x91fa('0x30')](function(_0x10f683){_0x3510a9['or'](_0x91fa('0x71'),'%,'+_0x10f683+',%');});}if(_0x501e3c['query'][_0x91fa('0x8a')]){var _0xbabac3=_0x501e3c['query'][_0x91fa('0x8a')][_0x91fa('0x8b')]('\x5c','\x5c\x5c')[_0x91fa('0x8b')](/'/g,'\x27\x27');if(qs['isNumeric'](_0xbabac3)){_0x5966e0['or'](_0x91fa('0x8c'),_0xbabac3+'%')['or'](_0x91fa('0x8d'),_0xbabac3+'%');}else{_0x5966e0['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x91fa('0x6a')](_0xbabac3))['or'](_0x91fa('0x8e'),_0xbabac3+'%');}}}_0xed80bb[_0x91fa('0x4a')](_0x5966e0);_0xed80bb['group']('i.id');var _0x55ad36={'type':db[_0x91fa('0x8f')]['QueryTypes']['SELECT'],'raw':!![]};var _0x4d952f=_0xed80bb['clone']();_0x4d952f[_0x91fa('0x4d')](_0x91fa('0x90'));_0x4d952f[_0x91fa('0x4d')](_0x91fa('0x91'),_0x91fa('0x63'));if(_0x4a3c54[_0x91fa('0x92')]){_0x4a3c54[_0x91fa('0x92')][_0x91fa('0x30')](function(_0x4b3687){var _0x1edc67=_0x4b3687[0x0]===_0x91fa('0x93')?_0x4b3687[0x0]:'i.'+_0x4b3687[0x0];_0xed80bb['order'](_0x1edc67,_0x4b3687[0x1]===_0x91fa('0x94')?![]:!![]);});}if(!_[_0x91fa('0x7a')](_0x231caf)){_0xed80bb[_0x91fa('0x64')](_0x3510a9);_0x4d952f[_0x91fa('0x4a')](_0x91fa('0x95'),_0x231caf);}BPromise['resolve']()[_0x91fa('0x28')](function(){if(!_0xd5cefb){if(_0x501e3c[_0x91fa('0x43')][_0x91fa('0x7b')])return;_0x4d952f[_0x91fa('0x4a')](_0x91fa('0x96'));_0xed80bb[_0x91fa('0x4a')](_0x91fa('0x96'));return;}if(_0x501e3c['user'][_0x91fa('0x97')]!=='agent')return;return _0x501e3c[_0x91fa('0x98')][_0x91fa('0x99')]({'attributes':['id'],'raw':!![]})[_0x91fa('0x28')](function(_0xf2e265){if(_[_0x91fa('0x7a')](_0xf2e265)){_0x4d952f[_0x91fa('0x4a')](_0x91fa('0x9a'));_0xed80bb[_0x91fa('0x4a')](_0x91fa('0x9a'));}else{_0x4d952f[_0x91fa('0x4a')]('i.WhatsappAccountId\x20IN\x20?',_[_0x91fa('0x2d')](_0xf2e265,'id'));_0xed80bb['where'](_0x91fa('0x7c'),_[_0x91fa('0x2d')](_0xf2e265,'id'));}});})[_0x91fa('0x28')](function(){if(_0x501e3c[_0x91fa('0x98')][_0x91fa('0x97')]===_0x91fa('0x9b')&&!_0xd5cefb&&!_0x501e3c[_0x91fa('0x43')][_0x91fa('0x7b')])return[];return db[_0x91fa('0x9c')]['query'](_0x4d952f[_0x91fa('0x9d')](),_0x55ad36);})[_0x91fa('0x28')](function(_0x4d59bd){_0x560070[_0x91fa('0x24')]=_0x4d59bd[_0x91fa('0x46')];if(_0x560070['count']===0x0)return[];return db[_0x91fa('0x9c')][_0x91fa('0x43')](_0x3c554c[_0x91fa('0x9d')](),_0x55ad36)[_0x91fa('0x28')](function(_0x18245d){_0x50aa1b=_[_0x91fa('0x9e')](_0x18245d,'id');_0x55ad36=_[_0x91fa('0x9f')](_0x55ad36,{'model':db[_0x91fa('0x3a')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x501e3c[_0x91fa('0x43')][_0x91fa('0x45')]){_0x4a3c54[_0x91fa('0x44')][_0x91fa('0x30')](function(_0x47e75f){_0xed80bb[_0x91fa('0x4d')]('i.'+_0x47e75f);});}else{_0xed80bb['field'](_0x91fa('0x91'),'unreadMessages');_0xed80bb['field']('a.key','Account.key');_0xed80bb[_0x91fa('0x4d')](_0x91fa('0xa0'),_0x91fa('0xa1'));_0xed80bb['field'](_0x91fa('0xa2'),_0x91fa('0x93'));_0xed80bb['field'](_0x91fa('0xa3'));_0xed80bb[_0x91fa('0x4d')](_0x91fa('0xa4'),'Contact.firstName');_0xed80bb[_0x91fa('0x4d')](_0x91fa('0xa5'),'Contact.lastName');_0xed80bb[_0x91fa('0x4d')](_0x91fa('0xa6'),_0x91fa('0xa7'));_0xed80bb['field'](_0x91fa('0xa8'),_0x91fa('0xa9'));_0xed80bb['field'](_0x91fa('0xaa'),'Contact.mobile');_0xed80bb[_0x91fa('0x4d')](_0x91fa('0xab'),'Contact.fax');_0xed80bb[_0x91fa('0x4d')](_0x91fa('0xac'),_0x91fa('0xad'));_0xed80bb[_0x91fa('0x4d')]('o.internal',_0x91fa('0xae'));_0xed80bb[_0x91fa('0x4d')](_0x91fa('0xaf'),_0x91fa('0x2e'));}if(_0x4a3c54[_0x91fa('0x23')])_0xed80bb[_0x91fa('0x23')](_0x4a3c54[_0x91fa('0x23')]);if(_0x4a3c54[_0x91fa('0x21')])_0xed80bb['offset'](_0x4a3c54[_0x91fa('0x21')]);return db[_0x91fa('0x9c')]['query'](_0xed80bb['toString'](),_0x55ad36);})[_0x91fa('0x28')](function(_0x1a5a58){if(_0x1a5a58[_0x91fa('0x46')]>0x0)_0x19b3c9['where'](_0x91fa('0xb0'),_[_0x91fa('0x2d')](_0x1a5a58,'id'));return db[_0x91fa('0x9c')][_0x91fa('0x43')](_0x19b3c9[_0x91fa('0x9d')](),_0x55ad36)[_0x91fa('0x28')](function(_0x1dd80a){var _0x11b3d2=_[_0x91fa('0xb1')](_0x1dd80a,'WhatsappInteractionId');var _0x4a90c5=[];_0x1a5a58[_0x91fa('0x30')](function(_0x9413fc){_0x4a90c5[_0x91fa('0x32')](updateWhatsappInteraction(_0x9413fc,_0x50aa1b,_0x11b3d2));});return BPromise[_0x91fa('0xb2')](_0x4a90c5);});});})[_0x91fa('0x28')](function(_0x27d859){_0x560070[_0x91fa('0xb3')]=_0x27d859;return _0x560070;})[_0x91fa('0x28')](respondWithFilteredResult(_0x3c2482,_0x4a3c54))[_0x91fa('0xb4')](handleError(_0x3c2482,null));};exports[_0x91fa('0xb5')]=function(_0x144b99,_0x2995a2){var _0x35c1ef={'raw':![],'where':{'id':_0x144b99[_0x91fa('0xb6')]['id']}},_0x1b545d={};_0x1b545d[_0x91fa('0x3f')]=_[_0x91fa('0x40')](db[_0x91fa('0x3a')]['rawAttributes']);_0x1b545d[_0x91fa('0x43')]=_[_0x91fa('0x40')](_0x144b99['query']);_0x1b545d['filters']=_[_0x91fa('0x42')](_0x1b545d[_0x91fa('0x3f')],_0x1b545d['query']);_0x35c1ef['attributes']=_[_0x91fa('0x42')](_0x1b545d['model'],qs[_0x91fa('0x45')](_0x144b99['query'][_0x91fa('0x45')]));_0x35c1ef['attributes']=_0x35c1ef[_0x91fa('0x44')][_0x91fa('0x46')]?_0x35c1ef['attributes']:_0x1b545d[_0x91fa('0x3f')];if(_0x144b99[_0x91fa('0x43')][_0x91fa('0xb7')]){_0x35c1ef[_0x91fa('0xb8')]=[{'all':!![]}];}_0x35c1ef=_[_0x91fa('0x9f')]({},_0x35c1ef,_0x144b99[_0x91fa('0xb9')]);return db['WhatsappInteraction'][_0x91fa('0x6d')](_0x35c1ef)[_0x91fa('0x28')](handleEntityNotFound(_0x2995a2,null))[_0x91fa('0x28')](respondWithResult(_0x2995a2,null))[_0x91fa('0xb4')](handleError(_0x2995a2,null));};exports['create']=function(_0x18127d,_0x4229be){return db[_0x91fa('0x3a')][_0x91fa('0xba')](_0x18127d[_0x91fa('0x77')],{})['then'](respondWithResult(_0x4229be,0xc9))[_0x91fa('0xb4')](handleError(_0x4229be,null));};exports[_0x91fa('0xbb')]=function(_0x515a1c,_0x35b675){if(_0x515a1c['body']['id']){delete _0x515a1c[_0x91fa('0x77')]['id'];}return db['WhatsappInteraction'][_0x91fa('0x6d')]({'where':{'id':_0x515a1c[_0x91fa('0xb6')]['id']}})[_0x91fa('0x28')](handleEntityNotFound(_0x35b675,null))['then'](saveUpdates(_0x515a1c[_0x91fa('0x77')],null))[_0x91fa('0x28')](respondWithResult(_0x35b675,null))[_0x91fa('0xb4')](handleError(_0x35b675,null));};exports[_0x91fa('0xbc')]=function(_0xedf3d1,_0x186dd1){return db[_0x91fa('0x3a')][_0x91fa('0x6d')]({'where':{'id':_0xedf3d1[_0x91fa('0xb6')]['id']}})[_0x91fa('0x28')](handleEntityNotFound(_0x186dd1,null))['then'](removeEntity(_0x186dd1,null))[_0x91fa('0xb4')](handleError(_0x186dd1,null));};exports['describe']=function(_0x4294d4,_0x5b3a93){return db[_0x91fa('0x3a')][_0x91fa('0xbd')]()[_0x91fa('0x28')](respondWithResult(_0x5b3a93,null))['catch'](handleError(_0x5b3a93,null));};exports[_0x91fa('0xbe')]=function(_0x28ad7b,_0x7d2976,_0x572cab){return db[_0x91fa('0xbf')][_0x91fa('0x6d')]({'where':{'id':_0x28ad7b[_0x91fa('0xb6')]['id']}})[_0x91fa('0x28')](handleEntityNotFound(_0x7d2976,null))[_0x91fa('0x28')](function(_0x4bbf05){if(_0x4bbf05){return _0x4bbf05[_0x91fa('0xbe')](_0x28ad7b[_0x91fa('0x77')][_0x91fa('0xc0')],_['omit'](_0x28ad7b[_0x91fa('0x77')],[_0x91fa('0xc0'),'id'])||{});}})[_0x91fa('0x28')](respondWithResult(_0x7d2976,null))[_0x91fa('0xb4')](handleError(_0x7d2976,null));};exports[_0x91fa('0xc1')]=function(_0x5343b0,_0x489746,_0x399e1a){var _0x1cf8a4={'raw':![],'where':{}};var _0x110e05={};var _0x662170={'count':0x0,'rows':[]};return db[_0x91fa('0x3a')][_0x91fa('0xc2')]({'where':{'id':_0x5343b0[_0x91fa('0xb6')]['id']}})[_0x91fa('0x28')](handleEntityNotFound(_0x489746,null))['then'](function(_0x447832){if(_0x447832){_0x110e05[_0x91fa('0x3f')]=_[_0x91fa('0x40')](db[_0x91fa('0xbf')][_0x91fa('0x3b')]);_0x110e05[_0x91fa('0x43')]=_['keys'](_0x5343b0['query']);_0x110e05[_0x91fa('0x41')]=_['intersection'](_0x110e05[_0x91fa('0x3f')],_0x110e05[_0x91fa('0x43')]);_0x1cf8a4[_0x91fa('0x44')]=_[_0x91fa('0x42')](_0x110e05[_0x91fa('0x3f')],qs[_0x91fa('0x45')](_0x5343b0['query']['fields']));_0x1cf8a4[_0x91fa('0x44')]=_0x1cf8a4[_0x91fa('0x44')][_0x91fa('0x46')]?_0x1cf8a4['attributes']:_0x110e05[_0x91fa('0x3f')];if(!_0x5343b0[_0x91fa('0x43')][_0x91fa('0x47')](_0x91fa('0x48'))){_0x1cf8a4[_0x91fa('0x23')]=qs[_0x91fa('0x23')](_0x5343b0[_0x91fa('0x43')][_0x91fa('0x23')]);_0x1cf8a4['offset']=qs[_0x91fa('0x21')](_0x5343b0[_0x91fa('0x43')][_0x91fa('0x21')]);}_0x1cf8a4[_0x91fa('0x92')]=qs['sort'](_0x5343b0[_0x91fa('0x43')][_0x91fa('0x49')]);_0x1cf8a4['where']=qs[_0x91fa('0x41')](_[_0x91fa('0x4b')](_0x5343b0['query'],_0x110e05[_0x91fa('0x41')]));_0x1cf8a4[_0x91fa('0x4a')][_0x91fa('0xc3')]=_0x447832['id'];if(_0x5343b0[_0x91fa('0x43')][_0x91fa('0x8a')]){_0x1cf8a4[_0x91fa('0x4a')]=_['merge'](_0x1cf8a4[_0x91fa('0x4a')],{'$or':_['map'](_0x1cf8a4[_0x91fa('0x44')],function(_0x1dcbc0){var _0x200ac8={};_0x200ac8[_0x1dcbc0]={'$like':'%'+_0x5343b0[_0x91fa('0x43')][_0x91fa('0x8a')]+'%'};return _0x200ac8;})});}if(_0x5343b0[_0x91fa('0x43')][_0x91fa('0x80')]){var _0x59b170=_0x5343b0[_0x91fa('0x43')][_0x91fa('0x80')][_0x91fa('0x2f')](',');var _0x22f805={};_0x22f805[_0x59b170[0x0]]={'$gte':moment(_0x59b170[0x1])[_0x91fa('0xc4')](_0x91fa('0xc5'))};_0x1cf8a4['where']=_[_0x91fa('0x9f')](_0x1cf8a4['where'],_0x22f805);}_0x1cf8a4=_[_0x91fa('0x9f')]({},_0x1cf8a4,_0x5343b0[_0x91fa('0xb9')]);return db[_0x91fa('0xbf')][_0x91fa('0x24')]({'where':_0x1cf8a4[_0x91fa('0x4a')]})['then'](function(_0x44d154){_0x662170[_0x91fa('0x24')]=_0x44d154;if(_0x5343b0[_0x91fa('0x43')][_0x91fa('0xb7')]){_0x1cf8a4[_0x91fa('0xb8')]=[{'all':!![]}];}return db['WhatsappMessage'][_0x91fa('0xc6')](_0x1cf8a4);})[_0x91fa('0x28')](function(_0x3da12c){_0x662170['rows']=_0x3da12c;return _0x662170;});}})[_0x91fa('0x28')](respondWithFilteredResult(_0x489746,_0x1cf8a4))[_0x91fa('0xb4')](handleError(_0x489746,null));};exports[_0x91fa('0xc7')]=function(_0x1947f3,_0x3c9b4a,_0x34d31e){return db['WhatsappInteraction'][_0x91fa('0x6d')]({'where':{'id':_0x1947f3[_0x91fa('0xb6')]['id']}})[_0x91fa('0x28')](handleEntityNotFound(_0x3c9b4a,null))[_0x91fa('0x28')](function(_0x342283){if(_0x342283){return _0x342283['setTags'](_0x1947f3[_0x91fa('0x77')]['ids'],_[_0x91fa('0xc8')](_0x1947f3[_0x91fa('0x77')],[_0x91fa('0xc0'),'id'])||{})['spread'](function(){return db[_0x91fa('0x70')][_0x91fa('0xc6')]({'attributes':['id',_0x91fa('0x2a'),_0x91fa('0x4e')],'where':{'id':_0x1947f3[_0x91fa('0x77')][_0x91fa('0xc0')]}});})[_0x91fa('0x28')](function(_0x58fbf4){socket[_0x91fa('0xc9')](_0x91fa('0xca'),{'id':Number(_0x1947f3[_0x91fa('0xb6')]['id']),'tags':_0x58fbf4||[]});return{'id':Number(_0x1947f3[_0x91fa('0xb6')]['id']),'tags':_0x58fbf4||[]};});}})['then'](respondWithResult(_0x3c9b4a,null))[_0x91fa('0xb4')](handleError(_0x3c9b4a,null));};exports[_0x91fa('0xcb')]=function(_0x337be3,_0x42ab49,_0xbc4b65){return db['WhatsappInteraction'][_0x91fa('0x6d')]({'where':{'id':_0x337be3['params']['id']}})['then'](handleEntityNotFound(_0x42ab49,null))[_0x91fa('0x28')](function(_0x3f573d){if(_0x3f573d){return _0x3f573d[_0x91fa('0xcb')](_0x337be3[_0x91fa('0x43')][_0x91fa('0xc0')]);}})[_0x91fa('0x28')](respondWithStatusCode(_0x42ab49,null))[_0x91fa('0xb4')](handleError(_0x42ab49,null));};exports[_0x91fa('0xcc')]=function(_0x363b5e,_0x31834c){var _0x3b783f=moment()['unix']()[_0x91fa('0x9d')]();var _0x245596=path['join'](config[_0x91fa('0xcd')],_0x91fa('0xce'),'files',_0x91fa('0xcf'));var _0x532545=path[_0x91fa('0xd0')](config[_0x91fa('0xcd')],_0x91fa('0xce'),_0x91fa('0xd1'),_0x91fa('0xd2'));var _0x26efb1=path['join'](_0x245596,_0x3b783f);var _0x31849c=util[_0x91fa('0xc4')](_0x91fa('0xd3'),_0x363b5e[_0x91fa('0xb6')]['id'],_0x3b783f);var _0x4c9e3d=path[_0x91fa('0xd0')](_0x245596,_0x31849c);var _0x221495=[];_0x221495[_0x91fa('0x32')]({'model':db[_0x91fa('0x73')],'as':'User','attributes':['id','fullname'],'raw':!![]});_0x221495[_0x91fa('0x32')]({'model':db[_0x91fa('0xd4')],'as':_0x91fa('0x67'),'attributes':['id',_0x91fa('0xd5'),_0x91fa('0xd6')],'raw':!![]});if(_0x363b5e[_0x91fa('0x43')][_0x91fa('0xd2')]){_0x221495[_0x91fa('0x32')]({'model':db[_0x91fa('0xd7')],'as':_0x91fa('0xd7'),'raw':!![]});}var _0x48caf9=[{'model':db[_0x91fa('0xbf')],'as':_0x91fa('0xd8'),'attributes':['id','body','createdAt','direction',_0x91fa('0xd9'),'read'],'include':_0x221495}];_0x48caf9['push']({'model':db[_0x91fa('0xda')],'as':_0x91fa('0xdb'),'attributes':['id','name']});_0x48caf9[_0x91fa('0x32')]({'model':db[_0x91fa('0x73')],'as':_0x91fa('0xdc'),'attributes':['id',_0x91fa('0xdd')]});return db[_0x91fa('0x3a')][_0x91fa('0x6d')]({'where':{'id':_0x363b5e[_0x91fa('0xb6')]['id']},'include':_0x48caf9})[_0x91fa('0x28')](handleEntityNotFound(_0x31834c,null))['then'](function(_0x5e7b5f){if(_0x5e7b5f){var _0x610b31=_0x5e7b5f[_0x91fa('0xde')]({'plain':!![]});fs['mkdirSync'](_0x26efb1);var _0x52b2a2={'channel':_0x91fa('0xdf'),'account':_0x610b31[_0x91fa('0xdb')][_0x91fa('0x2a')],'agent':_0x610b31[_0x91fa('0xdc')]?_0x610b31[_0x91fa('0xdc')]['fullname']:_0x91fa('0xe0'),'createdAt':moment(_0x610b31[_0x91fa('0x7e')])[_0x91fa('0xc4')]('YYYY-MM-DD\x20HH:mm:ss')[_0x91fa('0x9d')](),'closedAt':_0x610b31['closed']?moment(_0x610b31[_0x91fa('0xe1')])[_0x91fa('0xc4')]('YYYY-MM-DD\x20HH:mm:ss')[_0x91fa('0x9d')]():'','disposition':_0x610b31[_0x91fa('0xe2')],'messages':_(_0x610b31[_0x91fa('0xd8')])[_0x91fa('0x8a')]({'secret':![]})[_0x91fa('0x2d')](function(_0x52051a){if(_0x52051a[_0x91fa('0xd7')]){var _0x431639=path['join'](_0x532545,_0x52051a[_0x91fa('0xd7')][_0x91fa('0xe3')]);if(fs[_0x91fa('0xe4')](_0x431639)){fs[_0x91fa('0xe5')](_0x431639)[_0x91fa('0xe6')](fs[_0x91fa('0xe7')](path[_0x91fa('0xd0')](_0x26efb1,_0x52051a['Attachment'][_0x91fa('0xe3')])));}}return{'date':moment(_0x52051a[_0x91fa('0x7e')])[_0x91fa('0xc4')](_0x91fa('0xc5'))['toString'](),'sender':_0x52051a['direction']==='out'?_0x52051a[_0x91fa('0x73')]?_0x52051a[_0x91fa('0x73')]['fullname']:'System':_0x52051a['Contact'][_0x91fa('0xd5')]+(_0x52051a[_0x91fa('0x67')][_0x91fa('0xd6')]?'\x20'+_0x52051a[_0x91fa('0x67')][_0x91fa('0xd6')]:''),'body':_0x52051a[_0x91fa('0xd7')]?_0x52051a['Attachment']['basename']:_0x52051a[_0x91fa('0x77')],'direction':_0x52051a[_0x91fa('0xe8')]===_0x91fa('0xe9')?'A':'C','secret':_0x52051a[_0x91fa('0xd9')],'read':_0x52051a[_0x91fa('0x85')],'attachment':_0x52051a[_0x91fa('0xd7')]};})[_0x91fa('0x6b')]()};return ejs[_0x91fa('0xea')](path[_0x91fa('0xd0')](config[_0x91fa('0xcd')],'server','views',_0x91fa('0xeb')),{'interaction':_0x52b2a2})[_0x91fa('0x28')](function(_0x317f74){var _0x1207cb=path[_0x91fa('0xd0')](_0x26efb1,'transcript-'+_0x610b31['id']+'-'+_0x3b783f+_0x91fa('0xec'));var _0x44d686={'path':_0x1207cb,'channel':_0x91fa('0xdf'),'interactionId':_0x610b31['id']};return pdf[_0x91fa('0xed')](_0x317f74,_0x44d686);})[_0x91fa('0x28')](function(){return new BPromise(function(_0x458a5c,_0x3d400f){zipdir(_0x26efb1,{'saveTo':_0x4c9e3d},function(_0x515f54,_0x2e7ef1){if(_0x515f54)return _0x3d400f(_0x515f54);return _0x458a5c(_0x2e7ef1);});})[_0x91fa('0x28')](function(){return new BPromise(function(_0x2a78fc,_0x75e43b){rimraf(_0x26efb1,function(_0x184113){if(_0x184113)_0x75e43b(_0x184113);return _0x2a78fc();});});})[_0x91fa('0x28')](function(){return _0x31834c[_0x91fa('0xcc')](_0x4c9e3d,_0x31849c,function(_0x4af27f){if(_0x4af27f){console[_0x91fa('0xee')](_0x91fa('0xef'),_0x4af27f);}else{fs['unlinkSync'](_0x4c9e3d);}});});});}else{return _0x31834c[_0x91fa('0x1d')](0xc8);}})['catch'](handleError(_0x31834c,null));};