Built motion from commit (unavailable).|2.5.31
[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 _0x94a4=['groupBy','WhatsappInteractionId','all','rows','params','intersection','includeAll','include','create','body','describe','WhatsappMessage','addMessage','ids','omit','getMessages','findOne','rawAttributes','pick','$gte','format','YYYY-MM-DD\x20HH:mm:ss','options','findAll','addTags','setTags','spread','emit','whatsappInteractionTags:save','removeTags','join','root','server','files','tmp','transcript-%d-%s.zip','User','CmContact','firstName','lastName','attachments','Attachment','direction','secret','WhatsappAccount','Account','get','mkdirSync','N.A.','Messages','existsSync','createReadStream','pipe','createWriteStream','basename','out','renderFile','views','downloadInteraction.html','.pdf','Whatsapp','createPdfFromHTML','download','log','err','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','ejs','fs-extra','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/export/pdf','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./whatsappInteraction.socket','register','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','then','destroy','end','error','stack','name','Users','map','fullname','TagIds','Tags','split','forEach','push','catch','index','WhatsappInteraction','fieldName','query','filters','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','field','color','from','tools_tags','u.id','ui.WhatsappInteractionId','user_has_whatsapp_interactions','left_join','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','whatsapp_messages','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','length','unreadMessages','having','`\x20=\x200','Contact','operator','$substring','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','find','ContactId','buildExpression','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','UserId','type','start','keys','some','compact','isEmpty','WhatsappAccountId','i.WhatsappAccountId\x20IN\x20?','createdAt','parse','$lte','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','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?','i.id','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','role','agent','user','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','Account.key','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.*','Contact.firstName','c.lastName','c.email','Contact.email','c.phone','Contact.phone','Contact.mobile','c.fax','o.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?'];(function(_0x488d41,_0x119d13){var _0x1a46c3=function(_0x27661c){while(--_0x27661c){_0x488d41['push'](_0x488d41['shift']());}};_0x1a46c3(++_0x119d13);}(_0x94a4,0x12f));var _0x494a=function(_0x2070da,_0x45e586){_0x2070da=_0x2070da-0x0;var _0x4f9fe1=_0x94a4[_0x2070da];return _0x4f9fe1;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x494a('0x0'));var zipdir=require(_0x494a('0x1'));var jsonpatch=require(_0x494a('0x2'));var rp=require(_0x494a('0x3'));var moment=require(_0x494a('0x4'));var BPromise=require(_0x494a('0x5'));var Mustache=require('mustache');var util=require(_0x494a('0x6'));var path=require('path');var sox=require(_0x494a('0x7'));var csv=require('to-csv');var ejs=require(_0x494a('0x8'));var fs=require('fs');var fs_extra=require(_0x494a('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x494a('0xa'));var jsforce=require(_0x494a('0xb'));var deskjs=require(_0x494a('0xc'));var toCsv=require(_0x494a('0xd'));var querystring=require(_0x494a('0xe'));var Papa=require(_0x494a('0xf'));var Redis=require(_0x494a('0x10'));var authService=require(_0x494a('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var pdf=require(_0x494a('0x12'));var hardwareService=require(_0x494a('0x13'));var logger=require(_0x494a('0x14'))('api');var utils=require(_0x494a('0x15'));var config=require(_0x494a('0x16'));var licenseUtil=require(_0x494a('0x17'));var db=require(_0x494a('0x18'))['db'];config[_0x494a('0x19')]=_[_0x494a('0x1a')](config[_0x494a('0x19')],{'host':_0x494a('0x1b'),'port':0x18eb});var socket=require(_0x494a('0x1c'))(new Redis(config[_0x494a('0x19')]));require(_0x494a('0x1d'))[_0x494a('0x1e')](socket);function respondWithStatusCode(_0x4a51c3,_0x30854f){_0x30854f=_0x30854f||0xcc;return function(_0x2a4ed5){if(_0x2a4ed5){return _0x4a51c3[_0x494a('0x1f')](_0x30854f);}return _0x4a51c3['status'](_0x30854f)['end']();};}function respondWithResult(_0x4119cd,_0x5d0365){_0x5d0365=_0x5d0365||0xc8;return function(_0x41f88b){if(_0x41f88b){return _0x4119cd[_0x494a('0x20')](_0x5d0365)[_0x494a('0x21')](_0x41f88b);}};}function respondWithFilteredResult(_0x263113,_0x418308){return function(_0x24f241){if(_0x24f241){var _0x12c7eb=typeof _0x418308[_0x494a('0x22')]===_0x494a('0x23')&&typeof _0x418308['limit']===_0x494a('0x23');var _0xf60dfd=_0x24f241[_0x494a('0x24')];var _0x62adf9=_0x12c7eb?0x0:_0x418308[_0x494a('0x22')];var _0x4b9b29=_0x12c7eb?_0x24f241[_0x494a('0x24')]:_0x418308['offset']+_0x418308[_0x494a('0x25')];var _0xd3a2cf;if(_0x4b9b29>=_0xf60dfd){_0x4b9b29=_0xf60dfd;_0xd3a2cf=0xc8;}else{_0xd3a2cf=0xce;}_0x263113[_0x494a('0x20')](_0xd3a2cf);return _0x263113[_0x494a('0x26')](_0x494a('0x27'),_0x62adf9+'-'+_0x4b9b29+'/'+_0xf60dfd)['json'](_0x24f241);}return null;};}function patchUpdates(_0xde21d5){return function(_0x29e71b){try{jsonpatch['apply'](_0x29e71b,_0xde21d5,!![]);}catch(_0x3602b4){return BPromise[_0x494a('0x28')](_0x3602b4);}return _0x29e71b[_0x494a('0x29')]();};}function saveUpdates(_0x87ec39,_0x372b4f){return function(_0xc4cac6){if(_0xc4cac6){return _0xc4cac6[_0x494a('0x2a')](_0x87ec39)[_0x494a('0x2b')](function(_0x5bc638){return _0x5bc638;});}return null;};}function removeEntity(_0x3a93e6,_0x477902){return function(_0x49671d){if(_0x49671d){return _0x49671d[_0x494a('0x2c')]()[_0x494a('0x2b')](function(){_0x3a93e6[_0x494a('0x20')](0xcc)[_0x494a('0x2d')]();});}};}function handleEntityNotFound(_0x552c1d,_0x2e9e87){return function(_0x55a75e){if(!_0x55a75e){_0x552c1d[_0x494a('0x1f')](0x194);}return _0x55a75e;};}function handleError(_0x5e7a45,_0x36758c){_0x36758c=_0x36758c||0x1f4;return function(_0x5d2f33){logger[_0x494a('0x2e')](_0x5d2f33[_0x494a('0x2f')]);if(_0x5d2f33['name']){delete _0x5d2f33[_0x494a('0x30')];}_0x5e7a45[_0x494a('0x20')](_0x36758c)['send'](_0x5d2f33);};}function getInteractionUsers(_0x4c4153,_0x787826){return new BPromise(function(_0x38856e,_0x2e47e9){try{if(_0x787826[_0x4c4153['id']]){_0x4c4153[_0x494a('0x31')]=_[_0x494a('0x32')](_0x787826[_0x4c4153['id']],function(_0x3a803a){return{'id':_0x3a803a['id'],'fullname':_0x3a803a[_0x494a('0x33')]};});}}catch(_0x26fb9e){_0x2e47e9(_0x26fb9e);}_0x38856e(_0x4c4153);});}function getInteractionTags(_0x25479f,_0x1494ac){return new BPromise(function(_0x362d4d,_0x117028){try{if(_0x25479f[_0x494a('0x34')]){_0x25479f[_0x494a('0x35')]=[];_0x25479f[_0x494a('0x34')][_0x494a('0x36')](',')[_0x494a('0x37')](function(_0x55e8b2){_0x25479f[_0x494a('0x35')][_0x494a('0x38')](_0x1494ac[_0x55e8b2]);});}delete _0x25479f[_0x494a('0x34')];}catch(_0x3a7552){_0x117028(_0x3a7552);}_0x362d4d(_0x25479f);});}function updateWhatsappInteraction(_0x32b22b,_0x510d16,_0x4a84e7){return new BPromise(function(_0x47f427,_0x51b41a){return getInteractionUsers(_0x32b22b,_0x4a84e7)[_0x494a('0x2b')](function(_0x5e6a03){return getInteractionTags(_0x5e6a03,_0x510d16);})[_0x494a('0x2b')](function(_0x5e18f8){_0x47f427(_0x5e18f8);})[_0x494a('0x39')](function(_0x25574a){_0x51b41a(_0x25574a);});});}exports[_0x494a('0x3a')]=function(_0x245b22,_0x140adf){var _0x4c41fd={},_0x4897f1={},_0x3fde16={'count':0x0,'rows':[]};var _0x48fa93=_[_0x494a('0x32')](db[_0x494a('0x3b')]['rawAttributes'],function(_0x2e2cbc){return{'name':_0x2e2cbc[_0x494a('0x3c')],'type':_0x2e2cbc['type']['key']};});_0x4897f1['model']=_[_0x494a('0x32')](_0x48fa93,_0x494a('0x30'));_0x4897f1[_0x494a('0x3d')]=_['keys'](_0x245b22[_0x494a('0x3d')]);_0x4897f1[_0x494a('0x3e')]=_['intersection'](_0x4897f1[_0x494a('0x3f')],_0x4897f1[_0x494a('0x3d')]);_0x4c41fd[_0x494a('0x40')]=_['intersection'](_0x4897f1['model'],qs[_0x494a('0x41')](_0x245b22[_0x494a('0x3d')]['fields']));_0x4c41fd['attributes']=_0x4c41fd[_0x494a('0x40')]['length']?_0x4c41fd[_0x494a('0x40')]:_0x4897f1[_0x494a('0x3f')];if(!_0x245b22[_0x494a('0x3d')][_0x494a('0x42')](_0x494a('0x43'))){_0x4c41fd[_0x494a('0x25')]=qs['limit'](_0x245b22[_0x494a('0x3d')][_0x494a('0x25')]);_0x4c41fd[_0x494a('0x22')]=qs[_0x494a('0x22')](_0x245b22[_0x494a('0x3d')]['offset']);}_0x4c41fd[_0x494a('0x44')]=qs[_0x494a('0x45')](_0x245b22[_0x494a('0x3d')][_0x494a('0x45')]);_0x4c41fd[_0x494a('0x46')]=qs[_0x494a('0x3e')](_['pick'](_0x245b22['query'],_0x4897f1['filters']),_0x48fa93);var _0x5b47b5=[];var _0x2db69e=squel['select']()['field']('id')[_0x494a('0x47')](_0x494a('0x30'))['field'](_0x494a('0x48'))[_0x494a('0x49')](_0x494a('0x4a'));var _0x1cbe7b=squel['select']()['field'](_0x494a('0x4b'))['field']('u.fullname')['field'](_0x494a('0x4c'))[_0x494a('0x49')](_0x494a('0x4d'),'ui')[_0x494a('0x4e')](_0x494a('0x4f'),'u',_0x494a('0x50'));var _0x10f90e=squel['select']()['from']('whatsapp_interactions','i')[_0x494a('0x4e')](_0x494a('0x51'),'c',_0x494a('0x52'))[_0x494a('0x4e')]('users','o',_0x494a('0x53'))[_0x494a('0x4e')](_0x494a('0x54'),'a',_0x494a('0x55'))['left_join'](_0x494a('0x56'),'me','me.WhatsappInteractionId\x20=\x20i.id')[_0x494a('0x4e')](_0x494a('0x57'),'it',_0x494a('0x58'))[_0x494a('0x4e')](_0x494a('0x4a'),'t',_0x494a('0x59'));var _0x135cc1=squel[_0x494a('0x5a')]();var _0x5dac96=[];var _0x5d037c=squel[_0x494a('0x5a')]();var _0x2aab5a;if(_0x245b22[_0x494a('0x3d')][_0x494a('0x5b')]){_0x2aab5a=as[_0x494a('0x5c')](_0x245b22[_0x494a('0x3d')]['search']);var _0x57808c=_0x2aab5a['sqlOperator'];for(var _0x3a65c4=0x0;_0x3a65c4<_0x2aab5a[_0x494a('0x5d')][_0x494a('0x5e')];_0x3a65c4++){var _0x2fedaa=_0x2aab5a[_0x494a('0x5d')][_0x3a65c4];var _0x14ec8a='i';var _0x13a43c=_['find'](_0x48fa93,[_0x494a('0x30'),_0x2fedaa[_0x494a('0x47')]]);if(!_0x13a43c){switch(_0x2fedaa[_0x494a('0x47')]){case _0x494a('0x5f'):if(_0x2fedaa['value']==0x1){_0x10f90e[_0x494a('0x60')]('`'+_0x2fedaa[_0x494a('0x47')]+_0x494a('0x61'));}else{_0x10f90e[_0x494a('0x60')]('`'+_0x2fedaa['field']+'`\x20>\x200');}break;case _0x494a('0x62'):if(_0x2fedaa[_0x494a('0x63')]===_0x494a('0x64')){if(_0x2fedaa[_0x494a('0x65')][_0x494a('0x36')]('\x20')[_0x494a('0x5e')]>0x1){_0x135cc1[_0x57808c](_0x494a('0x66'),qs[_0x494a('0x67')](_0x2fedaa[_0x494a('0x65')]),null);}else{var _0x56afae='%'+_0x2fedaa[_0x494a('0x65')]+'%';_0x135cc1[_0x57808c]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x56afae,_0x56afae,_0x56afae);}}else{_0x13a43c=_[_0x494a('0x68')](_0x48fa93,['name',_0x494a('0x69')]);_0x2fedaa['field']=_0x494a('0x69');_0x25b33b=as[_0x494a('0x6a')](_0x14ec8a,_0x13a43c['type'],_0x2fedaa);_0x135cc1[_0x57808c](_0x25b33b[_0x494a('0x6b')],_0x25b33b[_0x494a('0x65')]['start'],_0x25b33b[_0x494a('0x65')]['end']);}break;case _0x494a('0x6c'):var _0x305c04=_0x2fedaa['value'][_0x494a('0x36')](',')[_0x494a('0x32')](function(_0x15ce9a){return Number(_0x15ce9a);});_0x305c04[_0x494a('0x37')](function(_0x1e150e){_0x5d037c['or'](_0x494a('0x6d'),'%,'+_0x1e150e+',%');});_0x5dac96=_[_0x494a('0x6e')](_0x5dac96,_0x305c04);break;case'User':if(_0x2fedaa[_0x494a('0x63')]===_0x494a('0x64')){_0x135cc1[_0x57808c]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x2fedaa['value']+'%',null);}else{_0x13a43c=_[_0x494a('0x68')](_0x48fa93,[_0x494a('0x30'),_0x494a('0x6f')]);_0x2fedaa[_0x494a('0x47')]='UserId';_0x25b33b=as[_0x494a('0x6a')](_0x14ec8a,_0x13a43c[_0x494a('0x70')],_0x2fedaa);_0x135cc1[_0x57808c](_0x25b33b[_0x494a('0x6b')],_0x25b33b['value'][_0x494a('0x71')],_0x25b33b[_0x494a('0x65')]['end']);}break;case'body':_0x25b33b=as[_0x494a('0x6a')]('me',null,_0x2fedaa);_0x135cc1[_0x57808c](_0x25b33b['text'],_0x25b33b['value']['start'],_0x25b33b['value'][_0x494a('0x2d')]);break;}}else{var _0x25b33b=as['buildExpression'](_0x14ec8a,_0x13a43c['type'],_0x2fedaa);_0x135cc1[_0x57808c](_0x25b33b['text'],_0x25b33b[_0x494a('0x65')][_0x494a('0x71')],_0x25b33b[_0x494a('0x65')][_0x494a('0x2d')]);}}}else{var _0x58171e=_(_0x245b22[_0x494a('0x3d')])[_0x494a('0x72')]()['map'](function(_0x50c499){return _[_0x494a('0x73')](_0x48fa93,[_0x494a('0x30'),_0x50c499])?_0x50c499:undefined;})[_0x494a('0x74')]()[_0x494a('0x65')]();if(!_[_0x494a('0x75')](_0x58171e)){_0x58171e[_0x494a('0x37')](function(_0x4c366a){if(_0x4c366a===_0x494a('0x76')){_0x10f90e[_0x494a('0x46')](_0x494a('0x77'),[]['concat'](_0x245b22[_0x494a('0x3d')][_0x4c366a]));}else if(_0x4c366a===_0x494a('0x78')){var _0x17af8b=JSON[_0x494a('0x79')](_0x245b22['query'][_0x4c366a])['$gte'];var _0x18469d=JSON[_0x494a('0x79')](_0x245b22[_0x494a('0x3d')][_0x4c366a])[_0x494a('0x7a')];_0x10f90e[_0x494a('0x46')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x17af8b,_0x18469d);}else{if(_0x245b22['query'][_0x4c366a]===_0x494a('0x7b')){_0x10f90e['where']('i.'+_0x4c366a+_0x494a('0x7c'));}else{_0x10f90e['where']('i.'+_0x4c366a+_0x494a('0x7d'),_0x245b22[_0x494a('0x3d')][_0x4c366a]);}}});}if(_0x245b22[_0x494a('0x3d')]['read']){if(_0x245b22[_0x494a('0x3d')][_0x494a('0x7e')]==0x1){_0x10f90e[_0x494a('0x60')](_0x494a('0x7f'));}else{_0x10f90e[_0x494a('0x60')](_0x494a('0x80'));}}if(_0x245b22['query'][_0x494a('0x81')]){_0x5dac96=_['isArray'](_0x245b22[_0x494a('0x3d')][_0x494a('0x81')])?_0x245b22[_0x494a('0x3d')][_0x494a('0x81')]:new Array(_0x245b22[_0x494a('0x3d')][_0x494a('0x81')]);_0x5dac96[_0x494a('0x37')](function(_0xcd9a7){_0x5d037c['or'](_0x494a('0x6d'),'%,'+_0xcd9a7+',%');});}if(_0x245b22[_0x494a('0x3d')][_0x494a('0x82')]){var _0x1909a6=_0x245b22[_0x494a('0x3d')][_0x494a('0x82')][_0x494a('0x83')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x494a('0x84')](_0x1909a6)){_0x135cc1['or'](_0x494a('0x85'),_0x1909a6+'%')['or'](_0x494a('0x86'),_0x1909a6+'%');}else{_0x135cc1['or'](_0x494a('0x87'),qs[_0x494a('0x67')](_0x1909a6))['or'](_0x494a('0x88'),_0x1909a6+'%');}}}_0x10f90e[_0x494a('0x46')](_0x135cc1);_0x10f90e['group'](_0x494a('0x89'));var _0x15996d={'type':db['Sequelize'][_0x494a('0x8a')][_0x494a('0x8b')],'raw':!![]};var _0x53fcd1=_0x10f90e[_0x494a('0x8c')]();_0x53fcd1[_0x494a('0x47')]('i.id');_0x53fcd1[_0x494a('0x47')](_0x494a('0x8d'),_0x494a('0x5f'));if(_0x4c41fd['order']){_0x4c41fd['order']['forEach'](function(_0x1a070c){var _0x267464=_0x1a070c[0x0]===_0x494a('0x8e')?_0x1a070c[0x0]:'i.'+_0x1a070c[0x0];_0x10f90e[_0x494a('0x44')](_0x267464,_0x1a070c[0x1]===_0x494a('0x8f')?![]:!![]);});}if(!_['isEmpty'](_0x5dac96)){_0x10f90e[_0x494a('0x60')](_0x5d037c);_0x53fcd1[_0x494a('0x46')](_0x494a('0x90'),_0x5dac96);}BPromise[_0x494a('0x91')]()[_0x494a('0x2b')](function(){if(!_0x2aab5a){if(_0x245b22['query'][_0x494a('0x76')])return;_0x53fcd1[_0x494a('0x46')](_0x494a('0x92'));_0x10f90e[_0x494a('0x46')]('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x245b22['user'][_0x494a('0x93')]!==_0x494a('0x94'))return;return _0x245b22[_0x494a('0x95')][_0x494a('0x96')]({'attributes':['id'],'raw':!![]})[_0x494a('0x2b')](function(_0x1750f8){if(_['isEmpty'](_0x1750f8)){_0x53fcd1[_0x494a('0x46')]('i.WhatsappAccountId\x20IS\x20NULL');_0x10f90e[_0x494a('0x46')](_0x494a('0x97'));}else{_0x53fcd1[_0x494a('0x46')](_0x494a('0x77'),_['map'](_0x1750f8,'id'));_0x10f90e[_0x494a('0x46')](_0x494a('0x77'),_[_0x494a('0x32')](_0x1750f8,'id'));}});})['then'](function(){if(_0x245b22['user'][_0x494a('0x93')]===_0x494a('0x94')&&!_0x2aab5a&&!_0x245b22[_0x494a('0x3d')][_0x494a('0x76')])return[];return db[_0x494a('0x98')][_0x494a('0x3d')](_0x53fcd1['toString'](),_0x15996d);})[_0x494a('0x2b')](function(_0x4e9347){_0x3fde16['count']=_0x4e9347[_0x494a('0x5e')];if(_0x3fde16[_0x494a('0x24')]===0x0)return[];return db[_0x494a('0x98')][_0x494a('0x3d')](_0x2db69e[_0x494a('0x99')](),_0x15996d)[_0x494a('0x2b')](function(_0x2dc2ad){_0x5b47b5=_[_0x494a('0x9a')](_0x2dc2ad,'id');_0x15996d=_[_0x494a('0x9b')](_0x15996d,{'model':db[_0x494a('0x3b')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x245b22['query']['fields']){_0x4c41fd[_0x494a('0x40')][_0x494a('0x37')](function(_0x357e71){_0x10f90e['field']('i.'+_0x357e71);});}else{_0x10f90e[_0x494a('0x47')](_0x494a('0x8d'),_0x494a('0x5f'));_0x10f90e[_0x494a('0x47')]('a.key',_0x494a('0x9c'));_0x10f90e['field']('a.mandatoryDisposition',_0x494a('0x9d'));_0x10f90e['field'](_0x494a('0x9e'),'contactName');_0x10f90e[_0x494a('0x47')](_0x494a('0x9f'));_0x10f90e[_0x494a('0x47')]('c.firstName',_0x494a('0xa0'));_0x10f90e[_0x494a('0x47')](_0x494a('0xa1'),'Contact.lastName');_0x10f90e['field'](_0x494a('0xa2'),_0x494a('0xa3'));_0x10f90e['field'](_0x494a('0xa4'),_0x494a('0xa5'));_0x10f90e[_0x494a('0x47')]('c.mobile',_0x494a('0xa6'));_0x10f90e[_0x494a('0x47')](_0x494a('0xa7'),'Contact.fax');_0x10f90e[_0x494a('0x47')](_0x494a('0xa8'),'Owner.fullname');_0x10f90e[_0x494a('0x47')](_0x494a('0xa9'),_0x494a('0xaa'));_0x10f90e['field'](_0x494a('0xab'),_0x494a('0x34'));}if(_0x4c41fd['limit'])_0x10f90e['limit'](_0x4c41fd[_0x494a('0x25')]);if(_0x4c41fd[_0x494a('0x22')])_0x10f90e['offset'](_0x4c41fd[_0x494a('0x22')]);return db[_0x494a('0x98')][_0x494a('0x3d')](_0x10f90e[_0x494a('0x99')](),_0x15996d);})[_0x494a('0x2b')](function(_0xe3c300){if(_0xe3c300[_0x494a('0x5e')]>0x0)_0x1cbe7b[_0x494a('0x46')](_0x494a('0xac'),_[_0x494a('0x32')](_0xe3c300,'id'));return db[_0x494a('0x98')][_0x494a('0x3d')](_0x1cbe7b[_0x494a('0x99')](),_0x15996d)[_0x494a('0x2b')](function(_0x38707c){var _0x195c7d=_[_0x494a('0xad')](_0x38707c,_0x494a('0xae'));var _0x146e44=[];_0xe3c300[_0x494a('0x37')](function(_0x5df970){_0x146e44[_0x494a('0x38')](updateWhatsappInteraction(_0x5df970,_0x5b47b5,_0x195c7d));});return BPromise[_0x494a('0xaf')](_0x146e44);});});})[_0x494a('0x2b')](function(_0x4e9fee){_0x3fde16[_0x494a('0xb0')]=_0x4e9fee;return _0x3fde16;})[_0x494a('0x2b')](respondWithFilteredResult(_0x140adf,_0x4c41fd))[_0x494a('0x39')](handleError(_0x140adf,null));};exports['show']=function(_0x2de76e,_0x33f0cc){var _0x53795c={'raw':![],'where':{'id':_0x2de76e[_0x494a('0xb1')]['id']}},_0x55eee0={};_0x55eee0[_0x494a('0x3f')]=_[_0x494a('0x72')](db[_0x494a('0x3b')]['rawAttributes']);_0x55eee0['query']=_[_0x494a('0x72')](_0x2de76e[_0x494a('0x3d')]);_0x55eee0[_0x494a('0x3e')]=_[_0x494a('0xb2')](_0x55eee0[_0x494a('0x3f')],_0x55eee0[_0x494a('0x3d')]);_0x53795c['attributes']=_['intersection'](_0x55eee0[_0x494a('0x3f')],qs[_0x494a('0x41')](_0x2de76e[_0x494a('0x3d')][_0x494a('0x41')]));_0x53795c[_0x494a('0x40')]=_0x53795c[_0x494a('0x40')][_0x494a('0x5e')]?_0x53795c[_0x494a('0x40')]:_0x55eee0[_0x494a('0x3f')];if(_0x2de76e[_0x494a('0x3d')][_0x494a('0xb3')]){_0x53795c[_0x494a('0xb4')]=[{'all':!![]}];}_0x53795c=_[_0x494a('0x9b')]({},_0x53795c,_0x2de76e['options']);return db[_0x494a('0x3b')]['find'](_0x53795c)['then'](handleEntityNotFound(_0x33f0cc,null))[_0x494a('0x2b')](respondWithResult(_0x33f0cc,null))[_0x494a('0x39')](handleError(_0x33f0cc,null));};exports[_0x494a('0xb5')]=function(_0x3944a5,_0x445d8c){return db[_0x494a('0x3b')][_0x494a('0xb5')](_0x3944a5[_0x494a('0xb6')],{})['then'](respondWithResult(_0x445d8c,0xc9))[_0x494a('0x39')](handleError(_0x445d8c,null));};exports[_0x494a('0x2a')]=function(_0x18b862,_0x1f46f1){if(_0x18b862['body']['id']){delete _0x18b862[_0x494a('0xb6')]['id'];}return db['WhatsappInteraction']['find']({'where':{'id':_0x18b862[_0x494a('0xb1')]['id']}})[_0x494a('0x2b')](handleEntityNotFound(_0x1f46f1,null))[_0x494a('0x2b')](saveUpdates(_0x18b862[_0x494a('0xb6')],null))[_0x494a('0x2b')](respondWithResult(_0x1f46f1,null))['catch'](handleError(_0x1f46f1,null));};exports[_0x494a('0x2c')]=function(_0x106c3c,_0x5f38af){return db[_0x494a('0x3b')]['find']({'where':{'id':_0x106c3c[_0x494a('0xb1')]['id']}})['then'](handleEntityNotFound(_0x5f38af,null))['then'](removeEntity(_0x5f38af,null))[_0x494a('0x39')](handleError(_0x5f38af,null));};exports['describe']=function(_0x597261,_0x1fbf33){return db[_0x494a('0x3b')][_0x494a('0xb7')]()[_0x494a('0x2b')](respondWithResult(_0x1fbf33,null))['catch'](handleError(_0x1fbf33,null));};exports['addMessage']=function(_0x4723ec,_0x5d0581,_0x2efc9f){return db[_0x494a('0xb8')][_0x494a('0x68')]({'where':{'id':_0x4723ec[_0x494a('0xb1')]['id']}})[_0x494a('0x2b')](handleEntityNotFound(_0x5d0581,null))[_0x494a('0x2b')](function(_0x551c54){if(_0x551c54){return _0x551c54[_0x494a('0xb9')](_0x4723ec[_0x494a('0xb6')][_0x494a('0xba')],_[_0x494a('0xbb')](_0x4723ec[_0x494a('0xb6')],['ids','id'])||{});}})[_0x494a('0x2b')](respondWithResult(_0x5d0581,null))[_0x494a('0x39')](handleError(_0x5d0581,null));};exports[_0x494a('0xbc')]=function(_0xd8be74,_0x744915,_0x5bbed4){var _0x3eea6b={'raw':![],'where':{}};var _0x1632c6={};var _0xdc53d8={'count':0x0,'rows':[]};return db[_0x494a('0x3b')][_0x494a('0xbd')]({'where':{'id':_0xd8be74[_0x494a('0xb1')]['id']}})[_0x494a('0x2b')](handleEntityNotFound(_0x744915,null))[_0x494a('0x2b')](function(_0x21882d){if(_0x21882d){_0x1632c6[_0x494a('0x3f')]=_[_0x494a('0x72')](db[_0x494a('0xb8')][_0x494a('0xbe')]);_0x1632c6[_0x494a('0x3d')]=_[_0x494a('0x72')](_0xd8be74[_0x494a('0x3d')]);_0x1632c6['filters']=_[_0x494a('0xb2')](_0x1632c6[_0x494a('0x3f')],_0x1632c6['query']);_0x3eea6b[_0x494a('0x40')]=_[_0x494a('0xb2')](_0x1632c6[_0x494a('0x3f')],qs[_0x494a('0x41')](_0xd8be74[_0x494a('0x3d')][_0x494a('0x41')]));_0x3eea6b[_0x494a('0x40')]=_0x3eea6b[_0x494a('0x40')][_0x494a('0x5e')]?_0x3eea6b[_0x494a('0x40')]:_0x1632c6['model'];if(!_0xd8be74['query'][_0x494a('0x42')](_0x494a('0x43'))){_0x3eea6b[_0x494a('0x25')]=qs['limit'](_0xd8be74['query']['limit']);_0x3eea6b['offset']=qs['offset'](_0xd8be74[_0x494a('0x3d')][_0x494a('0x22')]);}_0x3eea6b[_0x494a('0x44')]=qs[_0x494a('0x45')](_0xd8be74[_0x494a('0x3d')][_0x494a('0x45')]);_0x3eea6b['where']=qs[_0x494a('0x3e')](_[_0x494a('0xbf')](_0xd8be74['query'],_0x1632c6[_0x494a('0x3e')]));_0x3eea6b[_0x494a('0x46')][_0x494a('0xae')]=_0x21882d['id'];if(_0xd8be74[_0x494a('0x3d')][_0x494a('0x82')]){_0x3eea6b[_0x494a('0x46')]=_[_0x494a('0x9b')](_0x3eea6b['where'],{'$or':_[_0x494a('0x32')](_0x3eea6b[_0x494a('0x40')],function(_0x26e98c){var _0x14c583={};_0x14c583[_0x26e98c]={'$like':'%'+_0xd8be74['query']['filter']+'%'};return _0x14c583;})});}if(_0xd8be74[_0x494a('0x3d')][_0x494a('0xc0')]){var _0x4480da=_0xd8be74[_0x494a('0x3d')][_0x494a('0xc0')][_0x494a('0x36')](',');var _0x29c67c={};_0x29c67c[_0x4480da[0x0]]={'$gte':moment(_0x4480da[0x1])[_0x494a('0xc1')](_0x494a('0xc2'))};_0x3eea6b['where']=_[_0x494a('0x9b')](_0x3eea6b[_0x494a('0x46')],_0x29c67c);}_0x3eea6b=_['merge']({},_0x3eea6b,_0xd8be74[_0x494a('0xc3')]);return db['WhatsappMessage']['count']({'where':_0x3eea6b[_0x494a('0x46')]})['then'](function(_0x22a8c3){_0xdc53d8['count']=_0x22a8c3;if(_0xd8be74['query'][_0x494a('0xb3')]){_0x3eea6b['include']=[{'all':!![]}];}return db[_0x494a('0xb8')][_0x494a('0xc4')](_0x3eea6b);})['then'](function(_0x52cb9c){_0xdc53d8[_0x494a('0xb0')]=_0x52cb9c;return _0xdc53d8;});}})[_0x494a('0x2b')](respondWithFilteredResult(_0x744915,_0x3eea6b))[_0x494a('0x39')](handleError(_0x744915,null));};exports[_0x494a('0xc5')]=function(_0x19e968,_0x3a2131,_0x4d91d9){return db[_0x494a('0x3b')][_0x494a('0x68')]({'where':{'id':_0x19e968[_0x494a('0xb1')]['id']}})[_0x494a('0x2b')](handleEntityNotFound(_0x3a2131,null))[_0x494a('0x2b')](function(_0x5b8bfe){if(_0x5b8bfe){return _0x5b8bfe[_0x494a('0xc6')](_0x19e968[_0x494a('0xb6')][_0x494a('0xba')],_[_0x494a('0xbb')](_0x19e968['body'],[_0x494a('0xba'),'id'])||{})[_0x494a('0xc7')](function(){return db['Tag']['findAll']({'attributes':['id',_0x494a('0x30'),'color'],'where':{'id':_0x19e968['body'][_0x494a('0xba')]}});})[_0x494a('0x2b')](function(_0x2f6a9b){socket[_0x494a('0xc8')](_0x494a('0xc9'),{'id':Number(_0x19e968['params']['id']),'tags':_0x2f6a9b||[]});return{'id':Number(_0x19e968['params']['id']),'tags':_0x2f6a9b||[]};});}})[_0x494a('0x2b')](respondWithResult(_0x3a2131,null))[_0x494a('0x39')](handleError(_0x3a2131,null));};exports[_0x494a('0xca')]=function(_0x218bb1,_0x29ae7a,_0x279868){return db[_0x494a('0x3b')][_0x494a('0x68')]({'where':{'id':_0x218bb1[_0x494a('0xb1')]['id']}})[_0x494a('0x2b')](handleEntityNotFound(_0x29ae7a,null))[_0x494a('0x2b')](function(_0x56fb3b){if(_0x56fb3b){return _0x56fb3b[_0x494a('0xca')](_0x218bb1[_0x494a('0x3d')][_0x494a('0xba')]);}})[_0x494a('0x2b')](respondWithStatusCode(_0x29ae7a,null))[_0x494a('0x39')](handleError(_0x29ae7a,null));};exports['download']=function(_0x285d09,_0x5c1c5b){var _0x89b507=moment()['unix']()['toString']();var _0x1e1306=path[_0x494a('0xcb')](config[_0x494a('0xcc')],_0x494a('0xcd'),_0x494a('0xce'),_0x494a('0xcf'));var _0x571edc=path[_0x494a('0xcb')](config[_0x494a('0xcc')],_0x494a('0xcd'),_0x494a('0xce'),'attachments');var _0x3f3ec1=path['join'](_0x1e1306,_0x89b507);var _0x25a05b=util['format'](_0x494a('0xd0'),_0x285d09[_0x494a('0xb1')]['id'],_0x89b507);var _0x4d40a3=path[_0x494a('0xcb')](_0x1e1306,_0x25a05b);var _0x156432=[];_0x156432['push']({'model':db[_0x494a('0xd1')],'as':'User','attributes':['id',_0x494a('0x33')],'raw':!![]});_0x156432[_0x494a('0x38')]({'model':db[_0x494a('0xd2')],'as':_0x494a('0x62'),'attributes':['id',_0x494a('0xd3'),_0x494a('0xd4')],'raw':!![]});if(_0x285d09[_0x494a('0x3d')][_0x494a('0xd5')]){_0x156432[_0x494a('0x38')]({'model':db[_0x494a('0xd6')],'as':_0x494a('0xd6'),'raw':!![]});}var _0x41b2cd=[{'model':db[_0x494a('0xb8')],'as':'Messages','attributes':['id',_0x494a('0xb6'),_0x494a('0x78'),_0x494a('0xd7'),_0x494a('0xd8'),_0x494a('0x7e')],'include':_0x156432}];_0x41b2cd[_0x494a('0x38')]({'model':db[_0x494a('0xd9')],'as':_0x494a('0xda'),'attributes':['id',_0x494a('0x30')]});_0x41b2cd[_0x494a('0x38')]({'model':db[_0x494a('0xd1')],'as':'Owner','attributes':['id','fullname']});return db['WhatsappInteraction'][_0x494a('0x68')]({'where':{'id':_0x285d09[_0x494a('0xb1')]['id']},'include':_0x41b2cd})[_0x494a('0x2b')](handleEntityNotFound(_0x5c1c5b,null))[_0x494a('0x2b')](function(_0x1b55eb){if(_0x1b55eb){var _0x2a5057=_0x1b55eb[_0x494a('0xdb')]({'plain':!![]});fs[_0x494a('0xdc')](_0x3f3ec1);var _0x5bc98e={'channel':'Whatsapp','account':_0x2a5057[_0x494a('0xda')][_0x494a('0x30')],'agent':_0x2a5057['Owner']?_0x2a5057['Owner'][_0x494a('0x33')]:_0x494a('0xdd'),'createdAt':moment(_0x2a5057[_0x494a('0x78')])[_0x494a('0xc1')](_0x494a('0xc2'))[_0x494a('0x99')](),'closedAt':_0x2a5057['closed']?moment(_0x2a5057['closedAt'])[_0x494a('0xc1')](_0x494a('0xc2'))['toString']():'','disposition':_0x2a5057['disposition'],'messages':_(_0x2a5057[_0x494a('0xde')])[_0x494a('0x82')]({'secret':![]})[_0x494a('0x32')](function(_0x39af64){if(_0x39af64[_0x494a('0xd6')]){var _0x31f20a=path[_0x494a('0xcb')](_0x571edc,_0x39af64['Attachment']['basename']);if(fs[_0x494a('0xdf')](_0x31f20a)){fs[_0x494a('0xe0')](_0x31f20a)[_0x494a('0xe1')](fs[_0x494a('0xe2')](path[_0x494a('0xcb')](_0x3f3ec1,_0x39af64[_0x494a('0xd6')][_0x494a('0xe3')])));}}return{'date':moment(_0x39af64[_0x494a('0x78')])[_0x494a('0xc1')]('YYYY-MM-DD\x20HH:mm:ss')[_0x494a('0x99')](),'sender':_0x39af64[_0x494a('0xd7')]===_0x494a('0xe4')?_0x39af64[_0x494a('0xd1')]?_0x39af64['User'][_0x494a('0x33')]:'System':_0x39af64[_0x494a('0x62')]['firstName']+(_0x39af64['Contact'][_0x494a('0xd4')]?'\x20'+_0x39af64['Contact'][_0x494a('0xd4')]:''),'body':_0x39af64['Attachment']?_0x39af64[_0x494a('0xd6')][_0x494a('0xe3')]:_0x39af64[_0x494a('0xb6')],'direction':_0x39af64[_0x494a('0xd7')]===_0x494a('0xe4')?'A':'C','secret':_0x39af64['secret'],'read':_0x39af64[_0x494a('0x7e')],'attachment':_0x39af64[_0x494a('0xd6')]};})[_0x494a('0x65')]()};return ejs[_0x494a('0xe5')](path[_0x494a('0xcb')](config[_0x494a('0xcc')],_0x494a('0xcd'),_0x494a('0xe6'),_0x494a('0xe7')),{'interaction':_0x5bc98e})[_0x494a('0x2b')](function(_0x5b4113){var _0x329cc4=path[_0x494a('0xcb')](_0x3f3ec1,'transcript-'+_0x2a5057['id']+'-'+_0x89b507+_0x494a('0xe8'));var _0x1592e0={'path':_0x329cc4,'channel':_0x494a('0xe9'),'interactionId':_0x2a5057['id']};return pdf[_0x494a('0xea')](_0x5b4113,_0x1592e0);})['then'](function(){return new BPromise(function(_0x35e071,_0x5a0321){zipdir(_0x3f3ec1,{'saveTo':_0x4d40a3},function(_0x3e4288,_0x53ea5f){if(_0x3e4288)return _0x5a0321(_0x3e4288);return _0x35e071(_0x53ea5f);});})[_0x494a('0x2b')](function(){return new BPromise(function(_0x511b77,_0x344907){rimraf(_0x3f3ec1,function(_0x7b208f){if(_0x7b208f)_0x344907(_0x7b208f);return _0x511b77();});});})[_0x494a('0x2b')](function(){return _0x5c1c5b[_0x494a('0xeb')](_0x4d40a3,_0x25a05b,function(_0x245296){if(_0x245296){console[_0x494a('0xec')](_0x494a('0xed'),_0x245296);}else{fs['unlinkSync'](_0x4d40a3);}});});});}else{return _0x5c1c5b[_0x494a('0x1f')](0xc8);}})['catch'](handleError(_0x5c1c5b,null));};