Built motion from commit (unavailable).|2.5.7
[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 _0x60fd=['isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','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)','DESC','resolve','WhatsappAccountId','journey','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','keyBy','WhatsappInteraction','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','o.internal','Owner.internal','ui.WhatsappInteractionId\x20IN\x20?','groupBy','all','show','params','merge','options','create','describe','addMessage','WhatsappMessage','omit','ids','getMessages','findOne','hasOwnProperty','nolimit','WhatsappInteractionId','format','YYYY-MM-DD\x20HH:mm:ss','addTags','setTags','spread','findAll','emit','removeTags','unix','files','tmp','join','root','attachments','CmContact','firstName','lastName','push','Attachment','Messages','direction','WhatsappAccount','Owner','get','mkdirSync','10px','30px','%s\x20#%d','Whatsapp','YYYY-MM-DD','Account','N.A.','closedAt','disposition','basename','existsSync','pipe','createWriteStream','out','System','secret','renderFile','server','downloadInteraction.html','toFile','transcript-','.pdf','download','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','redis','defaults','localhost','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','then','destroy','error','name','send','Users','map','fullname','TagIds','Tags','split','catch','index','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','order','sort','where','pick','select','field','color','tools_tags','u.id','ui.WhatsappInteractionId','from','user_has_whatsapp_interactions','u.id\x20=\x20ui.UserId','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','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','search','sqlOperator','length','conditions','find','unreadMessages','value','`\x20=\x200','`\x20>\x200','Contact','$substring','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','text','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','buildExpression','start','body','compact','isEmpty','i.WhatsappAccountId\x20IN\x20?','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','having','`unreadMessages`\x20>\x200','tag'];(function(_0x4b0b93,_0x518126){var _0x10b0d0=function(_0x19d95b){while(--_0x19d95b){_0x4b0b93['push'](_0x4b0b93['shift']());}};_0x10b0d0(++_0x518126);}(_0x60fd,0x160));var _0xd60f=function(_0x56985f,_0x3c4c5b){_0x56985f=_0x56985f-0x0;var _0x2b1fc1=_0x60fd[_0x56985f];return _0x2b1fc1;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xd60f('0x0'));var rimraf=require(_0xd60f('0x1'));var zipdir=require(_0xd60f('0x2'));var jsonpatch=require(_0xd60f('0x3'));var rp=require(_0xd60f('0x4'));var moment=require('moment');var BPromise=require(_0xd60f('0x5'));var Mustache=require(_0xd60f('0x6'));var util=require('util');var path=require(_0xd60f('0x7'));var sox=require(_0xd60f('0x8'));var csv=require(_0xd60f('0x9'));var ejs=require(_0xd60f('0xa'));var fs=require('fs');var _=require(_0xd60f('0xb'));var squel=require(_0xd60f('0xc'));var crypto=require(_0xd60f('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xd60f('0xe'));var toCsv=require(_0xd60f('0x9'));var querystring=require(_0xd60f('0xf'));var Papa=require(_0xd60f('0x10'));var Redis=require(_0xd60f('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd60f('0x12'));var logger=require(_0xd60f('0x13'))('api');var utils=require(_0xd60f('0x14'));var config=require(_0xd60f('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0xd60f('0x16')]=_[_0xd60f('0x17')](config['redis'],{'host':_0xd60f('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xd60f('0x16')]));require('./whatsappInteraction.socket')[_0xd60f('0x19')](socket);function respondWithStatusCode(_0xe87e25,_0x46d7ee){_0x46d7ee=_0x46d7ee||0xcc;return function(_0x2281da){if(_0x2281da){return _0xe87e25[_0xd60f('0x1a')](_0x46d7ee);}return _0xe87e25[_0xd60f('0x1b')](_0x46d7ee)[_0xd60f('0x1c')]();};}function respondWithResult(_0x2b61dd,_0x265b22){_0x265b22=_0x265b22||0xc8;return function(_0x2eecf1){if(_0x2eecf1){return _0x2b61dd[_0xd60f('0x1b')](_0x265b22)[_0xd60f('0x1d')](_0x2eecf1);}};}function respondWithFilteredResult(_0x564285,_0x30cdaf){return function(_0x46b6a8){if(_0x46b6a8){var _0x57d648=_0x46b6a8[_0xd60f('0x1e')],_0x4859c7=_0x30cdaf['offset'],_0x55ceed=_0x30cdaf[_0xd60f('0x1f')]+_0x30cdaf[_0xd60f('0x20')],_0x19ee60;if(_0x55ceed>=_0x57d648){_0x55ceed=_0x57d648;_0x19ee60=0xc8;}else{_0x19ee60=0xce;}_0x564285[_0xd60f('0x1b')](_0x19ee60);return _0x564285[_0xd60f('0x21')](_0xd60f('0x22'),_0x4859c7+'-'+_0x55ceed+'/'+_0x57d648)[_0xd60f('0x1d')](_0x46b6a8);}return null;};}function patchUpdates(_0x1fcb16){return function(_0x589734){try{jsonpatch['apply'](_0x589734,_0x1fcb16,!![]);}catch(_0x2645f6){return BPromise[_0xd60f('0x23')](_0x2645f6);}return _0x589734[_0xd60f('0x24')]();};}function saveUpdates(_0x4e73c9,_0x563fd8){return function(_0x516379){if(_0x516379){return _0x516379['update'](_0x4e73c9)[_0xd60f('0x25')](function(_0x816f){return _0x816f;});}return null;};}function removeEntity(_0x2808d5,_0x3f9244){return function(_0x239f32){if(_0x239f32){return _0x239f32[_0xd60f('0x26')]()['then'](function(){_0x2808d5[_0xd60f('0x1b')](0xcc)[_0xd60f('0x1c')]();});}};}function handleEntityNotFound(_0x541791,_0x25245e){return function(_0x1bf210){if(!_0x1bf210){_0x541791[_0xd60f('0x1a')](0x194);}return _0x1bf210;};}function handleError(_0x25f605,_0x4762a7){_0x4762a7=_0x4762a7||0x1f4;return function(_0xe1c2f){logger[_0xd60f('0x27')](_0xe1c2f['stack']);if(_0xe1c2f[_0xd60f('0x28')]){delete _0xe1c2f[_0xd60f('0x28')];}_0x25f605[_0xd60f('0x1b')](_0x4762a7)[_0xd60f('0x29')](_0xe1c2f);};}function getInteractionUsers(_0x1298ce,_0x3696f3){return new BPromise(function(_0x34c18c,_0x1428b0){try{if(_0x3696f3[_0x1298ce['id']]){_0x1298ce[_0xd60f('0x2a')]=_[_0xd60f('0x2b')](_0x3696f3[_0x1298ce['id']],function(_0x1de9d9){return{'id':_0x1de9d9['id'],'fullname':_0x1de9d9[_0xd60f('0x2c')]};});}}catch(_0x54d0af){_0x1428b0(_0x54d0af);}_0x34c18c(_0x1298ce);});}function getInteractionTags(_0x331b80,_0x169858){return new BPromise(function(_0x31e38e,_0xbef1d8){try{if(_0x331b80[_0xd60f('0x2d')]){_0x331b80[_0xd60f('0x2e')]=[];_0x331b80[_0xd60f('0x2d')][_0xd60f('0x2f')](',')['forEach'](function(_0x544b20){_0x331b80['Tags']['push'](_0x169858[_0x544b20]);});}delete _0x331b80[_0xd60f('0x2d')];}catch(_0x4fb051){_0xbef1d8(_0x4fb051);}_0x31e38e(_0x331b80);});}function updateWhatsappInteraction(_0x28a6c6,_0x1c409b,_0x1c9f82){return new BPromise(function(_0x1d2e8d,_0x4afda6){return getInteractionUsers(_0x28a6c6,_0x1c9f82)[_0xd60f('0x25')](function(_0x57b851){return getInteractionTags(_0x57b851,_0x1c409b);})[_0xd60f('0x25')](function(_0x2d9ce1){_0x1d2e8d(_0x2d9ce1);})[_0xd60f('0x30')](function(_0x463967){_0x4afda6(_0x463967);});});}exports[_0xd60f('0x31')]=function(_0x535b94,_0x39ddda){var _0x27ab96={},_0x4c9a43={},_0x993b85={'count':0x0,'rows':[]};var _0x24f15e=_[_0xd60f('0x2b')](db['WhatsappInteraction'][_0xd60f('0x32')],function(_0x58e6d2){return{'name':_0x58e6d2['fieldName'],'type':_0x58e6d2[_0xd60f('0x33')][_0xd60f('0x34')]};});_0x4c9a43[_0xd60f('0x35')]=_['map'](_0x24f15e,_0xd60f('0x28'));_0x4c9a43[_0xd60f('0x36')]=_[_0xd60f('0x37')](_0x535b94['query']);_0x4c9a43[_0xd60f('0x38')]=_[_0xd60f('0x39')](_0x4c9a43[_0xd60f('0x35')],_0x4c9a43[_0xd60f('0x36')]);_0x27ab96[_0xd60f('0x3a')]=_[_0xd60f('0x39')](_0x4c9a43[_0xd60f('0x35')],qs[_0xd60f('0x3b')](_0x535b94[_0xd60f('0x36')][_0xd60f('0x3b')]));_0x27ab96[_0xd60f('0x3a')]=_0x27ab96[_0xd60f('0x3a')]['length']?_0x27ab96[_0xd60f('0x3a')]:_0x4c9a43[_0xd60f('0x35')];if(!_0x535b94['query']['hasOwnProperty']('nolimit')){_0x27ab96[_0xd60f('0x20')]=qs[_0xd60f('0x20')](_0x535b94[_0xd60f('0x36')][_0xd60f('0x20')]);_0x27ab96['offset']=qs[_0xd60f('0x1f')](_0x535b94[_0xd60f('0x36')][_0xd60f('0x1f')]);}_0x27ab96[_0xd60f('0x3c')]=qs[_0xd60f('0x3d')](_0x535b94[_0xd60f('0x36')]['sort']);_0x27ab96[_0xd60f('0x3e')]=qs[_0xd60f('0x38')](_[_0xd60f('0x3f')](_0x535b94[_0xd60f('0x36')],_0x4c9a43[_0xd60f('0x38')]),_0x24f15e);var _0x1ad938=[];var _0x141270=squel[_0xd60f('0x40')]()[_0xd60f('0x41')]('id')[_0xd60f('0x41')](_0xd60f('0x28'))[_0xd60f('0x41')](_0xd60f('0x42'))['from'](_0xd60f('0x43'));var _0x162db8=squel[_0xd60f('0x40')]()['field'](_0xd60f('0x44'))['field']('u.fullname')[_0xd60f('0x41')](_0xd60f('0x45'))[_0xd60f('0x46')](_0xd60f('0x47'),'ui')['left_join']('users','u',_0xd60f('0x48'));var _0x2d71c6=squel[_0xd60f('0x40')]()[_0xd60f('0x46')]('whatsapp_interactions','i')[_0xd60f('0x49')](_0xd60f('0x4a'),'c',_0xd60f('0x4b'))['left_join'](_0xd60f('0x4c'),'o',_0xd60f('0x4d'))[_0xd60f('0x49')](_0xd60f('0x4e'),'a','a.id\x20=\x20i.WhatsappAccountId')[_0xd60f('0x49')](_0xd60f('0x4f'),'me',_0xd60f('0x50'))[_0xd60f('0x49')](_0xd60f('0x51'),'it',_0xd60f('0x52'))[_0xd60f('0x49')](_0xd60f('0x43'),'t',_0xd60f('0x53'));var _0x936fe9=squel[_0xd60f('0x54')]();var _0x48ca2f=[];var _0x2d84ea=squel['expr']();var _0x398f28;if(_0x535b94[_0xd60f('0x36')][_0xd60f('0x55')]){_0x398f28=as['parseSearch'](_0x535b94[_0xd60f('0x36')][_0xd60f('0x55')]);var _0x5ca25d=_0x398f28[_0xd60f('0x56')];for(var _0x43f47f=0x0;_0x43f47f<_0x398f28['conditions'][_0xd60f('0x57')];_0x43f47f++){var _0x4799d1=_0x398f28[_0xd60f('0x58')][_0x43f47f];var _0x1e7f19='i';var _0xe89ed0=_[_0xd60f('0x59')](_0x24f15e,[_0xd60f('0x28'),_0x4799d1[_0xd60f('0x41')]]);if(!_0xe89ed0){switch(_0x4799d1[_0xd60f('0x41')]){case _0xd60f('0x5a'):if(_0x4799d1[_0xd60f('0x5b')]==0x1){_0x2d71c6['having']('`'+_0x4799d1[_0xd60f('0x41')]+_0xd60f('0x5c'));}else{_0x2d71c6['having']('`'+_0x4799d1[_0xd60f('0x41')]+_0xd60f('0x5d'));}break;case _0xd60f('0x5e'):if(_0x4799d1['operator']===_0xd60f('0x5f')){if(_0x4799d1[_0xd60f('0x5b')][_0xd60f('0x2f')]('\x20')[_0xd60f('0x57')]>0x1){_0x936fe9[_0x5ca25d](_0xd60f('0x60'),qs['getFullTextValue'](_0x4799d1['value']),null);}else{var _0x291e80='%'+_0x4799d1['value']+'%';_0x936fe9[_0x5ca25d](_0xd60f('0x61'),_0x291e80,_0x291e80,_0x291e80);}}else{_0xe89ed0=_['find'](_0x24f15e,['name',_0xd60f('0x62')]);_0x4799d1[_0xd60f('0x41')]=_0xd60f('0x62');_0x4c55d3=as['buildExpression'](_0x1e7f19,_0xe89ed0[_0xd60f('0x33')],_0x4799d1);_0x936fe9[_0x5ca25d](_0x4c55d3[_0xd60f('0x63')],_0x4c55d3[_0xd60f('0x5b')]['start'],_0x4c55d3[_0xd60f('0x5b')][_0xd60f('0x1c')]);}break;case _0xd60f('0x64'):var _0x216a20=_0x4799d1[_0xd60f('0x5b')]['split'](',')['map'](function(_0x347629){return Number(_0x347629);});_0x216a20[_0xd60f('0x65')](function(_0x23dd25){_0x2d84ea['or'](_0xd60f('0x66'),'%,'+_0x23dd25+',%');});_0x48ca2f=_[_0xd60f('0x67')](_0x48ca2f,_0x216a20);break;case _0xd60f('0x68'):if(_0x4799d1[_0xd60f('0x69')]===_0xd60f('0x5f')){_0x936fe9[_0x5ca25d](_0xd60f('0x6a'),'%'+_0x4799d1['value']+'%',null);}else{_0xe89ed0=_[_0xd60f('0x59')](_0x24f15e,['name','UserId']);_0x4799d1[_0xd60f('0x41')]=_0xd60f('0x6b');_0x4c55d3=as[_0xd60f('0x6c')](_0x1e7f19,_0xe89ed0['type'],_0x4799d1);_0x936fe9[_0x5ca25d](_0x4c55d3['text'],_0x4c55d3[_0xd60f('0x5b')][_0xd60f('0x6d')],_0x4c55d3[_0xd60f('0x5b')]['end']);}break;case _0xd60f('0x6e'):_0x4c55d3=as[_0xd60f('0x6c')]('me',null,_0x4799d1);_0x936fe9[_0x5ca25d](_0x4c55d3['text'],_0x4c55d3[_0xd60f('0x5b')][_0xd60f('0x6d')],_0x4c55d3['value'][_0xd60f('0x1c')]);break;}}else{var _0x4c55d3=as[_0xd60f('0x6c')](_0x1e7f19,_0xe89ed0[_0xd60f('0x33')],_0x4799d1);_0x936fe9[_0x5ca25d](_0x4c55d3[_0xd60f('0x63')],_0x4c55d3[_0xd60f('0x5b')][_0xd60f('0x6d')],_0x4c55d3[_0xd60f('0x5b')]['end']);}}}else{var _0x160e5e=_(_0x535b94['query'])[_0xd60f('0x37')]()[_0xd60f('0x2b')](function(_0x4b42be){return _['some'](_0x24f15e,['name',_0x4b42be])?_0x4b42be:undefined;})[_0xd60f('0x6f')]()[_0xd60f('0x5b')]();if(!_[_0xd60f('0x70')](_0x160e5e)){_0x160e5e['forEach'](function(_0x520f5d){if(_0x520f5d==='WhatsappAccountId'){_0x2d71c6['where'](_0xd60f('0x71'),[]['concat'](_0x535b94['query'][_0x520f5d]));}else if(_0x520f5d===_0xd60f('0x72')){var _0x4d7593=JSON[_0xd60f('0x73')](_0x535b94[_0xd60f('0x36')][_0x520f5d])[_0xd60f('0x74')];var _0x546bde=JSON[_0xd60f('0x73')](_0x535b94[_0xd60f('0x36')][_0x520f5d])[_0xd60f('0x75')];_0x2d71c6[_0xd60f('0x3e')](_0xd60f('0x76'),_0x4d7593,_0x546bde);}else{if(_0x535b94['query'][_0x520f5d]===_0xd60f('0x77')){_0x2d71c6[_0xd60f('0x3e')]('i.'+_0x520f5d+_0xd60f('0x78'));}else{_0x2d71c6[_0xd60f('0x3e')]('i.'+_0x520f5d+'\x20=\x20?',_0x535b94[_0xd60f('0x36')][_0x520f5d]);}}});}if(_0x535b94[_0xd60f('0x36')][_0xd60f('0x79')]){if(_0x535b94[_0xd60f('0x36')][_0xd60f('0x79')]==0x1){_0x2d71c6['having'](_0xd60f('0x7a'));}else{_0x2d71c6[_0xd60f('0x7b')](_0xd60f('0x7c'));}}if(_0x535b94[_0xd60f('0x36')][_0xd60f('0x7d')]){_0x48ca2f=_[_0xd60f('0x7e')](_0x535b94[_0xd60f('0x36')][_0xd60f('0x7d')])?_0x535b94['query'][_0xd60f('0x7d')]:new Array(_0x535b94[_0xd60f('0x36')][_0xd60f('0x7d')]);_0x48ca2f[_0xd60f('0x65')](function(_0xad9103){_0x2d84ea['or'](_0xd60f('0x66'),'%,'+_0xad9103+',%');});}if(_0x535b94[_0xd60f('0x36')][_0xd60f('0x7f')]){var _0x57fc79=_0x535b94['query']['filter'][_0xd60f('0x80')]('\x5c','\x5c\x5c')[_0xd60f('0x80')](/'/g,'\x27\x27');if(qs[_0xd60f('0x81')](_0x57fc79)){_0x936fe9['or'](_0xd60f('0x82'),_0x57fc79+'%')['or'](_0xd60f('0x83'),_0x57fc79+'%');}else{_0x936fe9['or'](_0xd60f('0x84'),qs[_0xd60f('0x85')](_0x57fc79))['or'](_0xd60f('0x86'),_0x57fc79+'%');}}}_0x2d71c6[_0xd60f('0x3e')](_0x936fe9);_0x2d71c6['group'](_0xd60f('0x87'));var _0x4cfab8={'type':db[_0xd60f('0x88')][_0xd60f('0x89')][_0xd60f('0x8a')],'raw':!![]};var _0x53d7e9=_0x2d71c6[_0xd60f('0x8b')]();_0x53d7e9[_0xd60f('0x41')](_0xd60f('0x87'));_0x53d7e9[_0xd60f('0x41')](_0xd60f('0x8c'),'unreadMessages');if(_0x27ab96[_0xd60f('0x3c')]){_0x27ab96[_0xd60f('0x3c')]['forEach'](function(_0x44571e){_0x2d71c6[_0xd60f('0x3c')]('i.'+_0x44571e[0x0],_0x44571e[0x1]===_0xd60f('0x8d')?![]:!![]);});}if(!_[_0xd60f('0x70')](_0x48ca2f)){_0x2d71c6[_0xd60f('0x7b')](_0x2d84ea);_0x53d7e9[_0xd60f('0x3e')]('t.id\x20IN\x20?',_0x48ca2f);}BPromise[_0xd60f('0x8e')]()['then'](function(){if(!_0x398f28){if(_0x535b94['query'][_0xd60f('0x8f')]||_0x535b94[_0xd60f('0x36')][_0xd60f('0x90')])return;_0x53d7e9[_0xd60f('0x3e')](_0xd60f('0x91'));_0x2d71c6[_0xd60f('0x3e')](_0xd60f('0x91'));return;}return _0x535b94[_0xd60f('0x92')][_0xd60f('0x93')]({'attributes':['id'],'raw':!![]})['then'](function(_0x4f3d10){if(_[_0xd60f('0x70')](_0x4f3d10)){_0x53d7e9[_0xd60f('0x3e')](_0xd60f('0x94'));_0x2d71c6[_0xd60f('0x3e')]('i.WhatsappAccountId\x20IS\x20NULL');}else{_0x53d7e9[_0xd60f('0x3e')](_0xd60f('0x71'),_[_0xd60f('0x2b')](_0x4f3d10,'id'));_0x2d71c6[_0xd60f('0x3e')](_0xd60f('0x71'),_[_0xd60f('0x2b')](_0x4f3d10,'id'));}});})[_0xd60f('0x25')](function(){db[_0xd60f('0x95')]['query'](_0x53d7e9[_0xd60f('0x96')](),_0x4cfab8)['then'](function(_0x496951){_0x993b85['count']=_0x496951['length'];if(_0x993b85[_0xd60f('0x1e')]===0x0)return[];return db[_0xd60f('0x95')][_0xd60f('0x36')](_0x141270[_0xd60f('0x96')](),_0x4cfab8)[_0xd60f('0x25')](function(_0x112090){_0x1ad938=_[_0xd60f('0x97')](_0x112090,'id');_0x4cfab8=_['merge'](_0x4cfab8,{'model':db[_0xd60f('0x98')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x535b94[_0xd60f('0x36')][_0xd60f('0x3b')]){_0x27ab96[_0xd60f('0x3a')][_0xd60f('0x65')](function(_0x23c339){_0x2d71c6[_0xd60f('0x41')]('i.'+_0x23c339);});}else{_0x2d71c6['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xd60f('0x5a'));_0x2d71c6[_0xd60f('0x41')](_0xd60f('0x99'),'Account.key');_0x2d71c6['field'](_0xd60f('0x9a'),_0xd60f('0x9b'));_0x2d71c6[_0xd60f('0x41')](_0xd60f('0x9c'));_0x2d71c6[_0xd60f('0x41')](_0xd60f('0x9d'),_0xd60f('0x9e'));_0x2d71c6[_0xd60f('0x41')](_0xd60f('0x9f'),_0xd60f('0xa0'));_0x2d71c6['field']('c.email',_0xd60f('0xa1'));_0x2d71c6[_0xd60f('0x41')](_0xd60f('0xa2'),_0xd60f('0xa3'));_0x2d71c6[_0xd60f('0x41')](_0xd60f('0xa4'),'Contact.mobile');_0x2d71c6[_0xd60f('0x41')](_0xd60f('0xa5'),_0xd60f('0xa6'));_0x2d71c6[_0xd60f('0x41')](_0xd60f('0xa7'),'Owner.fullname');_0x2d71c6[_0xd60f('0x41')](_0xd60f('0xa8'),_0xd60f('0xa9'));_0x2d71c6[_0xd60f('0x41')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0xd60f('0x2d'));}if(_0x27ab96[_0xd60f('0x20')])_0x2d71c6[_0xd60f('0x20')](_0x27ab96['limit']);if(_0x27ab96[_0xd60f('0x1f')])_0x2d71c6[_0xd60f('0x1f')](_0x27ab96[_0xd60f('0x1f')]);return db[_0xd60f('0x95')]['query'](_0x2d71c6[_0xd60f('0x96')](),_0x4cfab8);})[_0xd60f('0x25')](function(_0x475622){_0x162db8[_0xd60f('0x3e')](_0xd60f('0xaa'),_[_0xd60f('0x2b')](_0x475622,'id'));return db[_0xd60f('0x95')][_0xd60f('0x36')](_0x162db8[_0xd60f('0x96')](),_0x4cfab8)[_0xd60f('0x25')](function(_0x1cf815){var _0x3345e9=_[_0xd60f('0xab')](_0x1cf815,'WhatsappInteractionId');var _0x4d56e5=[];_0x475622[_0xd60f('0x65')](function(_0x5c971d){_0x4d56e5['push'](updateWhatsappInteraction(_0x5c971d,_0x1ad938,_0x3345e9));});return BPromise[_0xd60f('0xac')](_0x4d56e5);});});})[_0xd60f('0x25')](function(_0x4162fb){_0x993b85['rows']=_0x4162fb;return _0x993b85;})[_0xd60f('0x25')](respondWithFilteredResult(_0x39ddda,_0x27ab96));})[_0xd60f('0x30')](handleError(_0x39ddda,null));};exports[_0xd60f('0xad')]=function(_0x1716e5,_0x4b2a10){var _0x145aed={'raw':![],'where':{'id':_0x1716e5[_0xd60f('0xae')]['id']}},_0x351c9b={};_0x351c9b[_0xd60f('0x35')]=_['keys'](db[_0xd60f('0x98')][_0xd60f('0x32')]);_0x351c9b[_0xd60f('0x36')]=_[_0xd60f('0x37')](_0x1716e5[_0xd60f('0x36')]);_0x351c9b['filters']=_['intersection'](_0x351c9b[_0xd60f('0x35')],_0x351c9b['query']);_0x145aed[_0xd60f('0x3a')]=_['intersection'](_0x351c9b['model'],qs[_0xd60f('0x3b')](_0x1716e5[_0xd60f('0x36')][_0xd60f('0x3b')]));_0x145aed[_0xd60f('0x3a')]=_0x145aed['attributes'][_0xd60f('0x57')]?_0x145aed[_0xd60f('0x3a')]:_0x351c9b[_0xd60f('0x35')];if(_0x1716e5[_0xd60f('0x36')]['includeAll']){_0x145aed['include']=[{'all':!![]}];}_0x145aed=_[_0xd60f('0xaf')]({},_0x145aed,_0x1716e5[_0xd60f('0xb0')]);return db['WhatsappInteraction'][_0xd60f('0x59')](_0x145aed)[_0xd60f('0x25')](handleEntityNotFound(_0x4b2a10,null))['then'](respondWithResult(_0x4b2a10,null))[_0xd60f('0x30')](handleError(_0x4b2a10,null));};exports[_0xd60f('0xb1')]=function(_0x3cd77d,_0x2ec9e5){return db[_0xd60f('0x98')]['create'](_0x3cd77d[_0xd60f('0x6e')],{})[_0xd60f('0x25')](respondWithResult(_0x2ec9e5,0xc9))[_0xd60f('0x30')](handleError(_0x2ec9e5,null));};exports['update']=function(_0x31dfe2,_0x256821){if(_0x31dfe2[_0xd60f('0x6e')]['id']){delete _0x31dfe2[_0xd60f('0x6e')]['id'];}return db[_0xd60f('0x98')]['find']({'where':{'id':_0x31dfe2[_0xd60f('0xae')]['id']}})[_0xd60f('0x25')](handleEntityNotFound(_0x256821,null))['then'](saveUpdates(_0x31dfe2[_0xd60f('0x6e')],null))['then'](respondWithResult(_0x256821,null))[_0xd60f('0x30')](handleError(_0x256821,null));};exports[_0xd60f('0x26')]=function(_0x565397,_0x5b7a53){return db[_0xd60f('0x98')][_0xd60f('0x59')]({'where':{'id':_0x565397[_0xd60f('0xae')]['id']}})[_0xd60f('0x25')](handleEntityNotFound(_0x5b7a53,null))[_0xd60f('0x25')](removeEntity(_0x5b7a53,null))[_0xd60f('0x30')](handleError(_0x5b7a53,null));};exports[_0xd60f('0xb2')]=function(_0xc198f4,_0x3abfad){return db[_0xd60f('0x98')]['describe']()['then'](respondWithResult(_0x3abfad,null))['catch'](handleError(_0x3abfad,null));};exports[_0xd60f('0xb3')]=function(_0x428959,_0x31f101,_0x7d64b5){return db[_0xd60f('0xb4')]['find']({'where':{'id':_0x428959[_0xd60f('0xae')]['id']}})['then'](handleEntityNotFound(_0x31f101,null))[_0xd60f('0x25')](function(_0x181ed0){if(_0x181ed0){return _0x181ed0[_0xd60f('0xb3')](_0x428959[_0xd60f('0x6e')]['ids'],_[_0xd60f('0xb5')](_0x428959[_0xd60f('0x6e')],[_0xd60f('0xb6'),'id'])||{});}})[_0xd60f('0x25')](respondWithResult(_0x31f101,null))[_0xd60f('0x30')](handleError(_0x31f101,null));};exports[_0xd60f('0xb7')]=function(_0x3e507c,_0x2dddc5,_0x396c9e){var _0x21a8e1={'raw':![],'where':{}};var _0x269382={};var _0x38e922={'count':0x0,'rows':[]};return db['WhatsappInteraction'][_0xd60f('0xb8')]({'where':{'id':_0x3e507c[_0xd60f('0xae')]['id']}})[_0xd60f('0x25')](handleEntityNotFound(_0x2dddc5,null))['then'](function(_0x484ea4){if(_0x484ea4){_0x269382[_0xd60f('0x35')]=_[_0xd60f('0x37')](db['WhatsappMessage']['rawAttributes']);_0x269382[_0xd60f('0x36')]=_[_0xd60f('0x37')](_0x3e507c[_0xd60f('0x36')]);_0x269382[_0xd60f('0x38')]=_[_0xd60f('0x39')](_0x269382[_0xd60f('0x35')],_0x269382[_0xd60f('0x36')]);_0x21a8e1['attributes']=_[_0xd60f('0x39')](_0x269382[_0xd60f('0x35')],qs['fields'](_0x3e507c[_0xd60f('0x36')][_0xd60f('0x3b')]));_0x21a8e1['attributes']=_0x21a8e1[_0xd60f('0x3a')][_0xd60f('0x57')]?_0x21a8e1[_0xd60f('0x3a')]:_0x269382[_0xd60f('0x35')];if(!_0x3e507c[_0xd60f('0x36')][_0xd60f('0xb9')](_0xd60f('0xba'))){_0x21a8e1[_0xd60f('0x20')]=qs['limit'](_0x3e507c[_0xd60f('0x36')]['limit']);_0x21a8e1[_0xd60f('0x1f')]=qs['offset'](_0x3e507c['query']['offset']);}_0x21a8e1[_0xd60f('0x3c')]=qs[_0xd60f('0x3d')](_0x3e507c[_0xd60f('0x36')]['sort']);_0x21a8e1[_0xd60f('0x3e')]=qs['filters'](_['pick'](_0x3e507c[_0xd60f('0x36')],_0x269382[_0xd60f('0x38')]));_0x21a8e1[_0xd60f('0x3e')][_0xd60f('0xbb')]=_0x484ea4['id'];if(_0x3e507c['query'][_0xd60f('0x7f')]){_0x21a8e1[_0xd60f('0x3e')]=_[_0xd60f('0xaf')](_0x21a8e1['where'],{'$or':_[_0xd60f('0x2b')](_0x21a8e1[_0xd60f('0x3a')],function(_0x5c21ba){var _0x180c8b={};_0x180c8b[_0x5c21ba]={'$like':'%'+_0x3e507c[_0xd60f('0x36')][_0xd60f('0x7f')]+'%'};return _0x180c8b;})});}if(_0x3e507c[_0xd60f('0x36')][_0xd60f('0x74')]){var _0x23f5aa=_0x3e507c[_0xd60f('0x36')][_0xd60f('0x74')][_0xd60f('0x2f')](',');var _0x4bc3a3={};_0x4bc3a3[_0x23f5aa[0x0]]={'$gte':moment(_0x23f5aa[0x1])[_0xd60f('0xbc')](_0xd60f('0xbd'))};_0x21a8e1['where']=_[_0xd60f('0xaf')](_0x21a8e1[_0xd60f('0x3e')],_0x4bc3a3);}_0x21a8e1=_[_0xd60f('0xaf')]({},_0x21a8e1,_0x3e507c[_0xd60f('0xb0')]);return db[_0xd60f('0xb4')][_0xd60f('0x1e')]({'where':_0x21a8e1[_0xd60f('0x3e')]})['then'](function(_0x498e3e){_0x38e922['count']=_0x498e3e;if(_0x3e507c[_0xd60f('0x36')]['includeAll']){_0x21a8e1['include']=[{'all':!![]}];}return db['WhatsappMessage']['findAll'](_0x21a8e1);})[_0xd60f('0x25')](function(_0x3af532){_0x38e922['rows']=_0x3af532;return _0x38e922;});}})[_0xd60f('0x25')](respondWithFilteredResult(_0x2dddc5,_0x21a8e1))['catch'](handleError(_0x2dddc5,null));};exports[_0xd60f('0xbe')]=function(_0x525597,_0x589c25,_0x1928f3){return db[_0xd60f('0x98')][_0xd60f('0x59')]({'where':{'id':_0x525597[_0xd60f('0xae')]['id']}})[_0xd60f('0x25')](handleEntityNotFound(_0x589c25,null))['then'](function(_0x246820){if(_0x246820){return _0x246820[_0xd60f('0xbf')](_0x525597[_0xd60f('0x6e')][_0xd60f('0xb6')],_[_0xd60f('0xb5')](_0x525597[_0xd60f('0x6e')],[_0xd60f('0xb6'),'id'])||{})[_0xd60f('0xc0')](function(){return db[_0xd60f('0x64')][_0xd60f('0xc1')]({'attributes':['id',_0xd60f('0x28'),_0xd60f('0x42')],'where':{'id':_0x525597[_0xd60f('0x6e')][_0xd60f('0xb6')]}});})[_0xd60f('0x25')](function(_0xdfe29e){socket[_0xd60f('0xc2')]('whatsappInteractionTags:save',{'id':Number(_0x525597[_0xd60f('0xae')]['id']),'tags':_0xdfe29e||[]});return{'id':Number(_0x525597[_0xd60f('0xae')]['id']),'tags':_0xdfe29e||[]};});}})[_0xd60f('0x25')](respondWithResult(_0x589c25,null))['catch'](handleError(_0x589c25,null));};exports[_0xd60f('0xc3')]=function(_0x3dde8f,_0x4c8c58,_0x3567fb){return db[_0xd60f('0x98')][_0xd60f('0x59')]({'where':{'id':_0x3dde8f['params']['id']}})[_0xd60f('0x25')](handleEntityNotFound(_0x4c8c58,null))[_0xd60f('0x25')](function(_0x1cbcd8){if(_0x1cbcd8){return _0x1cbcd8['removeTags'](_0x3dde8f[_0xd60f('0x36')][_0xd60f('0xb6')]);}})[_0xd60f('0x25')](respondWithStatusCode(_0x4c8c58,null))['catch'](handleError(_0x4c8c58,null));};exports['download']=function(_0x3381b6,_0x5ade12){var _0x5a6ed7=moment()[_0xd60f('0xc4')]()[_0xd60f('0x96')]();var _0x2a1887=path['join'](config['root'],'server',_0xd60f('0xc5'),_0xd60f('0xc6'));var _0x5b86f2=path[_0xd60f('0xc7')](config[_0xd60f('0xc8')],'server','files',_0xd60f('0xc9'));var _0x487e46=path[_0xd60f('0xc7')](_0x2a1887,_0x5a6ed7);var _0x4870cb=util[_0xd60f('0xbc')]('transcript-%d-%s.zip',_0x3381b6[_0xd60f('0xae')]['id'],_0x5a6ed7);var _0x1d3705=path[_0xd60f('0xc7')](_0x2a1887,_0x4870cb);var _0x409105=[];_0x409105['push']({'model':db[_0xd60f('0x68')],'as':_0xd60f('0x68'),'attributes':['id',_0xd60f('0x2c')],'raw':!![]});_0x409105['push']({'model':db[_0xd60f('0xca')],'as':_0xd60f('0x5e'),'attributes':['id',_0xd60f('0xcb'),_0xd60f('0xcc')],'raw':!![]});if(_0x3381b6[_0xd60f('0x36')][_0xd60f('0xc9')]){_0x409105[_0xd60f('0xcd')]({'model':db[_0xd60f('0xce')],'as':_0xd60f('0xce'),'raw':!![]});}var _0x1419e2=[{'model':db[_0xd60f('0xb4')],'as':_0xd60f('0xcf'),'attributes':['id','body',_0xd60f('0x72'),_0xd60f('0xd0'),'secret',_0xd60f('0x79')],'include':_0x409105}];_0x1419e2[_0xd60f('0xcd')]({'model':db[_0xd60f('0xd1')],'as':'Account','attributes':['id',_0xd60f('0x28')]});_0x1419e2[_0xd60f('0xcd')]({'model':db['User'],'as':_0xd60f('0xd2'),'attributes':['id',_0xd60f('0x2c')]});return db[_0xd60f('0x98')][_0xd60f('0x59')]({'where':{'id':_0x3381b6[_0xd60f('0xae')]['id']},'include':_0x1419e2})[_0xd60f('0x25')](handleEntityNotFound(_0x5ade12,null))[_0xd60f('0x25')](function(_0x49b1bf){if(_0x49b1bf){var _0x50b7c4=_0x49b1bf[_0xd60f('0xd3')]({'plain':!![]});fs[_0xd60f('0xd4')](_0x487e46);var _0x31e4fb={'format':'A4','border':_0xd60f('0xd5'),'header':{'height':'40px','contents':{'first':'<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>'}},'footer':{'height':_0xd60f('0xd6'),'contents':{'default':util['format']('<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>',util[_0xd60f('0xbc')](_0xd60f('0xd7'),_0xd60f('0xd8'),_0x50b7c4['id']),moment()[_0xd60f('0xbc')](_0xd60f('0xd9'))[_0xd60f('0x96')]())}}};var _0x2610ca={'channel':_0xd60f('0xd8'),'account':_0x50b7c4[_0xd60f('0xda')][_0xd60f('0x28')],'agent':_0x50b7c4[_0xd60f('0xd2')]?_0x50b7c4[_0xd60f('0xd2')][_0xd60f('0x2c')]:_0xd60f('0xdb'),'createdAt':moment(_0x50b7c4[_0xd60f('0x72')])[_0xd60f('0xbc')](_0xd60f('0xbd'))['toString'](),'closedAt':_0x50b7c4['closed']?moment(_0x50b7c4[_0xd60f('0xdc')])[_0xd60f('0xbc')](_0xd60f('0xbd'))['toString']():'','disposition':_0x50b7c4[_0xd60f('0xdd')],'messages':_(_0x50b7c4[_0xd60f('0xcf')])[_0xd60f('0x7f')]({'secret':![]})['map'](function(_0x49ec3f){if(_0x49ec3f[_0xd60f('0xce')]){var _0x56bd08=path[_0xd60f('0xc7')](_0x5b86f2,_0x49ec3f[_0xd60f('0xce')][_0xd60f('0xde')]);if(fs[_0xd60f('0xdf')](_0x56bd08)){fs['createReadStream'](_0x56bd08)[_0xd60f('0xe0')](fs[_0xd60f('0xe1')](path['join'](_0x487e46,_0x49ec3f['Attachment'][_0xd60f('0xde')])));}}return{'date':moment(_0x49ec3f[_0xd60f('0x72')])[_0xd60f('0xbc')](_0xd60f('0xbd'))[_0xd60f('0x96')](),'sender':_0x49ec3f[_0xd60f('0xd0')]===_0xd60f('0xe2')?_0x49ec3f[_0xd60f('0x68')]?_0x49ec3f[_0xd60f('0x68')][_0xd60f('0x2c')]:_0xd60f('0xe3'):_0x49ec3f['Contact'][_0xd60f('0xcb')]+(_0x49ec3f[_0xd60f('0x5e')][_0xd60f('0xcc')]?'\x20'+_0x49ec3f[_0xd60f('0x5e')][_0xd60f('0xcc')]:''),'body':_0x49ec3f['Attachment']?_0x49ec3f[_0xd60f('0xce')][_0xd60f('0xde')]:_0x49ec3f[_0xd60f('0x6e')],'direction':_0x49ec3f[_0xd60f('0xd0')]===_0xd60f('0xe2')?'A':'C','secret':_0x49ec3f[_0xd60f('0xe4')],'read':_0x49ec3f[_0xd60f('0x79')],'attachment':_0x49ec3f[_0xd60f('0xce')]};})['value']()};return ejs[_0xd60f('0xe5')](path[_0xd60f('0xc7')](config[_0xd60f('0xc8')],_0xd60f('0xe6'),'views',_0xd60f('0xe7')),{'interaction':_0x2610ca})[_0xd60f('0x25')](function(_0x52851c){return new BPromise(function(_0x296754,_0x210786){pdf[_0xd60f('0xb1')](_0x52851c,_0x31e4fb)[_0xd60f('0xe8')](path[_0xd60f('0xc7')](_0x487e46,_0xd60f('0xe9')+_0x50b7c4['id']+'-'+_0x5a6ed7+_0xd60f('0xea')),function(_0x34a82d,_0x4dac11){if(_0x34a82d)return _0x210786(_0x34a82d);_0x296754(_0x4dac11);});});})[_0xd60f('0x25')](function(){return new BPromise(function(_0x2d2db9,_0x419c29){zipdir(_0x487e46,{'saveTo':_0x1d3705},function(_0x2b14c9,_0x2fff91){if(_0x2b14c9)return _0x419c29(_0x2b14c9);return _0x2d2db9(_0x2fff91);});})['then'](function(){return new BPromise(function(_0x6bc80a,_0x40ff03){rimraf(_0x487e46,function(_0x1e5e33){if(_0x1e5e33)_0x40ff03(_0x1e5e33);return _0x6bc80a();});});})['then'](function(){return _0x5ade12[_0xd60f('0xeb')](_0x1d3705,_0x4870cb,function(_0x4b4e04){if(_0x4b4e04){console[_0xd60f('0xec')](_0xd60f('0xed'),_0x4b4e04);}else{fs[_0xd60f('0xee')](_0x1d3705);}});});});}else{return _0x5ade12[_0xd60f('0x1a')](0xc8);}})[_0xd60f('0x30')](handleError(_0x5ade12,null));};