17cbc3678db9a123268a80c427d2f07cfd187bec
[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 _0x0b78=['api','../../config/utils','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./whatsappInteraction.socket','register','status','end','json','offset','undefined','count','limit','set','apply','reject','save','update','then','sendStatus','error','stack','name','send','Users','map','fullname','TagIds','Tags','forEach','waiting','unmanaged','total','closed','UserId','talking','index','WhatsappInteraction','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','select','field','u.id','u.fullname','ui.WhatsappInteractionId','user_has_whatsapp_interactions','users','u.id\x20=\x20ui.UserId','from','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','left_join','o.id\x20=\x20i.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','whatsapp_messages','me.WhatsappInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','buildExpression','start','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','body','text','some','compact','isEmpty','i.WhatsappAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','WhatsappAccountId','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','role','agent','user','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','sequelize','keyBy','merge','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','Contact.firstName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','toString','groupBy','WhatsappInteractionId','all','rows','catch','show','rawAttributes','includeAll','include','options','create','describe','addMessage','params','ids','getMessages','findOne','WhatsappMessage','nolimit','pick','format','YYYY-MM-DD\x20HH:mm:ss','addTags','setTags','omit','spread','Tag','findAll','color','emit','removeTags','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','CmContact','firstName','lastName','Attachment','Messages','direction','push','WhatsappAccount','Account','Owner','mkdirSync','Whatsapp','N.A.','closedAt','disposition','basename','createReadStream','pipe','createWriteStream','out','System','secret','renderFile','views','downloadInteraction.ejs','transcript-','.pdf','createPdfFromHTML','download','log','unlinkSync','rimraf','zip-dir','fast-json-patch','moment','bluebird','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x52e0ee,_0x52f7c1){var _0x32534c=function(_0x535d65){while(--_0x535d65){_0x52e0ee['push'](_0x52e0ee['shift']());}};_0x32534c(++_0x52f7c1);}(_0x0b78,0x1d6));var _0x80b7=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x0b78[_0x321bb2];return _0x9c12ed;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x80b7('0x0'));var zipdir=require(_0x80b7('0x1'));var jsonpatch=require(_0x80b7('0x2'));var rp=require('request-promise');var moment=require(_0x80b7('0x3'));var BPromise=require(_0x80b7('0x4'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x80b7('0x5'));var csv=require(_0x80b7('0x6'));var ejs=require(_0x80b7('0x7'));var fs=require('fs');var fs_extra=require(_0x80b7('0x8'));var _=require(_0x80b7('0x9'));var squel=require(_0x80b7('0xa'));var crypto=require('crypto');var jsforce=require(_0x80b7('0xb'));var deskjs=require(_0x80b7('0xc'));var toCsv=require(_0x80b7('0x6'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x80b7('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x80b7('0xe'));var as=require(_0x80b7('0xf'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0x80b7('0x10'));var logger=require(_0x80b7('0x11'))(_0x80b7('0x12'));var utils=require(_0x80b7('0x13'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x80b7('0x14'))['db'];config[_0x80b7('0x15')]=_[_0x80b7('0x16')](config[_0x80b7('0x15')],{'host':_0x80b7('0x17'),'port':0x18eb});var socket=require(_0x80b7('0x18'))(new Redis(config[_0x80b7('0x15')]));require(_0x80b7('0x19'))[_0x80b7('0x1a')](socket);function respondWithStatusCode(_0x56e1ec,_0x5b52a6){_0x5b52a6=_0x5b52a6||0xcc;return function(_0x5c64df){if(_0x5c64df){return _0x56e1ec['sendStatus'](_0x5b52a6);}return _0x56e1ec[_0x80b7('0x1b')](_0x5b52a6)[_0x80b7('0x1c')]();};}function respondWithResult(_0x289c93,_0x1e0d8f){_0x1e0d8f=_0x1e0d8f||0xc8;return function(_0x6c9f31){if(_0x6c9f31){return _0x289c93[_0x80b7('0x1b')](_0x1e0d8f)[_0x80b7('0x1d')](_0x6c9f31);}};}function respondWithFilteredResult(_0x3d488c,_0x22abaa){return function(_0x3b27ac){if(_0x3b27ac){var _0x25b5e9=typeof _0x22abaa[_0x80b7('0x1e')]===_0x80b7('0x1f')&&typeof _0x22abaa['limit']===_0x80b7('0x1f');var _0xa1d6c6=_0x3b27ac[_0x80b7('0x20')];var _0x5d816c=_0x25b5e9?0x0:_0x22abaa[_0x80b7('0x1e')];var _0x3ebdd6=_0x25b5e9?_0x3b27ac[_0x80b7('0x20')]:_0x22abaa[_0x80b7('0x1e')]+_0x22abaa[_0x80b7('0x21')];var _0x9cf6aa;if(_0x3ebdd6>=_0xa1d6c6){_0x3ebdd6=_0xa1d6c6;_0x9cf6aa=0xc8;}else{_0x9cf6aa=0xce;}_0x3d488c[_0x80b7('0x1b')](_0x9cf6aa);return _0x3d488c[_0x80b7('0x22')]('Content-Range',_0x5d816c+'-'+_0x3ebdd6+'/'+_0xa1d6c6)['json'](_0x3b27ac);}return null;};}function patchUpdates(_0x1d4327){return function(_0x2b3982){try{jsonpatch[_0x80b7('0x23')](_0x2b3982,_0x1d4327,!![]);}catch(_0x5e8093){return BPromise[_0x80b7('0x24')](_0x5e8093);}return _0x2b3982[_0x80b7('0x25')]();};}function saveUpdates(_0x3c0560,_0x352226){return function(_0x45d558){if(_0x45d558){return _0x45d558[_0x80b7('0x26')](_0x3c0560)[_0x80b7('0x27')](function(_0xea1ea0){return _0xea1ea0;});}return null;};}function removeEntity(_0x23a876,_0x426bf0){return function(_0x1221c7){if(_0x1221c7){return _0x1221c7['destroy']()[_0x80b7('0x27')](function(){_0x23a876[_0x80b7('0x1b')](0xcc)[_0x80b7('0x1c')]();});}};}function handleEntityNotFound(_0x28b85a,_0x3fc028){return function(_0x238fee){if(!_0x238fee){_0x28b85a[_0x80b7('0x28')](0x194);}return _0x238fee;};}function handleError(_0x14044d,_0x479335){_0x479335=_0x479335||0x1f4;return function(_0x42e7a6){logger[_0x80b7('0x29')](_0x42e7a6[_0x80b7('0x2a')]);if(_0x42e7a6[_0x80b7('0x2b')]){delete _0x42e7a6[_0x80b7('0x2b')];}_0x14044d['status'](_0x479335)[_0x80b7('0x2c')](_0x42e7a6);};}function getInteractionUsers(_0x3d3b1f,_0x2cc6f7){return new BPromise(function(_0x5a931c,_0x1dddba){try{if(_0x2cc6f7[_0x3d3b1f['id']]){_0x3d3b1f[_0x80b7('0x2d')]=_[_0x80b7('0x2e')](_0x2cc6f7[_0x3d3b1f['id']],function(_0x55f381){return{'id':_0x55f381['id'],'fullname':_0x55f381[_0x80b7('0x2f')]};});}}catch(_0x103509){_0x1dddba(_0x103509);}_0x5a931c(_0x3d3b1f);});}function getInteractionTags(_0x54d465,_0x41025d){return new BPromise(function(_0xc28240,_0x34767c){try{if(_0x54d465[_0x80b7('0x30')]){_0x54d465[_0x80b7('0x31')]=[];_0x54d465[_0x80b7('0x30')]['split'](',')[_0x80b7('0x32')](function(_0x1484d0){_0x54d465[_0x80b7('0x31')]['push'](_0x41025d[_0x1484d0]);});}delete _0x54d465[_0x80b7('0x30')];}catch(_0x2505e9){_0x34767c(_0x2505e9);}_0xc28240(_0x54d465);});}function updateWhatsappInteraction(_0x2c87e6,_0x5e26c0,_0x41d705){return new BPromise(function(_0x321f18,_0x3941c7){return getInteractionUsers(_0x2c87e6,_0x41d705)[_0x80b7('0x27')](function(_0x5971d9){return getInteractionTags(_0x5971d9,_0x5e26c0);})[_0x80b7('0x27')](function(_0x30b9d6){return getStateInteraction(_0x30b9d6);})[_0x80b7('0x27')](function(_0x5e391a){_0x321f18(_0x5e391a);})['catch'](function(_0x373cbb){_0x3941c7(_0x373cbb);});});}function getStateInteraction(_0x2e484b){return new BPromise(function(_0x199f9e){_0x2e484b[_0x80b7('0x33')]=0x0;_0x2e484b['talking']=0x0;_0x2e484b['answered']=0x0;_0x2e484b[_0x80b7('0x34')]=0x0;_0x2e484b[_0x80b7('0x35')]=0x0;if(!_0x2e484b[_0x80b7('0x36')]&&!_0x2e484b[_0x80b7('0x37')]){_0x2e484b['waiting']+=0x1;}if(!_0x2e484b[_0x80b7('0x36')]&&_0x2e484b[_0x80b7('0x37')]){_0x2e484b['talking']+=0x1;if(_0x2e484b[_0x80b7('0x33')]){_0x2e484b['waiting']-=0x1;}}if(_0x2e484b[_0x80b7('0x36')]&&_0x2e484b['UserId']){_0x2e484b['answered']+=0x1;if(_0x2e484b[_0x80b7('0x38')]){_0x2e484b[_0x80b7('0x38')]-=0x1;}}if(_0x2e484b[_0x80b7('0x36')]&&!_0x2e484b[_0x80b7('0x37')]){_0x2e484b['unmanaged']+=0x1;if(_0x2e484b['waiting']){_0x2e484b[_0x80b7('0x33')]-=0x1;}}_0x2e484b['total']+=0x1;_0x199f9e(_0x2e484b);});}exports[_0x80b7('0x39')]=function(_0x474071,_0x51ba5e){var _0x511a1d={},_0x15fe0d={},_0x269c5e={'count':0x0,'rows':[]};var _0x4147ec=_['map'](db[_0x80b7('0x3a')]['rawAttributes'],function(_0x498124){return{'name':_0x498124[_0x80b7('0x3b')],'type':_0x498124[_0x80b7('0x3c')][_0x80b7('0x3d')]};});_0x15fe0d[_0x80b7('0x3e')]=_[_0x80b7('0x2e')](_0x4147ec,_0x80b7('0x2b'));_0x15fe0d[_0x80b7('0x3f')]=_[_0x80b7('0x40')](_0x474071[_0x80b7('0x3f')]);_0x15fe0d[_0x80b7('0x41')]=_[_0x80b7('0x42')](_0x15fe0d[_0x80b7('0x3e')],_0x15fe0d['query']);_0x511a1d[_0x80b7('0x43')]=_[_0x80b7('0x42')](_0x15fe0d[_0x80b7('0x3e')],qs[_0x80b7('0x44')](_0x474071[_0x80b7('0x3f')][_0x80b7('0x44')]));_0x511a1d[_0x80b7('0x43')]=_0x511a1d[_0x80b7('0x43')][_0x80b7('0x45')]?_0x511a1d[_0x80b7('0x43')]:_0x15fe0d[_0x80b7('0x3e')];if(!_0x474071['query'][_0x80b7('0x46')]('nolimit')){_0x511a1d[_0x80b7('0x21')]=qs[_0x80b7('0x21')](_0x474071[_0x80b7('0x3f')][_0x80b7('0x21')]);_0x511a1d['offset']=qs[_0x80b7('0x1e')](_0x474071[_0x80b7('0x3f')]['offset']);}_0x511a1d[_0x80b7('0x47')]=qs[_0x80b7('0x48')](_0x474071['query'][_0x80b7('0x48')]);_0x511a1d[_0x80b7('0x49')]=qs['filters'](_['pick'](_0x474071[_0x80b7('0x3f')],_0x15fe0d[_0x80b7('0x41')]),_0x4147ec);var _0xb75a61=[];var _0x29bee7=squel[_0x80b7('0x4a')]()[_0x80b7('0x4b')]('id')[_0x80b7('0x4b')]('name')['field']('color')['from']('tools_tags');var _0x4a2718=squel[_0x80b7('0x4a')]()[_0x80b7('0x4b')](_0x80b7('0x4c'))['field'](_0x80b7('0x4d'))[_0x80b7('0x4b')](_0x80b7('0x4e'))['from'](_0x80b7('0x4f'),'ui')['left_join'](_0x80b7('0x50'),'u',_0x80b7('0x51'));var _0xb89176=squel['select']()[_0x80b7('0x52')]('whatsapp_interactions','i')['left_join'](_0x80b7('0x53'),'c',_0x80b7('0x54'))[_0x80b7('0x55')](_0x80b7('0x50'),'o',_0x80b7('0x56'))[_0x80b7('0x55')](_0x80b7('0x57'),'a',_0x80b7('0x58'))[_0x80b7('0x55')](_0x80b7('0x59'),'me',_0x80b7('0x5a'))[_0x80b7('0x55')]('whatsapp_interaction_has_tags','it','it.WhatsappInteractionId\x20=\x20i.id')[_0x80b7('0x55')](_0x80b7('0x5b'),'t',_0x80b7('0x5c'));var _0xd60722=squel['expr']();var _0x2c8a6e=[];var _0x283eb6=squel[_0x80b7('0x5d')]();var _0x2c26dd;if(_0x474071[_0x80b7('0x3f')][_0x80b7('0x5e')]){_0x2c26dd=as[_0x80b7('0x5f')](_0x474071['query'][_0x80b7('0x5e')]);var _0x458bbb=_0x2c26dd[_0x80b7('0x60')];for(var _0x55fba5=0x0;_0x55fba5<_0x2c26dd[_0x80b7('0x61')]['length'];_0x55fba5++){var _0x70a240=_0x2c26dd[_0x80b7('0x61')][_0x55fba5];var _0x2e84b1='i';var _0x3e493b=_[_0x80b7('0x62')](_0x4147ec,[_0x80b7('0x2b'),_0x70a240[_0x80b7('0x4b')]]);if(!_0x3e493b){switch(_0x70a240[_0x80b7('0x4b')]){case _0x80b7('0x63'):if(_0x70a240[_0x80b7('0x64')]==0x1){_0xb89176[_0x80b7('0x65')]('`'+_0x70a240[_0x80b7('0x4b')]+_0x80b7('0x66'));}else{_0xb89176[_0x80b7('0x65')]('`'+_0x70a240[_0x80b7('0x4b')]+_0x80b7('0x67'));}break;case _0x80b7('0x68'):if(_0x70a240[_0x80b7('0x69')]===_0x80b7('0x6a')){if(_0x70a240[_0x80b7('0x64')][_0x80b7('0x6b')]('\x20')[_0x80b7('0x45')]>0x1){_0xd60722[_0x458bbb](_0x80b7('0x6c'),qs[_0x80b7('0x6d')](_0x70a240[_0x80b7('0x64')]),null);}else{var _0x151fc2='%'+_0x70a240[_0x80b7('0x64')]+'%';_0xd60722[_0x458bbb]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x151fc2,_0x151fc2,_0x151fc2);}}else{_0x3e493b=_[_0x80b7('0x62')](_0x4147ec,[_0x80b7('0x2b'),_0x80b7('0x6e')]);_0x70a240[_0x80b7('0x4b')]=_0x80b7('0x6e');_0x3d1d63=as[_0x80b7('0x6f')](_0x2e84b1,_0x3e493b[_0x80b7('0x3c')],_0x70a240);_0xd60722[_0x458bbb](_0x3d1d63['text'],_0x3d1d63['value'][_0x80b7('0x70')],_0x3d1d63[_0x80b7('0x64')][_0x80b7('0x1c')]);}break;case'Tag':var _0x39f1ed=_0x70a240[_0x80b7('0x64')][_0x80b7('0x6b')](',')[_0x80b7('0x2e')](function(_0x50bdb5){return Number(_0x50bdb5);});_0x39f1ed[_0x80b7('0x32')](function(_0x5595ee){_0x283eb6['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x5595ee+',%');});_0x2c8a6e=_['union'](_0x2c8a6e,_0x39f1ed);break;case _0x80b7('0x71'):if(_0x70a240[_0x80b7('0x69')]===_0x80b7('0x6a')){_0xd60722[_0x458bbb](_0x80b7('0x72'),'%'+_0x70a240['value']+'%',null);}else{_0x3e493b=_['find'](_0x4147ec,[_0x80b7('0x2b'),_0x80b7('0x37')]);_0x70a240['field']=_0x80b7('0x37');_0x3d1d63=as['buildExpression'](_0x2e84b1,_0x3e493b[_0x80b7('0x3c')],_0x70a240);_0xd60722[_0x458bbb](_0x3d1d63['text'],_0x3d1d63[_0x80b7('0x64')][_0x80b7('0x70')],_0x3d1d63['value'][_0x80b7('0x1c')]);}break;case _0x80b7('0x73'):_0x3d1d63=as[_0x80b7('0x6f')]('me',null,_0x70a240);_0xd60722[_0x458bbb](_0x3d1d63['text'],_0x3d1d63[_0x80b7('0x64')][_0x80b7('0x70')],_0x3d1d63['value'][_0x80b7('0x1c')]);break;}}else{var _0x3d1d63=as['buildExpression'](_0x2e84b1,_0x3e493b['type'],_0x70a240);_0xd60722[_0x458bbb](_0x3d1d63[_0x80b7('0x74')],_0x3d1d63[_0x80b7('0x64')]['start'],_0x3d1d63[_0x80b7('0x64')]['end']);}}}else{var _0x38fe7f=_(_0x474071[_0x80b7('0x3f')])[_0x80b7('0x40')]()[_0x80b7('0x2e')](function(_0x8c7df8){return _[_0x80b7('0x75')](_0x4147ec,[_0x80b7('0x2b'),_0x8c7df8])?_0x8c7df8:undefined;})[_0x80b7('0x76')]()[_0x80b7('0x64')]();if(!_[_0x80b7('0x77')](_0x38fe7f)){_0x38fe7f['forEach'](function(_0x4ca42b){if(_0x4ca42b==='WhatsappAccountId'){_0xb89176['where'](_0x80b7('0x78'),[][_0x80b7('0x79')](_0x474071[_0x80b7('0x3f')][_0x4ca42b]));}else if(_0x4ca42b===_0x80b7('0x7a')){var _0xb555f4=JSON[_0x80b7('0x7b')](_0x474071[_0x80b7('0x3f')][_0x4ca42b])[_0x80b7('0x7c')];var _0x5cd6ce=JSON[_0x80b7('0x7b')](_0x474071[_0x80b7('0x3f')][_0x4ca42b])[_0x80b7('0x7d')];_0xb89176[_0x80b7('0x49')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0xb555f4,_0x5cd6ce);}else{if(_0x474071[_0x80b7('0x3f')][_0x4ca42b]==='null'){_0xb89176[_0x80b7('0x49')]('i.'+_0x4ca42b+_0x80b7('0x7e'));}else{_0xb89176[_0x80b7('0x49')]('i.'+_0x4ca42b+_0x80b7('0x7f'),_0x474071[_0x80b7('0x3f')][_0x4ca42b]);}}});}if(_0x474071[_0x80b7('0x3f')][_0x80b7('0x80')]){if(_0x474071[_0x80b7('0x3f')][_0x80b7('0x80')]==0x1){_0xb89176[_0x80b7('0x65')](_0x80b7('0x81'));}else{_0xb89176['having'](_0x80b7('0x82'));}}if(_0x474071[_0x80b7('0x3f')]['tag']){_0x2c8a6e=_[_0x80b7('0x83')](_0x474071[_0x80b7('0x3f')][_0x80b7('0x84')])?_0x474071[_0x80b7('0x3f')]['tag']:new Array(_0x474071[_0x80b7('0x3f')][_0x80b7('0x84')]);_0x2c8a6e[_0x80b7('0x32')](function(_0x2234c2){_0x283eb6['or'](_0x80b7('0x85'),'%,'+_0x2234c2+',%');});}if(_0x474071[_0x80b7('0x3f')][_0x80b7('0x86')]){var _0x5af2f4=_0x474071['query'][_0x80b7('0x86')][_0x80b7('0x87')]('\x5c','\x5c\x5c')[_0x80b7('0x87')](/'/g,'\x27\x27');if(qs[_0x80b7('0x88')](_0x5af2f4)){_0xd60722['or']('i.id\x20LIKE\x20?',_0x5af2f4+'%')['or'](_0x80b7('0x89'),_0x5af2f4+'%');}else{_0xd60722['or'](_0x80b7('0x8a'),qs[_0x80b7('0x6d')](_0x5af2f4))['or'](_0x80b7('0x8b'),_0x5af2f4+'%');}}}_0xb89176[_0x80b7('0x49')](_0xd60722);_0xb89176[_0x80b7('0x8c')]('i.id');var _0x26b2dc={'type':db[_0x80b7('0x8d')]['QueryTypes'][_0x80b7('0x8e')],'raw':!![]};var _0x55eef9=_0xb89176[_0x80b7('0x8f')]();_0x55eef9[_0x80b7('0x4b')](_0x80b7('0x90'));_0x55eef9[_0x80b7('0x4b')](_0x80b7('0x91'),_0x80b7('0x63'));if(_0x511a1d[_0x80b7('0x47')]){_0x511a1d[_0x80b7('0x47')][_0x80b7('0x32')](function(_0x227294){var _0x41542c=_0x227294[0x0]===_0x80b7('0x92')?_0x227294[0x0]:'i.'+_0x227294[0x0];_0xb89176[_0x80b7('0x47')](_0x41542c,_0x227294[0x1]===_0x80b7('0x93')?![]:!![]);});}if(!_[_0x80b7('0x77')](_0x2c8a6e)){_0xb89176['having'](_0x283eb6);_0x55eef9['where']('t.id\x20IN\x20?',_0x2c8a6e);}BPromise['resolve']()['then'](function(){if(!_0x2c26dd){if(_0x474071[_0x80b7('0x3f')][_0x80b7('0x94')])return;_0x55eef9[_0x80b7('0x49')](_0x80b7('0x95'));_0xb89176[_0x80b7('0x49')]('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x474071['user'][_0x80b7('0x96')]!==_0x80b7('0x97'))return;return _0x474071[_0x80b7('0x98')][_0x80b7('0x99')]({'attributes':['id'],'raw':!![]})[_0x80b7('0x27')](function(_0x4b9ec8){if(_[_0x80b7('0x77')](_0x4b9ec8)){_0x55eef9[_0x80b7('0x49')](_0x80b7('0x9a'));_0xb89176[_0x80b7('0x49')](_0x80b7('0x9a'));}else{_0x55eef9[_0x80b7('0x49')]('i.WhatsappAccountId\x20IN\x20?',_['map'](_0x4b9ec8,'id'));_0xb89176[_0x80b7('0x49')]('i.WhatsappAccountId\x20IN\x20?',_[_0x80b7('0x2e')](_0x4b9ec8,'id'));}});})[_0x80b7('0x27')](function(){if(_0x474071[_0x80b7('0x98')][_0x80b7('0x96')]===_0x80b7('0x97')&&!_0x2c26dd&&!_0x474071[_0x80b7('0x3f')][_0x80b7('0x94')])return[];return db['sequelize']['query'](_0x55eef9['toString'](),_0x26b2dc);})[_0x80b7('0x27')](function(_0x101559){_0x269c5e[_0x80b7('0x20')]=_0x101559[_0x80b7('0x45')];if(_0x269c5e[_0x80b7('0x20')]===0x0)return[];return db[_0x80b7('0x9b')][_0x80b7('0x3f')](_0x29bee7['toString'](),_0x26b2dc)[_0x80b7('0x27')](function(_0x57fc97){_0xb75a61=_[_0x80b7('0x9c')](_0x57fc97,'id');_0x26b2dc=_[_0x80b7('0x9d')](_0x26b2dc,{'model':db['WhatsappInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x474071[_0x80b7('0x3f')][_0x80b7('0x44')]){_0x511a1d[_0x80b7('0x43')]['forEach'](function(_0x4a87fa){_0xb89176['field']('i.'+_0x4a87fa);});}else{_0xb89176['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x80b7('0x63'));_0xb89176[_0x80b7('0x4b')](_0x80b7('0x9e'),'Account.key');_0xb89176['field'](_0x80b7('0x9f'),_0x80b7('0xa0'));_0xb89176[_0x80b7('0x4b')]('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',_0x80b7('0x92'));_0xb89176[_0x80b7('0x4b')](_0x80b7('0xa1'));_0xb89176[_0x80b7('0x4b')]('c.firstName',_0x80b7('0xa2'));_0xb89176[_0x80b7('0x4b')]('c.lastName','Contact.lastName');_0xb89176[_0x80b7('0x4b')](_0x80b7('0xa3'),_0x80b7('0xa4'));_0xb89176[_0x80b7('0x4b')](_0x80b7('0xa5'),_0x80b7('0xa6'));_0xb89176[_0x80b7('0x4b')](_0x80b7('0xa7'),_0x80b7('0xa8'));_0xb89176[_0x80b7('0x4b')](_0x80b7('0xa9'),'Contact.fax');_0xb89176[_0x80b7('0x4b')](_0x80b7('0xaa'),_0x80b7('0xab'));_0xb89176[_0x80b7('0x4b')](_0x80b7('0xac'),'Owner.internal');_0xb89176[_0x80b7('0x4b')](_0x80b7('0xad'),_0x80b7('0x30'));}if(_0x511a1d[_0x80b7('0x21')])_0xb89176['limit'](_0x511a1d[_0x80b7('0x21')]);if(_0x511a1d['offset'])_0xb89176[_0x80b7('0x1e')](_0x511a1d[_0x80b7('0x1e')]);return db[_0x80b7('0x9b')][_0x80b7('0x3f')](_0xb89176[_0x80b7('0xae')](),_0x26b2dc);})[_0x80b7('0x27')](function(_0x535649){if(_0x535649['length']>0x0)_0x4a2718[_0x80b7('0x49')]('ui.WhatsappInteractionId\x20IN\x20?',_['map'](_0x535649,'id'));return db[_0x80b7('0x9b')][_0x80b7('0x3f')](_0x4a2718['toString'](),_0x26b2dc)[_0x80b7('0x27')](function(_0xf6c3d6){var _0x2bc827=_[_0x80b7('0xaf')](_0xf6c3d6,_0x80b7('0xb0'));var _0x57c8f4=[];_0x535649[_0x80b7('0x32')](function(_0x251947){_0x57c8f4['push'](updateWhatsappInteraction(_0x251947,_0xb75a61,_0x2bc827));});return BPromise[_0x80b7('0xb1')](_0x57c8f4);});});})['then'](function(_0x4190fc){_0x269c5e[_0x80b7('0xb2')]=_0x4190fc;return _0x269c5e;})[_0x80b7('0x27')](respondWithFilteredResult(_0x51ba5e,_0x511a1d))[_0x80b7('0xb3')](handleError(_0x51ba5e,null));};exports[_0x80b7('0xb4')]=function(_0x53a806,_0x5d01cb){var _0x50e5b5={'raw':![],'where':{'id':_0x53a806['params']['id']}},_0xb27f6b={};_0xb27f6b[_0x80b7('0x3e')]=_[_0x80b7('0x40')](db['WhatsappInteraction'][_0x80b7('0xb5')]);_0xb27f6b['query']=_['keys'](_0x53a806[_0x80b7('0x3f')]);_0xb27f6b[_0x80b7('0x41')]=_[_0x80b7('0x42')](_0xb27f6b[_0x80b7('0x3e')],_0xb27f6b[_0x80b7('0x3f')]);_0x50e5b5['attributes']=_['intersection'](_0xb27f6b[_0x80b7('0x3e')],qs[_0x80b7('0x44')](_0x53a806['query'][_0x80b7('0x44')]));_0x50e5b5[_0x80b7('0x43')]=_0x50e5b5[_0x80b7('0x43')][_0x80b7('0x45')]?_0x50e5b5[_0x80b7('0x43')]:_0xb27f6b[_0x80b7('0x3e')];if(_0x53a806[_0x80b7('0x3f')][_0x80b7('0xb6')]){_0x50e5b5[_0x80b7('0xb7')]=[{'all':!![]}];}_0x50e5b5=_[_0x80b7('0x9d')]({},_0x50e5b5,_0x53a806[_0x80b7('0xb8')]);return db[_0x80b7('0x3a')][_0x80b7('0x62')](_0x50e5b5)[_0x80b7('0x27')](handleEntityNotFound(_0x5d01cb,null))['then'](respondWithResult(_0x5d01cb,null))['catch'](handleError(_0x5d01cb,null));};exports['create']=function(_0x2c8bef,_0x33c7f9){return db[_0x80b7('0x3a')][_0x80b7('0xb9')](_0x2c8bef[_0x80b7('0x73')],{})['then'](respondWithResult(_0x33c7f9,0xc9))['catch'](handleError(_0x33c7f9,null));};exports[_0x80b7('0x26')]=function(_0x436791,_0x24ffad){if(_0x436791[_0x80b7('0x73')]['id']){delete _0x436791[_0x80b7('0x73')]['id'];}return db['WhatsappInteraction']['find']({'where':{'id':_0x436791['params']['id']}})[_0x80b7('0x27')](handleEntityNotFound(_0x24ffad,null))[_0x80b7('0x27')](saveUpdates(_0x436791[_0x80b7('0x73')],null))[_0x80b7('0x27')](respondWithResult(_0x24ffad,null))[_0x80b7('0xb3')](handleError(_0x24ffad,null));};exports['destroy']=function(_0x643738,_0x1898c1){return db['WhatsappInteraction'][_0x80b7('0x62')]({'where':{'id':_0x643738['params']['id']}})[_0x80b7('0x27')](handleEntityNotFound(_0x1898c1,null))[_0x80b7('0x27')](removeEntity(_0x1898c1,null))[_0x80b7('0xb3')](handleError(_0x1898c1,null));};exports[_0x80b7('0xba')]=function(_0x4c1bac,_0xef05b3){return db[_0x80b7('0x3a')][_0x80b7('0xba')]()[_0x80b7('0x27')](respondWithResult(_0xef05b3,null))['catch'](handleError(_0xef05b3,null));};exports[_0x80b7('0xbb')]=function(_0x56021f,_0x30b1d1,_0x5add65){return db['WhatsappMessage'][_0x80b7('0x62')]({'where':{'id':_0x56021f[_0x80b7('0xbc')]['id']}})[_0x80b7('0x27')](handleEntityNotFound(_0x30b1d1,null))[_0x80b7('0x27')](function(_0x5ebaa1){if(_0x5ebaa1){return _0x5ebaa1[_0x80b7('0xbb')](_0x56021f[_0x80b7('0x73')][_0x80b7('0xbd')],_['omit'](_0x56021f[_0x80b7('0x73')],[_0x80b7('0xbd'),'id'])||{});}})[_0x80b7('0x27')](respondWithResult(_0x30b1d1,null))['catch'](handleError(_0x30b1d1,null));};exports[_0x80b7('0xbe')]=function(_0x488b83,_0x58c880,_0x202050){var _0x3e3fc6={'raw':![],'where':{}};var _0x57beb0={};var _0x346899={'count':0x0,'rows':[]};return db[_0x80b7('0x3a')][_0x80b7('0xbf')]({'where':{'id':_0x488b83[_0x80b7('0xbc')]['id']}})[_0x80b7('0x27')](handleEntityNotFound(_0x58c880,null))[_0x80b7('0x27')](function(_0x57bb2a){if(_0x57bb2a){_0x57beb0[_0x80b7('0x3e')]=_[_0x80b7('0x40')](db[_0x80b7('0xc0')][_0x80b7('0xb5')]);_0x57beb0[_0x80b7('0x3f')]=_['keys'](_0x488b83[_0x80b7('0x3f')]);_0x57beb0['filters']=_[_0x80b7('0x42')](_0x57beb0[_0x80b7('0x3e')],_0x57beb0[_0x80b7('0x3f')]);_0x3e3fc6['attributes']=_[_0x80b7('0x42')](_0x57beb0[_0x80b7('0x3e')],qs['fields'](_0x488b83[_0x80b7('0x3f')][_0x80b7('0x44')]));_0x3e3fc6[_0x80b7('0x43')]=_0x3e3fc6[_0x80b7('0x43')]['length']?_0x3e3fc6[_0x80b7('0x43')]:_0x57beb0[_0x80b7('0x3e')];if(!_0x488b83[_0x80b7('0x3f')][_0x80b7('0x46')](_0x80b7('0xc1'))){_0x3e3fc6[_0x80b7('0x21')]=qs['limit'](_0x488b83[_0x80b7('0x3f')][_0x80b7('0x21')]);_0x3e3fc6[_0x80b7('0x1e')]=qs[_0x80b7('0x1e')](_0x488b83[_0x80b7('0x3f')][_0x80b7('0x1e')]);}_0x3e3fc6[_0x80b7('0x47')]=qs[_0x80b7('0x48')](_0x488b83[_0x80b7('0x3f')][_0x80b7('0x48')]);_0x3e3fc6[_0x80b7('0x49')]=qs['filters'](_[_0x80b7('0xc2')](_0x488b83[_0x80b7('0x3f')],_0x57beb0[_0x80b7('0x41')]));_0x3e3fc6[_0x80b7('0x49')]['WhatsappInteractionId']=_0x57bb2a['id'];if(_0x488b83[_0x80b7('0x3f')][_0x80b7('0x86')]){_0x3e3fc6[_0x80b7('0x49')]=_[_0x80b7('0x9d')](_0x3e3fc6[_0x80b7('0x49')],{'$or':_['map'](_0x3e3fc6[_0x80b7('0x43')],function(_0x45924e){var _0x46731d={};_0x46731d[_0x45924e]={'$like':'%'+_0x488b83[_0x80b7('0x3f')][_0x80b7('0x86')]+'%'};return _0x46731d;})});}if(_0x488b83['query'][_0x80b7('0x7c')]){var _0x5bf24c=_0x488b83[_0x80b7('0x3f')]['$gte'][_0x80b7('0x6b')](',');var _0x1d8688={};_0x1d8688[_0x5bf24c[0x0]]={'$gte':moment(_0x5bf24c[0x1])[_0x80b7('0xc3')](_0x80b7('0xc4'))};_0x3e3fc6['where']=_[_0x80b7('0x9d')](_0x3e3fc6[_0x80b7('0x49')],_0x1d8688);}_0x3e3fc6=_[_0x80b7('0x9d')]({},_0x3e3fc6,_0x488b83[_0x80b7('0xb8')]);return db[_0x80b7('0xc0')]['count']({'where':_0x3e3fc6['where']})[_0x80b7('0x27')](function(_0x86049c){_0x346899[_0x80b7('0x20')]=_0x86049c;if(_0x488b83[_0x80b7('0x3f')][_0x80b7('0xb6')]){_0x3e3fc6[_0x80b7('0xb7')]=[{'all':!![]}];}return db[_0x80b7('0xc0')]['findAll'](_0x3e3fc6);})[_0x80b7('0x27')](function(_0x38e4dd){_0x346899[_0x80b7('0xb2')]=_0x38e4dd;return _0x346899;});}})[_0x80b7('0x27')](respondWithFilteredResult(_0x58c880,_0x3e3fc6))[_0x80b7('0xb3')](handleError(_0x58c880,null));};exports[_0x80b7('0xc5')]=function(_0x55a11a,_0x5e8c47,_0x1b7e44){return db[_0x80b7('0x3a')]['find']({'where':{'id':_0x55a11a[_0x80b7('0xbc')]['id']}})[_0x80b7('0x27')](handleEntityNotFound(_0x5e8c47,null))['then'](function(_0x59ffd3){if(_0x59ffd3){return _0x59ffd3[_0x80b7('0xc6')](_0x55a11a[_0x80b7('0x73')]['ids'],_[_0x80b7('0xc7')](_0x55a11a[_0x80b7('0x73')],[_0x80b7('0xbd'),'id'])||{})[_0x80b7('0xc8')](function(){return db[_0x80b7('0xc9')][_0x80b7('0xca')]({'attributes':['id',_0x80b7('0x2b'),_0x80b7('0xcb')],'where':{'id':_0x55a11a[_0x80b7('0x73')][_0x80b7('0xbd')]}});})['then'](function(_0x272806){socket[_0x80b7('0xcc')]('whatsappInteractionTags:save',{'id':Number(_0x55a11a[_0x80b7('0xbc')]['id']),'tags':_0x272806||[]});return{'id':Number(_0x55a11a['params']['id']),'tags':_0x272806||[]};});}})[_0x80b7('0x27')](respondWithResult(_0x5e8c47,null))[_0x80b7('0xb3')](handleError(_0x5e8c47,null));};exports[_0x80b7('0xcd')]=function(_0x59380c,_0x3151f9,_0x281712){return db[_0x80b7('0x3a')]['find']({'where':{'id':_0x59380c['params']['id']}})[_0x80b7('0x27')](handleEntityNotFound(_0x3151f9,null))[_0x80b7('0x27')](function(_0x1ab385){if(_0x1ab385){return _0x1ab385[_0x80b7('0xcd')](_0x59380c[_0x80b7('0x3f')][_0x80b7('0xbd')]);}})['then'](respondWithStatusCode(_0x3151f9,null))[_0x80b7('0xb3')](handleError(_0x3151f9,null));};exports['download']=function(_0x500260,_0x435fe7){var _0x7f1245=moment()['unix']()[_0x80b7('0xae')]();var _0x1ea3d1=path[_0x80b7('0xce')](config[_0x80b7('0xcf')],_0x80b7('0xd0'),_0x80b7('0xd1'),_0x80b7('0xd2'));var _0x538b8a=path[_0x80b7('0xce')](config[_0x80b7('0xcf')],'server','files',_0x80b7('0xd3'));var _0x4a48ce=path[_0x80b7('0xce')](_0x1ea3d1,_0x7f1245);var _0x111b4f=util[_0x80b7('0xc3')](_0x80b7('0xd4'),_0x500260[_0x80b7('0xbc')]['id'],_0x7f1245);var _0x290ec6=path[_0x80b7('0xce')](_0x1ea3d1,_0x111b4f);var _0x5a776b=[];_0x5a776b['push']({'model':db[_0x80b7('0x71')],'as':_0x80b7('0x71'),'attributes':['id',_0x80b7('0x2f')],'raw':!![]});_0x5a776b['push']({'model':db[_0x80b7('0xd5')],'as':'Contact','attributes':['id',_0x80b7('0xd6'),_0x80b7('0xd7')],'raw':!![]});if(_0x500260[_0x80b7('0x3f')]['attachments']){_0x5a776b['push']({'model':db[_0x80b7('0xd8')],'as':_0x80b7('0xd8'),'raw':!![]});}var _0x4fcbe0=[{'model':db[_0x80b7('0xc0')],'as':_0x80b7('0xd9'),'attributes':['id',_0x80b7('0x73'),_0x80b7('0x7a'),_0x80b7('0xda'),'secret',_0x80b7('0x80')],'include':_0x5a776b}];_0x4fcbe0[_0x80b7('0xdb')]({'model':db[_0x80b7('0xdc')],'as':_0x80b7('0xdd'),'attributes':['id',_0x80b7('0x2b')]});_0x4fcbe0[_0x80b7('0xdb')]({'model':db[_0x80b7('0x71')],'as':_0x80b7('0xde'),'attributes':['id',_0x80b7('0x2f')]});return db[_0x80b7('0x3a')]['find']({'where':{'id':_0x500260['params']['id']},'include':_0x4fcbe0})[_0x80b7('0x27')](handleEntityNotFound(_0x435fe7,null))[_0x80b7('0x27')](function(_0x3864fd){if(_0x3864fd){var _0x50f0af=_0x3864fd['get']({'plain':!![]});fs[_0x80b7('0xdf')](_0x4a48ce);var _0x1450d4={'channel':_0x80b7('0xe0'),'account':_0x50f0af[_0x80b7('0xdd')][_0x80b7('0x2b')],'agent':_0x50f0af[_0x80b7('0xde')]?_0x50f0af[_0x80b7('0xde')][_0x80b7('0x2f')]:_0x80b7('0xe1'),'createdAt':moment(_0x50f0af[_0x80b7('0x7a')])['format'](_0x80b7('0xc4'))[_0x80b7('0xae')](),'closedAt':_0x50f0af[_0x80b7('0x36')]?moment(_0x50f0af[_0x80b7('0xe2')])[_0x80b7('0xc3')](_0x80b7('0xc4'))['toString']():'','disposition':_0x50f0af[_0x80b7('0xe3')],'messages':_(_0x50f0af['Messages'])[_0x80b7('0x86')]({'secret':![]})[_0x80b7('0x2e')](function(_0xe6eb74){if(_0xe6eb74[_0x80b7('0xd8')]){var _0x3ca713=path[_0x80b7('0xce')](_0x538b8a,_0xe6eb74[_0x80b7('0xd8')][_0x80b7('0xe4')]);if(fs['existsSync'](_0x3ca713)){fs[_0x80b7('0xe5')](_0x3ca713)[_0x80b7('0xe6')](fs[_0x80b7('0xe7')](path[_0x80b7('0xce')](_0x4a48ce,_0xe6eb74['Attachment'][_0x80b7('0xe4')])));}}return{'date':moment(_0xe6eb74['createdAt'])['format'](_0x80b7('0xc4'))['toString'](),'sender':_0xe6eb74[_0x80b7('0xda')]===_0x80b7('0xe8')?_0xe6eb74['User']?_0xe6eb74['User']['fullname']:_0x80b7('0xe9'):_0xe6eb74[_0x80b7('0x68')][_0x80b7('0xd6')]+(_0xe6eb74[_0x80b7('0x68')]['lastName']?'\x20'+_0xe6eb74[_0x80b7('0x68')][_0x80b7('0xd7')]:''),'body':_0xe6eb74[_0x80b7('0xd8')]?_0xe6eb74[_0x80b7('0xd8')]['basename']:_0xe6eb74[_0x80b7('0x73')],'direction':_0xe6eb74[_0x80b7('0xda')]==='out'?'A':'C','secret':_0xe6eb74[_0x80b7('0xea')],'read':_0xe6eb74['read'],'attachment':_0xe6eb74[_0x80b7('0xd8')]};})['value']()};return ejs[_0x80b7('0xeb')](path[_0x80b7('0xce')](config[_0x80b7('0xcf')],_0x80b7('0xd0'),_0x80b7('0xec'),_0x80b7('0xed')),{'interaction':_0x1450d4})[_0x80b7('0x27')](function(_0x1debc3){var _0x5e41b8=path[_0x80b7('0xce')](_0x4a48ce,_0x80b7('0xee')+_0x50f0af['id']+'-'+_0x7f1245+_0x80b7('0xef'));var _0x5796f8={'path':_0x5e41b8,'channel':_0x80b7('0xe0'),'interactionId':_0x50f0af['id']};return pdf[_0x80b7('0xf0')](_0x1debc3,_0x5796f8);})[_0x80b7('0x27')](function(){return new BPromise(function(_0x723c66,_0x15c618){zipdir(_0x4a48ce,{'saveTo':_0x290ec6},function(_0xac6fe9,_0x583e20){if(_0xac6fe9)return _0x15c618(_0xac6fe9);return _0x723c66(_0x583e20);});})[_0x80b7('0x27')](function(){return new BPromise(function(_0xb20a,_0x2ec505){rimraf(_0x4a48ce,function(_0x15445c){if(_0x15445c)_0x2ec505(_0x15445c);return _0xb20a();});});})[_0x80b7('0x27')](function(){return _0x435fe7[_0x80b7('0xf1')](_0x290ec6,_0x111b4f,function(_0x3d76e9){if(_0x3d76e9){console[_0x80b7('0xf2')]('err',_0x3d76e9);}else{fs[_0x80b7('0xf3')](_0x290ec6);}});});});}else{return _0x435fe7[_0x80b7('0x28')](0xc8);}})['catch'](handleError(_0x435fe7,null));};