Built motion from commit (unavailable).|2.5.26
[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 _0xade1=['conditions','find','value','`\x20=\x200','having','Contact','operator','$substring','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','start','keys','isEmpty','WhatsappAccountId','concat','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','QueryTypes','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','i.WhatsappAccountId\x20IN\x20?','sequelize','toString','keyBy','merge','WhatsappInteraction','unreadMessages','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','c.mobile','Contact.mobile','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?','groupBy','WhatsappInteractionId','all','rows','catch','show','params','includeAll','include','options','create','body','destroy','WhatsappMessage','addMessage','ids','omit','$gte','format','findAll','addTags','setTags','spread','Tag','emit','whatsappInteractionTags:save','removeTags','unix','join','root','files','tmp','server','attachments','push','CmContact','firstName','lastName','Attachment','Messages','createdAt','secret','WhatsappAccount','Account','Owner','Whatsapp','YYYY-MM-DD\x20HH:mm:ss','closed','closedAt','basename','existsSync','createReadStream','createWriteStream','direction','out','System','renderFile','views','downloadInteraction.html','transcript-','download','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','redis','localhost','socket.io-emitter','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','update','then','stack','name','send','Users','map','fullname','TagIds','forEach','Tags','rawAttributes','fieldName','type','key','model','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','select','field','color','from','tools_tags','u.id','u.fullname','user_has_whatsapp_interactions','u.id\x20=\x20ui.UserId','whatsapp_interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','a.id\x20=\x20i.WhatsappAccountId','left_join','whatsapp_messages','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator'];(function(_0x31304d,_0x2d4b7b){var _0x3f5319=function(_0x1f354a){while(--_0x1f354a){_0x31304d['push'](_0x31304d['shift']());}};_0x3f5319(++_0x2d4b7b);}(_0xade1,0x181));var _0x1ade=function(_0x36a005,_0xe8245b){_0x36a005=_0x36a005-0x0;var _0x11b148=_0xade1[_0x36a005];return _0x11b148;};'use strict';var emlformat=require(_0x1ade('0x0'));var rimraf=require(_0x1ade('0x1'));var zipdir=require(_0x1ade('0x2'));var jsonpatch=require(_0x1ade('0x3'));var rp=require(_0x1ade('0x4'));var moment=require('moment');var BPromise=require(_0x1ade('0x5'));var Mustache=require('mustache');var util=require(_0x1ade('0x6'));var path=require(_0x1ade('0x7'));var sox=require(_0x1ade('0x8'));var csv=require(_0x1ade('0x9'));var ejs=require(_0x1ade('0xa'));var fs=require('fs');var fs_extra=require(_0x1ade('0xb'));var _=require('lodash');var squel=require(_0x1ade('0xc'));var crypto=require(_0x1ade('0xd'));var jsforce=require(_0x1ade('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x1ade('0x9'));var querystring=require(_0x1ade('0xf'));var Papa=require(_0x1ade('0x10'));var Redis=require(_0x1ade('0x11'));var authService=require(_0x1ade('0x12'));var qs=require(_0x1ade('0x13'));var as=require(_0x1ade('0x14'));var pdf=require(_0x1ade('0x15'));var hardwareService=require(_0x1ade('0x16'));var logger=require('../../config/logger')(_0x1ade('0x17'));var utils=require(_0x1ade('0x18'));var config=require(_0x1ade('0x19'));var licenseUtil=require(_0x1ade('0x1a'));var db=require('../../mysqldb')['db'];config[_0x1ade('0x1b')]=_['defaults'](config[_0x1ade('0x1b')],{'host':_0x1ade('0x1c'),'port':0x18eb});var socket=require(_0x1ade('0x1d'))(new Redis(config[_0x1ade('0x1b')]));require('./whatsappInteraction.socket')['register'](socket);function respondWithStatusCode(_0x35ada9,_0x3e60e2){_0x3e60e2=_0x3e60e2||0xcc;return function(_0x5aee48){if(_0x5aee48){return _0x35ada9[_0x1ade('0x1e')](_0x3e60e2);}return _0x35ada9[_0x1ade('0x1f')](_0x3e60e2)[_0x1ade('0x20')]();};}function respondWithResult(_0x2a0a82,_0x477f0e){_0x477f0e=_0x477f0e||0xc8;return function(_0x3842b1){if(_0x3842b1){return _0x2a0a82[_0x1ade('0x1f')](_0x477f0e)[_0x1ade('0x21')](_0x3842b1);}};}function respondWithFilteredResult(_0x200e37,_0x5294aa){return function(_0x2c6495){if(_0x2c6495){var _0x41a853=_0x2c6495[_0x1ade('0x22')],_0x2109f3=_0x5294aa[_0x1ade('0x23')],_0x3c96c4=_0x5294aa['offset']+_0x5294aa[_0x1ade('0x24')],_0x290deb;if(_0x3c96c4>=_0x41a853){_0x3c96c4=_0x41a853;_0x290deb=0xc8;}else{_0x290deb=0xce;}_0x200e37[_0x1ade('0x1f')](_0x290deb);return _0x200e37[_0x1ade('0x25')](_0x1ade('0x26'),_0x2109f3+'-'+_0x3c96c4+'/'+_0x41a853)[_0x1ade('0x21')](_0x2c6495);}return null;};}function patchUpdates(_0x1a2782){return function(_0x3e3c17){try{jsonpatch['apply'](_0x3e3c17,_0x1a2782,!![]);}catch(_0x332e2c){return BPromise[_0x1ade('0x27')](_0x332e2c);}return _0x3e3c17['save']();};}function saveUpdates(_0x198ec7,_0x1f95b3){return function(_0x18dc02){if(_0x18dc02){return _0x18dc02[_0x1ade('0x28')](_0x198ec7)[_0x1ade('0x29')](function(_0x95d4c3){return _0x95d4c3;});}return null;};}function removeEntity(_0x522326,_0x646655){return function(_0x1fb932){if(_0x1fb932){return _0x1fb932['destroy']()[_0x1ade('0x29')](function(){_0x522326[_0x1ade('0x1f')](0xcc)[_0x1ade('0x20')]();});}};}function handleEntityNotFound(_0x2c1da8,_0x57cfb){return function(_0x3f868b){if(!_0x3f868b){_0x2c1da8[_0x1ade('0x1e')](0x194);}return _0x3f868b;};}function handleError(_0x3ccf98,_0x5f09fe){_0x5f09fe=_0x5f09fe||0x1f4;return function(_0x2abf46){logger['error'](_0x2abf46[_0x1ade('0x2a')]);if(_0x2abf46[_0x1ade('0x2b')]){delete _0x2abf46[_0x1ade('0x2b')];}_0x3ccf98['status'](_0x5f09fe)[_0x1ade('0x2c')](_0x2abf46);};}function getInteractionUsers(_0x1f5941,_0xe44018){return new BPromise(function(_0x3918d0,_0x92a934){try{if(_0xe44018[_0x1f5941['id']]){_0x1f5941[_0x1ade('0x2d')]=_[_0x1ade('0x2e')](_0xe44018[_0x1f5941['id']],function(_0x3178cc){return{'id':_0x3178cc['id'],'fullname':_0x3178cc[_0x1ade('0x2f')]};});}}catch(_0x1f0f93){_0x92a934(_0x1f0f93);}_0x3918d0(_0x1f5941);});}function getInteractionTags(_0x4792f8,_0x19d26a){return new BPromise(function(_0x1351fe,_0x774e6b){try{if(_0x4792f8[_0x1ade('0x30')]){_0x4792f8['Tags']=[];_0x4792f8[_0x1ade('0x30')]['split'](',')[_0x1ade('0x31')](function(_0xea46e4){_0x4792f8[_0x1ade('0x32')]['push'](_0x19d26a[_0xea46e4]);});}delete _0x4792f8[_0x1ade('0x30')];}catch(_0x297cfc){_0x774e6b(_0x297cfc);}_0x1351fe(_0x4792f8);});}function updateWhatsappInteraction(_0x51e1ec,_0x11b005,_0x2509ac){return new BPromise(function(_0x45725c,_0x3ebe1e){return getInteractionUsers(_0x51e1ec,_0x2509ac)[_0x1ade('0x29')](function(_0x27b5c4){return getInteractionTags(_0x27b5c4,_0x11b005);})[_0x1ade('0x29')](function(_0x5d049d){_0x45725c(_0x5d049d);})['catch'](function(_0x1b06a5){_0x3ebe1e(_0x1b06a5);});});}exports['index']=function(_0x7b77a5,_0x3178f5){var _0x1477d6={},_0x4ebd4c={},_0x49ab00={'count':0x0,'rows':[]};var _0x32a70c=_[_0x1ade('0x2e')](db['WhatsappInteraction'][_0x1ade('0x33')],function(_0x4204fd){return{'name':_0x4204fd[_0x1ade('0x34')],'type':_0x4204fd[_0x1ade('0x35')][_0x1ade('0x36')]};});_0x4ebd4c[_0x1ade('0x37')]=_['map'](_0x32a70c,_0x1ade('0x2b'));_0x4ebd4c[_0x1ade('0x38')]=_['keys'](_0x7b77a5['query']);_0x4ebd4c['filters']=_['intersection'](_0x4ebd4c[_0x1ade('0x37')],_0x4ebd4c[_0x1ade('0x38')]);_0x1477d6['attributes']=_[_0x1ade('0x39')](_0x4ebd4c[_0x1ade('0x37')],qs[_0x1ade('0x3a')](_0x7b77a5['query'][_0x1ade('0x3a')]));_0x1477d6[_0x1ade('0x3b')]=_0x1477d6[_0x1ade('0x3b')][_0x1ade('0x3c')]?_0x1477d6['attributes']:_0x4ebd4c[_0x1ade('0x37')];if(!_0x7b77a5['query'][_0x1ade('0x3d')](_0x1ade('0x3e'))){_0x1477d6[_0x1ade('0x24')]=qs[_0x1ade('0x24')](_0x7b77a5[_0x1ade('0x38')][_0x1ade('0x24')]);_0x1477d6[_0x1ade('0x23')]=qs[_0x1ade('0x23')](_0x7b77a5[_0x1ade('0x38')][_0x1ade('0x23')]);}_0x1477d6[_0x1ade('0x3f')]=qs['sort'](_0x7b77a5[_0x1ade('0x38')][_0x1ade('0x40')]);_0x1477d6[_0x1ade('0x41')]=qs[_0x1ade('0x42')](_[_0x1ade('0x43')](_0x7b77a5['query'],_0x4ebd4c[_0x1ade('0x42')]),_0x32a70c);var _0x3f6129=[];var _0x49cec0=squel[_0x1ade('0x44')]()[_0x1ade('0x45')]('id')[_0x1ade('0x45')](_0x1ade('0x2b'))['field'](_0x1ade('0x46'))[_0x1ade('0x47')](_0x1ade('0x48'));var _0x31fcd9=squel[_0x1ade('0x44')]()[_0x1ade('0x45')](_0x1ade('0x49'))[_0x1ade('0x45')](_0x1ade('0x4a'))['field']('ui.WhatsappInteractionId')[_0x1ade('0x47')](_0x1ade('0x4b'),'ui')['left_join']('users','u',_0x1ade('0x4c'));var _0xf1191e=squel[_0x1ade('0x44')]()[_0x1ade('0x47')](_0x1ade('0x4d'),'i')['left_join']('cm_contacts','c',_0x1ade('0x4e'))['left_join'](_0x1ade('0x4f'),'o',_0x1ade('0x50'))['left_join']('whatsapp_accounts','a',_0x1ade('0x51'))[_0x1ade('0x52')](_0x1ade('0x53'),'me','me.WhatsappInteractionId\x20=\x20i.id')[_0x1ade('0x52')](_0x1ade('0x54'),'it',_0x1ade('0x55'))[_0x1ade('0x52')](_0x1ade('0x48'),'t',_0x1ade('0x56'));var _0x1c1b5d=squel['expr']();var _0x4e3e23=[];var _0x39e953=squel[_0x1ade('0x57')]();var _0x18746d;if(_0x7b77a5[_0x1ade('0x38')][_0x1ade('0x58')]){_0x18746d=as[_0x1ade('0x59')](_0x7b77a5['query'][_0x1ade('0x58')]);var _0x35714d=_0x18746d[_0x1ade('0x5a')];for(var _0x503def=0x0;_0x503def<_0x18746d['conditions'][_0x1ade('0x3c')];_0x503def++){var _0x22c3a2=_0x18746d[_0x1ade('0x5b')][_0x503def];var _0x3429d8='i';var _0x524272=_[_0x1ade('0x5c')](_0x32a70c,[_0x1ade('0x2b'),_0x22c3a2[_0x1ade('0x45')]]);if(!_0x524272){switch(_0x22c3a2[_0x1ade('0x45')]){case'unreadMessages':if(_0x22c3a2[_0x1ade('0x5d')]==0x1){_0xf1191e['having']('`'+_0x22c3a2[_0x1ade('0x45')]+_0x1ade('0x5e'));}else{_0xf1191e[_0x1ade('0x5f')]('`'+_0x22c3a2['field']+'`\x20>\x200');}break;case _0x1ade('0x60'):if(_0x22c3a2[_0x1ade('0x61')]===_0x1ade('0x62')){if(_0x22c3a2[_0x1ade('0x5d')][_0x1ade('0x63')]('\x20')[_0x1ade('0x3c')]>0x1){_0x1c1b5d[_0x35714d](_0x1ade('0x64'),qs[_0x1ade('0x65')](_0x22c3a2[_0x1ade('0x5d')]),null);}else{var _0x192469='%'+_0x22c3a2[_0x1ade('0x5d')]+'%';_0x1c1b5d[_0x35714d](_0x1ade('0x66'),_0x192469,_0x192469,_0x192469);}}else{_0x524272=_[_0x1ade('0x5c')](_0x32a70c,['name','ContactId']);_0x22c3a2[_0x1ade('0x45')]=_0x1ade('0x67');_0x2f89de=as[_0x1ade('0x68')](_0x3429d8,_0x524272['type'],_0x22c3a2);_0x1c1b5d[_0x35714d](_0x2f89de[_0x1ade('0x69')],_0x2f89de[_0x1ade('0x5d')]['start'],_0x2f89de[_0x1ade('0x5d')][_0x1ade('0x20')]);}break;case'Tag':var _0xc4b3a1=_0x22c3a2[_0x1ade('0x5d')][_0x1ade('0x63')](',')[_0x1ade('0x2e')](function(_0x18b0a2){return Number(_0x18b0a2);});_0xc4b3a1[_0x1ade('0x31')](function(_0x857cb1){_0x39e953['or'](_0x1ade('0x6a'),'%,'+_0x857cb1+',%');});_0x4e3e23=_[_0x1ade('0x6b')](_0x4e3e23,_0xc4b3a1);break;case _0x1ade('0x6c'):if(_0x22c3a2[_0x1ade('0x61')]==='$substring'){_0x1c1b5d[_0x35714d]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x22c3a2[_0x1ade('0x5d')]+'%',null);}else{_0x524272=_[_0x1ade('0x5c')](_0x32a70c,['name',_0x1ade('0x6d')]);_0x22c3a2['field']='UserId';_0x2f89de=as[_0x1ade('0x68')](_0x3429d8,_0x524272['type'],_0x22c3a2);_0x1c1b5d[_0x35714d](_0x2f89de['text'],_0x2f89de[_0x1ade('0x5d')][_0x1ade('0x6e')],_0x2f89de[_0x1ade('0x5d')]['end']);}break;case'body':_0x2f89de=as['buildExpression']('me',null,_0x22c3a2);_0x1c1b5d[_0x35714d](_0x2f89de[_0x1ade('0x69')],_0x2f89de[_0x1ade('0x5d')][_0x1ade('0x6e')],_0x2f89de[_0x1ade('0x5d')]['end']);break;}}else{var _0x2f89de=as['buildExpression'](_0x3429d8,_0x524272['type'],_0x22c3a2);_0x1c1b5d[_0x35714d](_0x2f89de[_0x1ade('0x69')],_0x2f89de[_0x1ade('0x5d')]['start'],_0x2f89de[_0x1ade('0x5d')]['end']);}}}else{var _0x479a0d=_(_0x7b77a5[_0x1ade('0x38')])[_0x1ade('0x6f')]()[_0x1ade('0x2e')](function(_0x3656c4){return _['some'](_0x32a70c,[_0x1ade('0x2b'),_0x3656c4])?_0x3656c4:undefined;})['compact']()[_0x1ade('0x5d')]();if(!_[_0x1ade('0x70')](_0x479a0d)){_0x479a0d[_0x1ade('0x31')](function(_0x157fd1){if(_0x157fd1===_0x1ade('0x71')){_0xf1191e['where']('i.WhatsappAccountId\x20IN\x20?',[][_0x1ade('0x72')](_0x7b77a5[_0x1ade('0x38')][_0x157fd1]));}else if(_0x157fd1==='createdAt'){var _0x1667a3=JSON[_0x1ade('0x73')](_0x7b77a5[_0x1ade('0x38')][_0x157fd1])['$gte'];var _0x2e85b7=JSON[_0x1ade('0x73')](_0x7b77a5[_0x1ade('0x38')][_0x157fd1])[_0x1ade('0x74')];_0xf1191e[_0x1ade('0x41')](_0x1ade('0x75'),_0x1667a3,_0x2e85b7);}else{if(_0x7b77a5[_0x1ade('0x38')][_0x157fd1]===_0x1ade('0x76')){_0xf1191e[_0x1ade('0x41')]('i.'+_0x157fd1+_0x1ade('0x77'));}else{_0xf1191e['where']('i.'+_0x157fd1+_0x1ade('0x78'),_0x7b77a5[_0x1ade('0x38')][_0x157fd1]);}}});}if(_0x7b77a5[_0x1ade('0x38')][_0x1ade('0x79')]){if(_0x7b77a5[_0x1ade('0x38')][_0x1ade('0x79')]==0x1){_0xf1191e[_0x1ade('0x5f')](_0x1ade('0x7a'));}else{_0xf1191e[_0x1ade('0x5f')]('`unreadMessages`\x20>\x200');}}if(_0x7b77a5[_0x1ade('0x38')][_0x1ade('0x7b')]){_0x4e3e23=_[_0x1ade('0x7c')](_0x7b77a5['query'][_0x1ade('0x7b')])?_0x7b77a5['query'][_0x1ade('0x7b')]:new Array(_0x7b77a5[_0x1ade('0x38')][_0x1ade('0x7b')]);_0x4e3e23[_0x1ade('0x31')](function(_0x1e2b45){_0x39e953['or'](_0x1ade('0x6a'),'%,'+_0x1e2b45+',%');});}if(_0x7b77a5[_0x1ade('0x38')][_0x1ade('0x7d')]){var _0x2d19ee=_0x7b77a5[_0x1ade('0x38')]['filter']['replace']('\x5c','\x5c\x5c')[_0x1ade('0x7e')](/'/g,'\x27\x27');if(qs[_0x1ade('0x7f')](_0x2d19ee)){_0x1c1b5d['or'](_0x1ade('0x80'),_0x2d19ee+'%')['or'](_0x1ade('0x81'),_0x2d19ee+'%');}else{_0x1c1b5d['or'](_0x1ade('0x82'),qs[_0x1ade('0x65')](_0x2d19ee))['or'](_0x1ade('0x83'),_0x2d19ee+'%');}}}_0xf1191e[_0x1ade('0x41')](_0x1c1b5d);_0xf1191e[_0x1ade('0x84')](_0x1ade('0x85'));var _0x4dac63={'type':db['Sequelize'][_0x1ade('0x86')]['SELECT'],'raw':!![]};var _0x2b6ac9=_0xf1191e[_0x1ade('0x87')]();_0x2b6ac9[_0x1ade('0x45')](_0x1ade('0x85'));_0x2b6ac9[_0x1ade('0x45')](_0x1ade('0x88'),'unreadMessages');if(_0x1477d6[_0x1ade('0x3f')]){_0x1477d6[_0x1ade('0x3f')][_0x1ade('0x31')](function(_0x1de8d2){var _0x523af6=_0x1de8d2[0x0]===_0x1ade('0x89')?_0x1de8d2[0x0]:'i.'+_0x1de8d2[0x0];_0xf1191e[_0x1ade('0x3f')](_0x523af6,_0x1de8d2[0x1]===_0x1ade('0x8a')?![]:!![]);});}if(!_['isEmpty'](_0x4e3e23)){_0xf1191e[_0x1ade('0x5f')](_0x39e953);_0x2b6ac9['where'](_0x1ade('0x8b'),_0x4e3e23);}BPromise[_0x1ade('0x8c')]()[_0x1ade('0x29')](function(){if(!_0x18746d){if(_0x7b77a5[_0x1ade('0x38')][_0x1ade('0x71')])return;_0x2b6ac9[_0x1ade('0x41')]('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');_0xf1191e[_0x1ade('0x41')](_0x1ade('0x8d'));return;}if(_0x7b77a5[_0x1ade('0x8e')][_0x1ade('0x8f')]!==_0x1ade('0x90'))return;return _0x7b77a5[_0x1ade('0x8e')][_0x1ade('0x91')]({'attributes':['id'],'raw':!![]})[_0x1ade('0x29')](function(_0x42bc47){if(_[_0x1ade('0x70')](_0x42bc47)){_0x2b6ac9[_0x1ade('0x41')]('i.WhatsappAccountId\x20IS\x20NULL');_0xf1191e['where'](_0x1ade('0x92'));}else{_0x2b6ac9['where'](_0x1ade('0x93'),_[_0x1ade('0x2e')](_0x42bc47,'id'));_0xf1191e[_0x1ade('0x41')](_0x1ade('0x93'),_[_0x1ade('0x2e')](_0x42bc47,'id'));}});})[_0x1ade('0x29')](function(){if(_0x7b77a5[_0x1ade('0x8e')][_0x1ade('0x8f')]==='agent'&&!_0x18746d&&!_0x7b77a5[_0x1ade('0x38')][_0x1ade('0x71')])return[];return db[_0x1ade('0x94')]['query'](_0x2b6ac9[_0x1ade('0x95')](),_0x4dac63);})[_0x1ade('0x29')](function(_0x2159fc){_0x49ab00['count']=_0x2159fc[_0x1ade('0x3c')];if(_0x49ab00[_0x1ade('0x22')]===0x0)return[];return db[_0x1ade('0x94')][_0x1ade('0x38')](_0x49cec0['toString'](),_0x4dac63)[_0x1ade('0x29')](function(_0x6831b3){_0x3f6129=_[_0x1ade('0x96')](_0x6831b3,'id');_0x4dac63=_[_0x1ade('0x97')](_0x4dac63,{'model':db[_0x1ade('0x98')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x7b77a5['query']['fields']){_0x1477d6['attributes'][_0x1ade('0x31')](function(_0x41abd2){_0xf1191e[_0x1ade('0x45')]('i.'+_0x41abd2);});}else{_0xf1191e[_0x1ade('0x45')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x1ade('0x99'));_0xf1191e[_0x1ade('0x45')](_0x1ade('0x9a'),_0x1ade('0x9b'));_0xf1191e[_0x1ade('0x45')](_0x1ade('0x9c'),_0x1ade('0x9d'));_0xf1191e[_0x1ade('0x45')](_0x1ade('0x9e'),_0x1ade('0x89'));_0xf1191e['field'](_0x1ade('0x9f'));_0xf1191e[_0x1ade('0x45')](_0x1ade('0xa0'),_0x1ade('0xa1'));_0xf1191e['field'](_0x1ade('0xa2'),_0x1ade('0xa3'));_0xf1191e[_0x1ade('0x45')](_0x1ade('0xa4'),'Contact.email');_0xf1191e[_0x1ade('0x45')]('c.phone','Contact.phone');_0xf1191e[_0x1ade('0x45')](_0x1ade('0xa5'),_0x1ade('0xa6'));_0xf1191e[_0x1ade('0x45')]('c.fax',_0x1ade('0xa7'));_0xf1191e['field'](_0x1ade('0xa8'),_0x1ade('0xa9'));_0xf1191e[_0x1ade('0x45')](_0x1ade('0xaa'),_0x1ade('0xab'));_0xf1191e[_0x1ade('0x45')](_0x1ade('0xac'),_0x1ade('0x30'));}if(_0x1477d6['limit'])_0xf1191e[_0x1ade('0x24')](_0x1477d6['limit']);if(_0x1477d6[_0x1ade('0x23')])_0xf1191e['offset'](_0x1477d6[_0x1ade('0x23')]);return db[_0x1ade('0x94')]['query'](_0xf1191e[_0x1ade('0x95')](),_0x4dac63);})[_0x1ade('0x29')](function(_0x3db13e){_0x31fcd9[_0x1ade('0x41')](_0x1ade('0xad'),_[_0x1ade('0x2e')](_0x3db13e,'id'));return db[_0x1ade('0x94')][_0x1ade('0x38')](_0x31fcd9[_0x1ade('0x95')](),_0x4dac63)[_0x1ade('0x29')](function(_0x46fea6){var _0x6cb47a=_[_0x1ade('0xae')](_0x46fea6,_0x1ade('0xaf'));var _0x16f2d8=[];_0x3db13e[_0x1ade('0x31')](function(_0x212f61){_0x16f2d8['push'](updateWhatsappInteraction(_0x212f61,_0x3f6129,_0x6cb47a));});return BPromise[_0x1ade('0xb0')](_0x16f2d8);});});})[_0x1ade('0x29')](function(_0x15fa9d){_0x49ab00[_0x1ade('0xb1')]=_0x15fa9d;return _0x49ab00;})['then'](respondWithFilteredResult(_0x3178f5,_0x1477d6))[_0x1ade('0xb2')](handleError(_0x3178f5,null));};exports[_0x1ade('0xb3')]=function(_0x534b7f,_0x23b967){var _0x2fe111={'raw':![],'where':{'id':_0x534b7f[_0x1ade('0xb4')]['id']}},_0x2d1bed={};_0x2d1bed['model']=_[_0x1ade('0x6f')](db[_0x1ade('0x98')][_0x1ade('0x33')]);_0x2d1bed[_0x1ade('0x38')]=_[_0x1ade('0x6f')](_0x534b7f[_0x1ade('0x38')]);_0x2d1bed[_0x1ade('0x42')]=_[_0x1ade('0x39')](_0x2d1bed['model'],_0x2d1bed[_0x1ade('0x38')]);_0x2fe111[_0x1ade('0x3b')]=_[_0x1ade('0x39')](_0x2d1bed[_0x1ade('0x37')],qs[_0x1ade('0x3a')](_0x534b7f[_0x1ade('0x38')]['fields']));_0x2fe111[_0x1ade('0x3b')]=_0x2fe111[_0x1ade('0x3b')][_0x1ade('0x3c')]?_0x2fe111[_0x1ade('0x3b')]:_0x2d1bed['model'];if(_0x534b7f[_0x1ade('0x38')][_0x1ade('0xb5')]){_0x2fe111[_0x1ade('0xb6')]=[{'all':!![]}];}_0x2fe111=_[_0x1ade('0x97')]({},_0x2fe111,_0x534b7f[_0x1ade('0xb7')]);return db[_0x1ade('0x98')][_0x1ade('0x5c')](_0x2fe111)[_0x1ade('0x29')](handleEntityNotFound(_0x23b967,null))[_0x1ade('0x29')](respondWithResult(_0x23b967,null))['catch'](handleError(_0x23b967,null));};exports[_0x1ade('0xb8')]=function(_0x142d9d,_0x11c96f){return db[_0x1ade('0x98')]['create'](_0x142d9d[_0x1ade('0xb9')],{})[_0x1ade('0x29')](respondWithResult(_0x11c96f,0xc9))[_0x1ade('0xb2')](handleError(_0x11c96f,null));};exports[_0x1ade('0x28')]=function(_0x230346,_0x5abc83){if(_0x230346[_0x1ade('0xb9')]['id']){delete _0x230346[_0x1ade('0xb9')]['id'];}return db[_0x1ade('0x98')][_0x1ade('0x5c')]({'where':{'id':_0x230346[_0x1ade('0xb4')]['id']}})['then'](handleEntityNotFound(_0x5abc83,null))[_0x1ade('0x29')](saveUpdates(_0x230346[_0x1ade('0xb9')],null))[_0x1ade('0x29')](respondWithResult(_0x5abc83,null))[_0x1ade('0xb2')](handleError(_0x5abc83,null));};exports[_0x1ade('0xba')]=function(_0x457c3d,_0x9a0d44){return db[_0x1ade('0x98')][_0x1ade('0x5c')]({'where':{'id':_0x457c3d[_0x1ade('0xb4')]['id']}})['then'](handleEntityNotFound(_0x9a0d44,null))[_0x1ade('0x29')](removeEntity(_0x9a0d44,null))[_0x1ade('0xb2')](handleError(_0x9a0d44,null));};exports['describe']=function(_0x3aadcf,_0x29a92f){return db[_0x1ade('0x98')]['describe']()[_0x1ade('0x29')](respondWithResult(_0x29a92f,null))[_0x1ade('0xb2')](handleError(_0x29a92f,null));};exports['addMessage']=function(_0x2ef152,_0x227817,_0x342f59){return db[_0x1ade('0xbb')]['find']({'where':{'id':_0x2ef152[_0x1ade('0xb4')]['id']}})['then'](handleEntityNotFound(_0x227817,null))['then'](function(_0x52a97a){if(_0x52a97a){return _0x52a97a[_0x1ade('0xbc')](_0x2ef152['body'][_0x1ade('0xbd')],_[_0x1ade('0xbe')](_0x2ef152[_0x1ade('0xb9')],[_0x1ade('0xbd'),'id'])||{});}})[_0x1ade('0x29')](respondWithResult(_0x227817,null))[_0x1ade('0xb2')](handleError(_0x227817,null));};exports['getMessages']=function(_0x5227f3,_0x3e928a,_0x5c86c9){var _0x326f17={'raw':![],'where':{}};var _0x47c401={};var _0x167fbc={'count':0x0,'rows':[]};return db[_0x1ade('0x98')]['findOne']({'where':{'id':_0x5227f3['params']['id']}})[_0x1ade('0x29')](handleEntityNotFound(_0x3e928a,null))[_0x1ade('0x29')](function(_0x297556){if(_0x297556){_0x47c401[_0x1ade('0x37')]=_['keys'](db[_0x1ade('0xbb')][_0x1ade('0x33')]);_0x47c401[_0x1ade('0x38')]=_['keys'](_0x5227f3[_0x1ade('0x38')]);_0x47c401[_0x1ade('0x42')]=_['intersection'](_0x47c401['model'],_0x47c401[_0x1ade('0x38')]);_0x326f17['attributes']=_['intersection'](_0x47c401[_0x1ade('0x37')],qs[_0x1ade('0x3a')](_0x5227f3[_0x1ade('0x38')][_0x1ade('0x3a')]));_0x326f17[_0x1ade('0x3b')]=_0x326f17['attributes'][_0x1ade('0x3c')]?_0x326f17[_0x1ade('0x3b')]:_0x47c401[_0x1ade('0x37')];if(!_0x5227f3[_0x1ade('0x38')][_0x1ade('0x3d')](_0x1ade('0x3e'))){_0x326f17[_0x1ade('0x24')]=qs[_0x1ade('0x24')](_0x5227f3[_0x1ade('0x38')][_0x1ade('0x24')]);_0x326f17[_0x1ade('0x23')]=qs[_0x1ade('0x23')](_0x5227f3[_0x1ade('0x38')][_0x1ade('0x23')]);}_0x326f17[_0x1ade('0x3f')]=qs['sort'](_0x5227f3[_0x1ade('0x38')][_0x1ade('0x40')]);_0x326f17['where']=qs[_0x1ade('0x42')](_[_0x1ade('0x43')](_0x5227f3[_0x1ade('0x38')],_0x47c401[_0x1ade('0x42')]));_0x326f17[_0x1ade('0x41')]['WhatsappInteractionId']=_0x297556['id'];if(_0x5227f3['query']['filter']){_0x326f17[_0x1ade('0x41')]=_['merge'](_0x326f17[_0x1ade('0x41')],{'$or':_[_0x1ade('0x2e')](_0x326f17[_0x1ade('0x3b')],function(_0x30de94){var _0x498fa9={};_0x498fa9[_0x30de94]={'$like':'%'+_0x5227f3[_0x1ade('0x38')][_0x1ade('0x7d')]+'%'};return _0x498fa9;})});}if(_0x5227f3[_0x1ade('0x38')][_0x1ade('0xbf')]){var _0x26ad40=_0x5227f3[_0x1ade('0x38')][_0x1ade('0xbf')][_0x1ade('0x63')](',');var _0x3cc11b={};_0x3cc11b[_0x26ad40[0x0]]={'$gte':moment(_0x26ad40[0x1])[_0x1ade('0xc0')]('YYYY-MM-DD\x20HH:mm:ss')};_0x326f17['where']=_[_0x1ade('0x97')](_0x326f17[_0x1ade('0x41')],_0x3cc11b);}_0x326f17=_[_0x1ade('0x97')]({},_0x326f17,_0x5227f3['options']);return db[_0x1ade('0xbb')][_0x1ade('0x22')]({'where':_0x326f17['where']})[_0x1ade('0x29')](function(_0x29b4c4){_0x167fbc[_0x1ade('0x22')]=_0x29b4c4;if(_0x5227f3[_0x1ade('0x38')][_0x1ade('0xb5')]){_0x326f17['include']=[{'all':!![]}];}return db[_0x1ade('0xbb')][_0x1ade('0xc1')](_0x326f17);})['then'](function(_0x4bdfab){_0x167fbc[_0x1ade('0xb1')]=_0x4bdfab;return _0x167fbc;});}})[_0x1ade('0x29')](respondWithFilteredResult(_0x3e928a,_0x326f17))[_0x1ade('0xb2')](handleError(_0x3e928a,null));};exports[_0x1ade('0xc2')]=function(_0x4cc6c7,_0x1d8fa2,_0x37114c){return db[_0x1ade('0x98')][_0x1ade('0x5c')]({'where':{'id':_0x4cc6c7[_0x1ade('0xb4')]['id']}})['then'](handleEntityNotFound(_0x1d8fa2,null))[_0x1ade('0x29')](function(_0x4ae3de){if(_0x4ae3de){return _0x4ae3de[_0x1ade('0xc3')](_0x4cc6c7[_0x1ade('0xb9')][_0x1ade('0xbd')],_['omit'](_0x4cc6c7['body'],[_0x1ade('0xbd'),'id'])||{})[_0x1ade('0xc4')](function(){return db[_0x1ade('0xc5')]['findAll']({'attributes':['id',_0x1ade('0x2b'),_0x1ade('0x46')],'where':{'id':_0x4cc6c7[_0x1ade('0xb9')][_0x1ade('0xbd')]}});})[_0x1ade('0x29')](function(_0x2f9cd2){socket[_0x1ade('0xc6')](_0x1ade('0xc7'),{'id':Number(_0x4cc6c7['params']['id']),'tags':_0x2f9cd2||[]});return{'id':Number(_0x4cc6c7['params']['id']),'tags':_0x2f9cd2||[]};});}})[_0x1ade('0x29')](respondWithResult(_0x1d8fa2,null))[_0x1ade('0xb2')](handleError(_0x1d8fa2,null));};exports[_0x1ade('0xc8')]=function(_0x47fc46,_0x3c71b9,_0x1df89e){return db[_0x1ade('0x98')][_0x1ade('0x5c')]({'where':{'id':_0x47fc46['params']['id']}})[_0x1ade('0x29')](handleEntityNotFound(_0x3c71b9,null))[_0x1ade('0x29')](function(_0x11e9f9){if(_0x11e9f9){return _0x11e9f9[_0x1ade('0xc8')](_0x47fc46[_0x1ade('0x38')]['ids']);}})['then'](respondWithStatusCode(_0x3c71b9,null))['catch'](handleError(_0x3c71b9,null));};exports['download']=function(_0xf4bcf3,_0x9be613){var _0x59ce42=moment()[_0x1ade('0xc9')]()[_0x1ade('0x95')]();var _0x5843ec=path[_0x1ade('0xca')](config[_0x1ade('0xcb')],'server',_0x1ade('0xcc'),_0x1ade('0xcd'));var _0x3986a4=path[_0x1ade('0xca')](config['root'],_0x1ade('0xce'),_0x1ade('0xcc'),_0x1ade('0xcf'));var _0x544ac3=path['join'](_0x5843ec,_0x59ce42);var _0x4e2d51=util[_0x1ade('0xc0')]('transcript-%d-%s.zip',_0xf4bcf3[_0x1ade('0xb4')]['id'],_0x59ce42);var _0x5c80a2=path[_0x1ade('0xca')](_0x5843ec,_0x4e2d51);var _0x2a2390=[];_0x2a2390[_0x1ade('0xd0')]({'model':db['User'],'as':'User','attributes':['id',_0x1ade('0x2f')],'raw':!![]});_0x2a2390[_0x1ade('0xd0')]({'model':db[_0x1ade('0xd1')],'as':_0x1ade('0x60'),'attributes':['id',_0x1ade('0xd2'),_0x1ade('0xd3')],'raw':!![]});if(_0xf4bcf3[_0x1ade('0x38')][_0x1ade('0xcf')]){_0x2a2390[_0x1ade('0xd0')]({'model':db[_0x1ade('0xd4')],'as':_0x1ade('0xd4'),'raw':!![]});}var _0x379526=[{'model':db['WhatsappMessage'],'as':_0x1ade('0xd5'),'attributes':['id',_0x1ade('0xb9'),_0x1ade('0xd6'),'direction',_0x1ade('0xd7'),'read'],'include':_0x2a2390}];_0x379526[_0x1ade('0xd0')]({'model':db[_0x1ade('0xd8')],'as':_0x1ade('0xd9'),'attributes':['id','name']});_0x379526[_0x1ade('0xd0')]({'model':db[_0x1ade('0x6c')],'as':_0x1ade('0xda'),'attributes':['id','fullname']});return db[_0x1ade('0x98')][_0x1ade('0x5c')]({'where':{'id':_0xf4bcf3[_0x1ade('0xb4')]['id']},'include':_0x379526})[_0x1ade('0x29')](handleEntityNotFound(_0x9be613,null))['then'](function(_0x834af){if(_0x834af){var _0x3a3f4b=_0x834af['get']({'plain':!![]});fs['mkdirSync'](_0x544ac3);var _0x475be6={'channel':_0x1ade('0xdb'),'account':_0x3a3f4b[_0x1ade('0xd9')]['name'],'agent':_0x3a3f4b[_0x1ade('0xda')]?_0x3a3f4b['Owner']['fullname']:'N.A.','createdAt':moment(_0x3a3f4b[_0x1ade('0xd6')])[_0x1ade('0xc0')](_0x1ade('0xdc'))[_0x1ade('0x95')](),'closedAt':_0x3a3f4b[_0x1ade('0xdd')]?moment(_0x3a3f4b[_0x1ade('0xde')])[_0x1ade('0xc0')](_0x1ade('0xdc'))[_0x1ade('0x95')]():'','disposition':_0x3a3f4b['disposition'],'messages':_(_0x3a3f4b[_0x1ade('0xd5')])[_0x1ade('0x7d')]({'secret':![]})[_0x1ade('0x2e')](function(_0x368480){if(_0x368480[_0x1ade('0xd4')]){var _0x206b55=path[_0x1ade('0xca')](_0x3986a4,_0x368480[_0x1ade('0xd4')][_0x1ade('0xdf')]);if(fs[_0x1ade('0xe0')](_0x206b55)){fs[_0x1ade('0xe1')](_0x206b55)['pipe'](fs[_0x1ade('0xe2')](path['join'](_0x544ac3,_0x368480[_0x1ade('0xd4')]['basename'])));}}return{'date':moment(_0x368480[_0x1ade('0xd6')])['format'](_0x1ade('0xdc'))[_0x1ade('0x95')](),'sender':_0x368480[_0x1ade('0xe3')]===_0x1ade('0xe4')?_0x368480[_0x1ade('0x6c')]?_0x368480[_0x1ade('0x6c')][_0x1ade('0x2f')]:_0x1ade('0xe5'):_0x368480['Contact'][_0x1ade('0xd2')]+(_0x368480[_0x1ade('0x60')][_0x1ade('0xd3')]?'\x20'+_0x368480[_0x1ade('0x60')][_0x1ade('0xd3')]:''),'body':_0x368480['Attachment']?_0x368480[_0x1ade('0xd4')]['basename']:_0x368480[_0x1ade('0xb9')],'direction':_0x368480['direction']===_0x1ade('0xe4')?'A':'C','secret':_0x368480['secret'],'read':_0x368480[_0x1ade('0x79')],'attachment':_0x368480[_0x1ade('0xd4')]};})[_0x1ade('0x5d')]()};return ejs[_0x1ade('0xe6')](path[_0x1ade('0xca')](config[_0x1ade('0xcb')],_0x1ade('0xce'),_0x1ade('0xe7'),_0x1ade('0xe8')),{'interaction':_0x475be6})[_0x1ade('0x29')](function(_0x6ac02){var _0x4181b7=path[_0x1ade('0xca')](_0x544ac3,_0x1ade('0xe9')+_0x3a3f4b['id']+'-'+_0x59ce42+'.pdf');var _0x30a1ff={'path':_0x4181b7,'channel':_0x1ade('0xdb'),'interactionId':_0x3a3f4b['id']};return pdf['createPdfFromHTML'](_0x6ac02,_0x30a1ff);})['then'](function(){return new BPromise(function(_0x32da92,_0x1f5b0a){zipdir(_0x544ac3,{'saveTo':_0x5c80a2},function(_0x1ed7ae,_0x3d9ce4){if(_0x1ed7ae)return _0x1f5b0a(_0x1ed7ae);return _0x32da92(_0x3d9ce4);});})[_0x1ade('0x29')](function(){return new BPromise(function(_0x32e20e,_0x2698c2){rimraf(_0x544ac3,function(_0x4b88a4){if(_0x4b88a4)_0x2698c2(_0x4b88a4);return _0x32e20e();});});})['then'](function(){return _0x9be613[_0x1ade('0xea')](_0x5c80a2,_0x4e2d51,function(_0x2353ff){if(_0x2353ff){console[_0x1ade('0xeb')](_0x1ade('0xec'),_0x2353ff);}else{fs[_0x1ade('0xed')](_0x5c80a2);}});});});}else{return _0x9be613[_0x1ade('0x1e')](0xc8);}})[_0x1ade('0xb2')](handleError(_0x9be613,null));};