Built motion from commit 9d1906d1.|2.5.40
[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 _0x1399=['text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','body','some','compact','isEmpty','WhatsappAccountId','concat','createdAt','parse','$gte','$lte','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`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','SELECT','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','a.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','Contact.lastName','Contact.phone','Contact.mobile','c.fax','Contact.fax','o.internal','Owner.internal','WhatsappInteractionId','rows','show','params','includeAll','merge','options','create','update','describe','addMessage','ids','omit','getMessages','findOne','format','WhatsappMessage','include','addTags','setTags','spread','findAll','emit','whatsappInteractionTags:save','removeTags','download','join','root','server','files','tmp','transcript-%d-%s.zip','firstName','lastName','attachments','Attachment','direction','secret','WhatsappAccount','Account','get','Whatsapp','Owner','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','Messages','basename','existsSync','createReadStream','pipe','createWriteStream','out','System','renderFile','createPdfFromHTML','log','err','unlinkSync','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','defaults','localhost','socket.io-emitter','redis','./whatsappInteraction.socket','status','end','undefined','limit','count','offset','set','Content-Range','json','apply','reject','save','then','destroy','sendStatus','error','stack','send','Users','map','fullname','TagIds','Tags','split','forEach','push','catch','waiting','talking','answered','unmanaged','total','closed','UserId','WhatsappInteraction','rawAttributes','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','name','color','from','tools_tags','u.id','ui.WhatsappInteractionId','left_join','users','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','whatsapp_accounts','whatsapp_messages','me.WhatsappInteractionId\x20=\x20i.id','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression'];(function(_0x54b062,_0x264bb5){var _0x255e41=function(_0x3c7e6f){while(--_0x3c7e6f){_0x54b062['push'](_0x54b062['shift']());}};_0x255e41(++_0x264bb5);}(_0x1399,0x16c));var _0x9139=function(_0x29982b,_0x594e0){_0x29982b=_0x29982b-0x0;var _0xb1f0a9=_0x1399[_0x29982b];return _0xb1f0a9;};'use strict';var emlformat=require(_0x9139('0x0'));var rimraf=require(_0x9139('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9139('0x2'));var rp=require('request-promise');var moment=require(_0x9139('0x3'));var BPromise=require(_0x9139('0x4'));var Mustache=require(_0x9139('0x5'));var util=require(_0x9139('0x6'));var path=require(_0x9139('0x7'));var sox=require(_0x9139('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9139('0x9'));var _=require(_0x9139('0xa'));var squel=require(_0x9139('0xb'));var crypto=require('crypto');var jsforce=require(_0x9139('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x9139('0xd'));var Papa=require(_0x9139('0xe'));var Redis=require('ioredis');var authService=require(_0x9139('0xf'));var qs=require(_0x9139('0x10'));var as=require('../../components/parsers/advancedSearch');var pdf=require('../../components/export/pdf');var hardwareService=require(_0x9139('0x11'));var logger=require(_0x9139('0x12'))(_0x9139('0x13'));var utils=require(_0x9139('0x14'));var config=require(_0x9139('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config['redis']=_[_0x9139('0x16')](config['redis'],{'host':_0x9139('0x17'),'port':0x18eb});var socket=require(_0x9139('0x18'))(new Redis(config[_0x9139('0x19')]));require(_0x9139('0x1a'))['register'](socket);function respondWithStatusCode(_0x3b1f21,_0x4d1a85){_0x4d1a85=_0x4d1a85||0xcc;return function(_0x58307f){if(_0x58307f){return _0x3b1f21['sendStatus'](_0x4d1a85);}return _0x3b1f21[_0x9139('0x1b')](_0x4d1a85)[_0x9139('0x1c')]();};}function respondWithResult(_0x1cd24e,_0x3fadf7){_0x3fadf7=_0x3fadf7||0xc8;return function(_0x18801b){if(_0x18801b){return _0x1cd24e[_0x9139('0x1b')](_0x3fadf7)['json'](_0x18801b);}};}function respondWithFilteredResult(_0x57b9df,_0x13cab8){return function(_0xe39cbc){if(_0xe39cbc){var _0x5e0a59=typeof _0x13cab8['offset']===_0x9139('0x1d')&&typeof _0x13cab8[_0x9139('0x1e')]==='undefined';var _0x144893=_0xe39cbc[_0x9139('0x1f')];var _0x1a592e=_0x5e0a59?0x0:_0x13cab8[_0x9139('0x20')];var _0xd2eb33=_0x5e0a59?_0xe39cbc[_0x9139('0x1f')]:_0x13cab8[_0x9139('0x20')]+_0x13cab8[_0x9139('0x1e')];var _0x3e95f8;if(_0xd2eb33>=_0x144893){_0xd2eb33=_0x144893;_0x3e95f8=0xc8;}else{_0x3e95f8=0xce;}_0x57b9df[_0x9139('0x1b')](_0x3e95f8);return _0x57b9df[_0x9139('0x21')](_0x9139('0x22'),_0x1a592e+'-'+_0xd2eb33+'/'+_0x144893)[_0x9139('0x23')](_0xe39cbc);}return null;};}function patchUpdates(_0x105170){return function(_0x27f3e4){try{jsonpatch[_0x9139('0x24')](_0x27f3e4,_0x105170,!![]);}catch(_0x1aee3b){return BPromise[_0x9139('0x25')](_0x1aee3b);}return _0x27f3e4[_0x9139('0x26')]();};}function saveUpdates(_0x4b7fe0,_0x28bf7d){return function(_0x31c22d){if(_0x31c22d){return _0x31c22d['update'](_0x4b7fe0)[_0x9139('0x27')](function(_0x2ee4bb){return _0x2ee4bb;});}return null;};}function removeEntity(_0x10bfa0,_0x4a3ed2){return function(_0x4118dc){if(_0x4118dc){return _0x4118dc[_0x9139('0x28')]()['then'](function(){_0x10bfa0[_0x9139('0x1b')](0xcc)[_0x9139('0x1c')]();});}};}function handleEntityNotFound(_0x452d9a,_0x55e95f){return function(_0x1c4cda){if(!_0x1c4cda){_0x452d9a[_0x9139('0x29')](0x194);}return _0x1c4cda;};}function handleError(_0x2a35fd,_0x22994c){_0x22994c=_0x22994c||0x1f4;return function(_0x215194){logger[_0x9139('0x2a')](_0x215194[_0x9139('0x2b')]);if(_0x215194['name']){delete _0x215194['name'];}_0x2a35fd[_0x9139('0x1b')](_0x22994c)[_0x9139('0x2c')](_0x215194);};}function getInteractionUsers(_0xd27355,_0x4c1693){return new BPromise(function(_0x50d545,_0x24e8d5){try{if(_0x4c1693[_0xd27355['id']]){_0xd27355[_0x9139('0x2d')]=_[_0x9139('0x2e')](_0x4c1693[_0xd27355['id']],function(_0x35b033){return{'id':_0x35b033['id'],'fullname':_0x35b033[_0x9139('0x2f')]};});}}catch(_0x541644){_0x24e8d5(_0x541644);}_0x50d545(_0xd27355);});}function getInteractionTags(_0x5a1673,_0x2f26de){return new BPromise(function(_0x57a6fb,_0x4de1a2){try{if(_0x5a1673[_0x9139('0x30')]){_0x5a1673[_0x9139('0x31')]=[];_0x5a1673['TagIds'][_0x9139('0x32')](',')[_0x9139('0x33')](function(_0x5b609d){_0x5a1673[_0x9139('0x31')][_0x9139('0x34')](_0x2f26de[_0x5b609d]);});}delete _0x5a1673[_0x9139('0x30')];}catch(_0x11844b){_0x4de1a2(_0x11844b);}_0x57a6fb(_0x5a1673);});}function updateWhatsappInteraction(_0x148cef,_0xdd7ec6,_0x2f9349){return new BPromise(function(_0x9c2926,_0x1e46a1){return getInteractionUsers(_0x148cef,_0x2f9349)[_0x9139('0x27')](function(_0x16790d){return getInteractionTags(_0x16790d,_0xdd7ec6);})['then'](function(_0x2f554a){return getStateInteraction(_0x2f554a);})[_0x9139('0x27')](function(_0x4baf9d){_0x9c2926(_0x4baf9d);})[_0x9139('0x35')](function(_0x4899e7){_0x1e46a1(_0x4899e7);});});}function getStateInteraction(_0x3bb965){return new BPromise(function(_0x47b937){_0x3bb965[_0x9139('0x36')]=0x0;_0x3bb965[_0x9139('0x37')]=0x0;_0x3bb965[_0x9139('0x38')]=0x0;_0x3bb965[_0x9139('0x39')]=0x0;_0x3bb965[_0x9139('0x3a')]=0x0;if(!_0x3bb965[_0x9139('0x3b')]&&!_0x3bb965[_0x9139('0x3c')]){_0x3bb965[_0x9139('0x36')]+=0x1;}if(!_0x3bb965[_0x9139('0x3b')]&&_0x3bb965[_0x9139('0x3c')]){_0x3bb965['talking']+=0x1;if(_0x3bb965[_0x9139('0x36')]){_0x3bb965[_0x9139('0x36')]-=0x1;}}if(_0x3bb965[_0x9139('0x3b')]&&_0x3bb965[_0x9139('0x3c')]){_0x3bb965[_0x9139('0x38')]+=0x1;if(_0x3bb965[_0x9139('0x37')]){_0x3bb965[_0x9139('0x37')]-=0x1;}}if(_0x3bb965['closed']&&!_0x3bb965[_0x9139('0x3c')]){_0x3bb965['unmanaged']+=0x1;if(_0x3bb965[_0x9139('0x36')]){_0x3bb965[_0x9139('0x36')]-=0x1;}}_0x3bb965[_0x9139('0x3a')]+=0x1;_0x47b937(_0x3bb965);});}exports['index']=function(_0x1228b6,_0x31f594){var _0x1d5426={},_0x236513={},_0x115a15={'count':0x0,'rows':[]};var _0xe90991=_[_0x9139('0x2e')](db[_0x9139('0x3d')][_0x9139('0x3e')],function(_0x487a22){return{'name':_0x487a22['fieldName'],'type':_0x487a22[_0x9139('0x3f')][_0x9139('0x40')]};});_0x236513[_0x9139('0x41')]=_['map'](_0xe90991,'name');_0x236513['query']=_[_0x9139('0x42')](_0x1228b6[_0x9139('0x43')]);_0x236513[_0x9139('0x44')]=_[_0x9139('0x45')](_0x236513[_0x9139('0x41')],_0x236513['query']);_0x1d5426[_0x9139('0x46')]=_[_0x9139('0x45')](_0x236513[_0x9139('0x41')],qs[_0x9139('0x47')](_0x1228b6[_0x9139('0x43')]['fields']));_0x1d5426[_0x9139('0x46')]=_0x1d5426[_0x9139('0x46')][_0x9139('0x48')]?_0x1d5426[_0x9139('0x46')]:_0x236513['model'];if(!_0x1228b6['query'][_0x9139('0x49')](_0x9139('0x4a'))){_0x1d5426['limit']=qs['limit'](_0x1228b6[_0x9139('0x43')][_0x9139('0x1e')]);_0x1d5426['offset']=qs[_0x9139('0x20')](_0x1228b6[_0x9139('0x43')]['offset']);}_0x1d5426[_0x9139('0x4b')]=qs['sort'](_0x1228b6['query'][_0x9139('0x4c')]);_0x1d5426[_0x9139('0x4d')]=qs[_0x9139('0x44')](_[_0x9139('0x4e')](_0x1228b6[_0x9139('0x43')],_0x236513['filters']),_0xe90991);var _0x3e126c=[];var _0xc55b16=squel[_0x9139('0x4f')]()['field']('id')[_0x9139('0x50')](_0x9139('0x51'))[_0x9139('0x50')](_0x9139('0x52'))[_0x9139('0x53')](_0x9139('0x54'));var _0x2e2b85=squel[_0x9139('0x4f')]()[_0x9139('0x50')](_0x9139('0x55'))[_0x9139('0x50')]('u.fullname')[_0x9139('0x50')](_0x9139('0x56'))[_0x9139('0x53')]('user_has_whatsapp_interactions','ui')[_0x9139('0x57')](_0x9139('0x58'),'u','u.id\x20=\x20ui.UserId');var _0x2f4a6f=squel[_0x9139('0x4f')]()[_0x9139('0x53')]('whatsapp_interactions','i')[_0x9139('0x57')](_0x9139('0x59'),'c',_0x9139('0x5a'))[_0x9139('0x57')]('users','o',_0x9139('0x5b'))[_0x9139('0x57')](_0x9139('0x5c'),'a','a.id\x20=\x20i.WhatsappAccountId')[_0x9139('0x57')](_0x9139('0x5d'),'me',_0x9139('0x5e'))[_0x9139('0x57')](_0x9139('0x5f'),'it',_0x9139('0x60'))[_0x9139('0x57')]('tools_tags','t',_0x9139('0x61'));var _0x2d361f=squel['expr']();var _0x1717f3=[];var _0x1e1290=squel[_0x9139('0x62')]();var _0x1a0841;if(_0x1228b6[_0x9139('0x43')]['search']){_0x1a0841=as[_0x9139('0x63')](_0x1228b6[_0x9139('0x43')]['search']);var _0x500863=_0x1a0841[_0x9139('0x64')];for(var _0x32d717=0x0;_0x32d717<_0x1a0841[_0x9139('0x65')]['length'];_0x32d717++){var _0x2e8d06=_0x1a0841['conditions'][_0x32d717];var _0x59e08d='i';var _0x3cfe52=_[_0x9139('0x66')](_0xe90991,[_0x9139('0x51'),_0x2e8d06[_0x9139('0x50')]]);if(!_0x3cfe52){switch(_0x2e8d06['field']){case _0x9139('0x67'):if(_0x2e8d06[_0x9139('0x68')]==0x1){_0x2f4a6f[_0x9139('0x69')]('`'+_0x2e8d06['field']+_0x9139('0x6a'));}else{_0x2f4a6f[_0x9139('0x69')]('`'+_0x2e8d06[_0x9139('0x50')]+_0x9139('0x6b'));}break;case _0x9139('0x6c'):if(_0x2e8d06[_0x9139('0x6d')]===_0x9139('0x6e')){if(_0x2e8d06[_0x9139('0x68')][_0x9139('0x32')]('\x20')[_0x9139('0x48')]>0x1){_0x2d361f[_0x500863](_0x9139('0x6f'),qs[_0x9139('0x70')](_0x2e8d06[_0x9139('0x68')]),null);}else{var _0x3ff150='%'+_0x2e8d06['value']+'%';_0x2d361f[_0x500863](_0x9139('0x71'),_0x3ff150,_0x3ff150,_0x3ff150);}}else{_0x3cfe52=_[_0x9139('0x66')](_0xe90991,[_0x9139('0x51'),_0x9139('0x72')]);_0x2e8d06[_0x9139('0x50')]='ContactId';_0x18480e=as[_0x9139('0x73')](_0x59e08d,_0x3cfe52[_0x9139('0x3f')],_0x2e8d06);_0x2d361f[_0x500863](_0x18480e[_0x9139('0x74')],_0x18480e[_0x9139('0x68')][_0x9139('0x75')],_0x18480e['value']['end']);}break;case _0x9139('0x76'):var _0x3a0bc6=_0x2e8d06['value'][_0x9139('0x32')](',')[_0x9139('0x2e')](function(_0x2cc47b){return Number(_0x2cc47b);});_0x3a0bc6[_0x9139('0x33')](function(_0x3cbf93){_0x1e1290['or'](_0x9139('0x77'),'%,'+_0x3cbf93+',%');});_0x1717f3=_[_0x9139('0x78')](_0x1717f3,_0x3a0bc6);break;case _0x9139('0x79'):if(_0x2e8d06[_0x9139('0x6d')]==='$substring'){_0x2d361f[_0x500863](_0x9139('0x7a'),'%'+_0x2e8d06[_0x9139('0x68')]+'%',null);}else{_0x3cfe52=_[_0x9139('0x66')](_0xe90991,[_0x9139('0x51'),'UserId']);_0x2e8d06['field']=_0x9139('0x3c');_0x18480e=as[_0x9139('0x73')](_0x59e08d,_0x3cfe52[_0x9139('0x3f')],_0x2e8d06);_0x2d361f[_0x500863](_0x18480e[_0x9139('0x74')],_0x18480e['value'][_0x9139('0x75')],_0x18480e[_0x9139('0x68')]['end']);}break;case _0x9139('0x7b'):_0x18480e=as[_0x9139('0x73')]('me',null,_0x2e8d06);_0x2d361f[_0x500863](_0x18480e[_0x9139('0x74')],_0x18480e[_0x9139('0x68')][_0x9139('0x75')],_0x18480e[_0x9139('0x68')][_0x9139('0x1c')]);break;}}else{var _0x18480e=as['buildExpression'](_0x59e08d,_0x3cfe52['type'],_0x2e8d06);_0x2d361f[_0x500863](_0x18480e['text'],_0x18480e[_0x9139('0x68')][_0x9139('0x75')],_0x18480e[_0x9139('0x68')]['end']);}}}else{var _0x42f66c=_(_0x1228b6[_0x9139('0x43')])[_0x9139('0x42')]()[_0x9139('0x2e')](function(_0x2b76c5){return _[_0x9139('0x7c')](_0xe90991,['name',_0x2b76c5])?_0x2b76c5:undefined;})[_0x9139('0x7d')]()['value']();if(!_[_0x9139('0x7e')](_0x42f66c)){_0x42f66c['forEach'](function(_0x15f19b){if(_0x15f19b===_0x9139('0x7f')){_0x2f4a6f['where']('i.WhatsappAccountId\x20IN\x20?',[][_0x9139('0x80')](_0x1228b6[_0x9139('0x43')][_0x15f19b]));}else if(_0x15f19b===_0x9139('0x81')){var _0x4cd75e=JSON[_0x9139('0x82')](_0x1228b6[_0x9139('0x43')][_0x15f19b])[_0x9139('0x83')];var _0x307bd7=JSON['parse'](_0x1228b6['query'][_0x15f19b])[_0x9139('0x84')];_0x2f4a6f[_0x9139('0x4d')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x4cd75e,_0x307bd7);}else{if(_0x1228b6[_0x9139('0x43')][_0x15f19b]===_0x9139('0x85')){_0x2f4a6f[_0x9139('0x4d')]('i.'+_0x15f19b+_0x9139('0x86'));}else{_0x2f4a6f[_0x9139('0x4d')]('i.'+_0x15f19b+_0x9139('0x87'),_0x1228b6[_0x9139('0x43')][_0x15f19b]);}}});}if(_0x1228b6[_0x9139('0x43')][_0x9139('0x88')]){if(_0x1228b6[_0x9139('0x43')][_0x9139('0x88')]==0x1){_0x2f4a6f[_0x9139('0x69')](_0x9139('0x89'));}else{_0x2f4a6f['having'](_0x9139('0x8a'));}}if(_0x1228b6[_0x9139('0x43')][_0x9139('0x8b')]){_0x1717f3=_[_0x9139('0x8c')](_0x1228b6[_0x9139('0x43')]['tag'])?_0x1228b6[_0x9139('0x43')]['tag']:new Array(_0x1228b6[_0x9139('0x43')][_0x9139('0x8b')]);_0x1717f3[_0x9139('0x33')](function(_0x58ccea){_0x1e1290['or'](_0x9139('0x77'),'%,'+_0x58ccea+',%');});}if(_0x1228b6[_0x9139('0x43')]['filter']){var _0x3ca9aa=_0x1228b6[_0x9139('0x43')][_0x9139('0x8d')][_0x9139('0x8e')]('\x5c','\x5c\x5c')[_0x9139('0x8e')](/'/g,'\x27\x27');if(qs[_0x9139('0x8f')](_0x3ca9aa)){_0x2d361f['or'](_0x9139('0x90'),_0x3ca9aa+'%')['or'](_0x9139('0x91'),_0x3ca9aa+'%');}else{_0x2d361f['or'](_0x9139('0x92'),qs['getFullTextValue'](_0x3ca9aa))['or'](_0x9139('0x93'),_0x3ca9aa+'%');}}}_0x2f4a6f[_0x9139('0x4d')](_0x2d361f);_0x2f4a6f[_0x9139('0x94')](_0x9139('0x95'));var _0x276609={'type':db['Sequelize'][_0x9139('0x96')][_0x9139('0x97')],'raw':!![]};var _0x551f3f=_0x2f4a6f['clone']();_0x551f3f[_0x9139('0x50')](_0x9139('0x95'));_0x551f3f[_0x9139('0x50')](_0x9139('0x98'),'unreadMessages');if(_0x1d5426[_0x9139('0x4b')]){_0x1d5426[_0x9139('0x4b')][_0x9139('0x33')](function(_0x2e5727){var _0xf3162b=_0x2e5727[0x0]===_0x9139('0x99')?_0x2e5727[0x0]:'i.'+_0x2e5727[0x0];_0x2f4a6f[_0x9139('0x4b')](_0xf3162b,_0x2e5727[0x1]===_0x9139('0x9a')?![]:!![]);});}if(!_[_0x9139('0x7e')](_0x1717f3)){_0x2f4a6f[_0x9139('0x69')](_0x1e1290);_0x551f3f[_0x9139('0x4d')](_0x9139('0x9b'),_0x1717f3);}BPromise[_0x9139('0x9c')]()[_0x9139('0x27')](function(){if(!_0x1a0841){if(_0x1228b6[_0x9139('0x43')][_0x9139('0x7f')])return;_0x551f3f[_0x9139('0x4d')](_0x9139('0x9d'));_0x2f4a6f[_0x9139('0x4d')]('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x1228b6[_0x9139('0x9e')][_0x9139('0x9f')]!==_0x9139('0xa0'))return;return _0x1228b6[_0x9139('0x9e')][_0x9139('0xa1')]({'attributes':['id'],'raw':!![]})['then'](function(_0x44dfc7){if(_[_0x9139('0x7e')](_0x44dfc7)){_0x551f3f[_0x9139('0x4d')](_0x9139('0xa2'));_0x2f4a6f[_0x9139('0x4d')](_0x9139('0xa2'));}else{_0x551f3f[_0x9139('0x4d')]('i.WhatsappAccountId\x20IN\x20?',_['map'](_0x44dfc7,'id'));_0x2f4a6f[_0x9139('0x4d')](_0x9139('0xa3'),_[_0x9139('0x2e')](_0x44dfc7,'id'));}});})[_0x9139('0x27')](function(){if(_0x1228b6['user']['role']===_0x9139('0xa0')&&!_0x1a0841&&!_0x1228b6[_0x9139('0x43')][_0x9139('0x7f')])return[];return db[_0x9139('0xa4')][_0x9139('0x43')](_0x551f3f[_0x9139('0xa5')](),_0x276609);})[_0x9139('0x27')](function(_0x2f25f0){_0x115a15[_0x9139('0x1f')]=_0x2f25f0['length'];if(_0x115a15[_0x9139('0x1f')]===0x0)return[];return db['sequelize'][_0x9139('0x43')](_0xc55b16[_0x9139('0xa5')](),_0x276609)[_0x9139('0x27')](function(_0x3cfe3a){_0x3e126c=_['keyBy'](_0x3cfe3a,'id');_0x276609=_['merge'](_0x276609,{'model':db[_0x9139('0x3d')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1228b6[_0x9139('0x43')][_0x9139('0x47')]){_0x1d5426[_0x9139('0x46')][_0x9139('0x33')](function(_0x49bdc7){_0x2f4a6f['field']('i.'+_0x49bdc7);});}else{_0x2f4a6f[_0x9139('0x50')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x9139('0x67'));_0x2f4a6f[_0x9139('0x50')](_0x9139('0xa6'),'Account.key');_0x2f4a6f[_0x9139('0x50')](_0x9139('0xa7'),_0x9139('0xa8'));_0x2f4a6f[_0x9139('0x50')](_0x9139('0xa9'),_0x9139('0x99'));_0x2f4a6f['field'](_0x9139('0xaa'));_0x2f4a6f[_0x9139('0x50')](_0x9139('0xab'),_0x9139('0xac'));_0x2f4a6f['field']('c.lastName',_0x9139('0xad'));_0x2f4a6f[_0x9139('0x50')]('c.email','Contact.email');_0x2f4a6f[_0x9139('0x50')]('c.phone',_0x9139('0xae'));_0x2f4a6f['field']('c.mobile',_0x9139('0xaf'));_0x2f4a6f[_0x9139('0x50')](_0x9139('0xb0'),_0x9139('0xb1'));_0x2f4a6f[_0x9139('0x50')]('o.fullname','Owner.fullname');_0x2f4a6f[_0x9139('0x50')](_0x9139('0xb2'),_0x9139('0xb3'));_0x2f4a6f[_0x9139('0x50')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x9139('0x30'));}if(_0x1d5426['limit'])_0x2f4a6f[_0x9139('0x1e')](_0x1d5426[_0x9139('0x1e')]);if(_0x1d5426[_0x9139('0x20')])_0x2f4a6f['offset'](_0x1d5426[_0x9139('0x20')]);return db['sequelize']['query'](_0x2f4a6f[_0x9139('0xa5')](),_0x276609);})[_0x9139('0x27')](function(_0x3c4726){if(_0x3c4726['length']>0x0)_0x2e2b85[_0x9139('0x4d')]('ui.WhatsappInteractionId\x20IN\x20?',_[_0x9139('0x2e')](_0x3c4726,'id'));return db[_0x9139('0xa4')][_0x9139('0x43')](_0x2e2b85[_0x9139('0xa5')](),_0x276609)[_0x9139('0x27')](function(_0x34e7cc){var _0x4f8e38=_['groupBy'](_0x34e7cc,_0x9139('0xb4'));var _0x32a440=[];_0x3c4726[_0x9139('0x33')](function(_0x3003ba){_0x32a440[_0x9139('0x34')](updateWhatsappInteraction(_0x3003ba,_0x3e126c,_0x4f8e38));});return BPromise['all'](_0x32a440);});});})['then'](function(_0x28b7bc){_0x115a15[_0x9139('0xb5')]=_0x28b7bc;return _0x115a15;})[_0x9139('0x27')](respondWithFilteredResult(_0x31f594,_0x1d5426))[_0x9139('0x35')](handleError(_0x31f594,null));};exports[_0x9139('0xb6')]=function(_0x3cdff9,_0x5614df){var _0x55e8d7={'raw':![],'where':{'id':_0x3cdff9[_0x9139('0xb7')]['id']}},_0x2fb0f0={};_0x2fb0f0[_0x9139('0x41')]=_['keys'](db['WhatsappInteraction'][_0x9139('0x3e')]);_0x2fb0f0['query']=_[_0x9139('0x42')](_0x3cdff9['query']);_0x2fb0f0[_0x9139('0x44')]=_[_0x9139('0x45')](_0x2fb0f0['model'],_0x2fb0f0[_0x9139('0x43')]);_0x55e8d7['attributes']=_['intersection'](_0x2fb0f0[_0x9139('0x41')],qs[_0x9139('0x47')](_0x3cdff9[_0x9139('0x43')][_0x9139('0x47')]));_0x55e8d7[_0x9139('0x46')]=_0x55e8d7[_0x9139('0x46')]['length']?_0x55e8d7[_0x9139('0x46')]:_0x2fb0f0[_0x9139('0x41')];if(_0x3cdff9[_0x9139('0x43')][_0x9139('0xb8')]){_0x55e8d7['include']=[{'all':!![]}];}_0x55e8d7=_[_0x9139('0xb9')]({},_0x55e8d7,_0x3cdff9[_0x9139('0xba')]);return db[_0x9139('0x3d')][_0x9139('0x66')](_0x55e8d7)[_0x9139('0x27')](handleEntityNotFound(_0x5614df,null))[_0x9139('0x27')](respondWithResult(_0x5614df,null))[_0x9139('0x35')](handleError(_0x5614df,null));};exports[_0x9139('0xbb')]=function(_0x5480ae,_0x1e7c87){return db[_0x9139('0x3d')][_0x9139('0xbb')](_0x5480ae[_0x9139('0x7b')],{})[_0x9139('0x27')](respondWithResult(_0x1e7c87,0xc9))[_0x9139('0x35')](handleError(_0x1e7c87,null));};exports[_0x9139('0xbc')]=function(_0x2b5251,_0x4ab1ed){if(_0x2b5251['body']['id']){delete _0x2b5251[_0x9139('0x7b')]['id'];}return db[_0x9139('0x3d')][_0x9139('0x66')]({'where':{'id':_0x2b5251[_0x9139('0xb7')]['id']}})[_0x9139('0x27')](handleEntityNotFound(_0x4ab1ed,null))[_0x9139('0x27')](saveUpdates(_0x2b5251[_0x9139('0x7b')],null))[_0x9139('0x27')](respondWithResult(_0x4ab1ed,null))[_0x9139('0x35')](handleError(_0x4ab1ed,null));};exports['destroy']=function(_0x6460e,_0x1c53ff){return db[_0x9139('0x3d')][_0x9139('0x66')]({'where':{'id':_0x6460e['params']['id']}})[_0x9139('0x27')](handleEntityNotFound(_0x1c53ff,null))['then'](removeEntity(_0x1c53ff,null))[_0x9139('0x35')](handleError(_0x1c53ff,null));};exports[_0x9139('0xbd')]=function(_0x8ee6f3,_0x30ac16){return db[_0x9139('0x3d')][_0x9139('0xbd')]()[_0x9139('0x27')](respondWithResult(_0x30ac16,null))[_0x9139('0x35')](handleError(_0x30ac16,null));};exports['addMessage']=function(_0x561e1f,_0x4a85f8,_0xd0ba70){return db['WhatsappMessage'][_0x9139('0x66')]({'where':{'id':_0x561e1f[_0x9139('0xb7')]['id']}})[_0x9139('0x27')](handleEntityNotFound(_0x4a85f8,null))[_0x9139('0x27')](function(_0x25f52b){if(_0x25f52b){return _0x25f52b[_0x9139('0xbe')](_0x561e1f[_0x9139('0x7b')][_0x9139('0xbf')],_[_0x9139('0xc0')](_0x561e1f['body'],[_0x9139('0xbf'),'id'])||{});}})['then'](respondWithResult(_0x4a85f8,null))[_0x9139('0x35')](handleError(_0x4a85f8,null));};exports[_0x9139('0xc1')]=function(_0x25170b,_0x2c3a84,_0x518031){var _0x4e1267={'raw':![],'where':{}};var _0x376298={};var _0x146e0f={'count':0x0,'rows':[]};return db[_0x9139('0x3d')][_0x9139('0xc2')]({'where':{'id':_0x25170b[_0x9139('0xb7')]['id']}})[_0x9139('0x27')](handleEntityNotFound(_0x2c3a84,null))[_0x9139('0x27')](function(_0x3c337a){if(_0x3c337a){_0x376298[_0x9139('0x41')]=_[_0x9139('0x42')](db['WhatsappMessage']['rawAttributes']);_0x376298[_0x9139('0x43')]=_[_0x9139('0x42')](_0x25170b[_0x9139('0x43')]);_0x376298[_0x9139('0x44')]=_[_0x9139('0x45')](_0x376298[_0x9139('0x41')],_0x376298[_0x9139('0x43')]);_0x4e1267[_0x9139('0x46')]=_['intersection'](_0x376298[_0x9139('0x41')],qs[_0x9139('0x47')](_0x25170b['query'][_0x9139('0x47')]));_0x4e1267[_0x9139('0x46')]=_0x4e1267[_0x9139('0x46')][_0x9139('0x48')]?_0x4e1267[_0x9139('0x46')]:_0x376298[_0x9139('0x41')];if(!_0x25170b[_0x9139('0x43')][_0x9139('0x49')](_0x9139('0x4a'))){_0x4e1267['limit']=qs[_0x9139('0x1e')](_0x25170b['query']['limit']);_0x4e1267[_0x9139('0x20')]=qs[_0x9139('0x20')](_0x25170b[_0x9139('0x43')][_0x9139('0x20')]);}_0x4e1267['order']=qs['sort'](_0x25170b[_0x9139('0x43')][_0x9139('0x4c')]);_0x4e1267['where']=qs[_0x9139('0x44')](_[_0x9139('0x4e')](_0x25170b['query'],_0x376298[_0x9139('0x44')]));_0x4e1267['where'][_0x9139('0xb4')]=_0x3c337a['id'];if(_0x25170b[_0x9139('0x43')][_0x9139('0x8d')]){_0x4e1267[_0x9139('0x4d')]=_[_0x9139('0xb9')](_0x4e1267['where'],{'$or':_['map'](_0x4e1267['attributes'],function(_0x50c307){var _0x443380={};_0x443380[_0x50c307]={'$like':'%'+_0x25170b['query'][_0x9139('0x8d')]+'%'};return _0x443380;})});}if(_0x25170b[_0x9139('0x43')][_0x9139('0x83')]){var _0x18d8b5=_0x25170b[_0x9139('0x43')][_0x9139('0x83')][_0x9139('0x32')](',');var _0x36cc61={};_0x36cc61[_0x18d8b5[0x0]]={'$gte':moment(_0x18d8b5[0x1])[_0x9139('0xc3')]('YYYY-MM-DD\x20HH:mm:ss')};_0x4e1267['where']=_[_0x9139('0xb9')](_0x4e1267[_0x9139('0x4d')],_0x36cc61);}_0x4e1267=_['merge']({},_0x4e1267,_0x25170b['options']);return db[_0x9139('0xc4')][_0x9139('0x1f')]({'where':_0x4e1267[_0x9139('0x4d')]})[_0x9139('0x27')](function(_0x37c7b3){_0x146e0f['count']=_0x37c7b3;if(_0x25170b['query'][_0x9139('0xb8')]){_0x4e1267[_0x9139('0xc5')]=[{'all':!![]}];}return db[_0x9139('0xc4')]['findAll'](_0x4e1267);})[_0x9139('0x27')](function(_0x42a571){_0x146e0f[_0x9139('0xb5')]=_0x42a571;return _0x146e0f;});}})[_0x9139('0x27')](respondWithFilteredResult(_0x2c3a84,_0x4e1267))[_0x9139('0x35')](handleError(_0x2c3a84,null));};exports[_0x9139('0xc6')]=function(_0x48e79e,_0x3f3aa1,_0x204b9d){return db[_0x9139('0x3d')][_0x9139('0x66')]({'where':{'id':_0x48e79e[_0x9139('0xb7')]['id']}})[_0x9139('0x27')](handleEntityNotFound(_0x3f3aa1,null))[_0x9139('0x27')](function(_0x1365da){if(_0x1365da){return _0x1365da[_0x9139('0xc7')](_0x48e79e['body'][_0x9139('0xbf')],_[_0x9139('0xc0')](_0x48e79e['body'],[_0x9139('0xbf'),'id'])||{})[_0x9139('0xc8')](function(){return db[_0x9139('0x76')][_0x9139('0xc9')]({'attributes':['id',_0x9139('0x51'),_0x9139('0x52')],'where':{'id':_0x48e79e[_0x9139('0x7b')]['ids']}});})[_0x9139('0x27')](function(_0x33cd46){socket[_0x9139('0xca')](_0x9139('0xcb'),{'id':Number(_0x48e79e[_0x9139('0xb7')]['id']),'tags':_0x33cd46||[]});return{'id':Number(_0x48e79e[_0x9139('0xb7')]['id']),'tags':_0x33cd46||[]};});}})[_0x9139('0x27')](respondWithResult(_0x3f3aa1,null))[_0x9139('0x35')](handleError(_0x3f3aa1,null));};exports[_0x9139('0xcc')]=function(_0x30a9b9,_0x5c4982,_0x5ad8bf){return db['WhatsappInteraction'][_0x9139('0x66')]({'where':{'id':_0x30a9b9['params']['id']}})['then'](handleEntityNotFound(_0x5c4982,null))[_0x9139('0x27')](function(_0x40dda2){if(_0x40dda2){return _0x40dda2['removeTags'](_0x30a9b9[_0x9139('0x43')]['ids']);}})[_0x9139('0x27')](respondWithStatusCode(_0x5c4982,null))[_0x9139('0x35')](handleError(_0x5c4982,null));};exports[_0x9139('0xcd')]=function(_0x10ea9c,_0x1a6c21){var _0x5e15e3=moment()['unix']()[_0x9139('0xa5')]();var _0x16d1d0=path[_0x9139('0xce')](config[_0x9139('0xcf')],_0x9139('0xd0'),_0x9139('0xd1'),_0x9139('0xd2'));var _0x4b5e79=path[_0x9139('0xce')](config[_0x9139('0xcf')],'server',_0x9139('0xd1'),'attachments');var _0x2619d1=path['join'](_0x16d1d0,_0x5e15e3);var _0x3eb0a3=util[_0x9139('0xc3')](_0x9139('0xd3'),_0x10ea9c[_0x9139('0xb7')]['id'],_0x5e15e3);var _0x5db3a2=path['join'](_0x16d1d0,_0x3eb0a3);var _0x32171f=[];_0x32171f[_0x9139('0x34')]({'model':db[_0x9139('0x79')],'as':_0x9139('0x79'),'attributes':['id',_0x9139('0x2f')],'raw':!![]});_0x32171f[_0x9139('0x34')]({'model':db['CmContact'],'as':_0x9139('0x6c'),'attributes':['id',_0x9139('0xd4'),_0x9139('0xd5')],'raw':!![]});if(_0x10ea9c[_0x9139('0x43')][_0x9139('0xd6')]){_0x32171f[_0x9139('0x34')]({'model':db[_0x9139('0xd7')],'as':_0x9139('0xd7'),'raw':!![]});}var _0x1546f7=[{'model':db[_0x9139('0xc4')],'as':'Messages','attributes':['id','body',_0x9139('0x81'),_0x9139('0xd8'),_0x9139('0xd9'),_0x9139('0x88')],'include':_0x32171f}];_0x1546f7[_0x9139('0x34')]({'model':db[_0x9139('0xda')],'as':_0x9139('0xdb'),'attributes':['id',_0x9139('0x51')]});_0x1546f7[_0x9139('0x34')]({'model':db[_0x9139('0x79')],'as':'Owner','attributes':['id',_0x9139('0x2f')]});return db['WhatsappInteraction']['find']({'where':{'id':_0x10ea9c['params']['id']},'include':_0x1546f7})[_0x9139('0x27')](handleEntityNotFound(_0x1a6c21,null))['then'](function(_0x40f851){if(_0x40f851){var _0xf88a66=_0x40f851[_0x9139('0xdc')]({'plain':!![]});fs['mkdirSync'](_0x2619d1);var _0x5b1c9e={'channel':_0x9139('0xdd'),'account':_0xf88a66[_0x9139('0xdb')][_0x9139('0x51')],'agent':_0xf88a66[_0x9139('0xde')]?_0xf88a66[_0x9139('0xde')]['fullname']:_0x9139('0xdf'),'createdAt':moment(_0xf88a66['createdAt'])['format'](_0x9139('0xe0'))['toString'](),'closedAt':_0xf88a66[_0x9139('0x3b')]?moment(_0xf88a66[_0x9139('0xe1')])['format'](_0x9139('0xe0'))[_0x9139('0xa5')]():'','disposition':_0xf88a66[_0x9139('0xe2')],'messages':_(_0xf88a66[_0x9139('0xe3')])[_0x9139('0x8d')]({'secret':![]})['map'](function(_0x4efeab){if(_0x4efeab[_0x9139('0xd7')]){var _0xfaa62=path[_0x9139('0xce')](_0x4b5e79,_0x4efeab[_0x9139('0xd7')][_0x9139('0xe4')]);if(fs[_0x9139('0xe5')](_0xfaa62)){fs[_0x9139('0xe6')](_0xfaa62)[_0x9139('0xe7')](fs[_0x9139('0xe8')](path[_0x9139('0xce')](_0x2619d1,_0x4efeab[_0x9139('0xd7')]['basename'])));}}return{'date':moment(_0x4efeab[_0x9139('0x81')])[_0x9139('0xc3')](_0x9139('0xe0'))[_0x9139('0xa5')](),'sender':_0x4efeab[_0x9139('0xd8')]===_0x9139('0xe9')?_0x4efeab['User']?_0x4efeab[_0x9139('0x79')][_0x9139('0x2f')]:_0x9139('0xea'):_0x4efeab[_0x9139('0x6c')][_0x9139('0xd4')]+(_0x4efeab[_0x9139('0x6c')][_0x9139('0xd5')]?'\x20'+_0x4efeab[_0x9139('0x6c')][_0x9139('0xd5')]:''),'body':_0x4efeab['Attachment']?_0x4efeab[_0x9139('0xd7')][_0x9139('0xe4')]:_0x4efeab[_0x9139('0x7b')],'direction':_0x4efeab[_0x9139('0xd8')]===_0x9139('0xe9')?'A':'C','secret':_0x4efeab['secret'],'read':_0x4efeab['read'],'attachment':_0x4efeab[_0x9139('0xd7')]};})[_0x9139('0x68')]()};return ejs[_0x9139('0xeb')](path[_0x9139('0xce')](config[_0x9139('0xcf')],'server','views','downloadInteraction.ejs'),{'interaction':_0x5b1c9e})[_0x9139('0x27')](function(_0x42c8fd){var _0x376698=path['join'](_0x2619d1,'transcript-'+_0xf88a66['id']+'-'+_0x5e15e3+'.pdf');var _0x20bbea={'path':_0x376698,'channel':_0x9139('0xdd'),'interactionId':_0xf88a66['id']};return pdf[_0x9139('0xec')](_0x42c8fd,_0x20bbea);})[_0x9139('0x27')](function(){return new BPromise(function(_0x52f8b5,_0x1c1c3f){zipdir(_0x2619d1,{'saveTo':_0x5db3a2},function(_0x2e7501,_0xfed663){if(_0x2e7501)return _0x1c1c3f(_0x2e7501);return _0x52f8b5(_0xfed663);});})[_0x9139('0x27')](function(){return new BPromise(function(_0x598935,_0x494d32){rimraf(_0x2619d1,function(_0x46a881){if(_0x46a881)_0x494d32(_0x46a881);return _0x598935();});});})[_0x9139('0x27')](function(){return _0x1a6c21['download'](_0x5db3a2,_0x3eb0a3,function(_0x3c9c2b){if(_0x3c9c2b){console[_0x9139('0xed')](_0x9139('0xee'),_0x3c9c2b);}else{fs[_0x9139('0xef')](_0x5db3a2);}});});});}else{return _0x1a6c21['sendStatus'](0xc8);}})[_0x9139('0x35')](handleError(_0x1a6c21,null));};