Built motion from commit f7863d46.|2.5.41
[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 _0xa3db=['CmContact','firstName','lastName','attachments','Attachment','Messages','createdAt','secret','WhatsappAccount','Account','Owner','get','mkdirSync','Whatsapp','closedAt','disposition','createReadStream','pipe','createWriteStream','direction','System','out','renderFile','views','downloadInteraction.ejs','transcript-','.pdf','createPdfFromHTML','log','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','defaults','redis','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','update','then','destroy','stack','name','send','Users','TagIds','Tags','split','forEach','push','catch','waiting','unmanaged','closed','UserId','talking','total','index','rawAttributes','type','key','query','keys','filters','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','u.id','u.fullname','ui.WhatsappInteractionId','user_has_whatsapp_interactions','left_join','u.id\x20=\x20ui.UserId','whatsapp_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','whatsapp_messages','me.WhatsappInteractionId\x20=\x20i.id','it.WhatsappInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','text','Tag','map','union','buildExpression','start','body','some','isEmpty','i.WhatsappAccountId\x20IN\x20?','concat','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','contactName','t.id\x20IN\x20?','resolve','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','agent','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','WhatsappAccountId','toString','sequelize','keyBy','merge','WhatsappInteraction','a.key','Account.key','a.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','c.firstName','Contact.firstName','Contact.lastName','Contact.email','c.phone','c.mobile','c.fax','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?','groupBy','WhatsappInteractionId','all','show','params','intersection','includeAll','include','options','create','describe','addMessage','WhatsappMessage','ids','omit','getMessages','format','YYYY-MM-DD\x20HH:mm:ss','rows','addTags','spread','findAll','emit','whatsappInteractionTags:save','removeTags','download','root','tmp','join','server','transcript-%d-%s.zip','User','fullname'];(function(_0x2e362f,_0x12329d){var _0x683567=function(_0x373264){while(--_0x373264){_0x2e362f['push'](_0x2e362f['shift']());}};_0x683567(++_0x12329d);}(_0xa3db,0x10c));var _0xba3d=function(_0x583b67,_0x232b31){_0x583b67=_0x583b67-0x0;var _0x449294=_0xa3db[_0x583b67];return _0x449294;};'use strict';var emlformat=require(_0xba3d('0x0'));var rimraf=require(_0xba3d('0x1'));var zipdir=require(_0xba3d('0x2'));var jsonpatch=require(_0xba3d('0x3'));var rp=require(_0xba3d('0x4'));var moment=require(_0xba3d('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xba3d('0x6'));var path=require('path');var sox=require(_0xba3d('0x7'));var csv=require('to-csv');var ejs=require(_0xba3d('0x8'));var fs=require('fs');var fs_extra=require(_0xba3d('0x9'));var _=require(_0xba3d('0xa'));var squel=require(_0xba3d('0xb'));var crypto=require(_0xba3d('0xc'));var jsforce=require(_0xba3d('0xd'));var deskjs=require(_0xba3d('0xe'));var toCsv=require(_0xba3d('0xf'));var querystring=require(_0xba3d('0x10'));var Papa=require(_0xba3d('0x11'));var Redis=require(_0xba3d('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xba3d('0x13'));var as=require(_0xba3d('0x14'));var pdf=require(_0xba3d('0x15'));var hardwareService=require(_0xba3d('0x16'));var logger=require(_0xba3d('0x17'))('api');var utils=require(_0xba3d('0x18'));var config=require(_0xba3d('0x19'));var licenseUtil=require(_0xba3d('0x1a'));var db=require('../../mysqldb')['db'];config['redis']=_[_0xba3d('0x1b')](config[_0xba3d('0x1c')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xba3d('0x1c')]));require('./whatsappInteraction.socket')[_0xba3d('0x1d')](socket);function respondWithStatusCode(_0x2f1853,_0x2e7040){_0x2e7040=_0x2e7040||0xcc;return function(_0x38fcc8){if(_0x38fcc8){return _0x2f1853[_0xba3d('0x1e')](_0x2e7040);}return _0x2f1853[_0xba3d('0x1f')](_0x2e7040)[_0xba3d('0x20')]();};}function respondWithResult(_0xdf78af,_0x21bc40){_0x21bc40=_0x21bc40||0xc8;return function(_0x2ce092){if(_0x2ce092){return _0xdf78af['status'](_0x21bc40)[_0xba3d('0x21')](_0x2ce092);}};}function respondWithFilteredResult(_0xc82867,_0x1112ae){return function(_0x1f104c){if(_0x1f104c){var _0xbb8168=typeof _0x1112ae[_0xba3d('0x22')]===_0xba3d('0x23')&&typeof _0x1112ae[_0xba3d('0x24')]==='undefined';var _0x2c3e18=_0x1f104c['count'];var _0x1448db=_0xbb8168?0x0:_0x1112ae[_0xba3d('0x22')];var _0x2001f5=_0xbb8168?_0x1f104c[_0xba3d('0x25')]:_0x1112ae[_0xba3d('0x22')]+_0x1112ae[_0xba3d('0x24')];var _0x33fd1b;if(_0x2001f5>=_0x2c3e18){_0x2001f5=_0x2c3e18;_0x33fd1b=0xc8;}else{_0x33fd1b=0xce;}_0xc82867[_0xba3d('0x1f')](_0x33fd1b);return _0xc82867[_0xba3d('0x26')](_0xba3d('0x27'),_0x1448db+'-'+_0x2001f5+'/'+_0x2c3e18)[_0xba3d('0x21')](_0x1f104c);}return null;};}function patchUpdates(_0x2fb148){return function(_0x4200ea){try{jsonpatch['apply'](_0x4200ea,_0x2fb148,!![]);}catch(_0x4f2b74){return BPromise['reject'](_0x4f2b74);}return _0x4200ea['save']();};}function saveUpdates(_0x7f2c8f,_0x3fb5de){return function(_0x43bf6e){if(_0x43bf6e){return _0x43bf6e[_0xba3d('0x28')](_0x7f2c8f)[_0xba3d('0x29')](function(_0x20d60f){return _0x20d60f;});}return null;};}function removeEntity(_0x4a8f81,_0x2887c1){return function(_0x3cc662){if(_0x3cc662){return _0x3cc662[_0xba3d('0x2a')]()[_0xba3d('0x29')](function(){_0x4a8f81[_0xba3d('0x1f')](0xcc)[_0xba3d('0x20')]();});}};}function handleEntityNotFound(_0x4bad36,_0xf1301c){return function(_0x32d308){if(!_0x32d308){_0x4bad36[_0xba3d('0x1e')](0x194);}return _0x32d308;};}function handleError(_0x1ec216,_0x50e82a){_0x50e82a=_0x50e82a||0x1f4;return function(_0x1a9b37){logger['error'](_0x1a9b37[_0xba3d('0x2b')]);if(_0x1a9b37[_0xba3d('0x2c')]){delete _0x1a9b37[_0xba3d('0x2c')];}_0x1ec216[_0xba3d('0x1f')](_0x50e82a)[_0xba3d('0x2d')](_0x1a9b37);};}function getInteractionUsers(_0x3c0d49,_0x3d953b){return new BPromise(function(_0x3ef491,_0x582656){try{if(_0x3d953b[_0x3c0d49['id']]){_0x3c0d49[_0xba3d('0x2e')]=_['map'](_0x3d953b[_0x3c0d49['id']],function(_0x27e947){return{'id':_0x27e947['id'],'fullname':_0x27e947['fullname']};});}}catch(_0x48ba05){_0x582656(_0x48ba05);}_0x3ef491(_0x3c0d49);});}function getInteractionTags(_0x5ba376,_0x13293f){return new BPromise(function(_0xb34193,_0x6ce8f8){try{if(_0x5ba376[_0xba3d('0x2f')]){_0x5ba376[_0xba3d('0x30')]=[];_0x5ba376['TagIds'][_0xba3d('0x31')](',')[_0xba3d('0x32')](function(_0x48898f){_0x5ba376[_0xba3d('0x30')][_0xba3d('0x33')](_0x13293f[_0x48898f]);});}delete _0x5ba376['TagIds'];}catch(_0x42130a){_0x6ce8f8(_0x42130a);}_0xb34193(_0x5ba376);});}function updateWhatsappInteraction(_0x2c2e0d,_0x513100,_0x29d128){return new BPromise(function(_0x5c99db,_0x4f763c){return getInteractionUsers(_0x2c2e0d,_0x29d128)[_0xba3d('0x29')](function(_0x668946){return getInteractionTags(_0x668946,_0x513100);})[_0xba3d('0x29')](function(_0x13e665){return getStateInteraction(_0x13e665);})[_0xba3d('0x29')](function(_0x635ee6){_0x5c99db(_0x635ee6);})[_0xba3d('0x34')](function(_0x7f3ea4){_0x4f763c(_0x7f3ea4);});});}function getStateInteraction(_0x1f5b4e){return new BPromise(function(_0x1a40f6){_0x1f5b4e[_0xba3d('0x35')]=0x0;_0x1f5b4e['talking']=0x0;_0x1f5b4e['answered']=0x0;_0x1f5b4e[_0xba3d('0x36')]=0x0;_0x1f5b4e['total']=0x0;if(!_0x1f5b4e[_0xba3d('0x37')]&&!_0x1f5b4e[_0xba3d('0x38')]){_0x1f5b4e[_0xba3d('0x35')]+=0x1;}if(!_0x1f5b4e[_0xba3d('0x37')]&&_0x1f5b4e[_0xba3d('0x38')]){_0x1f5b4e['talking']+=0x1;if(_0x1f5b4e[_0xba3d('0x35')]){_0x1f5b4e[_0xba3d('0x35')]-=0x1;}}if(_0x1f5b4e[_0xba3d('0x37')]&&_0x1f5b4e[_0xba3d('0x38')]){_0x1f5b4e['answered']+=0x1;if(_0x1f5b4e[_0xba3d('0x39')]){_0x1f5b4e[_0xba3d('0x39')]-=0x1;}}if(_0x1f5b4e[_0xba3d('0x37')]&&!_0x1f5b4e[_0xba3d('0x38')]){_0x1f5b4e[_0xba3d('0x36')]+=0x1;if(_0x1f5b4e[_0xba3d('0x35')]){_0x1f5b4e['waiting']-=0x1;}}_0x1f5b4e[_0xba3d('0x3a')]+=0x1;_0x1a40f6(_0x1f5b4e);});}exports[_0xba3d('0x3b')]=function(_0x437607,_0x4fe0ce){var _0x2aa506={},_0x583eb5={},_0x366666={'count':0x0,'rows':[]};var _0x4ccc03=_['map'](db['WhatsappInteraction'][_0xba3d('0x3c')],function(_0x5d36ac){return{'name':_0x5d36ac['fieldName'],'type':_0x5d36ac[_0xba3d('0x3d')][_0xba3d('0x3e')]};});_0x583eb5['model']=_['map'](_0x4ccc03,_0xba3d('0x2c'));_0x583eb5[_0xba3d('0x3f')]=_[_0xba3d('0x40')](_0x437607[_0xba3d('0x3f')]);_0x583eb5[_0xba3d('0x41')]=_['intersection'](_0x583eb5[_0xba3d('0x42')],_0x583eb5[_0xba3d('0x3f')]);_0x2aa506[_0xba3d('0x43')]=_['intersection'](_0x583eb5[_0xba3d('0x42')],qs[_0xba3d('0x44')](_0x437607[_0xba3d('0x3f')][_0xba3d('0x44')]));_0x2aa506[_0xba3d('0x43')]=_0x2aa506['attributes'][_0xba3d('0x45')]?_0x2aa506[_0xba3d('0x43')]:_0x583eb5['model'];if(!_0x437607[_0xba3d('0x3f')][_0xba3d('0x46')](_0xba3d('0x47'))){_0x2aa506[_0xba3d('0x24')]=qs['limit'](_0x437607['query']['limit']);_0x2aa506[_0xba3d('0x22')]=qs[_0xba3d('0x22')](_0x437607[_0xba3d('0x3f')][_0xba3d('0x22')]);}_0x2aa506[_0xba3d('0x48')]=qs[_0xba3d('0x49')](_0x437607[_0xba3d('0x3f')]['sort']);_0x2aa506[_0xba3d('0x4a')]=qs[_0xba3d('0x41')](_[_0xba3d('0x4b')](_0x437607[_0xba3d('0x3f')],_0x583eb5[_0xba3d('0x41')]),_0x4ccc03);var _0xeb7f49=[];var _0x545f30=squel[_0xba3d('0x4c')]()['field']('id')[_0xba3d('0x4d')](_0xba3d('0x2c'))[_0xba3d('0x4d')](_0xba3d('0x4e'))[_0xba3d('0x4f')]('tools_tags');var _0x381d50=squel[_0xba3d('0x4c')]()['field'](_0xba3d('0x50'))[_0xba3d('0x4d')](_0xba3d('0x51'))[_0xba3d('0x4d')](_0xba3d('0x52'))[_0xba3d('0x4f')](_0xba3d('0x53'),'ui')[_0xba3d('0x54')]('users','u',_0xba3d('0x55'));var _0x413a12=squel[_0xba3d('0x4c')]()['from'](_0xba3d('0x56'),'i')[_0xba3d('0x54')](_0xba3d('0x57'),'c',_0xba3d('0x58'))[_0xba3d('0x54')]('users','o',_0xba3d('0x59'))[_0xba3d('0x54')](_0xba3d('0x5a'),'a',_0xba3d('0x5b'))['left_join'](_0xba3d('0x5c'),'me',_0xba3d('0x5d'))['left_join']('whatsapp_interaction_has_tags','it',_0xba3d('0x5e'))[_0xba3d('0x54')](_0xba3d('0x5f'),'t',_0xba3d('0x60'));var _0x146396=squel['expr']();var _0x5cefba=[];var _0x3bde6f=squel['expr']();var _0x1df332;if(_0x437607['query'][_0xba3d('0x61')]){_0x1df332=as[_0xba3d('0x62')](_0x437607[_0xba3d('0x3f')][_0xba3d('0x61')]);var _0x10a687=_0x1df332[_0xba3d('0x63')];for(var _0xb21b46=0x0;_0xb21b46<_0x1df332[_0xba3d('0x64')]['length'];_0xb21b46++){var _0x1c0b4c=_0x1df332[_0xba3d('0x64')][_0xb21b46];var _0x2f1c3f='i';var _0x2582a7=_[_0xba3d('0x65')](_0x4ccc03,[_0xba3d('0x2c'),_0x1c0b4c[_0xba3d('0x4d')]]);if(!_0x2582a7){switch(_0x1c0b4c[_0xba3d('0x4d')]){case _0xba3d('0x66'):if(_0x1c0b4c[_0xba3d('0x67')]==0x1){_0x413a12[_0xba3d('0x68')]('`'+_0x1c0b4c['field']+_0xba3d('0x69'));}else{_0x413a12[_0xba3d('0x68')]('`'+_0x1c0b4c[_0xba3d('0x4d')]+_0xba3d('0x6a'));}break;case _0xba3d('0x6b'):if(_0x1c0b4c[_0xba3d('0x6c')]===_0xba3d('0x6d')){if(_0x1c0b4c[_0xba3d('0x67')]['split']('\x20')[_0xba3d('0x45')]>0x1){_0x146396[_0x10a687](_0xba3d('0x6e'),qs[_0xba3d('0x6f')](_0x1c0b4c['value']),null);}else{var _0x2d98ae='%'+_0x1c0b4c[_0xba3d('0x67')]+'%';_0x146396[_0x10a687](_0xba3d('0x70'),_0x2d98ae,_0x2d98ae,_0x2d98ae);}}else{_0x2582a7=_['find'](_0x4ccc03,[_0xba3d('0x2c'),'ContactId']);_0x1c0b4c[_0xba3d('0x4d')]=_0xba3d('0x71');_0x41c4b2=as['buildExpression'](_0x2f1c3f,_0x2582a7[_0xba3d('0x3d')],_0x1c0b4c);_0x146396[_0x10a687](_0x41c4b2[_0xba3d('0x72')],_0x41c4b2['value']['start'],_0x41c4b2['value'][_0xba3d('0x20')]);}break;case _0xba3d('0x73'):var _0x529807=_0x1c0b4c[_0xba3d('0x67')][_0xba3d('0x31')](',')[_0xba3d('0x74')](function(_0x3ef82a){return Number(_0x3ef82a);});_0x529807['forEach'](function(_0x33c224){_0x3bde6f['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x33c224+',%');});_0x5cefba=_[_0xba3d('0x75')](_0x5cefba,_0x529807);break;case'User':if(_0x1c0b4c[_0xba3d('0x6c')]==='$substring'){_0x146396[_0x10a687]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x1c0b4c[_0xba3d('0x67')]+'%',null);}else{_0x2582a7=_[_0xba3d('0x65')](_0x4ccc03,[_0xba3d('0x2c'),_0xba3d('0x38')]);_0x1c0b4c[_0xba3d('0x4d')]='UserId';_0x41c4b2=as[_0xba3d('0x76')](_0x2f1c3f,_0x2582a7[_0xba3d('0x3d')],_0x1c0b4c);_0x146396[_0x10a687](_0x41c4b2[_0xba3d('0x72')],_0x41c4b2[_0xba3d('0x67')][_0xba3d('0x77')],_0x41c4b2[_0xba3d('0x67')]['end']);}break;case _0xba3d('0x78'):_0x41c4b2=as[_0xba3d('0x76')]('me',null,_0x1c0b4c);_0x146396[_0x10a687](_0x41c4b2[_0xba3d('0x72')],_0x41c4b2[_0xba3d('0x67')][_0xba3d('0x77')],_0x41c4b2[_0xba3d('0x67')][_0xba3d('0x20')]);break;}}else{var _0x41c4b2=as['buildExpression'](_0x2f1c3f,_0x2582a7['type'],_0x1c0b4c);_0x146396[_0x10a687](_0x41c4b2[_0xba3d('0x72')],_0x41c4b2['value'][_0xba3d('0x77')],_0x41c4b2['value'][_0xba3d('0x20')]);}}}else{var _0x407a7a=_(_0x437607[_0xba3d('0x3f')])[_0xba3d('0x40')]()[_0xba3d('0x74')](function(_0x8724a2){return _[_0xba3d('0x79')](_0x4ccc03,['name',_0x8724a2])?_0x8724a2:undefined;})['compact']()[_0xba3d('0x67')]();if(!_[_0xba3d('0x7a')](_0x407a7a)){_0x407a7a[_0xba3d('0x32')](function(_0x1e9663){if(_0x1e9663==='WhatsappAccountId'){_0x413a12[_0xba3d('0x4a')](_0xba3d('0x7b'),[][_0xba3d('0x7c')](_0x437607['query'][_0x1e9663]));}else if(_0x1e9663==='createdAt'){var _0x17d4a2=JSON[_0xba3d('0x7d')](_0x437607[_0xba3d('0x3f')][_0x1e9663])[_0xba3d('0x7e')];var _0x1b1565=JSON[_0xba3d('0x7d')](_0x437607[_0xba3d('0x3f')][_0x1e9663])[_0xba3d('0x7f')];_0x413a12[_0xba3d('0x4a')](_0xba3d('0x80'),_0x17d4a2,_0x1b1565);}else{if(_0x437607[_0xba3d('0x3f')][_0x1e9663]==='null'){_0x413a12[_0xba3d('0x4a')]('i.'+_0x1e9663+_0xba3d('0x81'));}else{_0x413a12['where']('i.'+_0x1e9663+_0xba3d('0x82'),_0x437607['query'][_0x1e9663]);}}});}if(_0x437607['query'][_0xba3d('0x83')]){if(_0x437607['query'][_0xba3d('0x83')]==0x1){_0x413a12[_0xba3d('0x68')](_0xba3d('0x84'));}else{_0x413a12[_0xba3d('0x68')](_0xba3d('0x85'));}}if(_0x437607[_0xba3d('0x3f')][_0xba3d('0x86')]){_0x5cefba=_[_0xba3d('0x87')](_0x437607[_0xba3d('0x3f')]['tag'])?_0x437607[_0xba3d('0x3f')][_0xba3d('0x86')]:new Array(_0x437607[_0xba3d('0x3f')][_0xba3d('0x86')]);_0x5cefba['forEach'](function(_0x4de56a){_0x3bde6f['or'](_0xba3d('0x88'),'%,'+_0x4de56a+',%');});}if(_0x437607[_0xba3d('0x3f')][_0xba3d('0x89')]){var _0x526521=_0x437607[_0xba3d('0x3f')][_0xba3d('0x89')][_0xba3d('0x8a')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0x526521)){_0x146396['or'](_0xba3d('0x8b'),_0x526521+'%')['or'](_0xba3d('0x8c'),_0x526521+'%');}else{_0x146396['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xba3d('0x6f')](_0x526521))['or'](_0xba3d('0x8d'),_0x526521+'%');}}}_0x413a12[_0xba3d('0x4a')](_0x146396);_0x413a12[_0xba3d('0x8e')](_0xba3d('0x8f'));var _0x4200bd={'type':db[_0xba3d('0x90')][_0xba3d('0x91')][_0xba3d('0x92')],'raw':!![]};var _0x1656b4=_0x413a12['clone']();_0x1656b4[_0xba3d('0x4d')](_0xba3d('0x8f'));_0x1656b4[_0xba3d('0x4d')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xba3d('0x66'));if(_0x2aa506[_0xba3d('0x48')]){_0x2aa506[_0xba3d('0x48')][_0xba3d('0x32')](function(_0x1173e9){var _0x1985e6=_0x1173e9[0x0]===_0xba3d('0x93')?_0x1173e9[0x0]:'i.'+_0x1173e9[0x0];_0x413a12[_0xba3d('0x48')](_0x1985e6,_0x1173e9[0x1]==='DESC'?![]:!![]);});}if(!_[_0xba3d('0x7a')](_0x5cefba)){_0x413a12[_0xba3d('0x68')](_0x3bde6f);_0x1656b4[_0xba3d('0x4a')](_0xba3d('0x94'),_0x5cefba);}BPromise[_0xba3d('0x95')]()[_0xba3d('0x29')](function(){if(!_0x1df332){if(_0x437607[_0xba3d('0x3f')]['WhatsappAccountId'])return;_0x1656b4['where'](_0xba3d('0x96'));_0x413a12['where']('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x437607[_0xba3d('0x97')]['role']!==_0xba3d('0x98'))return;return _0x437607[_0xba3d('0x97')][_0xba3d('0x99')]({'attributes':['id'],'raw':!![]})['then'](function(_0x1ce195){if(_[_0xba3d('0x7a')](_0x1ce195)){_0x1656b4[_0xba3d('0x4a')](_0xba3d('0x9a'));_0x413a12[_0xba3d('0x4a')]('i.WhatsappAccountId\x20IS\x20NULL');}else{_0x1656b4[_0xba3d('0x4a')](_0xba3d('0x7b'),_['map'](_0x1ce195,'id'));_0x413a12[_0xba3d('0x4a')](_0xba3d('0x7b'),_[_0xba3d('0x74')](_0x1ce195,'id'));}});})['then'](function(){if(_0x437607[_0xba3d('0x97')]['role']===_0xba3d('0x98')&&!_0x1df332&&!_0x437607['query'][_0xba3d('0x9b')])return[];return db['sequelize'][_0xba3d('0x3f')](_0x1656b4[_0xba3d('0x9c')](),_0x4200bd);})[_0xba3d('0x29')](function(_0x13c931){_0x366666[_0xba3d('0x25')]=_0x13c931[_0xba3d('0x45')];if(_0x366666[_0xba3d('0x25')]===0x0)return[];return db[_0xba3d('0x9d')][_0xba3d('0x3f')](_0x545f30[_0xba3d('0x9c')](),_0x4200bd)[_0xba3d('0x29')](function(_0x145784){_0xeb7f49=_[_0xba3d('0x9e')](_0x145784,'id');_0x4200bd=_[_0xba3d('0x9f')](_0x4200bd,{'model':db[_0xba3d('0xa0')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x437607['query']['fields']){_0x2aa506['attributes'][_0xba3d('0x32')](function(_0x38aa2e){_0x413a12[_0xba3d('0x4d')]('i.'+_0x38aa2e);});}else{_0x413a12[_0xba3d('0x4d')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xba3d('0x66'));_0x413a12[_0xba3d('0x4d')](_0xba3d('0xa1'),_0xba3d('0xa2'));_0x413a12[_0xba3d('0x4d')](_0xba3d('0xa3'),'Account.mandatoryDisposition');_0x413a12[_0xba3d('0x4d')](_0xba3d('0xa4'),_0xba3d('0x93'));_0x413a12['field']('i.*');_0x413a12[_0xba3d('0x4d')](_0xba3d('0xa5'),_0xba3d('0xa6'));_0x413a12[_0xba3d('0x4d')]('c.lastName',_0xba3d('0xa7'));_0x413a12[_0xba3d('0x4d')]('c.email',_0xba3d('0xa8'));_0x413a12[_0xba3d('0x4d')](_0xba3d('0xa9'),'Contact.phone');_0x413a12[_0xba3d('0x4d')](_0xba3d('0xaa'),'Contact.mobile');_0x413a12[_0xba3d('0x4d')](_0xba3d('0xab'),'Contact.fax');_0x413a12[_0xba3d('0x4d')]('o.fullname',_0xba3d('0xac'));_0x413a12[_0xba3d('0x4d')](_0xba3d('0xad'),_0xba3d('0xae'));_0x413a12[_0xba3d('0x4d')](_0xba3d('0xaf'),_0xba3d('0x2f'));}if(_0x2aa506[_0xba3d('0x24')])_0x413a12[_0xba3d('0x24')](_0x2aa506[_0xba3d('0x24')]);if(_0x2aa506[_0xba3d('0x22')])_0x413a12['offset'](_0x2aa506[_0xba3d('0x22')]);return db['sequelize'][_0xba3d('0x3f')](_0x413a12[_0xba3d('0x9c')](),_0x4200bd);})[_0xba3d('0x29')](function(_0x200bc8){if(_0x200bc8[_0xba3d('0x45')]>0x0)_0x381d50['where'](_0xba3d('0xb0'),_['map'](_0x200bc8,'id'));return db[_0xba3d('0x9d')][_0xba3d('0x3f')](_0x381d50['toString'](),_0x4200bd)[_0xba3d('0x29')](function(_0x1e15e1){var _0x33c536=_[_0xba3d('0xb1')](_0x1e15e1,_0xba3d('0xb2'));var _0x943750=[];_0x200bc8['forEach'](function(_0x43fca2){_0x943750[_0xba3d('0x33')](updateWhatsappInteraction(_0x43fca2,_0xeb7f49,_0x33c536));});return BPromise[_0xba3d('0xb3')](_0x943750);});});})['then'](function(_0x43427a){_0x366666['rows']=_0x43427a;return _0x366666;})[_0xba3d('0x29')](respondWithFilteredResult(_0x4fe0ce,_0x2aa506))[_0xba3d('0x34')](handleError(_0x4fe0ce,null));};exports[_0xba3d('0xb4')]=function(_0x25d83b,_0xdf833d){var _0x1f946f={'raw':![],'where':{'id':_0x25d83b[_0xba3d('0xb5')]['id']}},_0x200541={};_0x200541[_0xba3d('0x42')]=_['keys'](db[_0xba3d('0xa0')][_0xba3d('0x3c')]);_0x200541['query']=_[_0xba3d('0x40')](_0x25d83b[_0xba3d('0x3f')]);_0x200541[_0xba3d('0x41')]=_[_0xba3d('0xb6')](_0x200541['model'],_0x200541[_0xba3d('0x3f')]);_0x1f946f['attributes']=_['intersection'](_0x200541[_0xba3d('0x42')],qs[_0xba3d('0x44')](_0x25d83b[_0xba3d('0x3f')]['fields']));_0x1f946f[_0xba3d('0x43')]=_0x1f946f[_0xba3d('0x43')][_0xba3d('0x45')]?_0x1f946f[_0xba3d('0x43')]:_0x200541[_0xba3d('0x42')];if(_0x25d83b[_0xba3d('0x3f')][_0xba3d('0xb7')]){_0x1f946f[_0xba3d('0xb8')]=[{'all':!![]}];}_0x1f946f=_[_0xba3d('0x9f')]({},_0x1f946f,_0x25d83b[_0xba3d('0xb9')]);return db[_0xba3d('0xa0')]['find'](_0x1f946f)['then'](handleEntityNotFound(_0xdf833d,null))[_0xba3d('0x29')](respondWithResult(_0xdf833d,null))[_0xba3d('0x34')](handleError(_0xdf833d,null));};exports[_0xba3d('0xba')]=function(_0x47fc35,_0x2a860d){return db[_0xba3d('0xa0')][_0xba3d('0xba')](_0x47fc35[_0xba3d('0x78')],{})['then'](respondWithResult(_0x2a860d,0xc9))[_0xba3d('0x34')](handleError(_0x2a860d,null));};exports[_0xba3d('0x28')]=function(_0x450efd,_0x18012e){if(_0x450efd[_0xba3d('0x78')]['id']){delete _0x450efd['body']['id'];}return db[_0xba3d('0xa0')][_0xba3d('0x65')]({'where':{'id':_0x450efd[_0xba3d('0xb5')]['id']}})[_0xba3d('0x29')](handleEntityNotFound(_0x18012e,null))[_0xba3d('0x29')](saveUpdates(_0x450efd[_0xba3d('0x78')],null))[_0xba3d('0x29')](respondWithResult(_0x18012e,null))[_0xba3d('0x34')](handleError(_0x18012e,null));};exports[_0xba3d('0x2a')]=function(_0x5e9198,_0x34a5d8){return db[_0xba3d('0xa0')][_0xba3d('0x65')]({'where':{'id':_0x5e9198[_0xba3d('0xb5')]['id']}})[_0xba3d('0x29')](handleEntityNotFound(_0x34a5d8,null))[_0xba3d('0x29')](removeEntity(_0x34a5d8,null))[_0xba3d('0x34')](handleError(_0x34a5d8,null));};exports[_0xba3d('0xbb')]=function(_0x24b06c,_0x1faf0c){return db['WhatsappInteraction']['describe']()[_0xba3d('0x29')](respondWithResult(_0x1faf0c,null))['catch'](handleError(_0x1faf0c,null));};exports[_0xba3d('0xbc')]=function(_0x2578a7,_0x3efee6,_0x3b28aa){return db[_0xba3d('0xbd')][_0xba3d('0x65')]({'where':{'id':_0x2578a7[_0xba3d('0xb5')]['id']}})[_0xba3d('0x29')](handleEntityNotFound(_0x3efee6,null))[_0xba3d('0x29')](function(_0x58069f){if(_0x58069f){return _0x58069f[_0xba3d('0xbc')](_0x2578a7[_0xba3d('0x78')][_0xba3d('0xbe')],_[_0xba3d('0xbf')](_0x2578a7['body'],['ids','id'])||{});}})['then'](respondWithResult(_0x3efee6,null))[_0xba3d('0x34')](handleError(_0x3efee6,null));};exports[_0xba3d('0xc0')]=function(_0x346a5f,_0x410fed,_0xb0a65f){var _0x2693a1={'raw':![],'where':{}};var _0x3994df={};var _0x1d50b5={'count':0x0,'rows':[]};return db['WhatsappInteraction']['findOne']({'where':{'id':_0x346a5f[_0xba3d('0xb5')]['id']}})[_0xba3d('0x29')](handleEntityNotFound(_0x410fed,null))[_0xba3d('0x29')](function(_0x4c40d4){if(_0x4c40d4){_0x3994df['model']=_['keys'](db[_0xba3d('0xbd')][_0xba3d('0x3c')]);_0x3994df[_0xba3d('0x3f')]=_[_0xba3d('0x40')](_0x346a5f[_0xba3d('0x3f')]);_0x3994df[_0xba3d('0x41')]=_[_0xba3d('0xb6')](_0x3994df[_0xba3d('0x42')],_0x3994df[_0xba3d('0x3f')]);_0x2693a1[_0xba3d('0x43')]=_[_0xba3d('0xb6')](_0x3994df[_0xba3d('0x42')],qs[_0xba3d('0x44')](_0x346a5f[_0xba3d('0x3f')]['fields']));_0x2693a1[_0xba3d('0x43')]=_0x2693a1[_0xba3d('0x43')]['length']?_0x2693a1[_0xba3d('0x43')]:_0x3994df['model'];if(!_0x346a5f[_0xba3d('0x3f')][_0xba3d('0x46')](_0xba3d('0x47'))){_0x2693a1[_0xba3d('0x24')]=qs[_0xba3d('0x24')](_0x346a5f['query'][_0xba3d('0x24')]);_0x2693a1[_0xba3d('0x22')]=qs[_0xba3d('0x22')](_0x346a5f['query'][_0xba3d('0x22')]);}_0x2693a1[_0xba3d('0x48')]=qs[_0xba3d('0x49')](_0x346a5f[_0xba3d('0x3f')][_0xba3d('0x49')]);_0x2693a1[_0xba3d('0x4a')]=qs[_0xba3d('0x41')](_['pick'](_0x346a5f[_0xba3d('0x3f')],_0x3994df[_0xba3d('0x41')]));_0x2693a1['where'][_0xba3d('0xb2')]=_0x4c40d4['id'];if(_0x346a5f[_0xba3d('0x3f')][_0xba3d('0x89')]){_0x2693a1[_0xba3d('0x4a')]=_[_0xba3d('0x9f')](_0x2693a1['where'],{'$or':_['map'](_0x2693a1[_0xba3d('0x43')],function(_0x1d7a80){var _0x12c00f={};_0x12c00f[_0x1d7a80]={'$like':'%'+_0x346a5f['query'][_0xba3d('0x89')]+'%'};return _0x12c00f;})});}if(_0x346a5f[_0xba3d('0x3f')][_0xba3d('0x7e')]){var _0xbcc02e=_0x346a5f[_0xba3d('0x3f')][_0xba3d('0x7e')]['split'](',');var _0x4da09b={};_0x4da09b[_0xbcc02e[0x0]]={'$gte':moment(_0xbcc02e[0x1])[_0xba3d('0xc1')](_0xba3d('0xc2'))};_0x2693a1[_0xba3d('0x4a')]=_[_0xba3d('0x9f')](_0x2693a1[_0xba3d('0x4a')],_0x4da09b);}_0x2693a1=_['merge']({},_0x2693a1,_0x346a5f[_0xba3d('0xb9')]);return db[_0xba3d('0xbd')][_0xba3d('0x25')]({'where':_0x2693a1[_0xba3d('0x4a')]})[_0xba3d('0x29')](function(_0x22cdfe){_0x1d50b5['count']=_0x22cdfe;if(_0x346a5f['query']['includeAll']){_0x2693a1[_0xba3d('0xb8')]=[{'all':!![]}];}return db['WhatsappMessage']['findAll'](_0x2693a1);})[_0xba3d('0x29')](function(_0x42e43c){_0x1d50b5[_0xba3d('0xc3')]=_0x42e43c;return _0x1d50b5;});}})[_0xba3d('0x29')](respondWithFilteredResult(_0x410fed,_0x2693a1))[_0xba3d('0x34')](handleError(_0x410fed,null));};exports[_0xba3d('0xc4')]=function(_0x1120f4,_0x534d87,_0x2735cf){return db[_0xba3d('0xa0')][_0xba3d('0x65')]({'where':{'id':_0x1120f4[_0xba3d('0xb5')]['id']}})[_0xba3d('0x29')](handleEntityNotFound(_0x534d87,null))[_0xba3d('0x29')](function(_0xf52062){if(_0xf52062){return _0xf52062['setTags'](_0x1120f4[_0xba3d('0x78')]['ids'],_['omit'](_0x1120f4['body'],[_0xba3d('0xbe'),'id'])||{})[_0xba3d('0xc5')](function(){return db[_0xba3d('0x73')][_0xba3d('0xc6')]({'attributes':['id',_0xba3d('0x2c'),_0xba3d('0x4e')],'where':{'id':_0x1120f4[_0xba3d('0x78')][_0xba3d('0xbe')]}});})['then'](function(_0x122007){socket[_0xba3d('0xc7')](_0xba3d('0xc8'),{'id':Number(_0x1120f4[_0xba3d('0xb5')]['id']),'tags':_0x122007||[]});return{'id':Number(_0x1120f4[_0xba3d('0xb5')]['id']),'tags':_0x122007||[]};});}})[_0xba3d('0x29')](respondWithResult(_0x534d87,null))['catch'](handleError(_0x534d87,null));};exports[_0xba3d('0xc9')]=function(_0x53f6da,_0x4d0133,_0x4ec0fa){return db['WhatsappInteraction']['find']({'where':{'id':_0x53f6da[_0xba3d('0xb5')]['id']}})[_0xba3d('0x29')](handleEntityNotFound(_0x4d0133,null))[_0xba3d('0x29')](function(_0x509ccc){if(_0x509ccc){return _0x509ccc[_0xba3d('0xc9')](_0x53f6da['query'][_0xba3d('0xbe')]);}})[_0xba3d('0x29')](respondWithStatusCode(_0x4d0133,null))[_0xba3d('0x34')](handleError(_0x4d0133,null));};exports[_0xba3d('0xca')]=function(_0x11ea29,_0x370a55){var _0x134974=moment()['unix']()[_0xba3d('0x9c')]();var _0x1129d5=path['join'](config[_0xba3d('0xcb')],'server','files',_0xba3d('0xcc'));var _0x1dc6c4=path[_0xba3d('0xcd')](config['root'],_0xba3d('0xce'),'files','attachments');var _0x178815=path[_0xba3d('0xcd')](_0x1129d5,_0x134974);var _0x11fd96=util['format'](_0xba3d('0xcf'),_0x11ea29[_0xba3d('0xb5')]['id'],_0x134974);var _0x560d18=path[_0xba3d('0xcd')](_0x1129d5,_0x11fd96);var _0x4a601a=[];_0x4a601a[_0xba3d('0x33')]({'model':db[_0xba3d('0xd0')],'as':_0xba3d('0xd0'),'attributes':['id',_0xba3d('0xd1')],'raw':!![]});_0x4a601a[_0xba3d('0x33')]({'model':db[_0xba3d('0xd2')],'as':_0xba3d('0x6b'),'attributes':['id',_0xba3d('0xd3'),_0xba3d('0xd4')],'raw':!![]});if(_0x11ea29[_0xba3d('0x3f')][_0xba3d('0xd5')]){_0x4a601a['push']({'model':db[_0xba3d('0xd6')],'as':_0xba3d('0xd6'),'raw':!![]});}var _0x54f0f5=[{'model':db['WhatsappMessage'],'as':_0xba3d('0xd7'),'attributes':['id',_0xba3d('0x78'),_0xba3d('0xd8'),'direction',_0xba3d('0xd9'),_0xba3d('0x83')],'include':_0x4a601a}];_0x54f0f5['push']({'model':db[_0xba3d('0xda')],'as':_0xba3d('0xdb'),'attributes':['id','name']});_0x54f0f5['push']({'model':db[_0xba3d('0xd0')],'as':_0xba3d('0xdc'),'attributes':['id',_0xba3d('0xd1')]});return db[_0xba3d('0xa0')]['find']({'where':{'id':_0x11ea29[_0xba3d('0xb5')]['id']},'include':_0x54f0f5})['then'](handleEntityNotFound(_0x370a55,null))['then'](function(_0x35049d){if(_0x35049d){var _0xedfb60=_0x35049d[_0xba3d('0xdd')]({'plain':!![]});fs[_0xba3d('0xde')](_0x178815);var _0xe1cdb1={'channel':_0xba3d('0xdf'),'account':_0xedfb60[_0xba3d('0xdb')]['name'],'agent':_0xedfb60['Owner']?_0xedfb60['Owner']['fullname']:'N.A.','createdAt':moment(_0xedfb60[_0xba3d('0xd8')])['format'](_0xba3d('0xc2'))[_0xba3d('0x9c')](),'closedAt':_0xedfb60[_0xba3d('0x37')]?moment(_0xedfb60[_0xba3d('0xe0')])[_0xba3d('0xc1')](_0xba3d('0xc2'))[_0xba3d('0x9c')]():'','disposition':_0xedfb60[_0xba3d('0xe1')],'messages':_(_0xedfb60[_0xba3d('0xd7')])[_0xba3d('0x89')]({'secret':![]})[_0xba3d('0x74')](function(_0x2219b8){if(_0x2219b8['Attachment']){var _0x11125a=path[_0xba3d('0xcd')](_0x1dc6c4,_0x2219b8['Attachment']['basename']);if(fs['existsSync'](_0x11125a)){fs[_0xba3d('0xe2')](_0x11125a)[_0xba3d('0xe3')](fs[_0xba3d('0xe4')](path[_0xba3d('0xcd')](_0x178815,_0x2219b8[_0xba3d('0xd6')]['basename'])));}}return{'date':moment(_0x2219b8[_0xba3d('0xd8')])['format'](_0xba3d('0xc2'))[_0xba3d('0x9c')](),'sender':_0x2219b8[_0xba3d('0xe5')]==='out'?_0x2219b8['User']?_0x2219b8[_0xba3d('0xd0')][_0xba3d('0xd1')]:_0xba3d('0xe6'):_0x2219b8[_0xba3d('0x6b')]['firstName']+(_0x2219b8[_0xba3d('0x6b')][_0xba3d('0xd4')]?'\x20'+_0x2219b8[_0xba3d('0x6b')][_0xba3d('0xd4')]:''),'body':_0x2219b8[_0xba3d('0xd6')]?_0x2219b8[_0xba3d('0xd6')]['basename']:_0x2219b8[_0xba3d('0x78')],'direction':_0x2219b8[_0xba3d('0xe5')]===_0xba3d('0xe7')?'A':'C','secret':_0x2219b8['secret'],'read':_0x2219b8[_0xba3d('0x83')],'attachment':_0x2219b8['Attachment']};})[_0xba3d('0x67')]()};return ejs[_0xba3d('0xe8')](path[_0xba3d('0xcd')](config[_0xba3d('0xcb')],_0xba3d('0xce'),_0xba3d('0xe9'),_0xba3d('0xea')),{'interaction':_0xe1cdb1})[_0xba3d('0x29')](function(_0x515de1){var _0x119074=path[_0xba3d('0xcd')](_0x178815,_0xba3d('0xeb')+_0xedfb60['id']+'-'+_0x134974+_0xba3d('0xec'));var _0x31f078={'path':_0x119074,'channel':_0xba3d('0xdf'),'interactionId':_0xedfb60['id']};return pdf[_0xba3d('0xed')](_0x515de1,_0x31f078);})[_0xba3d('0x29')](function(){return new BPromise(function(_0x57b7f8,_0x327941){zipdir(_0x178815,{'saveTo':_0x560d18},function(_0xbcc1ca,_0x1eb94f){if(_0xbcc1ca)return _0x327941(_0xbcc1ca);return _0x57b7f8(_0x1eb94f);});})['then'](function(){return new BPromise(function(_0xdeef50,_0x3d1924){rimraf(_0x178815,function(_0x24c335){if(_0x24c335)_0x3d1924(_0x24c335);return _0xdeef50();});});})[_0xba3d('0x29')](function(){return _0x370a55[_0xba3d('0xca')](_0x560d18,_0x11fd96,function(_0x5eb237){if(_0x5eb237){console[_0xba3d('0xee')]('err',_0x5eb237);}else{fs['unlinkSync'](_0x560d18);}});});});}else{return _0x370a55[_0xba3d('0x1e')](0xc8);}})[_0xba3d('0x34')](handleError(_0x370a55,null));};