1c3539c068e7f83d1e57f6930e21f16c591a99fd
[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 _0x65cb=['left_join','from','whatsapp_interactions','cm_contacts','users','o.id\x20=\x20i.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','me.WhatsappInteractionId\x20=\x20i.id','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','expr','search','parseSearch','sqlOperator','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','start','body','some','compact','isEmpty','WhatsappAccountId','where','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','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?','i.id','Sequelize','QueryTypes','SELECT','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','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','i.WhatsappAccountId\x20IN\x20?','agent','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','Contact.firstName','c.lastName','c.email','Contact.email','Contact.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','push','all','rows','show','params','include','options','create','destroy','describe','addMessage','WhatsappMessage','ids','omit','getMessages','findOne','pick','WhatsappInteractionId','YYYY-MM-DD\x20HH:mm:ss','includeAll','findAll','setTags','spread','emit','whatsappInteractionTags:save','download','unix','join','root','files','tmp','server','format','CmContact','firstName','lastName','Attachment','Messages','direction','secret','Account','Owner','get','mkdirSync','Whatsapp','N.A.','closedAt','disposition','basename','existsSync','createReadStream','createWriteStream','out','System','renderFile','downloadInteraction.ejs','.pdf','log','err','unlinkSync','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/export/pdf','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./whatsappInteraction.socket','register','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','end','sendStatus','error','name','map','fullname','Tags','TagIds','split','catch','waiting','talking','unmanaged','total','closed','UserId','answered','index','WhatsappInteraction','rawAttributes','type','key','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','field','color','select'];(function(_0x1b00e8,_0x37cce9){var _0x523a49=function(_0x328180){while(--_0x328180){_0x1b00e8['push'](_0x1b00e8['shift']());}};_0x523a49(++_0x37cce9);}(_0x65cb,0xa4));var _0xb65c=function(_0x517e3b,_0x17d945){_0x517e3b=_0x517e3b-0x0;var _0x1dedf9=_0x65cb[_0x517e3b];return _0x1dedf9;};'use strict';var emlformat=require(_0xb65c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb65c('0x1'));var jsonpatch=require(_0xb65c('0x2'));var rp=require(_0xb65c('0x3'));var moment=require('moment');var BPromise=require(_0xb65c('0x4'));var Mustache=require(_0xb65c('0x5'));var util=require(_0xb65c('0x6'));var path=require(_0xb65c('0x7'));var sox=require(_0xb65c('0x8'));var csv=require('to-csv');var ejs=require(_0xb65c('0x9'));var fs=require('fs');var fs_extra=require(_0xb65c('0xa'));var _=require(_0xb65c('0xb'));var squel=require(_0xb65c('0xc'));var crypto=require(_0xb65c('0xd'));var jsforce=require(_0xb65c('0xe'));var deskjs=require(_0xb65c('0xf'));var toCsv=require(_0xb65c('0x10'));var querystring=require('querystring');var Papa=require(_0xb65c('0x11'));var Redis=require(_0xb65c('0x12'));var authService=require(_0xb65c('0x13'));var qs=require(_0xb65c('0x14'));var as=require('../../components/parsers/advancedSearch');var pdf=require(_0xb65c('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb65c('0x16'))(_0xb65c('0x17'));var utils=require(_0xb65c('0x18'));var config=require(_0xb65c('0x19'));var licenseUtil=require(_0xb65c('0x1a'));var db=require(_0xb65c('0x1b'))['db'];config['redis']=_[_0xb65c('0x1c')](config[_0xb65c('0x1d')],{'host':_0xb65c('0x1e'),'port':0x18eb});var socket=require(_0xb65c('0x1f'))(new Redis(config[_0xb65c('0x1d')]));require(_0xb65c('0x20'))[_0xb65c('0x21')](socket);function respondWithStatusCode(_0x48c337,_0x3bd91d){_0x3bd91d=_0x3bd91d||0xcc;return function(_0x22eb85){if(_0x22eb85){return _0x48c337['sendStatus'](_0x3bd91d);}return _0x48c337[_0xb65c('0x22')](_0x3bd91d)['end']();};}function respondWithResult(_0x32f4b5,_0x20b28e){_0x20b28e=_0x20b28e||0xc8;return function(_0x2666e4){if(_0x2666e4){return _0x32f4b5[_0xb65c('0x22')](_0x20b28e)[_0xb65c('0x23')](_0x2666e4);}};}function respondWithFilteredResult(_0x396eb2,_0x1bca9d){return function(_0x203c7b){if(_0x203c7b){var _0x199b13=typeof _0x1bca9d[_0xb65c('0x24')]===_0xb65c('0x25')&&typeof _0x1bca9d[_0xb65c('0x26')]===_0xb65c('0x25');var _0x2a7c3d=_0x203c7b[_0xb65c('0x27')];var _0x48aedb=_0x199b13?0x0:_0x1bca9d[_0xb65c('0x24')];var _0x2733c6=_0x199b13?_0x203c7b[_0xb65c('0x27')]:_0x1bca9d[_0xb65c('0x24')]+_0x1bca9d[_0xb65c('0x26')];var _0xad9da4;if(_0x2733c6>=_0x2a7c3d){_0x2733c6=_0x2a7c3d;_0xad9da4=0xc8;}else{_0xad9da4=0xce;}_0x396eb2[_0xb65c('0x22')](_0xad9da4);return _0x396eb2[_0xb65c('0x28')](_0xb65c('0x29'),_0x48aedb+'-'+_0x2733c6+'/'+_0x2a7c3d)[_0xb65c('0x23')](_0x203c7b);}return null;};}function patchUpdates(_0x1730ad){return function(_0x30d735){try{jsonpatch[_0xb65c('0x2a')](_0x30d735,_0x1730ad,!![]);}catch(_0x33961d){return BPromise[_0xb65c('0x2b')](_0x33961d);}return _0x30d735[_0xb65c('0x2c')]();};}function saveUpdates(_0x108eb9,_0x4ad9e4){return function(_0xe6e1b0){if(_0xe6e1b0){return _0xe6e1b0[_0xb65c('0x2d')](_0x108eb9)[_0xb65c('0x2e')](function(_0x585f93){return _0x585f93;});}return null;};}function removeEntity(_0x1b7e00,_0x4c5627){return function(_0x49035e){if(_0x49035e){return _0x49035e['destroy']()[_0xb65c('0x2e')](function(){_0x1b7e00[_0xb65c('0x22')](0xcc)[_0xb65c('0x2f')]();});}};}function handleEntityNotFound(_0xc65b5a,_0x4a9b0c){return function(_0x22bf5b){if(!_0x22bf5b){_0xc65b5a[_0xb65c('0x30')](0x194);}return _0x22bf5b;};}function handleError(_0x3e372d,_0x21cb9c){_0x21cb9c=_0x21cb9c||0x1f4;return function(_0x1ffc77){logger[_0xb65c('0x31')](_0x1ffc77['stack']);if(_0x1ffc77[_0xb65c('0x32')]){delete _0x1ffc77[_0xb65c('0x32')];}_0x3e372d[_0xb65c('0x22')](_0x21cb9c)['send'](_0x1ffc77);};}function getInteractionUsers(_0x44fe3b,_0x5f5ca7){return new BPromise(function(_0x393320,_0x1284cd){try{if(_0x5f5ca7[_0x44fe3b['id']]){_0x44fe3b['Users']=_[_0xb65c('0x33')](_0x5f5ca7[_0x44fe3b['id']],function(_0x472bb7){return{'id':_0x472bb7['id'],'fullname':_0x472bb7[_0xb65c('0x34')]};});}}catch(_0xa6b257){_0x1284cd(_0xa6b257);}_0x393320(_0x44fe3b);});}function getInteractionTags(_0x1b3240,_0x2f33bc){return new BPromise(function(_0x358d20,_0x2153c8){try{if(_0x1b3240['TagIds']){_0x1b3240[_0xb65c('0x35')]=[];_0x1b3240[_0xb65c('0x36')][_0xb65c('0x37')](',')['forEach'](function(_0x4d9959){_0x1b3240[_0xb65c('0x35')]['push'](_0x2f33bc[_0x4d9959]);});}delete _0x1b3240[_0xb65c('0x36')];}catch(_0x52fe04){_0x2153c8(_0x52fe04);}_0x358d20(_0x1b3240);});}function updateWhatsappInteraction(_0x34c7c1,_0x387a60,_0x22f1ae){return new BPromise(function(_0x13deeb,_0x5dff9c){return getInteractionUsers(_0x34c7c1,_0x22f1ae)[_0xb65c('0x2e')](function(_0x590520){return getInteractionTags(_0x590520,_0x387a60);})[_0xb65c('0x2e')](function(_0x560c3f){return getStateInteraction(_0x560c3f);})[_0xb65c('0x2e')](function(_0x4070ea){_0x13deeb(_0x4070ea);})[_0xb65c('0x38')](function(_0x2b9c85){_0x5dff9c(_0x2b9c85);});});}function getStateInteraction(_0x5e375b){return new BPromise(function(_0x2ec9f5){_0x5e375b[_0xb65c('0x39')]=0x0;_0x5e375b[_0xb65c('0x3a')]=0x0;_0x5e375b['answered']=0x0;_0x5e375b[_0xb65c('0x3b')]=0x0;_0x5e375b[_0xb65c('0x3c')]=0x0;if(!_0x5e375b['closed']&&!_0x5e375b['UserId']){_0x5e375b[_0xb65c('0x39')]+=0x1;}if(!_0x5e375b[_0xb65c('0x3d')]&&_0x5e375b[_0xb65c('0x3e')]){_0x5e375b[_0xb65c('0x3a')]+=0x1;if(_0x5e375b['waiting']){_0x5e375b[_0xb65c('0x39')]-=0x1;}}if(_0x5e375b[_0xb65c('0x3d')]&&_0x5e375b[_0xb65c('0x3e')]){_0x5e375b[_0xb65c('0x3f')]+=0x1;if(_0x5e375b['talking']){_0x5e375b[_0xb65c('0x3a')]-=0x1;}}if(_0x5e375b[_0xb65c('0x3d')]&&!_0x5e375b[_0xb65c('0x3e')]){_0x5e375b[_0xb65c('0x3b')]+=0x1;if(_0x5e375b[_0xb65c('0x39')]){_0x5e375b[_0xb65c('0x39')]-=0x1;}}_0x5e375b[_0xb65c('0x3c')]+=0x1;_0x2ec9f5(_0x5e375b);});}exports[_0xb65c('0x40')]=function(_0xc83cb3,_0x338e36){var _0x765981={},_0x16c859={},_0x244362={'count':0x0,'rows':[]};var _0x5b7d0f=_['map'](db[_0xb65c('0x41')][_0xb65c('0x42')],function(_0x298edd){return{'name':_0x298edd['fieldName'],'type':_0x298edd[_0xb65c('0x43')][_0xb65c('0x44')]};});_0x16c859['model']=_['map'](_0x5b7d0f,_0xb65c('0x32'));_0x16c859[_0xb65c('0x45')]=_[_0xb65c('0x46')](_0xc83cb3[_0xb65c('0x45')]);_0x16c859[_0xb65c('0x47')]=_[_0xb65c('0x48')](_0x16c859['model'],_0x16c859[_0xb65c('0x45')]);_0x765981[_0xb65c('0x49')]=_[_0xb65c('0x48')](_0x16c859[_0xb65c('0x4a')],qs[_0xb65c('0x4b')](_0xc83cb3[_0xb65c('0x45')]['fields']));_0x765981[_0xb65c('0x49')]=_0x765981[_0xb65c('0x49')][_0xb65c('0x4c')]?_0x765981[_0xb65c('0x49')]:_0x16c859[_0xb65c('0x4a')];if(!_0xc83cb3['query'][_0xb65c('0x4d')](_0xb65c('0x4e'))){_0x765981[_0xb65c('0x26')]=qs[_0xb65c('0x26')](_0xc83cb3[_0xb65c('0x45')]['limit']);_0x765981['offset']=qs[_0xb65c('0x24')](_0xc83cb3[_0xb65c('0x45')][_0xb65c('0x24')]);}_0x765981[_0xb65c('0x4f')]=qs['sort'](_0xc83cb3[_0xb65c('0x45')][_0xb65c('0x50')]);_0x765981['where']=qs[_0xb65c('0x47')](_['pick'](_0xc83cb3[_0xb65c('0x45')],_0x16c859[_0xb65c('0x47')]),_0x5b7d0f);var _0x2ad35c=[];var _0x1af087=squel['select']()[_0xb65c('0x51')]('id')[_0xb65c('0x51')](_0xb65c('0x32'))[_0xb65c('0x51')](_0xb65c('0x52'))['from']('tools_tags');var _0x1657b6=squel[_0xb65c('0x53')]()[_0xb65c('0x51')]('u.id')[_0xb65c('0x51')]('u.fullname')[_0xb65c('0x51')]('ui.WhatsappInteractionId')['from']('user_has_whatsapp_interactions','ui')[_0xb65c('0x54')]('users','u','u.id\x20=\x20ui.UserId');var _0x41664f=squel[_0xb65c('0x53')]()[_0xb65c('0x55')](_0xb65c('0x56'),'i')[_0xb65c('0x54')](_0xb65c('0x57'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join'](_0xb65c('0x58'),'o',_0xb65c('0x59'))['left_join'](_0xb65c('0x5a'),'a',_0xb65c('0x5b'))[_0xb65c('0x54')]('whatsapp_messages','me',_0xb65c('0x5c'))['left_join'](_0xb65c('0x5d'),'it',_0xb65c('0x5e'))[_0xb65c('0x54')]('tools_tags','t','t.id\x20=\x20it.TagId');var _0x852886=squel[_0xb65c('0x5f')]();var _0x3e5972=[];var _0x5bca91=squel[_0xb65c('0x5f')]();var _0x42b32e;if(_0xc83cb3['query'][_0xb65c('0x60')]){_0x42b32e=as[_0xb65c('0x61')](_0xc83cb3['query'][_0xb65c('0x60')]);var _0x3e461d=_0x42b32e[_0xb65c('0x62')];for(var _0x74cebb=0x0;_0x74cebb<_0x42b32e['conditions'][_0xb65c('0x4c')];_0x74cebb++){var _0x56da01=_0x42b32e['conditions'][_0x74cebb];var _0x395a9c='i';var _0x129c81=_[_0xb65c('0x63')](_0x5b7d0f,[_0xb65c('0x32'),_0x56da01[_0xb65c('0x51')]]);if(!_0x129c81){switch(_0x56da01[_0xb65c('0x51')]){case _0xb65c('0x64'):if(_0x56da01[_0xb65c('0x65')]==0x1){_0x41664f[_0xb65c('0x66')]('`'+_0x56da01['field']+_0xb65c('0x67'));}else{_0x41664f['having']('`'+_0x56da01[_0xb65c('0x51')]+_0xb65c('0x68'));}break;case _0xb65c('0x69'):if(_0x56da01[_0xb65c('0x6a')]==='$substring'){if(_0x56da01['value']['split']('\x20')['length']>0x1){_0x852886[_0x3e461d](_0xb65c('0x6b'),qs['getFullTextValue'](_0x56da01['value']),null);}else{var _0x49fc78='%'+_0x56da01[_0xb65c('0x65')]+'%';_0x852886[_0x3e461d](_0xb65c('0x6c'),_0x49fc78,_0x49fc78,_0x49fc78);}}else{_0x129c81=_['find'](_0x5b7d0f,[_0xb65c('0x32'),_0xb65c('0x6d')]);_0x56da01['field']='ContactId';_0x3dcc4b=as[_0xb65c('0x6e')](_0x395a9c,_0x129c81[_0xb65c('0x43')],_0x56da01);_0x852886[_0x3e461d](_0x3dcc4b[_0xb65c('0x6f')],_0x3dcc4b[_0xb65c('0x65')]['start'],_0x3dcc4b[_0xb65c('0x65')]['end']);}break;case _0xb65c('0x70'):var _0x4f4822=_0x56da01[_0xb65c('0x65')]['split'](',')[_0xb65c('0x33')](function(_0xbb88c6){return Number(_0xbb88c6);});_0x4f4822[_0xb65c('0x71')](function(_0x465d03){_0x5bca91['or'](_0xb65c('0x72'),'%,'+_0x465d03+',%');});_0x3e5972=_[_0xb65c('0x73')](_0x3e5972,_0x4f4822);break;case _0xb65c('0x74'):if(_0x56da01['operator']==='$substring'){_0x852886[_0x3e461d](_0xb65c('0x75'),'%'+_0x56da01[_0xb65c('0x65')]+'%',null);}else{_0x129c81=_['find'](_0x5b7d0f,[_0xb65c('0x32'),_0xb65c('0x3e')]);_0x56da01[_0xb65c('0x51')]='UserId';_0x3dcc4b=as[_0xb65c('0x6e')](_0x395a9c,_0x129c81[_0xb65c('0x43')],_0x56da01);_0x852886[_0x3e461d](_0x3dcc4b[_0xb65c('0x6f')],_0x3dcc4b['value'][_0xb65c('0x76')],_0x3dcc4b[_0xb65c('0x65')][_0xb65c('0x2f')]);}break;case _0xb65c('0x77'):_0x3dcc4b=as['buildExpression']('me',null,_0x56da01);_0x852886[_0x3e461d](_0x3dcc4b['text'],_0x3dcc4b[_0xb65c('0x65')]['start'],_0x3dcc4b[_0xb65c('0x65')][_0xb65c('0x2f')]);break;}}else{var _0x3dcc4b=as[_0xb65c('0x6e')](_0x395a9c,_0x129c81[_0xb65c('0x43')],_0x56da01);_0x852886[_0x3e461d](_0x3dcc4b[_0xb65c('0x6f')],_0x3dcc4b[_0xb65c('0x65')][_0xb65c('0x76')],_0x3dcc4b['value'][_0xb65c('0x2f')]);}}}else{var _0x593af0=_(_0xc83cb3[_0xb65c('0x45')])[_0xb65c('0x46')]()[_0xb65c('0x33')](function(_0x4c9877){return _[_0xb65c('0x78')](_0x5b7d0f,[_0xb65c('0x32'),_0x4c9877])?_0x4c9877:undefined;})[_0xb65c('0x79')]()[_0xb65c('0x65')]();if(!_[_0xb65c('0x7a')](_0x593af0)){_0x593af0[_0xb65c('0x71')](function(_0xb949fd){if(_0xb949fd===_0xb65c('0x7b')){_0x41664f[_0xb65c('0x7c')]('i.WhatsappAccountId\x20IN\x20?',[][_0xb65c('0x7d')](_0xc83cb3[_0xb65c('0x45')][_0xb949fd]));}else if(_0xb949fd===_0xb65c('0x7e')){var _0x10eaff=JSON[_0xb65c('0x7f')](_0xc83cb3[_0xb65c('0x45')][_0xb949fd])[_0xb65c('0x80')];var _0x47962d=JSON['parse'](_0xc83cb3[_0xb65c('0x45')][_0xb949fd])[_0xb65c('0x81')];_0x41664f['where'](_0xb65c('0x82'),_0x10eaff,_0x47962d);}else{if(_0xc83cb3[_0xb65c('0x45')][_0xb949fd]===_0xb65c('0x83')){_0x41664f[_0xb65c('0x7c')]('i.'+_0xb949fd+_0xb65c('0x84'));}else{_0x41664f[_0xb65c('0x7c')]('i.'+_0xb949fd+_0xb65c('0x85'),_0xc83cb3[_0xb65c('0x45')][_0xb949fd]);}}});}if(_0xc83cb3[_0xb65c('0x45')][_0xb65c('0x86')]){if(_0xc83cb3[_0xb65c('0x45')][_0xb65c('0x86')]==0x1){_0x41664f[_0xb65c('0x66')](_0xb65c('0x87'));}else{_0x41664f[_0xb65c('0x66')](_0xb65c('0x88'));}}if(_0xc83cb3[_0xb65c('0x45')][_0xb65c('0x89')]){_0x3e5972=_[_0xb65c('0x8a')](_0xc83cb3[_0xb65c('0x45')]['tag'])?_0xc83cb3[_0xb65c('0x45')][_0xb65c('0x89')]:new Array(_0xc83cb3['query']['tag']);_0x3e5972[_0xb65c('0x71')](function(_0x292eec){_0x5bca91['or'](_0xb65c('0x72'),'%,'+_0x292eec+',%');});}if(_0xc83cb3[_0xb65c('0x45')][_0xb65c('0x8b')]){var _0xfae7f1=_0xc83cb3[_0xb65c('0x45')]['filter'][_0xb65c('0x8c')]('\x5c','\x5c\x5c')[_0xb65c('0x8c')](/'/g,'\x27\x27');if(qs['isNumeric'](_0xfae7f1)){_0x852886['or'](_0xb65c('0x8d'),_0xfae7f1+'%')['or'](_0xb65c('0x8e'),_0xfae7f1+'%');}else{_0x852886['or'](_0xb65c('0x8f'),qs['getFullTextValue'](_0xfae7f1))['or'](_0xb65c('0x90'),_0xfae7f1+'%');}}}_0x41664f['where'](_0x852886);_0x41664f['group'](_0xb65c('0x91'));var _0x2a052e={'type':db[_0xb65c('0x92')][_0xb65c('0x93')][_0xb65c('0x94')],'raw':!![]};var _0x44cb52=_0x41664f[_0xb65c('0x95')]();_0x44cb52['field'](_0xb65c('0x91'));_0x44cb52['field'](_0xb65c('0x96'),_0xb65c('0x64'));if(_0x765981[_0xb65c('0x4f')]){_0x765981[_0xb65c('0x4f')]['forEach'](function(_0x59f5f6){var _0x5f4d98=_0x59f5f6[0x0]===_0xb65c('0x97')?_0x59f5f6[0x0]:'i.'+_0x59f5f6[0x0];_0x41664f['order'](_0x5f4d98,_0x59f5f6[0x1]===_0xb65c('0x98')?![]:!![]);});}if(!_[_0xb65c('0x7a')](_0x3e5972)){_0x41664f[_0xb65c('0x66')](_0x5bca91);_0x44cb52[_0xb65c('0x7c')](_0xb65c('0x99'),_0x3e5972);}BPromise[_0xb65c('0x9a')]()[_0xb65c('0x2e')](function(){if(!_0x42b32e){if(_0xc83cb3[_0xb65c('0x45')][_0xb65c('0x7b')])return;_0x44cb52[_0xb65c('0x7c')]('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');_0x41664f[_0xb65c('0x7c')](_0xb65c('0x9b'));return;}if(_0xc83cb3[_0xb65c('0x9c')][_0xb65c('0x9d')]!=='agent')return;return _0xc83cb3[_0xb65c('0x9c')][_0xb65c('0x9e')]({'attributes':['id'],'raw':!![]})[_0xb65c('0x2e')](function(_0x318edf){if(_[_0xb65c('0x7a')](_0x318edf)){_0x44cb52[_0xb65c('0x7c')](_0xb65c('0x9f'));_0x41664f[_0xb65c('0x7c')](_0xb65c('0x9f'));}else{_0x44cb52[_0xb65c('0x7c')]('i.WhatsappAccountId\x20IN\x20?',_[_0xb65c('0x33')](_0x318edf,'id'));_0x41664f[_0xb65c('0x7c')](_0xb65c('0xa0'),_['map'](_0x318edf,'id'));}});})[_0xb65c('0x2e')](function(){if(_0xc83cb3[_0xb65c('0x9c')][_0xb65c('0x9d')]===_0xb65c('0xa1')&&!_0x42b32e&&!_0xc83cb3['query'][_0xb65c('0x7b')])return[];return db[_0xb65c('0xa2')][_0xb65c('0x45')](_0x44cb52[_0xb65c('0xa3')](),_0x2a052e);})[_0xb65c('0x2e')](function(_0x32f631){_0x244362[_0xb65c('0x27')]=_0x32f631[_0xb65c('0x4c')];if(_0x244362[_0xb65c('0x27')]===0x0)return[];return db['sequelize'][_0xb65c('0x45')](_0x1af087[_0xb65c('0xa3')](),_0x2a052e)[_0xb65c('0x2e')](function(_0x5d09d4){_0x2ad35c=_[_0xb65c('0xa4')](_0x5d09d4,'id');_0x2a052e=_[_0xb65c('0xa5')](_0x2a052e,{'model':db['WhatsappInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xc83cb3[_0xb65c('0x45')][_0xb65c('0x4b')]){_0x765981[_0xb65c('0x49')]['forEach'](function(_0x172964){_0x41664f['field']('i.'+_0x172964);});}else{_0x41664f[_0xb65c('0x51')](_0xb65c('0x96'),_0xb65c('0x64'));_0x41664f[_0xb65c('0x51')](_0xb65c('0xa6'),_0xb65c('0xa7'));_0x41664f[_0xb65c('0x51')](_0xb65c('0xa8'),_0xb65c('0xa9'));_0x41664f['field'](_0xb65c('0xaa'),_0xb65c('0x97'));_0x41664f[_0xb65c('0x51')](_0xb65c('0xab'));_0x41664f['field'](_0xb65c('0xac'),_0xb65c('0xad'));_0x41664f[_0xb65c('0x51')](_0xb65c('0xae'),'Contact.lastName');_0x41664f[_0xb65c('0x51')](_0xb65c('0xaf'),_0xb65c('0xb0'));_0x41664f[_0xb65c('0x51')]('c.phone',_0xb65c('0xb1'));_0x41664f[_0xb65c('0x51')]('c.mobile',_0xb65c('0xb2'));_0x41664f[_0xb65c('0x51')](_0xb65c('0xb3'),_0xb65c('0xb4'));_0x41664f['field'](_0xb65c('0xb5'),_0xb65c('0xb6'));_0x41664f[_0xb65c('0x51')](_0xb65c('0xb7'),_0xb65c('0xb8'));_0x41664f['field'](_0xb65c('0xb9'),_0xb65c('0x36'));}if(_0x765981[_0xb65c('0x26')])_0x41664f[_0xb65c('0x26')](_0x765981[_0xb65c('0x26')]);if(_0x765981['offset'])_0x41664f[_0xb65c('0x24')](_0x765981['offset']);return db[_0xb65c('0xa2')]['query'](_0x41664f[_0xb65c('0xa3')](),_0x2a052e);})['then'](function(_0x5d506f){if(_0x5d506f[_0xb65c('0x4c')]>0x0)_0x1657b6[_0xb65c('0x7c')](_0xb65c('0xba'),_[_0xb65c('0x33')](_0x5d506f,'id'));return db[_0xb65c('0xa2')][_0xb65c('0x45')](_0x1657b6[_0xb65c('0xa3')](),_0x2a052e)['then'](function(_0x498b0d){var _0x3c63de=_[_0xb65c('0xbb')](_0x498b0d,'WhatsappInteractionId');var _0x59204e=[];_0x5d506f['forEach'](function(_0x37dc65){_0x59204e[_0xb65c('0xbc')](updateWhatsappInteraction(_0x37dc65,_0x2ad35c,_0x3c63de));});return BPromise[_0xb65c('0xbd')](_0x59204e);});});})[_0xb65c('0x2e')](function(_0x4e7804){_0x244362[_0xb65c('0xbe')]=_0x4e7804;return _0x244362;})[_0xb65c('0x2e')](respondWithFilteredResult(_0x338e36,_0x765981))[_0xb65c('0x38')](handleError(_0x338e36,null));};exports[_0xb65c('0xbf')]=function(_0x8a1a1b,_0x223515){var _0x2ee077={'raw':![],'where':{'id':_0x8a1a1b[_0xb65c('0xc0')]['id']}},_0x475b50={};_0x475b50[_0xb65c('0x4a')]=_[_0xb65c('0x46')](db[_0xb65c('0x41')][_0xb65c('0x42')]);_0x475b50['query']=_[_0xb65c('0x46')](_0x8a1a1b[_0xb65c('0x45')]);_0x475b50[_0xb65c('0x47')]=_[_0xb65c('0x48')](_0x475b50[_0xb65c('0x4a')],_0x475b50['query']);_0x2ee077['attributes']=_[_0xb65c('0x48')](_0x475b50[_0xb65c('0x4a')],qs[_0xb65c('0x4b')](_0x8a1a1b[_0xb65c('0x45')]['fields']));_0x2ee077[_0xb65c('0x49')]=_0x2ee077['attributes'][_0xb65c('0x4c')]?_0x2ee077[_0xb65c('0x49')]:_0x475b50['model'];if(_0x8a1a1b[_0xb65c('0x45')]['includeAll']){_0x2ee077[_0xb65c('0xc1')]=[{'all':!![]}];}_0x2ee077=_['merge']({},_0x2ee077,_0x8a1a1b[_0xb65c('0xc2')]);return db['WhatsappInteraction'][_0xb65c('0x63')](_0x2ee077)['then'](handleEntityNotFound(_0x223515,null))[_0xb65c('0x2e')](respondWithResult(_0x223515,null))['catch'](handleError(_0x223515,null));};exports[_0xb65c('0xc3')]=function(_0x4dcc70,_0x141701){return db[_0xb65c('0x41')][_0xb65c('0xc3')](_0x4dcc70[_0xb65c('0x77')],{})[_0xb65c('0x2e')](respondWithResult(_0x141701,0xc9))[_0xb65c('0x38')](handleError(_0x141701,null));};exports[_0xb65c('0x2d')]=function(_0x4d4352,_0x25326f){if(_0x4d4352[_0xb65c('0x77')]['id']){delete _0x4d4352[_0xb65c('0x77')]['id'];}return db['WhatsappInteraction'][_0xb65c('0x63')]({'where':{'id':_0x4d4352[_0xb65c('0xc0')]['id']}})[_0xb65c('0x2e')](handleEntityNotFound(_0x25326f,null))['then'](saveUpdates(_0x4d4352['body'],null))[_0xb65c('0x2e')](respondWithResult(_0x25326f,null))[_0xb65c('0x38')](handleError(_0x25326f,null));};exports[_0xb65c('0xc4')]=function(_0x4d3cca,_0x1bfd59){return db['WhatsappInteraction']['find']({'where':{'id':_0x4d3cca[_0xb65c('0xc0')]['id']}})['then'](handleEntityNotFound(_0x1bfd59,null))[_0xb65c('0x2e')](removeEntity(_0x1bfd59,null))[_0xb65c('0x38')](handleError(_0x1bfd59,null));};exports[_0xb65c('0xc5')]=function(_0x16f45e,_0x488c03){return db[_0xb65c('0x41')][_0xb65c('0xc5')]()[_0xb65c('0x2e')](respondWithResult(_0x488c03,null))[_0xb65c('0x38')](handleError(_0x488c03,null));};exports[_0xb65c('0xc6')]=function(_0xa314d4,_0x53c9e6,_0x589058){return db[_0xb65c('0xc7')][_0xb65c('0x63')]({'where':{'id':_0xa314d4[_0xb65c('0xc0')]['id']}})['then'](handleEntityNotFound(_0x53c9e6,null))['then'](function(_0x5e5e32){if(_0x5e5e32){return _0x5e5e32['addMessage'](_0xa314d4[_0xb65c('0x77')][_0xb65c('0xc8')],_[_0xb65c('0xc9')](_0xa314d4[_0xb65c('0x77')],[_0xb65c('0xc8'),'id'])||{});}})[_0xb65c('0x2e')](respondWithResult(_0x53c9e6,null))[_0xb65c('0x38')](handleError(_0x53c9e6,null));};exports[_0xb65c('0xca')]=function(_0x2a054f,_0x5e552c,_0x4e1aec){var _0x95b7cf={'raw':![],'where':{}};var _0x2aea22={};var _0x59d31a={'count':0x0,'rows':[]};return db[_0xb65c('0x41')][_0xb65c('0xcb')]({'where':{'id':_0x2a054f[_0xb65c('0xc0')]['id']}})['then'](handleEntityNotFound(_0x5e552c,null))[_0xb65c('0x2e')](function(_0x2a5be3){if(_0x2a5be3){_0x2aea22[_0xb65c('0x4a')]=_[_0xb65c('0x46')](db['WhatsappMessage'][_0xb65c('0x42')]);_0x2aea22[_0xb65c('0x45')]=_['keys'](_0x2a054f[_0xb65c('0x45')]);_0x2aea22['filters']=_[_0xb65c('0x48')](_0x2aea22[_0xb65c('0x4a')],_0x2aea22[_0xb65c('0x45')]);_0x95b7cf[_0xb65c('0x49')]=_[_0xb65c('0x48')](_0x2aea22[_0xb65c('0x4a')],qs[_0xb65c('0x4b')](_0x2a054f[_0xb65c('0x45')]['fields']));_0x95b7cf[_0xb65c('0x49')]=_0x95b7cf[_0xb65c('0x49')][_0xb65c('0x4c')]?_0x95b7cf[_0xb65c('0x49')]:_0x2aea22[_0xb65c('0x4a')];if(!_0x2a054f[_0xb65c('0x45')][_0xb65c('0x4d')](_0xb65c('0x4e'))){_0x95b7cf[_0xb65c('0x26')]=qs[_0xb65c('0x26')](_0x2a054f[_0xb65c('0x45')][_0xb65c('0x26')]);_0x95b7cf[_0xb65c('0x24')]=qs['offset'](_0x2a054f['query'][_0xb65c('0x24')]);}_0x95b7cf[_0xb65c('0x4f')]=qs[_0xb65c('0x50')](_0x2a054f[_0xb65c('0x45')][_0xb65c('0x50')]);_0x95b7cf[_0xb65c('0x7c')]=qs['filters'](_[_0xb65c('0xcc')](_0x2a054f[_0xb65c('0x45')],_0x2aea22['filters']));_0x95b7cf['where'][_0xb65c('0xcd')]=_0x2a5be3['id'];if(_0x2a054f[_0xb65c('0x45')][_0xb65c('0x8b')]){_0x95b7cf['where']=_[_0xb65c('0xa5')](_0x95b7cf[_0xb65c('0x7c')],{'$or':_[_0xb65c('0x33')](_0x95b7cf['attributes'],function(_0x170db8){var _0xf4d98d={};_0xf4d98d[_0x170db8]={'$like':'%'+_0x2a054f['query'][_0xb65c('0x8b')]+'%'};return _0xf4d98d;})});}if(_0x2a054f[_0xb65c('0x45')][_0xb65c('0x80')]){var _0x8605ad=_0x2a054f['query'][_0xb65c('0x80')][_0xb65c('0x37')](',');var _0x4a97ae={};_0x4a97ae[_0x8605ad[0x0]]={'$gte':moment(_0x8605ad[0x1])['format'](_0xb65c('0xce'))};_0x95b7cf[_0xb65c('0x7c')]=_[_0xb65c('0xa5')](_0x95b7cf[_0xb65c('0x7c')],_0x4a97ae);}_0x95b7cf=_['merge']({},_0x95b7cf,_0x2a054f[_0xb65c('0xc2')]);return db['WhatsappMessage']['count']({'where':_0x95b7cf['where']})[_0xb65c('0x2e')](function(_0x75a2f4){_0x59d31a[_0xb65c('0x27')]=_0x75a2f4;if(_0x2a054f[_0xb65c('0x45')][_0xb65c('0xcf')]){_0x95b7cf[_0xb65c('0xc1')]=[{'all':!![]}];}return db['WhatsappMessage'][_0xb65c('0xd0')](_0x95b7cf);})[_0xb65c('0x2e')](function(_0x1cab7a){_0x59d31a[_0xb65c('0xbe')]=_0x1cab7a;return _0x59d31a;});}})['then'](respondWithFilteredResult(_0x5e552c,_0x95b7cf))[_0xb65c('0x38')](handleError(_0x5e552c,null));};exports['addTags']=function(_0x62703d,_0x19f6f7,_0x28fb03){return db[_0xb65c('0x41')][_0xb65c('0x63')]({'where':{'id':_0x62703d[_0xb65c('0xc0')]['id']}})['then'](handleEntityNotFound(_0x19f6f7,null))[_0xb65c('0x2e')](function(_0x184089){if(_0x184089){return _0x184089[_0xb65c('0xd1')](_0x62703d[_0xb65c('0x77')][_0xb65c('0xc8')],_[_0xb65c('0xc9')](_0x62703d[_0xb65c('0x77')],[_0xb65c('0xc8'),'id'])||{})[_0xb65c('0xd2')](function(){return db[_0xb65c('0x70')][_0xb65c('0xd0')]({'attributes':['id',_0xb65c('0x32'),'color'],'where':{'id':_0x62703d[_0xb65c('0x77')][_0xb65c('0xc8')]}});})[_0xb65c('0x2e')](function(_0x5cf5c7){socket[_0xb65c('0xd3')](_0xb65c('0xd4'),{'id':Number(_0x62703d['params']['id']),'tags':_0x5cf5c7||[]});return{'id':Number(_0x62703d[_0xb65c('0xc0')]['id']),'tags':_0x5cf5c7||[]};});}})[_0xb65c('0x2e')](respondWithResult(_0x19f6f7,null))[_0xb65c('0x38')](handleError(_0x19f6f7,null));};exports['removeTags']=function(_0x107f97,_0x3a9d8d,_0x6aa238){return db[_0xb65c('0x41')]['find']({'where':{'id':_0x107f97[_0xb65c('0xc0')]['id']}})[_0xb65c('0x2e')](handleEntityNotFound(_0x3a9d8d,null))[_0xb65c('0x2e')](function(_0x5a8b55){if(_0x5a8b55){return _0x5a8b55['removeTags'](_0x107f97[_0xb65c('0x45')]['ids']);}})[_0xb65c('0x2e')](respondWithStatusCode(_0x3a9d8d,null))[_0xb65c('0x38')](handleError(_0x3a9d8d,null));};exports[_0xb65c('0xd5')]=function(_0x59e65d,_0x3f3591){var _0x3ed6e9=moment()[_0xb65c('0xd6')]()[_0xb65c('0xa3')]();var _0x5d6160=path[_0xb65c('0xd7')](config[_0xb65c('0xd8')],'server',_0xb65c('0xd9'),_0xb65c('0xda'));var _0xae1440=path[_0xb65c('0xd7')](config['root'],_0xb65c('0xdb'),_0xb65c('0xd9'),'attachments');var _0x190299=path[_0xb65c('0xd7')](_0x5d6160,_0x3ed6e9);var _0x35402d=util[_0xb65c('0xdc')]('transcript-%d-%s.zip',_0x59e65d['params']['id'],_0x3ed6e9);var _0x3edc77=path[_0xb65c('0xd7')](_0x5d6160,_0x35402d);var _0x36b8e5=[];_0x36b8e5['push']({'model':db['User'],'as':'User','attributes':['id',_0xb65c('0x34')],'raw':!![]});_0x36b8e5[_0xb65c('0xbc')]({'model':db[_0xb65c('0xdd')],'as':_0xb65c('0x69'),'attributes':['id',_0xb65c('0xde'),_0xb65c('0xdf')],'raw':!![]});if(_0x59e65d[_0xb65c('0x45')]['attachments']){_0x36b8e5[_0xb65c('0xbc')]({'model':db['Attachment'],'as':_0xb65c('0xe0'),'raw':!![]});}var _0x2735db=[{'model':db['WhatsappMessage'],'as':_0xb65c('0xe1'),'attributes':['id',_0xb65c('0x77'),_0xb65c('0x7e'),_0xb65c('0xe2'),_0xb65c('0xe3'),_0xb65c('0x86')],'include':_0x36b8e5}];_0x2735db['push']({'model':db['WhatsappAccount'],'as':_0xb65c('0xe4'),'attributes':['id',_0xb65c('0x32')]});_0x2735db[_0xb65c('0xbc')]({'model':db[_0xb65c('0x74')],'as':_0xb65c('0xe5'),'attributes':['id',_0xb65c('0x34')]});return db[_0xb65c('0x41')]['find']({'where':{'id':_0x59e65d[_0xb65c('0xc0')]['id']},'include':_0x2735db})[_0xb65c('0x2e')](handleEntityNotFound(_0x3f3591,null))[_0xb65c('0x2e')](function(_0x268a6c){if(_0x268a6c){var _0x533bb9=_0x268a6c[_0xb65c('0xe6')]({'plain':!![]});fs[_0xb65c('0xe7')](_0x190299);var _0x19c8bc={'channel':_0xb65c('0xe8'),'account':_0x533bb9[_0xb65c('0xe4')][_0xb65c('0x32')],'agent':_0x533bb9[_0xb65c('0xe5')]?_0x533bb9[_0xb65c('0xe5')]['fullname']:_0xb65c('0xe9'),'createdAt':moment(_0x533bb9[_0xb65c('0x7e')])[_0xb65c('0xdc')](_0xb65c('0xce'))[_0xb65c('0xa3')](),'closedAt':_0x533bb9['closed']?moment(_0x533bb9[_0xb65c('0xea')])[_0xb65c('0xdc')](_0xb65c('0xce'))['toString']():'','disposition':_0x533bb9[_0xb65c('0xeb')],'messages':_(_0x533bb9[_0xb65c('0xe1')])[_0xb65c('0x8b')]({'secret':![]})['map'](function(_0x3b3be9){if(_0x3b3be9[_0xb65c('0xe0')]){var _0x17dd44=path[_0xb65c('0xd7')](_0xae1440,_0x3b3be9[_0xb65c('0xe0')][_0xb65c('0xec')]);if(fs[_0xb65c('0xed')](_0x17dd44)){fs[_0xb65c('0xee')](_0x17dd44)['pipe'](fs[_0xb65c('0xef')](path[_0xb65c('0xd7')](_0x190299,_0x3b3be9[_0xb65c('0xe0')][_0xb65c('0xec')])));}}return{'date':moment(_0x3b3be9[_0xb65c('0x7e')])['format'](_0xb65c('0xce'))['toString'](),'sender':_0x3b3be9[_0xb65c('0xe2')]===_0xb65c('0xf0')?_0x3b3be9['User']?_0x3b3be9[_0xb65c('0x74')]['fullname']:_0xb65c('0xf1'):_0x3b3be9[_0xb65c('0x69')][_0xb65c('0xde')]+(_0x3b3be9[_0xb65c('0x69')][_0xb65c('0xdf')]?'\x20'+_0x3b3be9[_0xb65c('0x69')]['lastName']:''),'body':_0x3b3be9['Attachment']?_0x3b3be9[_0xb65c('0xe0')][_0xb65c('0xec')]:_0x3b3be9['body'],'direction':_0x3b3be9['direction']===_0xb65c('0xf0')?'A':'C','secret':_0x3b3be9[_0xb65c('0xe3')],'read':_0x3b3be9[_0xb65c('0x86')],'attachment':_0x3b3be9[_0xb65c('0xe0')]};})[_0xb65c('0x65')]()};return ejs[_0xb65c('0xf2')](path[_0xb65c('0xd7')](config[_0xb65c('0xd8')],'server','views',_0xb65c('0xf3')),{'interaction':_0x19c8bc})['then'](function(_0x33bd44){var _0x2b426f=path['join'](_0x190299,'transcript-'+_0x533bb9['id']+'-'+_0x3ed6e9+_0xb65c('0xf4'));var _0x4c4407={'path':_0x2b426f,'channel':_0xb65c('0xe8'),'interactionId':_0x533bb9['id']};return pdf['createPdfFromHTML'](_0x33bd44,_0x4c4407);})['then'](function(){return new BPromise(function(_0x2a98be,_0xa08887){zipdir(_0x190299,{'saveTo':_0x3edc77},function(_0x515d57,_0x45ef22){if(_0x515d57)return _0xa08887(_0x515d57);return _0x2a98be(_0x45ef22);});})[_0xb65c('0x2e')](function(){return new BPromise(function(_0x47b1f7,_0x3f072c){rimraf(_0x190299,function(_0x415b51){if(_0x415b51)_0x3f072c(_0x415b51);return _0x47b1f7();});});})[_0xb65c('0x2e')](function(){return _0x3f3591['download'](_0x3edc77,_0x35402d,function(_0x87773d){if(_0x87773d){console[_0xb65c('0xf5')](_0xb65c('0xf6'),_0x87773d);}else{fs[_0xb65c('0xf7')](_0x3edc77);}});});});}else{return _0x3f3591[_0xb65c('0x30')](0xc8);}})['catch'](handleError(_0x3f3591,null));};