Built motion from commit (unavailable).|2.5.29
[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 _0xe984=['../../components/auth/service','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','defaults','localhost','socket.io-emitter','redis','./whatsappInteraction.socket','sendStatus','status','json','undefined','limit','count','offset','set','apply','reject','then','destroy','end','stack','send','Users','map','fullname','TagIds','split','forEach','Tags','push','catch','index','WhatsappInteraction','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','field','name','from','tools_tags','select','u.id','u.fullname','ui.WhatsappInteractionId','user_has_whatsapp_interactions','left_join','users','u.id\x20=\x20ui.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','me.WhatsappInteractionId\x20=\x20i.id','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','find','unreadMessages','value','having','`\x20=\x200','Contact','operator','$substring','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','buildExpression','body','some','compact','isEmpty','i.WhatsappAccountId\x20IN\x20?','concat','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','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','i.id','Sequelize','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','t.id\x20IN\x20?','resolve','WhatsappAccountId','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','role','agent','user','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','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','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?','groupBy','all','rows','show','intersection','include','options','create','update','describe','WhatsappMessage','params','addMessage','omit','ids','getMessages','findOne','WhatsappInteractionId','$gte','YYYY-MM-DD\x20HH:mm:ss','includeAll','addTags','setTags','spread','Tag','findAll','color','emit','whatsappInteractionTags:save','removeTags','download','unix','root','server','tmp','files','attachments','join','CmContact','firstName','lastName','Attachment','direction','secret','WhatsappAccount','Account','Owner','get','mkdirSync','Whatsapp','N.A.','format','closedAt','disposition','Messages','basename','existsSync','createReadStream','createWriteStream','out','System','downloadInteraction.html','log','err','unlinkSync','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse'];(function(_0x126558,_0x143c9a){var _0x1f6d14=function(_0x2b0eea){while(--_0x2b0eea){_0x126558['push'](_0x126558['shift']());}};_0x1f6d14(++_0x143c9a);}(_0xe984,0xe2));var _0x4e98=function(_0x2e58c7,_0x23d092){_0x2e58c7=_0x2e58c7-0x0;var _0x26eb00=_0xe984[_0x2e58c7];return _0x26eb00;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4e98('0x0'));var zipdir=require(_0x4e98('0x1'));var jsonpatch=require(_0x4e98('0x2'));var rp=require(_0x4e98('0x3'));var moment=require(_0x4e98('0x4'));var BPromise=require(_0x4e98('0x5'));var Mustache=require(_0x4e98('0x6'));var util=require(_0x4e98('0x7'));var path=require(_0x4e98('0x8'));var sox=require(_0x4e98('0x9'));var csv=require('to-csv');var ejs=require(_0x4e98('0xa'));var fs=require('fs');var fs_extra=require(_0x4e98('0xb'));var _=require(_0x4e98('0xc'));var squel=require(_0x4e98('0xd'));var crypto=require('crypto');var jsforce=require(_0x4e98('0xe'));var deskjs=require(_0x4e98('0xf'));var toCsv=require(_0x4e98('0x10'));var querystring=require(_0x4e98('0x11'));var Papa=require(_0x4e98('0x12'));var Redis=require('ioredis');var authService=require(_0x4e98('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x4e98('0x14'));var pdf=require(_0x4e98('0x15'));var hardwareService=require(_0x4e98('0x16'));var logger=require(_0x4e98('0x17'))(_0x4e98('0x18'));var utils=require('../../config/utils');var config=require(_0x4e98('0x19'));var licenseUtil=require(_0x4e98('0x1a'));var db=require(_0x4e98('0x1b'))['db'];config['redis']=_[_0x4e98('0x1c')](config['redis'],{'host':_0x4e98('0x1d'),'port':0x18eb});var socket=require(_0x4e98('0x1e'))(new Redis(config[_0x4e98('0x1f')]));require(_0x4e98('0x20'))['register'](socket);function respondWithStatusCode(_0x1ef5b0,_0x3ff8e9){_0x3ff8e9=_0x3ff8e9||0xcc;return function(_0x141c98){if(_0x141c98){return _0x1ef5b0[_0x4e98('0x21')](_0x3ff8e9);}return _0x1ef5b0[_0x4e98('0x22')](_0x3ff8e9)['end']();};}function respondWithResult(_0x32e4a0,_0x3e586b){_0x3e586b=_0x3e586b||0xc8;return function(_0x26b60a){if(_0x26b60a){return _0x32e4a0[_0x4e98('0x22')](_0x3e586b)[_0x4e98('0x23')](_0x26b60a);}};}function respondWithFilteredResult(_0x22c683,_0x3e9618){return function(_0x342f13){if(_0x342f13){var _0x204fab=typeof _0x3e9618['offset']===_0x4e98('0x24')&&typeof _0x3e9618[_0x4e98('0x25')]===_0x4e98('0x24');var _0x296660=_0x342f13[_0x4e98('0x26')];var _0x50928c=_0x204fab?0x0:_0x3e9618[_0x4e98('0x27')];var _0x28fc53=_0x204fab?_0x342f13[_0x4e98('0x26')]:_0x3e9618[_0x4e98('0x27')]+_0x3e9618[_0x4e98('0x25')];var _0x10c83e;if(_0x28fc53>=_0x296660){_0x28fc53=_0x296660;_0x10c83e=0xc8;}else{_0x10c83e=0xce;}_0x22c683[_0x4e98('0x22')](_0x10c83e);return _0x22c683[_0x4e98('0x28')]('Content-Range',_0x50928c+'-'+_0x28fc53+'/'+_0x296660)[_0x4e98('0x23')](_0x342f13);}return null;};}function patchUpdates(_0x51e0a0){return function(_0x5b0f92){try{jsonpatch[_0x4e98('0x29')](_0x5b0f92,_0x51e0a0,!![]);}catch(_0x4c9552){return BPromise[_0x4e98('0x2a')](_0x4c9552);}return _0x5b0f92['save']();};}function saveUpdates(_0x286624,_0x217efc){return function(_0x51c580){if(_0x51c580){return _0x51c580['update'](_0x286624)[_0x4e98('0x2b')](function(_0x37e304){return _0x37e304;});}return null;};}function removeEntity(_0x1d5fd3,_0x149bed){return function(_0xc43f66){if(_0xc43f66){return _0xc43f66[_0x4e98('0x2c')]()['then'](function(){_0x1d5fd3['status'](0xcc)[_0x4e98('0x2d')]();});}};}function handleEntityNotFound(_0x1f52a6,_0x1220a1){return function(_0x196521){if(!_0x196521){_0x1f52a6[_0x4e98('0x21')](0x194);}return _0x196521;};}function handleError(_0x28c137,_0x3f3254){_0x3f3254=_0x3f3254||0x1f4;return function(_0x1b4a07){logger['error'](_0x1b4a07[_0x4e98('0x2e')]);if(_0x1b4a07['name']){delete _0x1b4a07['name'];}_0x28c137[_0x4e98('0x22')](_0x3f3254)[_0x4e98('0x2f')](_0x1b4a07);};}function getInteractionUsers(_0x50bd3d,_0x3ebf34){return new BPromise(function(_0xd32e3,_0x4111a9){try{if(_0x3ebf34[_0x50bd3d['id']]){_0x50bd3d[_0x4e98('0x30')]=_[_0x4e98('0x31')](_0x3ebf34[_0x50bd3d['id']],function(_0x12c31f){return{'id':_0x12c31f['id'],'fullname':_0x12c31f[_0x4e98('0x32')]};});}}catch(_0x2c2a58){_0x4111a9(_0x2c2a58);}_0xd32e3(_0x50bd3d);});}function getInteractionTags(_0x429648,_0x36a726){return new BPromise(function(_0x3dd6b8,_0x5a1137){try{if(_0x429648[_0x4e98('0x33')]){_0x429648['Tags']=[];_0x429648[_0x4e98('0x33')][_0x4e98('0x34')](',')[_0x4e98('0x35')](function(_0x3be635){_0x429648[_0x4e98('0x36')][_0x4e98('0x37')](_0x36a726[_0x3be635]);});}delete _0x429648[_0x4e98('0x33')];}catch(_0x575784){_0x5a1137(_0x575784);}_0x3dd6b8(_0x429648);});}function updateWhatsappInteraction(_0x54207b,_0x6e50fc,_0x46da58){return new BPromise(function(_0x264973,_0xfd85a6){return getInteractionUsers(_0x54207b,_0x46da58)[_0x4e98('0x2b')](function(_0x39926b){return getInteractionTags(_0x39926b,_0x6e50fc);})['then'](function(_0x23ff24){_0x264973(_0x23ff24);})[_0x4e98('0x38')](function(_0x69fba5){_0xfd85a6(_0x69fba5);});});}exports[_0x4e98('0x39')]=function(_0x4bc0ed,_0x51dec2){var _0x1c76e9={},_0x2e921f={},_0x3a16b1={'count':0x0,'rows':[]};var _0x3fc3ca=_[_0x4e98('0x31')](db[_0x4e98('0x3a')][_0x4e98('0x3b')],function(_0x126ca4){return{'name':_0x126ca4[_0x4e98('0x3c')],'type':_0x126ca4[_0x4e98('0x3d')][_0x4e98('0x3e')]};});_0x2e921f[_0x4e98('0x3f')]=_[_0x4e98('0x31')](_0x3fc3ca,'name');_0x2e921f[_0x4e98('0x40')]=_[_0x4e98('0x41')](_0x4bc0ed[_0x4e98('0x40')]);_0x2e921f[_0x4e98('0x42')]=_['intersection'](_0x2e921f[_0x4e98('0x3f')],_0x2e921f['query']);_0x1c76e9[_0x4e98('0x43')]=_['intersection'](_0x2e921f['model'],qs[_0x4e98('0x44')](_0x4bc0ed[_0x4e98('0x40')]['fields']));_0x1c76e9[_0x4e98('0x43')]=_0x1c76e9[_0x4e98('0x43')][_0x4e98('0x45')]?_0x1c76e9[_0x4e98('0x43')]:_0x2e921f[_0x4e98('0x3f')];if(!_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x46')](_0x4e98('0x47'))){_0x1c76e9[_0x4e98('0x25')]=qs[_0x4e98('0x25')](_0x4bc0ed[_0x4e98('0x40')]['limit']);_0x1c76e9[_0x4e98('0x27')]=qs['offset'](_0x4bc0ed['query'][_0x4e98('0x27')]);}_0x1c76e9[_0x4e98('0x48')]=qs[_0x4e98('0x49')](_0x4bc0ed['query'][_0x4e98('0x49')]);_0x1c76e9[_0x4e98('0x4a')]=qs[_0x4e98('0x42')](_[_0x4e98('0x4b')](_0x4bc0ed[_0x4e98('0x40')],_0x2e921f[_0x4e98('0x42')]),_0x3fc3ca);var _0x336df9=[];var _0x32a7a2=squel['select']()[_0x4e98('0x4c')]('id')[_0x4e98('0x4c')](_0x4e98('0x4d'))[_0x4e98('0x4c')]('color')[_0x4e98('0x4e')](_0x4e98('0x4f'));var _0x54a03d=squel[_0x4e98('0x50')]()[_0x4e98('0x4c')](_0x4e98('0x51'))['field'](_0x4e98('0x52'))['field'](_0x4e98('0x53'))[_0x4e98('0x4e')](_0x4e98('0x54'),'ui')[_0x4e98('0x55')](_0x4e98('0x56'),'u',_0x4e98('0x57'));var _0x3a3b8c=squel['select']()['from']('whatsapp_interactions','i')['left_join']('cm_contacts','c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x4e98('0x55')](_0x4e98('0x56'),'o','o.id\x20=\x20i.UserId')[_0x4e98('0x55')](_0x4e98('0x58'),'a',_0x4e98('0x59'))[_0x4e98('0x55')]('whatsapp_messages','me',_0x4e98('0x5a'))[_0x4e98('0x55')]('whatsapp_interaction_has_tags','it',_0x4e98('0x5b'))[_0x4e98('0x55')](_0x4e98('0x4f'),'t',_0x4e98('0x5c'));var _0x487026=squel[_0x4e98('0x5d')]();var _0x3757c7=[];var _0x240f10=squel[_0x4e98('0x5d')]();var _0x11fae2;if(_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x5e')]){_0x11fae2=as[_0x4e98('0x5f')](_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x5e')]);var _0x1b0462=_0x11fae2['sqlOperator'];for(var _0x25047a=0x0;_0x25047a<_0x11fae2[_0x4e98('0x60')][_0x4e98('0x45')];_0x25047a++){var _0x507f68=_0x11fae2[_0x4e98('0x60')][_0x25047a];var _0x5c5da5='i';var _0x1a04ab=_[_0x4e98('0x61')](_0x3fc3ca,[_0x4e98('0x4d'),_0x507f68[_0x4e98('0x4c')]]);if(!_0x1a04ab){switch(_0x507f68[_0x4e98('0x4c')]){case _0x4e98('0x62'):if(_0x507f68[_0x4e98('0x63')]==0x1){_0x3a3b8c[_0x4e98('0x64')]('`'+_0x507f68[_0x4e98('0x4c')]+_0x4e98('0x65'));}else{_0x3a3b8c[_0x4e98('0x64')]('`'+_0x507f68[_0x4e98('0x4c')]+'`\x20>\x200');}break;case _0x4e98('0x66'):if(_0x507f68[_0x4e98('0x67')]===_0x4e98('0x68')){if(_0x507f68['value']['split']('\x20')['length']>0x1){_0x487026[_0x1b0462]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x4e98('0x69')](_0x507f68[_0x4e98('0x63')]),null);}else{var _0x37f33d='%'+_0x507f68[_0x4e98('0x63')]+'%';_0x487026[_0x1b0462](_0x4e98('0x6a'),_0x37f33d,_0x37f33d,_0x37f33d);}}else{_0x1a04ab=_[_0x4e98('0x61')](_0x3fc3ca,[_0x4e98('0x4d'),_0x4e98('0x6b')]);_0x507f68[_0x4e98('0x4c')]=_0x4e98('0x6b');_0x54858e=as['buildExpression'](_0x5c5da5,_0x1a04ab[_0x4e98('0x3d')],_0x507f68);_0x487026[_0x1b0462](_0x54858e[_0x4e98('0x6c')],_0x54858e[_0x4e98('0x63')][_0x4e98('0x6d')],_0x54858e[_0x4e98('0x63')][_0x4e98('0x2d')]);}break;case'Tag':var _0x31bc87=_0x507f68['value'][_0x4e98('0x34')](',')[_0x4e98('0x31')](function(_0x22fc58){return Number(_0x22fc58);});_0x31bc87[_0x4e98('0x35')](function(_0x443bbd){_0x240f10['or'](_0x4e98('0x6e'),'%,'+_0x443bbd+',%');});_0x3757c7=_[_0x4e98('0x6f')](_0x3757c7,_0x31bc87);break;case _0x4e98('0x70'):if(_0x507f68[_0x4e98('0x67')]===_0x4e98('0x68')){_0x487026[_0x1b0462]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x507f68[_0x4e98('0x63')]+'%',null);}else{_0x1a04ab=_[_0x4e98('0x61')](_0x3fc3ca,[_0x4e98('0x4d'),'UserId']);_0x507f68['field']=_0x4e98('0x71');_0x54858e=as[_0x4e98('0x72')](_0x5c5da5,_0x1a04ab[_0x4e98('0x3d')],_0x507f68);_0x487026[_0x1b0462](_0x54858e[_0x4e98('0x6c')],_0x54858e[_0x4e98('0x63')][_0x4e98('0x6d')],_0x54858e[_0x4e98('0x63')]['end']);}break;case _0x4e98('0x73'):_0x54858e=as[_0x4e98('0x72')]('me',null,_0x507f68);_0x487026[_0x1b0462](_0x54858e[_0x4e98('0x6c')],_0x54858e[_0x4e98('0x63')][_0x4e98('0x6d')],_0x54858e[_0x4e98('0x63')][_0x4e98('0x2d')]);break;}}else{var _0x54858e=as['buildExpression'](_0x5c5da5,_0x1a04ab[_0x4e98('0x3d')],_0x507f68);_0x487026[_0x1b0462](_0x54858e[_0x4e98('0x6c')],_0x54858e[_0x4e98('0x63')]['start'],_0x54858e[_0x4e98('0x63')][_0x4e98('0x2d')]);}}}else{var _0x175172=_(_0x4bc0ed[_0x4e98('0x40')])[_0x4e98('0x41')]()[_0x4e98('0x31')](function(_0x1d07c1){return _[_0x4e98('0x74')](_0x3fc3ca,[_0x4e98('0x4d'),_0x1d07c1])?_0x1d07c1:undefined;})[_0x4e98('0x75')]()[_0x4e98('0x63')]();if(!_[_0x4e98('0x76')](_0x175172)){_0x175172['forEach'](function(_0x2ed881){if(_0x2ed881==='WhatsappAccountId'){_0x3a3b8c[_0x4e98('0x4a')](_0x4e98('0x77'),[][_0x4e98('0x78')](_0x4bc0ed['query'][_0x2ed881]));}else if(_0x2ed881===_0x4e98('0x79')){var _0x30fb30=JSON[_0x4e98('0x7a')](_0x4bc0ed['query'][_0x2ed881])['$gte'];var _0x35a01d=JSON[_0x4e98('0x7a')](_0x4bc0ed['query'][_0x2ed881])[_0x4e98('0x7b')];_0x3a3b8c[_0x4e98('0x4a')](_0x4e98('0x7c'),_0x30fb30,_0x35a01d);}else{if(_0x4bc0ed[_0x4e98('0x40')][_0x2ed881]===_0x4e98('0x7d')){_0x3a3b8c[_0x4e98('0x4a')]('i.'+_0x2ed881+_0x4e98('0x7e'));}else{_0x3a3b8c['where']('i.'+_0x2ed881+_0x4e98('0x7f'),_0x4bc0ed[_0x4e98('0x40')][_0x2ed881]);}}});}if(_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x80')]){if(_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x80')]==0x1){_0x3a3b8c[_0x4e98('0x64')](_0x4e98('0x81'));}else{_0x3a3b8c[_0x4e98('0x64')](_0x4e98('0x82'));}}if(_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x83')]){_0x3757c7=_[_0x4e98('0x84')](_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x83')])?_0x4bc0ed[_0x4e98('0x40')]['tag']:new Array(_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x83')]);_0x3757c7['forEach'](function(_0x5f072e){_0x240f10['or'](_0x4e98('0x6e'),'%,'+_0x5f072e+',%');});}if(_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x85')]){var _0x4ca188=_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x85')][_0x4e98('0x86')]('\x5c','\x5c\x5c')[_0x4e98('0x86')](/'/g,'\x27\x27');if(qs[_0x4e98('0x87')](_0x4ca188)){_0x487026['or']('i.id\x20LIKE\x20?',_0x4ca188+'%')['or'](_0x4e98('0x88'),_0x4ca188+'%');}else{_0x487026['or'](_0x4e98('0x89'),qs[_0x4e98('0x69')](_0x4ca188))['or'](_0x4e98('0x8a'),_0x4ca188+'%');}}}_0x3a3b8c[_0x4e98('0x4a')](_0x487026);_0x3a3b8c[_0x4e98('0x8b')](_0x4e98('0x8c'));var _0x3ef461={'type':db[_0x4e98('0x8d')][_0x4e98('0x8e')][_0x4e98('0x8f')],'raw':!![]};var _0x3f74bc=_0x3a3b8c['clone']();_0x3f74bc[_0x4e98('0x4c')](_0x4e98('0x8c'));_0x3f74bc[_0x4e98('0x4c')](_0x4e98('0x90'),'unreadMessages');if(_0x1c76e9[_0x4e98('0x48')]){_0x1c76e9[_0x4e98('0x48')][_0x4e98('0x35')](function(_0x469bc9){var _0x3b043a=_0x469bc9[0x0]===_0x4e98('0x91')?_0x469bc9[0x0]:'i.'+_0x469bc9[0x0];_0x3a3b8c[_0x4e98('0x48')](_0x3b043a,_0x469bc9[0x1]==='DESC'?![]:!![]);});}if(!_[_0x4e98('0x76')](_0x3757c7)){_0x3a3b8c['having'](_0x240f10);_0x3f74bc[_0x4e98('0x4a')](_0x4e98('0x92'),_0x3757c7);}BPromise[_0x4e98('0x93')]()[_0x4e98('0x2b')](function(){if(!_0x11fae2){if(_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x94')])return;_0x3f74bc[_0x4e98('0x4a')](_0x4e98('0x95'));_0x3a3b8c[_0x4e98('0x4a')](_0x4e98('0x95'));return;}if(_0x4bc0ed['user'][_0x4e98('0x96')]!==_0x4e98('0x97'))return;return _0x4bc0ed[_0x4e98('0x98')][_0x4e98('0x99')]({'attributes':['id'],'raw':!![]})[_0x4e98('0x2b')](function(_0x161ead){if(_[_0x4e98('0x76')](_0x161ead)){_0x3f74bc[_0x4e98('0x4a')](_0x4e98('0x9a'));_0x3a3b8c[_0x4e98('0x4a')]('i.WhatsappAccountId\x20IS\x20NULL');}else{_0x3f74bc[_0x4e98('0x4a')]('i.WhatsappAccountId\x20IN\x20?',_[_0x4e98('0x31')](_0x161ead,'id'));_0x3a3b8c[_0x4e98('0x4a')](_0x4e98('0x77'),_['map'](_0x161ead,'id'));}});})[_0x4e98('0x2b')](function(){if(_0x4bc0ed['user'][_0x4e98('0x96')]===_0x4e98('0x97')&&!_0x11fae2&&!_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x94')])return[];return db[_0x4e98('0x9b')]['query'](_0x3f74bc[_0x4e98('0x9c')](),_0x3ef461);})['then'](function(_0x31259f){_0x3a16b1['count']=_0x31259f[_0x4e98('0x45')];if(_0x3a16b1[_0x4e98('0x26')]===0x0)return[];return db['sequelize'][_0x4e98('0x40')](_0x32a7a2[_0x4e98('0x9c')](),_0x3ef461)[_0x4e98('0x2b')](function(_0x1fc234){_0x336df9=_[_0x4e98('0x9d')](_0x1fc234,'id');_0x3ef461=_[_0x4e98('0x9e')](_0x3ef461,{'model':db[_0x4e98('0x3a')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x4bc0ed[_0x4e98('0x40')][_0x4e98('0x44')]){_0x1c76e9[_0x4e98('0x43')][_0x4e98('0x35')](function(_0x5ec293){_0x3a3b8c[_0x4e98('0x4c')]('i.'+_0x5ec293);});}else{_0x3a3b8c[_0x4e98('0x4c')](_0x4e98('0x90'),_0x4e98('0x62'));_0x3a3b8c['field'](_0x4e98('0x9f'),_0x4e98('0xa0'));_0x3a3b8c['field'](_0x4e98('0xa1'),_0x4e98('0xa2'));_0x3a3b8c[_0x4e98('0x4c')](_0x4e98('0xa3'),'contactName');_0x3a3b8c['field'](_0x4e98('0xa4'));_0x3a3b8c[_0x4e98('0x4c')](_0x4e98('0xa5'),'Contact.firstName');_0x3a3b8c[_0x4e98('0x4c')](_0x4e98('0xa6'),_0x4e98('0xa7'));_0x3a3b8c['field'](_0x4e98('0xa8'),_0x4e98('0xa9'));_0x3a3b8c[_0x4e98('0x4c')](_0x4e98('0xaa'),'Contact.phone');_0x3a3b8c[_0x4e98('0x4c')]('c.mobile',_0x4e98('0xab'));_0x3a3b8c['field'](_0x4e98('0xac'),_0x4e98('0xad'));_0x3a3b8c[_0x4e98('0x4c')](_0x4e98('0xae'),_0x4e98('0xaf'));_0x3a3b8c[_0x4e98('0x4c')](_0x4e98('0xb0'),_0x4e98('0xb1'));_0x3a3b8c[_0x4e98('0x4c')](_0x4e98('0xb2'),_0x4e98('0x33'));}if(_0x1c76e9['limit'])_0x3a3b8c[_0x4e98('0x25')](_0x1c76e9[_0x4e98('0x25')]);if(_0x1c76e9[_0x4e98('0x27')])_0x3a3b8c[_0x4e98('0x27')](_0x1c76e9[_0x4e98('0x27')]);return db[_0x4e98('0x9b')][_0x4e98('0x40')](_0x3a3b8c[_0x4e98('0x9c')](),_0x3ef461);})[_0x4e98('0x2b')](function(_0x305c80){if(_0x305c80[_0x4e98('0x45')]>0x0)_0x54a03d[_0x4e98('0x4a')](_0x4e98('0xb3'),_[_0x4e98('0x31')](_0x305c80,'id'));return db[_0x4e98('0x9b')]['query'](_0x54a03d[_0x4e98('0x9c')](),_0x3ef461)['then'](function(_0x430d56){var _0x24507f=_[_0x4e98('0xb4')](_0x430d56,'WhatsappInteractionId');var _0x4f4bac=[];_0x305c80[_0x4e98('0x35')](function(_0x4a3ec6){_0x4f4bac[_0x4e98('0x37')](updateWhatsappInteraction(_0x4a3ec6,_0x336df9,_0x24507f));});return BPromise[_0x4e98('0xb5')](_0x4f4bac);});});})[_0x4e98('0x2b')](function(_0x433883){_0x3a16b1[_0x4e98('0xb6')]=_0x433883;return _0x3a16b1;})[_0x4e98('0x2b')](respondWithFilteredResult(_0x51dec2,_0x1c76e9))[_0x4e98('0x38')](handleError(_0x51dec2,null));};exports[_0x4e98('0xb7')]=function(_0x2b17a4,_0x43070a){var _0x163915={'raw':![],'where':{'id':_0x2b17a4['params']['id']}},_0x1155e4={};_0x1155e4[_0x4e98('0x3f')]=_[_0x4e98('0x41')](db[_0x4e98('0x3a')][_0x4e98('0x3b')]);_0x1155e4[_0x4e98('0x40')]=_[_0x4e98('0x41')](_0x2b17a4[_0x4e98('0x40')]);_0x1155e4[_0x4e98('0x42')]=_[_0x4e98('0xb8')](_0x1155e4[_0x4e98('0x3f')],_0x1155e4[_0x4e98('0x40')]);_0x163915[_0x4e98('0x43')]=_[_0x4e98('0xb8')](_0x1155e4[_0x4e98('0x3f')],qs[_0x4e98('0x44')](_0x2b17a4[_0x4e98('0x40')][_0x4e98('0x44')]));_0x163915[_0x4e98('0x43')]=_0x163915[_0x4e98('0x43')][_0x4e98('0x45')]?_0x163915['attributes']:_0x1155e4[_0x4e98('0x3f')];if(_0x2b17a4[_0x4e98('0x40')]['includeAll']){_0x163915[_0x4e98('0xb9')]=[{'all':!![]}];}_0x163915=_[_0x4e98('0x9e')]({},_0x163915,_0x2b17a4[_0x4e98('0xba')]);return db[_0x4e98('0x3a')][_0x4e98('0x61')](_0x163915)['then'](handleEntityNotFound(_0x43070a,null))[_0x4e98('0x2b')](respondWithResult(_0x43070a,null))[_0x4e98('0x38')](handleError(_0x43070a,null));};exports[_0x4e98('0xbb')]=function(_0x4cbe90,_0x4ebcb4){return db[_0x4e98('0x3a')][_0x4e98('0xbb')](_0x4cbe90['body'],{})[_0x4e98('0x2b')](respondWithResult(_0x4ebcb4,0xc9))[_0x4e98('0x38')](handleError(_0x4ebcb4,null));};exports[_0x4e98('0xbc')]=function(_0x1a30da,_0x52186d){if(_0x1a30da[_0x4e98('0x73')]['id']){delete _0x1a30da[_0x4e98('0x73')]['id'];}return db['WhatsappInteraction']['find']({'where':{'id':_0x1a30da['params']['id']}})['then'](handleEntityNotFound(_0x52186d,null))[_0x4e98('0x2b')](saveUpdates(_0x1a30da[_0x4e98('0x73')],null))[_0x4e98('0x2b')](respondWithResult(_0x52186d,null))['catch'](handleError(_0x52186d,null));};exports[_0x4e98('0x2c')]=function(_0x2dfde9,_0x205534){return db[_0x4e98('0x3a')][_0x4e98('0x61')]({'where':{'id':_0x2dfde9['params']['id']}})[_0x4e98('0x2b')](handleEntityNotFound(_0x205534,null))[_0x4e98('0x2b')](removeEntity(_0x205534,null))['catch'](handleError(_0x205534,null));};exports[_0x4e98('0xbd')]=function(_0x36f649,_0x5ee7c3){return db[_0x4e98('0x3a')][_0x4e98('0xbd')]()[_0x4e98('0x2b')](respondWithResult(_0x5ee7c3,null))[_0x4e98('0x38')](handleError(_0x5ee7c3,null));};exports['addMessage']=function(_0x1791a3,_0x21ca22,_0x422ce8){return db[_0x4e98('0xbe')][_0x4e98('0x61')]({'where':{'id':_0x1791a3[_0x4e98('0xbf')]['id']}})[_0x4e98('0x2b')](handleEntityNotFound(_0x21ca22,null))['then'](function(_0x8342ef){if(_0x8342ef){return _0x8342ef[_0x4e98('0xc0')](_0x1791a3[_0x4e98('0x73')]['ids'],_[_0x4e98('0xc1')](_0x1791a3[_0x4e98('0x73')],[_0x4e98('0xc2'),'id'])||{});}})[_0x4e98('0x2b')](respondWithResult(_0x21ca22,null))[_0x4e98('0x38')](handleError(_0x21ca22,null));};exports[_0x4e98('0xc3')]=function(_0x399ab1,_0x3e114f,_0x5e5348){var _0x444be1={'raw':![],'where':{}};var _0xad6230={};var _0x3a341a={'count':0x0,'rows':[]};return db['WhatsappInteraction'][_0x4e98('0xc4')]({'where':{'id':_0x399ab1[_0x4e98('0xbf')]['id']}})['then'](handleEntityNotFound(_0x3e114f,null))[_0x4e98('0x2b')](function(_0xa63d8c){if(_0xa63d8c){_0xad6230[_0x4e98('0x3f')]=_['keys'](db[_0x4e98('0xbe')][_0x4e98('0x3b')]);_0xad6230[_0x4e98('0x40')]=_[_0x4e98('0x41')](_0x399ab1[_0x4e98('0x40')]);_0xad6230['filters']=_[_0x4e98('0xb8')](_0xad6230[_0x4e98('0x3f')],_0xad6230['query']);_0x444be1[_0x4e98('0x43')]=_['intersection'](_0xad6230[_0x4e98('0x3f')],qs[_0x4e98('0x44')](_0x399ab1[_0x4e98('0x40')][_0x4e98('0x44')]));_0x444be1['attributes']=_0x444be1[_0x4e98('0x43')]['length']?_0x444be1[_0x4e98('0x43')]:_0xad6230[_0x4e98('0x3f')];if(!_0x399ab1[_0x4e98('0x40')][_0x4e98('0x46')](_0x4e98('0x47'))){_0x444be1['limit']=qs['limit'](_0x399ab1[_0x4e98('0x40')][_0x4e98('0x25')]);_0x444be1[_0x4e98('0x27')]=qs[_0x4e98('0x27')](_0x399ab1['query'][_0x4e98('0x27')]);}_0x444be1[_0x4e98('0x48')]=qs[_0x4e98('0x49')](_0x399ab1[_0x4e98('0x40')][_0x4e98('0x49')]);_0x444be1['where']=qs[_0x4e98('0x42')](_[_0x4e98('0x4b')](_0x399ab1[_0x4e98('0x40')],_0xad6230[_0x4e98('0x42')]));_0x444be1[_0x4e98('0x4a')][_0x4e98('0xc5')]=_0xa63d8c['id'];if(_0x399ab1[_0x4e98('0x40')][_0x4e98('0x85')]){_0x444be1[_0x4e98('0x4a')]=_[_0x4e98('0x9e')](_0x444be1[_0x4e98('0x4a')],{'$or':_['map'](_0x444be1[_0x4e98('0x43')],function(_0x18fc9e){var _0x983102={};_0x983102[_0x18fc9e]={'$like':'%'+_0x399ab1['query'][_0x4e98('0x85')]+'%'};return _0x983102;})});}if(_0x399ab1[_0x4e98('0x40')][_0x4e98('0xc6')]){var _0x2457ed=_0x399ab1[_0x4e98('0x40')][_0x4e98('0xc6')]['split'](',');var _0x47a966={};_0x47a966[_0x2457ed[0x0]]={'$gte':moment(_0x2457ed[0x1])['format'](_0x4e98('0xc7'))};_0x444be1[_0x4e98('0x4a')]=_[_0x4e98('0x9e')](_0x444be1[_0x4e98('0x4a')],_0x47a966);}_0x444be1=_[_0x4e98('0x9e')]({},_0x444be1,_0x399ab1[_0x4e98('0xba')]);return db[_0x4e98('0xbe')]['count']({'where':_0x444be1['where']})[_0x4e98('0x2b')](function(_0xf68da0){_0x3a341a['count']=_0xf68da0;if(_0x399ab1[_0x4e98('0x40')][_0x4e98('0xc8')]){_0x444be1['include']=[{'all':!![]}];}return db['WhatsappMessage']['findAll'](_0x444be1);})['then'](function(_0x16c7eb){_0x3a341a[_0x4e98('0xb6')]=_0x16c7eb;return _0x3a341a;});}})[_0x4e98('0x2b')](respondWithFilteredResult(_0x3e114f,_0x444be1))[_0x4e98('0x38')](handleError(_0x3e114f,null));};exports[_0x4e98('0xc9')]=function(_0x32412a,_0x5d397d,_0x4b5485){return db[_0x4e98('0x3a')][_0x4e98('0x61')]({'where':{'id':_0x32412a[_0x4e98('0xbf')]['id']}})[_0x4e98('0x2b')](handleEntityNotFound(_0x5d397d,null))[_0x4e98('0x2b')](function(_0x1551da){if(_0x1551da){return _0x1551da[_0x4e98('0xca')](_0x32412a[_0x4e98('0x73')][_0x4e98('0xc2')],_['omit'](_0x32412a['body'],[_0x4e98('0xc2'),'id'])||{})[_0x4e98('0xcb')](function(){return db[_0x4e98('0xcc')][_0x4e98('0xcd')]({'attributes':['id',_0x4e98('0x4d'),_0x4e98('0xce')],'where':{'id':_0x32412a['body'][_0x4e98('0xc2')]}});})[_0x4e98('0x2b')](function(_0x2da755){socket[_0x4e98('0xcf')](_0x4e98('0xd0'),{'id':Number(_0x32412a[_0x4e98('0xbf')]['id']),'tags':_0x2da755||[]});return{'id':Number(_0x32412a[_0x4e98('0xbf')]['id']),'tags':_0x2da755||[]};});}})[_0x4e98('0x2b')](respondWithResult(_0x5d397d,null))[_0x4e98('0x38')](handleError(_0x5d397d,null));};exports[_0x4e98('0xd1')]=function(_0x3b5be9,_0x1608d9,_0x3022b5){return db[_0x4e98('0x3a')][_0x4e98('0x61')]({'where':{'id':_0x3b5be9[_0x4e98('0xbf')]['id']}})[_0x4e98('0x2b')](handleEntityNotFound(_0x1608d9,null))[_0x4e98('0x2b')](function(_0x1805f1){if(_0x1805f1){return _0x1805f1['removeTags'](_0x3b5be9[_0x4e98('0x40')][_0x4e98('0xc2')]);}})[_0x4e98('0x2b')](respondWithStatusCode(_0x1608d9,null))[_0x4e98('0x38')](handleError(_0x1608d9,null));};exports[_0x4e98('0xd2')]=function(_0x1dc43a,_0x13f468){var _0x450235=moment()[_0x4e98('0xd3')]()[_0x4e98('0x9c')]();var _0x233206=path['join'](config[_0x4e98('0xd4')],_0x4e98('0xd5'),'files',_0x4e98('0xd6'));var _0x519645=path['join'](config[_0x4e98('0xd4')],_0x4e98('0xd5'),_0x4e98('0xd7'),_0x4e98('0xd8'));var _0x59cca0=path[_0x4e98('0xd9')](_0x233206,_0x450235);var _0x18d416=util['format']('transcript-%d-%s.zip',_0x1dc43a[_0x4e98('0xbf')]['id'],_0x450235);var _0x232b69=path[_0x4e98('0xd9')](_0x233206,_0x18d416);var _0x2ae81d=[];_0x2ae81d[_0x4e98('0x37')]({'model':db[_0x4e98('0x70')],'as':_0x4e98('0x70'),'attributes':['id',_0x4e98('0x32')],'raw':!![]});_0x2ae81d['push']({'model':db[_0x4e98('0xda')],'as':_0x4e98('0x66'),'attributes':['id',_0x4e98('0xdb'),_0x4e98('0xdc')],'raw':!![]});if(_0x1dc43a[_0x4e98('0x40')][_0x4e98('0xd8')]){_0x2ae81d[_0x4e98('0x37')]({'model':db[_0x4e98('0xdd')],'as':_0x4e98('0xdd'),'raw':!![]});}var _0x58ccdf=[{'model':db[_0x4e98('0xbe')],'as':'Messages','attributes':['id',_0x4e98('0x73'),_0x4e98('0x79'),_0x4e98('0xde'),_0x4e98('0xdf'),_0x4e98('0x80')],'include':_0x2ae81d}];_0x58ccdf[_0x4e98('0x37')]({'model':db[_0x4e98('0xe0')],'as':_0x4e98('0xe1'),'attributes':['id',_0x4e98('0x4d')]});_0x58ccdf['push']({'model':db['User'],'as':_0x4e98('0xe2'),'attributes':['id',_0x4e98('0x32')]});return db[_0x4e98('0x3a')]['find']({'where':{'id':_0x1dc43a[_0x4e98('0xbf')]['id']},'include':_0x58ccdf})[_0x4e98('0x2b')](handleEntityNotFound(_0x13f468,null))[_0x4e98('0x2b')](function(_0x257d4c){if(_0x257d4c){var _0x1c6d24=_0x257d4c[_0x4e98('0xe3')]({'plain':!![]});fs[_0x4e98('0xe4')](_0x59cca0);var _0x3fc560={'channel':_0x4e98('0xe5'),'account':_0x1c6d24[_0x4e98('0xe1')][_0x4e98('0x4d')],'agent':_0x1c6d24[_0x4e98('0xe2')]?_0x1c6d24['Owner'][_0x4e98('0x32')]:_0x4e98('0xe6'),'createdAt':moment(_0x1c6d24[_0x4e98('0x79')])[_0x4e98('0xe7')](_0x4e98('0xc7'))[_0x4e98('0x9c')](),'closedAt':_0x1c6d24['closed']?moment(_0x1c6d24[_0x4e98('0xe8')])['format'](_0x4e98('0xc7'))[_0x4e98('0x9c')]():'','disposition':_0x1c6d24[_0x4e98('0xe9')],'messages':_(_0x1c6d24[_0x4e98('0xea')])[_0x4e98('0x85')]({'secret':![]})['map'](function(_0x130a32){if(_0x130a32[_0x4e98('0xdd')]){var _0x7f833d=path[_0x4e98('0xd9')](_0x519645,_0x130a32[_0x4e98('0xdd')][_0x4e98('0xeb')]);if(fs[_0x4e98('0xec')](_0x7f833d)){fs[_0x4e98('0xed')](_0x7f833d)['pipe'](fs[_0x4e98('0xee')](path['join'](_0x59cca0,_0x130a32['Attachment'][_0x4e98('0xeb')])));}}return{'date':moment(_0x130a32[_0x4e98('0x79')])[_0x4e98('0xe7')](_0x4e98('0xc7'))[_0x4e98('0x9c')](),'sender':_0x130a32['direction']===_0x4e98('0xef')?_0x130a32[_0x4e98('0x70')]?_0x130a32[_0x4e98('0x70')][_0x4e98('0x32')]:_0x4e98('0xf0'):_0x130a32[_0x4e98('0x66')]['firstName']+(_0x130a32[_0x4e98('0x66')]['lastName']?'\x20'+_0x130a32[_0x4e98('0x66')][_0x4e98('0xdc')]:''),'body':_0x130a32[_0x4e98('0xdd')]?_0x130a32['Attachment'][_0x4e98('0xeb')]:_0x130a32[_0x4e98('0x73')],'direction':_0x130a32['direction']===_0x4e98('0xef')?'A':'C','secret':_0x130a32[_0x4e98('0xdf')],'read':_0x130a32[_0x4e98('0x80')],'attachment':_0x130a32[_0x4e98('0xdd')]};})['value']()};return ejs['renderFile'](path[_0x4e98('0xd9')](config[_0x4e98('0xd4')],'server','views',_0x4e98('0xf1')),{'interaction':_0x3fc560})[_0x4e98('0x2b')](function(_0x422852){var _0x19b988=path[_0x4e98('0xd9')](_0x59cca0,'transcript-'+_0x1c6d24['id']+'-'+_0x450235+'.pdf');var _0x563174={'path':_0x19b988,'channel':_0x4e98('0xe5'),'interactionId':_0x1c6d24['id']};return pdf['createPdfFromHTML'](_0x422852,_0x563174);})['then'](function(){return new BPromise(function(_0x99f7c4,_0x57839c){zipdir(_0x59cca0,{'saveTo':_0x232b69},function(_0x4c8e97,_0x4922c7){if(_0x4c8e97)return _0x57839c(_0x4c8e97);return _0x99f7c4(_0x4922c7);});})[_0x4e98('0x2b')](function(){return new BPromise(function(_0x357dfe,_0x1b7306){rimraf(_0x59cca0,function(_0x3b59d1){if(_0x3b59d1)_0x1b7306(_0x3b59d1);return _0x357dfe();});});})['then'](function(){return _0x13f468['download'](_0x232b69,_0x18d416,function(_0x3fe97c){if(_0x3fe97c){console[_0x4e98('0xf2')](_0x4e98('0xf3'),_0x3fe97c);}else{fs[_0x4e98('0xf4')](_0x232b69);}});});});}else{return _0x13f468['sendStatus'](0xc8);}})[_0x4e98('0x38')](handleError(_0x13f468,null));};