Built motion from commit (unavailable).|2.5.4
[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 _0xe14b=['Contact','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','operator','UserId','body','some','compact','isEmpty','WhatsappAccountId','where','i.WhatsappAccountId\x20IN\x20?','concat','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','\x27\x27\x27\x27','isNumeric','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','journey','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?','WhatsappInteractionId','push','all','rows','show','includeAll','include','options','WhatsappInteraction','create','update','params','describe','addMessage','WhatsappMessage','ids','omit','getMessages','findOne','format','YYYY-MM-DD\x20HH:mm:ss','findAll','addTags','setTags','spread','Tag','whatsappInteractionTags:save','download','unix','join','root','files','tmp','attachments','transcript-%d-%s.zip','CmContact','firstName','Attachment','Messages','direction','WhatsappAccount','Account','get','10px','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','30px','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','Whatsapp','YYYY-MM-DD','Owner','closed','closedAt','basename','existsSync','createReadStream','pipe','createWriteStream','System','lastName','out','secret','server','views','downloadInteraction.html','toFile','transcript-','log','unlinkSync','html-pdf','eml-format','fast-json-patch','request-promise','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./whatsappInteraction.socket','register','status','end','json','count','offset','limit','Content-Range','apply','reject','then','destroy','sendStatus','error','stack','name','Users','map','fullname','TagIds','Tags','split','forEach','catch','index','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','select','field','color','u.id','u.fullname','ui.WhatsappInteractionId','from','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','left_join','whatsapp_accounts','whatsapp_messages','me.WhatsappInteractionId\x20=\x20i.id','tools_tags','expr','search','sqlOperator','conditions','find','unreadMessages','value','`\x20=\x200','having','`\x20>\x200'];(function(_0x1694f5,_0x49b7c3){var _0x5b4321=function(_0x58c183){while(--_0x58c183){_0x1694f5['push'](_0x1694f5['shift']());}};_0x5b4321(++_0x49b7c3);}(_0xe14b,0x93));var _0xbe14=function(_0x491fbc,_0x1a708a){_0x491fbc=_0x491fbc-0x0;var _0x2559d7=_0xe14b[_0x491fbc];return _0x2559d7;};'use strict';var pdf=require(_0xbe14('0x0'));var emlformat=require(_0xbe14('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xbe14('0x2'));var rp=require(_0xbe14('0x3'));var moment=require('moment');var BPromise=require(_0xbe14('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0xbe14('0x5'));var sox=require(_0xbe14('0x6'));var csv=require(_0xbe14('0x7'));var ejs=require(_0xbe14('0x8'));var fs=require('fs');var _=require(_0xbe14('0x9'));var squel=require(_0xbe14('0xa'));var crypto=require(_0xbe14('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xbe14('0xc'));var Papa=require(_0xbe14('0xd'));var Redis=require(_0xbe14('0xe'));var authService=require(_0xbe14('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbe14('0x10'));var logger=require(_0xbe14('0x11'))('api');var utils=require(_0xbe14('0x12'));var config=require(_0xbe14('0x13'));var db=require(_0xbe14('0x14'))['db'];config[_0xbe14('0x15')]=_[_0xbe14('0x16')](config[_0xbe14('0x15')],{'host':_0xbe14('0x17'),'port':0x18eb});var socket=require(_0xbe14('0x18'))(new Redis(config[_0xbe14('0x15')]));require(_0xbe14('0x19'))[_0xbe14('0x1a')](socket);function respondWithStatusCode(_0x33fd54,_0x813399){_0x813399=_0x813399||0xcc;return function(_0x530538){if(_0x530538){return _0x33fd54['sendStatus'](_0x813399);}return _0x33fd54[_0xbe14('0x1b')](_0x813399)[_0xbe14('0x1c')]();};}function respondWithResult(_0xf4ac9,_0x37ce4e){_0x37ce4e=_0x37ce4e||0xc8;return function(_0x4e8f34){if(_0x4e8f34){return _0xf4ac9[_0xbe14('0x1b')](_0x37ce4e)[_0xbe14('0x1d')](_0x4e8f34);}};}function respondWithFilteredResult(_0xfd7b8f,_0x123ede){return function(_0x38f1ea){if(_0x38f1ea){var _0x29ab73=_0x38f1ea[_0xbe14('0x1e')],_0x17ae86=_0x123ede[_0xbe14('0x1f')],_0x5ea1f8=_0x123ede[_0xbe14('0x1f')]+_0x123ede[_0xbe14('0x20')],_0x137ee5;if(_0x5ea1f8>=_0x29ab73){_0x5ea1f8=_0x29ab73;_0x137ee5=0xc8;}else{_0x137ee5=0xce;}_0xfd7b8f[_0xbe14('0x1b')](_0x137ee5);return _0xfd7b8f['set'](_0xbe14('0x21'),_0x17ae86+'-'+_0x5ea1f8+'/'+_0x29ab73)[_0xbe14('0x1d')](_0x38f1ea);}return null;};}function patchUpdates(_0x417c8d){return function(_0xc12977){try{jsonpatch[_0xbe14('0x22')](_0xc12977,_0x417c8d,!![]);}catch(_0x51dc0b){return BPromise[_0xbe14('0x23')](_0x51dc0b);}return _0xc12977['save']();};}function saveUpdates(_0x3c1c85,_0x56e80c){return function(_0x32e8eb){if(_0x32e8eb){return _0x32e8eb['update'](_0x3c1c85)[_0xbe14('0x24')](function(_0x3d3608){return _0x3d3608;});}return null;};}function removeEntity(_0x505dbd,_0x2da350){return function(_0x4d4190){if(_0x4d4190){return _0x4d4190[_0xbe14('0x25')]()['then'](function(){_0x505dbd[_0xbe14('0x1b')](0xcc)[_0xbe14('0x1c')]();});}};}function handleEntityNotFound(_0x1ee9c1,_0x39cc81){return function(_0x15ef02){if(!_0x15ef02){_0x1ee9c1[_0xbe14('0x26')](0x194);}return _0x15ef02;};}function handleError(_0x55d001,_0x1822e0){_0x1822e0=_0x1822e0||0x1f4;return function(_0x1ba46a){logger[_0xbe14('0x27')](_0x1ba46a[_0xbe14('0x28')]);if(_0x1ba46a['name']){delete _0x1ba46a[_0xbe14('0x29')];}_0x55d001[_0xbe14('0x1b')](_0x1822e0)['send'](_0x1ba46a);};}function getInteractionUsers(_0x3c3613,_0x3b3e84){return new BPromise(function(_0x1c7cc7,_0x19252f){try{if(_0x3b3e84[_0x3c3613['id']]){_0x3c3613[_0xbe14('0x2a')]=_[_0xbe14('0x2b')](_0x3b3e84[_0x3c3613['id']],function(_0x31a664){return{'id':_0x31a664['id'],'fullname':_0x31a664[_0xbe14('0x2c')]};});}}catch(_0x4168c8){_0x19252f(_0x4168c8);}_0x1c7cc7(_0x3c3613);});}function getInteractionTags(_0x16a159,_0x40538f){return new BPromise(function(_0x3bf43c,_0x39dc0a){try{if(_0x16a159[_0xbe14('0x2d')]){_0x16a159[_0xbe14('0x2e')]=[];_0x16a159[_0xbe14('0x2d')][_0xbe14('0x2f')](',')[_0xbe14('0x30')](function(_0x29e76a){_0x16a159[_0xbe14('0x2e')]['push'](_0x40538f[_0x29e76a]);});}delete _0x16a159[_0xbe14('0x2d')];}catch(_0x499793){_0x39dc0a(_0x499793);}_0x3bf43c(_0x16a159);});}function updateWhatsappInteraction(_0x58f8de,_0x46c2d1,_0x4c1e7e){return new BPromise(function(_0x243524,_0x345b0){return getInteractionUsers(_0x58f8de,_0x4c1e7e)['then'](function(_0x50cb09){return getInteractionTags(_0x50cb09,_0x46c2d1);})['then'](function(_0x412ad5){_0x243524(_0x412ad5);})[_0xbe14('0x31')](function(_0x5f27b6){_0x345b0(_0x5f27b6);});});}exports[_0xbe14('0x32')]=function(_0x1faf3e,_0x452635){var _0x1aa849={},_0x29c23e={},_0x5ef1e5={'count':0x0,'rows':[]};var _0x591a36=_[_0xbe14('0x2b')](db['WhatsappInteraction']['rawAttributes'],function(_0x5c5e9f){return{'name':_0x5c5e9f[_0xbe14('0x33')],'type':_0x5c5e9f[_0xbe14('0x34')][_0xbe14('0x35')]};});_0x29c23e[_0xbe14('0x36')]=_[_0xbe14('0x2b')](_0x591a36,_0xbe14('0x29'));_0x29c23e[_0xbe14('0x37')]=_[_0xbe14('0x38')](_0x1faf3e[_0xbe14('0x37')]);_0x29c23e[_0xbe14('0x39')]=_[_0xbe14('0x3a')](_0x29c23e[_0xbe14('0x36')],_0x29c23e['query']);_0x1aa849['attributes']=_[_0xbe14('0x3a')](_0x29c23e[_0xbe14('0x36')],qs[_0xbe14('0x3b')](_0x1faf3e['query'][_0xbe14('0x3b')]));_0x1aa849[_0xbe14('0x3c')]=_0x1aa849[_0xbe14('0x3c')][_0xbe14('0x3d')]?_0x1aa849[_0xbe14('0x3c')]:_0x29c23e[_0xbe14('0x36')];if(!_0x1faf3e[_0xbe14('0x37')][_0xbe14('0x3e')](_0xbe14('0x3f'))){_0x1aa849['limit']=qs[_0xbe14('0x20')](_0x1faf3e[_0xbe14('0x37')][_0xbe14('0x20')]);_0x1aa849[_0xbe14('0x1f')]=qs[_0xbe14('0x1f')](_0x1faf3e[_0xbe14('0x37')]['offset']);}_0x1aa849[_0xbe14('0x40')]=qs[_0xbe14('0x41')](_0x1faf3e[_0xbe14('0x37')][_0xbe14('0x41')]);_0x1aa849['where']=qs['filters'](_[_0xbe14('0x42')](_0x1faf3e[_0xbe14('0x37')],_0x29c23e[_0xbe14('0x39')]),_0x591a36);var _0x51c859=[];var _0x5d5318=squel[_0xbe14('0x43')]()['field']('id')['field'](_0xbe14('0x29'))[_0xbe14('0x44')](_0xbe14('0x45'))['from']('tools_tags');var _0x5aaa4f=squel[_0xbe14('0x43')]()[_0xbe14('0x44')](_0xbe14('0x46'))['field'](_0xbe14('0x47'))[_0xbe14('0x44')](_0xbe14('0x48'))[_0xbe14('0x49')]('user_has_whatsapp_interactions','ui')['left_join'](_0xbe14('0x4a'),'u',_0xbe14('0x4b'));var _0x24559b=squel[_0xbe14('0x43')]()[_0xbe14('0x49')]('whatsapp_interactions','i')['left_join'](_0xbe14('0x4c'),'c',_0xbe14('0x4d'))[_0xbe14('0x4e')](_0xbe14('0x4a'),'o','o.id\x20=\x20i.UserId')[_0xbe14('0x4e')](_0xbe14('0x4f'),'a','a.id\x20=\x20i.WhatsappAccountId')[_0xbe14('0x4e')](_0xbe14('0x50'),'me',_0xbe14('0x51'))[_0xbe14('0x4e')]('whatsapp_interaction_has_tags','it','it.WhatsappInteractionId\x20=\x20i.id')[_0xbe14('0x4e')](_0xbe14('0x52'),'t','t.id\x20=\x20it.TagId');var _0x5acf90=squel[_0xbe14('0x53')]();var _0x5d3726=[];var _0x3f7f5b=squel[_0xbe14('0x53')]();var _0xdbc6e1;if(_0x1faf3e[_0xbe14('0x37')][_0xbe14('0x54')]){_0xdbc6e1=as['parseSearch'](_0x1faf3e[_0xbe14('0x37')][_0xbe14('0x54')]);var _0x6928f2=_0xdbc6e1[_0xbe14('0x55')];for(var _0x2fc073=0x0;_0x2fc073<_0xdbc6e1['conditions'][_0xbe14('0x3d')];_0x2fc073++){var _0x3d419a=_0xdbc6e1[_0xbe14('0x56')][_0x2fc073];var _0x20f46d='i';var _0x3d3ae1=_[_0xbe14('0x57')](_0x591a36,['name',_0x3d419a['field']]);if(!_0x3d3ae1){switch(_0x3d419a[_0xbe14('0x44')]){case _0xbe14('0x58'):if(_0x3d419a[_0xbe14('0x59')]==0x1){_0x24559b['having']('`'+_0x3d419a['field']+_0xbe14('0x5a'));}else{_0x24559b[_0xbe14('0x5b')]('`'+_0x3d419a['field']+_0xbe14('0x5c'));}break;case _0xbe14('0x5d'):if(_0x3d419a['operator']===_0xbe14('0x5e')){if(_0x3d419a['value'][_0xbe14('0x2f')]('\x20')[_0xbe14('0x3d')]>0x1){_0x5acf90[_0x6928f2](_0xbe14('0x5f'),qs['getFullTextValue'](_0x3d419a[_0xbe14('0x59')]),null);}else{var _0x404212='%'+_0x3d419a['value']+'%';_0x5acf90[_0x6928f2](_0xbe14('0x60'),_0x404212,_0x404212,_0x404212);}}else{_0x3d3ae1=_[_0xbe14('0x57')](_0x591a36,[_0xbe14('0x29'),_0xbe14('0x61')]);_0x3d419a[_0xbe14('0x44')]='ContactId';_0x1a945b=as[_0xbe14('0x62')](_0x20f46d,_0x3d3ae1[_0xbe14('0x34')],_0x3d419a);_0x5acf90[_0x6928f2](_0x1a945b[_0xbe14('0x63')],_0x1a945b[_0xbe14('0x59')][_0xbe14('0x64')],_0x1a945b[_0xbe14('0x59')][_0xbe14('0x1c')]);}break;case'Tag':var _0x72c875=_0x3d419a[_0xbe14('0x59')][_0xbe14('0x2f')](',')[_0xbe14('0x2b')](function(_0x246ed5){return Number(_0x246ed5);});_0x72c875[_0xbe14('0x30')](function(_0xd8f78f){_0x3f7f5b['or'](_0xbe14('0x65'),'%,'+_0xd8f78f+',%');});_0x5d3726=_[_0xbe14('0x66')](_0x5d3726,_0x72c875);break;case _0xbe14('0x67'):if(_0x3d419a[_0xbe14('0x68')]==='$substring'){_0x5acf90[_0x6928f2]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x3d419a['value']+'%',null);}else{_0x3d3ae1=_[_0xbe14('0x57')](_0x591a36,[_0xbe14('0x29'),_0xbe14('0x69')]);_0x3d419a[_0xbe14('0x44')]=_0xbe14('0x69');_0x1a945b=as[_0xbe14('0x62')](_0x20f46d,_0x3d3ae1[_0xbe14('0x34')],_0x3d419a);_0x5acf90[_0x6928f2](_0x1a945b[_0xbe14('0x63')],_0x1a945b[_0xbe14('0x59')][_0xbe14('0x64')],_0x1a945b[_0xbe14('0x59')][_0xbe14('0x1c')]);}break;case _0xbe14('0x6a'):_0x1a945b=as[_0xbe14('0x62')]('me',null,_0x3d419a);_0x5acf90[_0x6928f2](_0x1a945b[_0xbe14('0x63')],_0x1a945b[_0xbe14('0x59')][_0xbe14('0x64')],_0x1a945b[_0xbe14('0x59')][_0xbe14('0x1c')]);break;}}else{var _0x1a945b=as['buildExpression'](_0x20f46d,_0x3d3ae1[_0xbe14('0x34')],_0x3d419a);_0x5acf90[_0x6928f2](_0x1a945b[_0xbe14('0x63')],_0x1a945b[_0xbe14('0x59')][_0xbe14('0x64')],_0x1a945b[_0xbe14('0x59')][_0xbe14('0x1c')]);}}}else{var _0x198b55=_(_0x1faf3e[_0xbe14('0x37')])[_0xbe14('0x38')]()[_0xbe14('0x2b')](function(_0x5917d5){return _[_0xbe14('0x6b')](_0x591a36,[_0xbe14('0x29'),_0x5917d5])?_0x5917d5:undefined;})[_0xbe14('0x6c')]()[_0xbe14('0x59')]();if(!_[_0xbe14('0x6d')](_0x198b55)){_0x198b55['forEach'](function(_0x42b341){if(_0x42b341===_0xbe14('0x6e')){_0x24559b[_0xbe14('0x6f')](_0xbe14('0x70'),[][_0xbe14('0x71')](_0x1faf3e['query'][_0x42b341]));}else if(_0x42b341===_0xbe14('0x72')){var _0x14f064=JSON[_0xbe14('0x73')](_0x1faf3e[_0xbe14('0x37')][_0x42b341])[_0xbe14('0x74')];var _0x289c4d=JSON[_0xbe14('0x73')](_0x1faf3e[_0xbe14('0x37')][_0x42b341])['$lte'];_0x24559b[_0xbe14('0x6f')](_0xbe14('0x75'),_0x14f064,_0x289c4d);}else{if(_0x1faf3e[_0xbe14('0x37')][_0x42b341]===_0xbe14('0x76')){_0x24559b[_0xbe14('0x6f')]('i.'+_0x42b341+_0xbe14('0x77'));}else{_0x24559b[_0xbe14('0x6f')]('i.'+_0x42b341+'\x20=\x20?',_0x1faf3e['query'][_0x42b341]);}}});}if(_0x1faf3e[_0xbe14('0x37')][_0xbe14('0x78')]){if(_0x1faf3e[_0xbe14('0x37')][_0xbe14('0x78')]==0x1){_0x24559b[_0xbe14('0x5b')](_0xbe14('0x79'));}else{_0x24559b[_0xbe14('0x5b')](_0xbe14('0x7a'));}}if(_0x1faf3e['query']['tag']){_0x5d3726=_[_0xbe14('0x7b')](_0x1faf3e[_0xbe14('0x37')][_0xbe14('0x7c')])?_0x1faf3e['query'][_0xbe14('0x7c')]:new Array(_0x1faf3e[_0xbe14('0x37')][_0xbe14('0x7c')]);_0x5d3726[_0xbe14('0x30')](function(_0x468e9f){_0x3f7f5b['or'](_0xbe14('0x65'),'%,'+_0x468e9f+',%');});}if(_0x1faf3e[_0xbe14('0x37')]['filter']){var _0x43b817=_0x1faf3e[_0xbe14('0x37')][_0xbe14('0x7d')][_0xbe14('0x7e')]('\x5c','\x5c\x5c')[_0xbe14('0x7e')]('\x27\x27',_0xbe14('0x7f'));if(qs[_0xbe14('0x80')](_0x43b817)){_0x5acf90['or']('i.id\x20LIKE\x20?',_0x43b817+'%')['or'](_0xbe14('0x81'),_0x43b817+'%');}else{_0x5acf90['or'](_0xbe14('0x82'),qs[_0xbe14('0x83')](_0x43b817))['or'](_0xbe14('0x84'),_0x43b817+'%');}}}_0x24559b[_0xbe14('0x6f')](_0x5acf90);_0x24559b[_0xbe14('0x85')](_0xbe14('0x86'));var _0xd756b2={'type':db['Sequelize'][_0xbe14('0x87')][_0xbe14('0x88')],'raw':!![]};var _0x362999=_0x24559b[_0xbe14('0x89')]();_0x362999[_0xbe14('0x44')](_0xbe14('0x86'));_0x362999['field'](_0xbe14('0x8a'),_0xbe14('0x58'));if(_0x1aa849[_0xbe14('0x40')]){_0x1aa849[_0xbe14('0x40')]['forEach'](function(_0x7e9e5c){_0x24559b[_0xbe14('0x40')]('i.'+_0x7e9e5c[0x0],_0x7e9e5c[0x1]===_0xbe14('0x8b')?![]:!![]);});}if(!_[_0xbe14('0x6d')](_0x5d3726)){_0x24559b[_0xbe14('0x5b')](_0x3f7f5b);_0x362999[_0xbe14('0x6f')](_0xbe14('0x8c'),_0x5d3726);}BPromise['resolve']()[_0xbe14('0x24')](function(){if(!_0xdbc6e1){if(_0x1faf3e['query'][_0xbe14('0x6e')]||_0x1faf3e['query'][_0xbe14('0x8d')])return;_0x362999[_0xbe14('0x6f')](_0xbe14('0x8e'));_0x24559b['where'](_0xbe14('0x8e'));return;}return _0x1faf3e[_0xbe14('0x8f')][_0xbe14('0x90')]({'attributes':['id'],'raw':!![]})['then'](function(_0x41a896){if(_[_0xbe14('0x6d')](_0x41a896)){_0x362999[_0xbe14('0x6f')](_0xbe14('0x91'));_0x24559b['where'](_0xbe14('0x91'));}else{_0x362999[_0xbe14('0x6f')](_0xbe14('0x70'),_[_0xbe14('0x2b')](_0x41a896,'id'));_0x24559b[_0xbe14('0x6f')](_0xbe14('0x70'),_[_0xbe14('0x2b')](_0x41a896,'id'));}});})['then'](function(){db[_0xbe14('0x92')][_0xbe14('0x37')](_0x362999[_0xbe14('0x93')](),_0xd756b2)['then'](function(_0x704c05){_0x5ef1e5[_0xbe14('0x1e')]=_0x704c05[_0xbe14('0x3d')];if(_0x5ef1e5['count']===0x0)return[];return db[_0xbe14('0x92')][_0xbe14('0x37')](_0x5d5318['toString'](),_0xd756b2)[_0xbe14('0x24')](function(_0x49990b){_0x51c859=_[_0xbe14('0x94')](_0x49990b,'id');_0xd756b2=_[_0xbe14('0x95')](_0xd756b2,{'model':db['WhatsappInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1faf3e['query'][_0xbe14('0x3b')]){_0x1aa849[_0xbe14('0x3c')][_0xbe14('0x30')](function(_0x4c76c1){_0x24559b[_0xbe14('0x44')]('i.'+_0x4c76c1);});}else{_0x24559b[_0xbe14('0x44')](_0xbe14('0x8a'),_0xbe14('0x58'));_0x24559b['field']('a.key',_0xbe14('0x96'));_0x24559b[_0xbe14('0x44')](_0xbe14('0x97'),_0xbe14('0x98'));_0x24559b[_0xbe14('0x44')](_0xbe14('0x99'));_0x24559b[_0xbe14('0x44')]('c.firstName',_0xbe14('0x9a'));_0x24559b['field'](_0xbe14('0x9b'),_0xbe14('0x9c'));_0x24559b[_0xbe14('0x44')](_0xbe14('0x9d'),'Contact.email');_0x24559b[_0xbe14('0x44')](_0xbe14('0x9e'),_0xbe14('0x9f'));_0x24559b['field'](_0xbe14('0xa0'),_0xbe14('0xa1'));_0x24559b[_0xbe14('0x44')](_0xbe14('0xa2'),_0xbe14('0xa3'));_0x24559b[_0xbe14('0x44')](_0xbe14('0xa4'),_0xbe14('0xa5'));_0x24559b[_0xbe14('0x44')](_0xbe14('0xa6'),_0xbe14('0xa7'));_0x24559b[_0xbe14('0x44')](_0xbe14('0xa8'),_0xbe14('0x2d'));}if(_0x1aa849[_0xbe14('0x20')])_0x24559b[_0xbe14('0x20')](_0x1aa849[_0xbe14('0x20')]);if(_0x1aa849[_0xbe14('0x1f')])_0x24559b[_0xbe14('0x1f')](_0x1aa849[_0xbe14('0x1f')]);return db['sequelize'][_0xbe14('0x37')](_0x24559b['toString'](),_0xd756b2);})[_0xbe14('0x24')](function(_0x1b8733){_0x5aaa4f[_0xbe14('0x6f')](_0xbe14('0xa9'),_[_0xbe14('0x2b')](_0x1b8733,'id'));return db['sequelize']['query'](_0x5aaa4f[_0xbe14('0x93')](),_0xd756b2)[_0xbe14('0x24')](function(_0x13a732){var _0x42b849=_['groupBy'](_0x13a732,_0xbe14('0xaa'));var _0x357095=[];_0x1b8733['forEach'](function(_0x186225){_0x357095[_0xbe14('0xab')](updateWhatsappInteraction(_0x186225,_0x51c859,_0x42b849));});return BPromise[_0xbe14('0xac')](_0x357095);});});})[_0xbe14('0x24')](function(_0x4f9936){_0x5ef1e5[_0xbe14('0xad')]=_0x4f9936;return _0x5ef1e5;})['then'](respondWithFilteredResult(_0x452635,_0x1aa849));})['catch'](handleError(_0x452635,null));};exports[_0xbe14('0xae')]=function(_0x8d506a,_0x110603){var _0x3d890b={'raw':![],'where':{'id':_0x8d506a['params']['id']}},_0x3e8655={};_0x3e8655[_0xbe14('0x36')]=_[_0xbe14('0x38')](db['WhatsappInteraction']['rawAttributes']);_0x3e8655[_0xbe14('0x37')]=_[_0xbe14('0x38')](_0x8d506a['query']);_0x3e8655[_0xbe14('0x39')]=_['intersection'](_0x3e8655[_0xbe14('0x36')],_0x3e8655['query']);_0x3d890b[_0xbe14('0x3c')]=_['intersection'](_0x3e8655[_0xbe14('0x36')],qs['fields'](_0x8d506a[_0xbe14('0x37')][_0xbe14('0x3b')]));_0x3d890b['attributes']=_0x3d890b['attributes'][_0xbe14('0x3d')]?_0x3d890b['attributes']:_0x3e8655['model'];if(_0x8d506a[_0xbe14('0x37')][_0xbe14('0xaf')]){_0x3d890b[_0xbe14('0xb0')]=[{'all':!![]}];}_0x3d890b=_[_0xbe14('0x95')]({},_0x3d890b,_0x8d506a[_0xbe14('0xb1')]);return db[_0xbe14('0xb2')][_0xbe14('0x57')](_0x3d890b)['then'](handleEntityNotFound(_0x110603,null))[_0xbe14('0x24')](respondWithResult(_0x110603,null))[_0xbe14('0x31')](handleError(_0x110603,null));};exports[_0xbe14('0xb3')]=function(_0x1445ce,_0x59779a){return db[_0xbe14('0xb2')][_0xbe14('0xb3')](_0x1445ce[_0xbe14('0x6a')],{})['then'](respondWithResult(_0x59779a,0xc9))[_0xbe14('0x31')](handleError(_0x59779a,null));};exports[_0xbe14('0xb4')]=function(_0x521a9f,_0x360cee){if(_0x521a9f['body']['id']){delete _0x521a9f[_0xbe14('0x6a')]['id'];}return db[_0xbe14('0xb2')][_0xbe14('0x57')]({'where':{'id':_0x521a9f['params']['id']}})[_0xbe14('0x24')](handleEntityNotFound(_0x360cee,null))['then'](saveUpdates(_0x521a9f[_0xbe14('0x6a')],null))['then'](respondWithResult(_0x360cee,null))['catch'](handleError(_0x360cee,null));};exports[_0xbe14('0x25')]=function(_0x553f51,_0xab74eb){return db['WhatsappInteraction'][_0xbe14('0x57')]({'where':{'id':_0x553f51[_0xbe14('0xb5')]['id']}})[_0xbe14('0x24')](handleEntityNotFound(_0xab74eb,null))[_0xbe14('0x24')](removeEntity(_0xab74eb,null))[_0xbe14('0x31')](handleError(_0xab74eb,null));};exports[_0xbe14('0xb6')]=function(_0x43d406,_0x3086f3){return db[_0xbe14('0xb2')][_0xbe14('0xb6')]()[_0xbe14('0x24')](respondWithResult(_0x3086f3,null))[_0xbe14('0x31')](handleError(_0x3086f3,null));};exports[_0xbe14('0xb7')]=function(_0x4c2a25,_0x2d99fa,_0x234c4e){return db[_0xbe14('0xb8')][_0xbe14('0x57')]({'where':{'id':_0x4c2a25[_0xbe14('0xb5')]['id']}})['then'](handleEntityNotFound(_0x2d99fa,null))['then'](function(_0x116282){if(_0x116282){return _0x116282[_0xbe14('0xb7')](_0x4c2a25[_0xbe14('0x6a')][_0xbe14('0xb9')],_[_0xbe14('0xba')](_0x4c2a25[_0xbe14('0x6a')],[_0xbe14('0xb9'),'id'])||{});}})[_0xbe14('0x24')](respondWithResult(_0x2d99fa,null))[_0xbe14('0x31')](handleError(_0x2d99fa,null));};exports[_0xbe14('0xbb')]=function(_0x761b3d,_0x30597b,_0xaddf0d){var _0x23fd86={'raw':![],'where':{}};var _0x894313={};var _0x2c2dce={'count':0x0,'rows':[]};return db[_0xbe14('0xb2')][_0xbe14('0xbc')]({'where':{'id':_0x761b3d[_0xbe14('0xb5')]['id']}})[_0xbe14('0x24')](handleEntityNotFound(_0x30597b,null))[_0xbe14('0x24')](function(_0x82d19a){if(_0x82d19a){_0x894313[_0xbe14('0x36')]=_[_0xbe14('0x38')](db[_0xbe14('0xb8')]['rawAttributes']);_0x894313[_0xbe14('0x37')]=_[_0xbe14('0x38')](_0x761b3d[_0xbe14('0x37')]);_0x894313[_0xbe14('0x39')]=_[_0xbe14('0x3a')](_0x894313[_0xbe14('0x36')],_0x894313['query']);_0x23fd86['attributes']=_[_0xbe14('0x3a')](_0x894313['model'],qs[_0xbe14('0x3b')](_0x761b3d['query'][_0xbe14('0x3b')]));_0x23fd86['attributes']=_0x23fd86[_0xbe14('0x3c')][_0xbe14('0x3d')]?_0x23fd86[_0xbe14('0x3c')]:_0x894313[_0xbe14('0x36')];if(!_0x761b3d[_0xbe14('0x37')][_0xbe14('0x3e')](_0xbe14('0x3f'))){_0x23fd86[_0xbe14('0x20')]=qs[_0xbe14('0x20')](_0x761b3d['query'][_0xbe14('0x20')]);_0x23fd86[_0xbe14('0x1f')]=qs[_0xbe14('0x1f')](_0x761b3d[_0xbe14('0x37')]['offset']);}_0x23fd86[_0xbe14('0x40')]=qs['sort'](_0x761b3d[_0xbe14('0x37')]['sort']);_0x23fd86[_0xbe14('0x6f')]=qs[_0xbe14('0x39')](_[_0xbe14('0x42')](_0x761b3d['query'],_0x894313[_0xbe14('0x39')]));_0x23fd86['where'][_0xbe14('0xaa')]=_0x82d19a['id'];if(_0x761b3d[_0xbe14('0x37')][_0xbe14('0x7d')]){_0x23fd86[_0xbe14('0x6f')]=_[_0xbe14('0x95')](_0x23fd86[_0xbe14('0x6f')],{'$or':_[_0xbe14('0x2b')](_0x23fd86[_0xbe14('0x3c')],function(_0x2a2b93){var _0x5a7724={};_0x5a7724[_0x2a2b93]={'$like':'%'+_0x761b3d[_0xbe14('0x37')]['filter']+'%'};return _0x5a7724;})});}if(_0x761b3d[_0xbe14('0x37')][_0xbe14('0x74')]){var _0x119797=_0x761b3d['query'][_0xbe14('0x74')][_0xbe14('0x2f')](',');var _0x219403={};_0x219403[_0x119797[0x0]]={'$gte':moment(_0x119797[0x1])[_0xbe14('0xbd')](_0xbe14('0xbe'))};_0x23fd86['where']=_['merge'](_0x23fd86[_0xbe14('0x6f')],_0x219403);}_0x23fd86=_['merge']({},_0x23fd86,_0x761b3d[_0xbe14('0xb1')]);return db[_0xbe14('0xb8')][_0xbe14('0x1e')]({'where':_0x23fd86[_0xbe14('0x6f')]})['then'](function(_0x33c7d5){_0x2c2dce[_0xbe14('0x1e')]=_0x33c7d5;if(_0x761b3d['query'][_0xbe14('0xaf')]){_0x23fd86[_0xbe14('0xb0')]=[{'all':!![]}];}return db[_0xbe14('0xb8')][_0xbe14('0xbf')](_0x23fd86);})['then'](function(_0x20282c){_0x2c2dce[_0xbe14('0xad')]=_0x20282c;return _0x2c2dce;});}})[_0xbe14('0x24')](respondWithFilteredResult(_0x30597b,_0x23fd86))[_0xbe14('0x31')](handleError(_0x30597b,null));};exports[_0xbe14('0xc0')]=function(_0x469ef3,_0x208fae,_0x310d42){return db[_0xbe14('0xb2')][_0xbe14('0x57')]({'where':{'id':_0x469ef3['params']['id']}})[_0xbe14('0x24')](handleEntityNotFound(_0x208fae,null))[_0xbe14('0x24')](function(_0x419706){if(_0x419706){return _0x419706[_0xbe14('0xc1')](_0x469ef3['body'][_0xbe14('0xb9')],_[_0xbe14('0xba')](_0x469ef3[_0xbe14('0x6a')],['ids','id'])||{})[_0xbe14('0xc2')](function(){return db[_0xbe14('0xc3')][_0xbe14('0xbf')]({'attributes':['id',_0xbe14('0x29'),_0xbe14('0x45')],'where':{'id':_0x469ef3[_0xbe14('0x6a')][_0xbe14('0xb9')]}});})['then'](function(_0x2c2e46){socket['emit'](_0xbe14('0xc4'),{'id':Number(_0x469ef3[_0xbe14('0xb5')]['id']),'tags':_0x2c2e46||[]});return{'id':Number(_0x469ef3[_0xbe14('0xb5')]['id']),'tags':_0x2c2e46||[]};});}})[_0xbe14('0x24')](respondWithResult(_0x208fae,null))[_0xbe14('0x31')](handleError(_0x208fae,null));};exports['removeTags']=function(_0x5db8e8,_0xe2c9b,_0x161d13){return db[_0xbe14('0xb2')][_0xbe14('0x57')]({'where':{'id':_0x5db8e8['params']['id']}})[_0xbe14('0x24')](handleEntityNotFound(_0xe2c9b,null))[_0xbe14('0x24')](function(_0x25ebee){if(_0x25ebee){return _0x25ebee['removeTags'](_0x5db8e8[_0xbe14('0x37')]['ids']);}})['then'](respondWithStatusCode(_0xe2c9b,null))[_0xbe14('0x31')](handleError(_0xe2c9b,null));};exports[_0xbe14('0xc5')]=function(_0x359608,_0x5322d7){var _0x3ea9c2=moment()[_0xbe14('0xc6')]()['toString']();var _0x4443a7=path[_0xbe14('0xc7')](config[_0xbe14('0xc8')],'server',_0xbe14('0xc9'),_0xbe14('0xca'));var _0x138ca1=path[_0xbe14('0xc7')](config[_0xbe14('0xc8')],'server',_0xbe14('0xc9'),_0xbe14('0xcb'));var _0x1c6bf4=path['join'](_0x4443a7,_0x3ea9c2);var _0x192dce=util[_0xbe14('0xbd')](_0xbe14('0xcc'),_0x359608[_0xbe14('0xb5')]['id'],_0x3ea9c2);var _0x1c8e26=path[_0xbe14('0xc7')](_0x4443a7,_0x192dce);var _0x1b22a0=[];_0x1b22a0[_0xbe14('0xab')]({'model':db[_0xbe14('0x67')],'as':_0xbe14('0x67'),'attributes':['id',_0xbe14('0x2c')],'raw':!![]});_0x1b22a0['push']({'model':db[_0xbe14('0xcd')],'as':_0xbe14('0x5d'),'attributes':['id',_0xbe14('0xce'),'lastName'],'raw':!![]});if(_0x359608[_0xbe14('0x37')][_0xbe14('0xcb')]){_0x1b22a0[_0xbe14('0xab')]({'model':db['Attachment'],'as':_0xbe14('0xcf'),'raw':!![]});}var _0x55b4a1=[{'model':db[_0xbe14('0xb8')],'as':_0xbe14('0xd0'),'attributes':['id','body',_0xbe14('0x72'),_0xbe14('0xd1'),'secret',_0xbe14('0x78')],'include':_0x1b22a0}];_0x55b4a1[_0xbe14('0xab')]({'model':db[_0xbe14('0xd2')],'as':_0xbe14('0xd3'),'attributes':['id',_0xbe14('0x29')]});_0x55b4a1[_0xbe14('0xab')]({'model':db['User'],'as':'Owner','attributes':['id',_0xbe14('0x2c')]});return db[_0xbe14('0xb2')][_0xbe14('0x57')]({'where':{'id':_0x359608[_0xbe14('0xb5')]['id']},'include':_0x55b4a1})['then'](handleEntityNotFound(_0x5322d7,null))[_0xbe14('0x24')](function(_0x4cb29c){if(_0x4cb29c){var _0x3dac28=_0x4cb29c[_0xbe14('0xd4')]({'plain':!![]});fs['mkdirSync'](_0x1c6bf4);var _0x141449={'format':'A4','border':_0xbe14('0xd5'),'header':{'height':_0xbe14('0xd6'),'contents':{'first':_0xbe14('0xd7')}},'footer':{'height':_0xbe14('0xd8'),'contents':{'default':util[_0xbe14('0xbd')](_0xbe14('0xd9'),util[_0xbe14('0xbd')](_0xbe14('0xda'),_0xbe14('0xdb'),_0x3dac28['id']),moment()[_0xbe14('0xbd')](_0xbe14('0xdc'))['toString']())}}};var _0x20f196={'channel':_0xbe14('0xdb'),'account':_0x3dac28[_0xbe14('0xd3')][_0xbe14('0x29')],'agent':_0x3dac28['Owner']?_0x3dac28[_0xbe14('0xdd')][_0xbe14('0x2c')]:'N.A.','createdAt':moment(_0x3dac28[_0xbe14('0x72')])[_0xbe14('0xbd')](_0xbe14('0xbe'))['toString'](),'closedAt':_0x3dac28[_0xbe14('0xde')]?moment(_0x3dac28[_0xbe14('0xdf')])[_0xbe14('0xbd')](_0xbe14('0xbe'))[_0xbe14('0x93')]():'','disposition':_0x3dac28['disposition'],'messages':_(_0x3dac28[_0xbe14('0xd0')])[_0xbe14('0x7d')]({'secret':![]})[_0xbe14('0x2b')](function(_0x3f7732){if(_0x3f7732[_0xbe14('0xcf')]){var _0x5370c5=path[_0xbe14('0xc7')](_0x138ca1,_0x3f7732[_0xbe14('0xcf')][_0xbe14('0xe0')]);if(fs[_0xbe14('0xe1')](_0x5370c5)){fs[_0xbe14('0xe2')](_0x5370c5)[_0xbe14('0xe3')](fs[_0xbe14('0xe4')](path[_0xbe14('0xc7')](_0x1c6bf4,_0x3f7732['Attachment']['basename'])));}}return{'date':moment(_0x3f7732[_0xbe14('0x72')])[_0xbe14('0xbd')](_0xbe14('0xbe'))[_0xbe14('0x93')](),'sender':_0x3f7732[_0xbe14('0xd1')]==='out'?_0x3f7732[_0xbe14('0x67')]?_0x3f7732[_0xbe14('0x67')][_0xbe14('0x2c')]:_0xbe14('0xe5'):_0x3f7732[_0xbe14('0x5d')][_0xbe14('0xce')]+(_0x3f7732[_0xbe14('0x5d')][_0xbe14('0xe6')]?'\x20'+_0x3f7732['Contact'][_0xbe14('0xe6')]:''),'body':_0x3f7732[_0xbe14('0xcf')]?_0x3f7732['Attachment']['basename']:_0x3f7732[_0xbe14('0x6a')],'direction':_0x3f7732['direction']===_0xbe14('0xe7')?'A':'C','secret':_0x3f7732[_0xbe14('0xe8')],'read':_0x3f7732[_0xbe14('0x78')],'attachment':_0x3f7732[_0xbe14('0xcf')]};})[_0xbe14('0x59')]()};return ejs['renderFile'](path[_0xbe14('0xc7')](config[_0xbe14('0xc8')],_0xbe14('0xe9'),_0xbe14('0xea'),_0xbe14('0xeb')),{'interaction':_0x20f196})[_0xbe14('0x24')](function(_0x4df025){return new BPromise(function(_0x4eea48,_0x2e681e){pdf['create'](_0x4df025,_0x141449)[_0xbe14('0xec')](path[_0xbe14('0xc7')](_0x1c6bf4,_0xbe14('0xed')+_0x3dac28['id']+'-'+_0x3ea9c2+'.pdf'),function(_0x42b665,_0x2a090){if(_0x42b665)return _0x2e681e(_0x42b665);_0x4eea48(_0x2a090);});});})[_0xbe14('0x24')](function(){return new BPromise(function(_0x1ad15d,_0x41a064){zipdir(_0x1c6bf4,{'saveTo':_0x1c8e26},function(_0x2e5106,_0x156fb3){if(_0x2e5106)return _0x41a064(_0x2e5106);return _0x1ad15d(_0x156fb3);});})['then'](function(){return new BPromise(function(_0x2fd64c,_0x5d5fad){rimraf(_0x1c6bf4,function(_0x5e8d27){if(_0x5e8d27)_0x5d5fad(_0x5e8d27);return _0x2fd64c();});});})['then'](function(){return _0x5322d7['download'](_0x1c8e26,_0x192dce,function(_0x1b2a71){if(_0x1b2a71){console[_0xbe14('0xee')]('err',_0x1b2a71);}else{fs[_0xbe14('0xef')](_0x1c8e26);}});});});}else{return _0x5322d7['sendStatus'](0xc8);}})[_0xbe14('0x31')](handleError(_0x5322d7,null));};