01b807cfd45a71e92ad405fd5ceef1d2f712e4eb
[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 _0x03d2=['zip-dir','moment','bluebird','mustache','sox','fs-extra','lodash','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../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','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','destroy','sendStatus','error','stack','name','send','map','TagIds','split','forEach','push','catch','index','WhatsappInteraction','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','field','tools_tags','select','u.id','u.fullname','ui.WhatsappInteractionId','from','user_has_whatsapp_interactions','left_join','users','whatsapp_interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','whatsapp_accounts','whatsapp_messages','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','search','sqlOperator','conditions','find','unreadMessages','having','`\x20=\x200','Contact','value','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','union','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','buildExpression','start','body','compact','isEmpty','i.WhatsappAccountId\x20IN\x20?','createdAt','$gte','parse','$lte','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','group','i.id','Sequelize','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','resolve','WhatsappAccountId','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','role','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','agent','sequelize','toString','keyBy','merge','a.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.*','c.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','Contact.mobile','c.fax','Contact.fax','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?','groupBy','WhatsappInteractionId','all','show','params','include','create','describe','addMessage','ids','omit','getMessages','findOne','WhatsappMessage','YYYY-MM-DD\x20HH:mm:ss','options','includeAll','findAll','rows','setTags','spread','color','emit','removeTags','download','unix','root','server','files','tmp','join','attachments','format','transcript-%d-%s.zip','User','fullname','firstName','lastName','Attachment','Messages','direction','secret','Owner','mkdirSync','closedAt','disposition','basename','existsSync','createReadStream','pipe','createWriteStream','out','System','renderFile','views','downloadInteraction.ejs','.pdf','Whatsapp','createPdfFromHTML','unlinkSync','eml-format','rimraf'];(function(_0x2727b3,_0x4b96bf){var _0x6b7e7e=function(_0x170a1a){while(--_0x170a1a){_0x2727b3['push'](_0x2727b3['shift']());}};_0x6b7e7e(++_0x4b96bf);}(_0x03d2,0xe3));var _0x203d=function(_0x345e7e,_0x521f8c){_0x345e7e=_0x345e7e-0x0;var _0x551e10=_0x03d2[_0x345e7e];return _0x551e10;};'use strict';var emlformat=require(_0x203d('0x0'));var rimraf=require(_0x203d('0x1'));var zipdir=require(_0x203d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x203d('0x3'));var BPromise=require(_0x203d('0x4'));var Mustache=require(_0x203d('0x5'));var util=require('util');var path=require('path');var sox=require(_0x203d('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x203d('0x7'));var _=require(_0x203d('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x203d('0x9'));var toCsv=require('to-csv');var querystring=require(_0x203d('0xa'));var Papa=require(_0x203d('0xb'));var Redis=require('ioredis');var authService=require(_0x203d('0xc'));var qs=require(_0x203d('0xd'));var as=require('../../components/parsers/advancedSearch');var pdf=require(_0x203d('0xe'));var hardwareService=require(_0x203d('0xf'));var logger=require(_0x203d('0x10'))('api');var utils=require(_0x203d('0x11'));var config=require(_0x203d('0x12'));var licenseUtil=require(_0x203d('0x13'));var db=require(_0x203d('0x14'))['db'];config[_0x203d('0x15')]=_[_0x203d('0x16')](config[_0x203d('0x15')],{'host':_0x203d('0x17'),'port':0x18eb});var socket=require(_0x203d('0x18'))(new Redis(config[_0x203d('0x15')]));require(_0x203d('0x19'))[_0x203d('0x1a')](socket);function respondWithStatusCode(_0x4fc4d4,_0x399e4e){_0x399e4e=_0x399e4e||0xcc;return function(_0x5e7c7f){if(_0x5e7c7f){return _0x4fc4d4['sendStatus'](_0x399e4e);}return _0x4fc4d4[_0x203d('0x1b')](_0x399e4e)[_0x203d('0x1c')]();};}function respondWithResult(_0x2e44da,_0x5d7dbc){_0x5d7dbc=_0x5d7dbc||0xc8;return function(_0x94fe13){if(_0x94fe13){return _0x2e44da[_0x203d('0x1b')](_0x5d7dbc)[_0x203d('0x1d')](_0x94fe13);}};}function respondWithFilteredResult(_0x452ea5,_0x135716){return function(_0x9c17ff){if(_0x9c17ff){var _0x5e92fd=typeof _0x135716[_0x203d('0x1e')]===_0x203d('0x1f')&&typeof _0x135716[_0x203d('0x20')]===_0x203d('0x1f');var _0x2fdcd6=_0x9c17ff[_0x203d('0x21')];var _0x2390d9=_0x5e92fd?0x0:_0x135716[_0x203d('0x1e')];var _0x175c98=_0x5e92fd?_0x9c17ff['count']:_0x135716[_0x203d('0x1e')]+_0x135716[_0x203d('0x20')];var _0x393e37;if(_0x175c98>=_0x2fdcd6){_0x175c98=_0x2fdcd6;_0x393e37=0xc8;}else{_0x393e37=0xce;}_0x452ea5[_0x203d('0x1b')](_0x393e37);return _0x452ea5['set'](_0x203d('0x22'),_0x2390d9+'-'+_0x175c98+'/'+_0x2fdcd6)[_0x203d('0x1d')](_0x9c17ff);}return null;};}function patchUpdates(_0x5bfc8b){return function(_0x2c6e59){try{jsonpatch[_0x203d('0x23')](_0x2c6e59,_0x5bfc8b,!![]);}catch(_0xa7db45){return BPromise[_0x203d('0x24')](_0xa7db45);}return _0x2c6e59['save']();};}function saveUpdates(_0xad5396,_0x32e8ab){return function(_0x2f0b88){if(_0x2f0b88){return _0x2f0b88[_0x203d('0x25')](_0xad5396)[_0x203d('0x26')](function(_0x5c2c98){return _0x5c2c98;});}return null;};}function removeEntity(_0x55a70e,_0x3faae5){return function(_0x215852){if(_0x215852){return _0x215852[_0x203d('0x27')]()[_0x203d('0x26')](function(){_0x55a70e[_0x203d('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x23d458,_0x3da8c9){return function(_0x250d75){if(!_0x250d75){_0x23d458[_0x203d('0x28')](0x194);}return _0x250d75;};}function handleError(_0x13dce3,_0x1efddb){_0x1efddb=_0x1efddb||0x1f4;return function(_0x30181e){logger[_0x203d('0x29')](_0x30181e[_0x203d('0x2a')]);if(_0x30181e['name']){delete _0x30181e[_0x203d('0x2b')];}_0x13dce3['status'](_0x1efddb)[_0x203d('0x2c')](_0x30181e);};}function getInteractionUsers(_0x1520a6,_0x205fc4){return new BPromise(function(_0x19b039,_0x2f676c){try{if(_0x205fc4[_0x1520a6['id']]){_0x1520a6['Users']=_[_0x203d('0x2d')](_0x205fc4[_0x1520a6['id']],function(_0x4f1bf1){return{'id':_0x4f1bf1['id'],'fullname':_0x4f1bf1['fullname']};});}}catch(_0x4b921d){_0x2f676c(_0x4b921d);}_0x19b039(_0x1520a6);});}function getInteractionTags(_0x2b86c8,_0x52590e){return new BPromise(function(_0x3c8b06,_0x39d1da){try{if(_0x2b86c8[_0x203d('0x2e')]){_0x2b86c8['Tags']=[];_0x2b86c8[_0x203d('0x2e')][_0x203d('0x2f')](',')[_0x203d('0x30')](function(_0x18201f){_0x2b86c8['Tags'][_0x203d('0x31')](_0x52590e[_0x18201f]);});}delete _0x2b86c8['TagIds'];}catch(_0x1f0bc5){_0x39d1da(_0x1f0bc5);}_0x3c8b06(_0x2b86c8);});}function updateWhatsappInteraction(_0x3ff44f,_0x300d40,_0x4e667c){return new BPromise(function(_0x57025c,_0x4747a6){return getInteractionUsers(_0x3ff44f,_0x4e667c)[_0x203d('0x26')](function(_0x5e2d23){return getInteractionTags(_0x5e2d23,_0x300d40);})[_0x203d('0x26')](function(_0x232565){_0x57025c(_0x232565);})[_0x203d('0x32')](function(_0x5c75ea){_0x4747a6(_0x5c75ea);});});}exports[_0x203d('0x33')]=function(_0xa02213,_0x3ed46a){var _0x230df9={},_0x21f8d3={},_0x4e6cec={'count':0x0,'rows':[]};var _0x48d913=_[_0x203d('0x2d')](db[_0x203d('0x34')][_0x203d('0x35')],function(_0x4f2c51){return{'name':_0x4f2c51['fieldName'],'type':_0x4f2c51[_0x203d('0x36')][_0x203d('0x37')]};});_0x21f8d3[_0x203d('0x38')]=_[_0x203d('0x2d')](_0x48d913,_0x203d('0x2b'));_0x21f8d3[_0x203d('0x39')]=_[_0x203d('0x3a')](_0xa02213[_0x203d('0x39')]);_0x21f8d3[_0x203d('0x3b')]=_[_0x203d('0x3c')](_0x21f8d3[_0x203d('0x38')],_0x21f8d3[_0x203d('0x39')]);_0x230df9[_0x203d('0x3d')]=_[_0x203d('0x3c')](_0x21f8d3[_0x203d('0x38')],qs[_0x203d('0x3e')](_0xa02213[_0x203d('0x39')][_0x203d('0x3e')]));_0x230df9[_0x203d('0x3d')]=_0x230df9[_0x203d('0x3d')][_0x203d('0x3f')]?_0x230df9['attributes']:_0x21f8d3[_0x203d('0x38')];if(!_0xa02213[_0x203d('0x39')][_0x203d('0x40')](_0x203d('0x41'))){_0x230df9[_0x203d('0x20')]=qs[_0x203d('0x20')](_0xa02213[_0x203d('0x39')]['limit']);_0x230df9['offset']=qs[_0x203d('0x1e')](_0xa02213[_0x203d('0x39')][_0x203d('0x1e')]);}_0x230df9[_0x203d('0x42')]=qs[_0x203d('0x43')](_0xa02213[_0x203d('0x39')]['sort']);_0x230df9[_0x203d('0x44')]=qs[_0x203d('0x3b')](_[_0x203d('0x45')](_0xa02213[_0x203d('0x39')],_0x21f8d3[_0x203d('0x3b')]),_0x48d913);var _0x5776bc=[];var _0x4d8f96=squel['select']()[_0x203d('0x46')]('id')[_0x203d('0x46')](_0x203d('0x2b'))['field']('color')['from'](_0x203d('0x47'));var _0x3d8322=squel[_0x203d('0x48')]()[_0x203d('0x46')](_0x203d('0x49'))[_0x203d('0x46')](_0x203d('0x4a'))[_0x203d('0x46')](_0x203d('0x4b'))[_0x203d('0x4c')](_0x203d('0x4d'),'ui')[_0x203d('0x4e')](_0x203d('0x4f'),'u','u.id\x20=\x20ui.UserId');var _0x40409d=squel[_0x203d('0x48')]()[_0x203d('0x4c')](_0x203d('0x50'),'i')[_0x203d('0x4e')]('cm_contacts','c',_0x203d('0x51'))[_0x203d('0x4e')](_0x203d('0x4f'),'o',_0x203d('0x52'))[_0x203d('0x4e')](_0x203d('0x53'),'a','a.id\x20=\x20i.WhatsappAccountId')[_0x203d('0x4e')](_0x203d('0x54'),'me','me.WhatsappInteractionId\x20=\x20i.id')[_0x203d('0x4e')](_0x203d('0x55'),'it',_0x203d('0x56'))[_0x203d('0x4e')]('tools_tags','t',_0x203d('0x57'));var _0x4feb72=squel[_0x203d('0x58')]();var _0x3b15b0=[];var _0x19a0d0=squel[_0x203d('0x58')]();var _0x3d55c4;if(_0xa02213['query']['search']){_0x3d55c4=as[_0x203d('0x59')](_0xa02213[_0x203d('0x39')][_0x203d('0x5a')]);var _0x497116=_0x3d55c4[_0x203d('0x5b')];for(var _0xa0bcff=0x0;_0xa0bcff<_0x3d55c4[_0x203d('0x5c')][_0x203d('0x3f')];_0xa0bcff++){var _0x42200a=_0x3d55c4['conditions'][_0xa0bcff];var _0x48f4ce='i';var _0x5303f0=_[_0x203d('0x5d')](_0x48d913,[_0x203d('0x2b'),_0x42200a[_0x203d('0x46')]]);if(!_0x5303f0){switch(_0x42200a[_0x203d('0x46')]){case _0x203d('0x5e'):if(_0x42200a['value']==0x1){_0x40409d[_0x203d('0x5f')]('`'+_0x42200a[_0x203d('0x46')]+_0x203d('0x60'));}else{_0x40409d[_0x203d('0x5f')]('`'+_0x42200a[_0x203d('0x46')]+'`\x20>\x200');}break;case _0x203d('0x61'):if(_0x42200a['operator']==='$substring'){if(_0x42200a[_0x203d('0x62')][_0x203d('0x2f')]('\x20')['length']>0x1){_0x4feb72[_0x497116](_0x203d('0x63'),qs['getFullTextValue'](_0x42200a[_0x203d('0x62')]),null);}else{var _0x9af376='%'+_0x42200a[_0x203d('0x62')]+'%';_0x4feb72[_0x497116](_0x203d('0x64'),_0x9af376,_0x9af376,_0x9af376);}}else{_0x5303f0=_[_0x203d('0x5d')](_0x48d913,['name','ContactId']);_0x42200a[_0x203d('0x46')]=_0x203d('0x65');_0x2e8b7e=as['buildExpression'](_0x48f4ce,_0x5303f0[_0x203d('0x36')],_0x42200a);_0x4feb72[_0x497116](_0x2e8b7e[_0x203d('0x66')],_0x2e8b7e[_0x203d('0x62')]['start'],_0x2e8b7e['value'][_0x203d('0x1c')]);}break;case _0x203d('0x67'):var _0x1db03b=_0x42200a[_0x203d('0x62')][_0x203d('0x2f')](',')[_0x203d('0x2d')](function(_0x437928){return Number(_0x437928);});_0x1db03b[_0x203d('0x30')](function(_0x5c952d){_0x19a0d0['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x5c952d+',%');});_0x3b15b0=_[_0x203d('0x68')](_0x3b15b0,_0x1db03b);break;case'User':if(_0x42200a['operator']===_0x203d('0x69')){_0x4feb72[_0x497116](_0x203d('0x6a'),'%'+_0x42200a['value']+'%',null);}else{_0x5303f0=_['find'](_0x48d913,['name',_0x203d('0x6b')]);_0x42200a['field']=_0x203d('0x6b');_0x2e8b7e=as[_0x203d('0x6c')](_0x48f4ce,_0x5303f0[_0x203d('0x36')],_0x42200a);_0x4feb72[_0x497116](_0x2e8b7e[_0x203d('0x66')],_0x2e8b7e[_0x203d('0x62')][_0x203d('0x6d')],_0x2e8b7e[_0x203d('0x62')][_0x203d('0x1c')]);}break;case _0x203d('0x6e'):_0x2e8b7e=as[_0x203d('0x6c')]('me',null,_0x42200a);_0x4feb72[_0x497116](_0x2e8b7e[_0x203d('0x66')],_0x2e8b7e[_0x203d('0x62')][_0x203d('0x6d')],_0x2e8b7e[_0x203d('0x62')]['end']);break;}}else{var _0x2e8b7e=as[_0x203d('0x6c')](_0x48f4ce,_0x5303f0['type'],_0x42200a);_0x4feb72[_0x497116](_0x2e8b7e[_0x203d('0x66')],_0x2e8b7e[_0x203d('0x62')]['start'],_0x2e8b7e[_0x203d('0x62')][_0x203d('0x1c')]);}}}else{var _0x3d7433=_(_0xa02213[_0x203d('0x39')])[_0x203d('0x3a')]()[_0x203d('0x2d')](function(_0x14d287){return _['some'](_0x48d913,['name',_0x14d287])?_0x14d287:undefined;})[_0x203d('0x6f')]()[_0x203d('0x62')]();if(!_[_0x203d('0x70')](_0x3d7433)){_0x3d7433[_0x203d('0x30')](function(_0x195a4c){if(_0x195a4c==='WhatsappAccountId'){_0x40409d[_0x203d('0x44')](_0x203d('0x71'),[]['concat'](_0xa02213['query'][_0x195a4c]));}else if(_0x195a4c===_0x203d('0x72')){var _0x588e25=JSON['parse'](_0xa02213[_0x203d('0x39')][_0x195a4c])[_0x203d('0x73')];var _0x2768ef=JSON[_0x203d('0x74')](_0xa02213[_0x203d('0x39')][_0x195a4c])[_0x203d('0x75')];_0x40409d[_0x203d('0x44')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x588e25,_0x2768ef);}else{if(_0xa02213['query'][_0x195a4c]==='null'){_0x40409d['where']('i.'+_0x195a4c+_0x203d('0x76'));}else{_0x40409d[_0x203d('0x44')]('i.'+_0x195a4c+_0x203d('0x77'),_0xa02213[_0x203d('0x39')][_0x195a4c]);}}});}if(_0xa02213['query'][_0x203d('0x78')]){if(_0xa02213[_0x203d('0x39')]['read']==0x1){_0x40409d[_0x203d('0x5f')](_0x203d('0x79'));}else{_0x40409d[_0x203d('0x5f')](_0x203d('0x7a'));}}if(_0xa02213['query']['tag']){_0x3b15b0=_[_0x203d('0x7b')](_0xa02213[_0x203d('0x39')][_0x203d('0x7c')])?_0xa02213['query']['tag']:new Array(_0xa02213[_0x203d('0x39')][_0x203d('0x7c')]);_0x3b15b0[_0x203d('0x30')](function(_0x27b5e6){_0x19a0d0['or'](_0x203d('0x7d'),'%,'+_0x27b5e6+',%');});}if(_0xa02213[_0x203d('0x39')][_0x203d('0x7e')]){var _0x34659a=_0xa02213['query'][_0x203d('0x7e')][_0x203d('0x7f')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x203d('0x80')](_0x34659a)){_0x4feb72['or'](_0x203d('0x81'),_0x34659a+'%')['or'](_0x203d('0x82'),_0x34659a+'%');}else{_0x4feb72['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x34659a))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x34659a+'%');}}}_0x40409d[_0x203d('0x44')](_0x4feb72);_0x40409d[_0x203d('0x83')](_0x203d('0x84'));var _0xf0555f={'type':db[_0x203d('0x85')]['QueryTypes'][_0x203d('0x86')],'raw':!![]};var _0x3bc07b=_0x40409d[_0x203d('0x87')]();_0x3bc07b[_0x203d('0x46')]('i.id');_0x3bc07b['field'](_0x203d('0x88'),'unreadMessages');if(_0x230df9[_0x203d('0x42')]){_0x230df9['order'][_0x203d('0x30')](function(_0x1516e3){var _0x36b8d6=_0x1516e3[0x0]==='contactName'?_0x1516e3[0x0]:'i.'+_0x1516e3[0x0];_0x40409d['order'](_0x36b8d6,_0x1516e3[0x1]===_0x203d('0x89')?![]:!![]);});}if(!_[_0x203d('0x70')](_0x3b15b0)){_0x40409d[_0x203d('0x5f')](_0x19a0d0);_0x3bc07b[_0x203d('0x44')](_0x203d('0x8a'),_0x3b15b0);}BPromise[_0x203d('0x8b')]()[_0x203d('0x26')](function(){if(!_0x3d55c4){if(_0xa02213[_0x203d('0x39')][_0x203d('0x8c')])return;_0x3bc07b[_0x203d('0x44')]('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');_0x40409d[_0x203d('0x44')](_0x203d('0x8d'));return;}if(_0xa02213[_0x203d('0x8e')][_0x203d('0x8f')]!=='agent')return;return _0xa02213[_0x203d('0x8e')][_0x203d('0x90')]({'attributes':['id'],'raw':!![]})[_0x203d('0x26')](function(_0x984ecb){if(_[_0x203d('0x70')](_0x984ecb)){_0x3bc07b[_0x203d('0x44')](_0x203d('0x91'));_0x40409d[_0x203d('0x44')](_0x203d('0x91'));}else{_0x3bc07b['where'](_0x203d('0x71'),_['map'](_0x984ecb,'id'));_0x40409d[_0x203d('0x44')](_0x203d('0x71'),_['map'](_0x984ecb,'id'));}});})[_0x203d('0x26')](function(){if(_0xa02213[_0x203d('0x8e')][_0x203d('0x8f')]===_0x203d('0x92')&&!_0x3d55c4&&!_0xa02213['query'][_0x203d('0x8c')])return[];return db[_0x203d('0x93')][_0x203d('0x39')](_0x3bc07b[_0x203d('0x94')](),_0xf0555f);})[_0x203d('0x26')](function(_0x4e0d4e){_0x4e6cec['count']=_0x4e0d4e['length'];if(_0x4e6cec[_0x203d('0x21')]===0x0)return[];return db[_0x203d('0x93')][_0x203d('0x39')](_0x4d8f96[_0x203d('0x94')](),_0xf0555f)['then'](function(_0x3c1e07){_0x5776bc=_[_0x203d('0x95')](_0x3c1e07,'id');_0xf0555f=_[_0x203d('0x96')](_0xf0555f,{'model':db[_0x203d('0x34')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xa02213[_0x203d('0x39')][_0x203d('0x3e')]){_0x230df9[_0x203d('0x3d')][_0x203d('0x30')](function(_0x298952){_0x40409d[_0x203d('0x46')]('i.'+_0x298952);});}else{_0x40409d[_0x203d('0x46')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');_0x40409d['field'](_0x203d('0x97'),'Account.key');_0x40409d[_0x203d('0x46')]('a.mandatoryDisposition',_0x203d('0x98'));_0x40409d[_0x203d('0x46')](_0x203d('0x99'),'contactName');_0x40409d[_0x203d('0x46')](_0x203d('0x9a'));_0x40409d[_0x203d('0x46')](_0x203d('0x9b'),'Contact.firstName');_0x40409d[_0x203d('0x46')](_0x203d('0x9c'),_0x203d('0x9d'));_0x40409d[_0x203d('0x46')](_0x203d('0x9e'),_0x203d('0x9f'));_0x40409d[_0x203d('0x46')](_0x203d('0xa0'),_0x203d('0xa1'));_0x40409d[_0x203d('0x46')]('c.mobile',_0x203d('0xa2'));_0x40409d['field'](_0x203d('0xa3'),_0x203d('0xa4'));_0x40409d['field']('o.fullname',_0x203d('0xa5'));_0x40409d[_0x203d('0x46')](_0x203d('0xa6'),'Owner.internal');_0x40409d[_0x203d('0x46')](_0x203d('0xa7'),_0x203d('0x2e'));}if(_0x230df9['limit'])_0x40409d[_0x203d('0x20')](_0x230df9[_0x203d('0x20')]);if(_0x230df9[_0x203d('0x1e')])_0x40409d[_0x203d('0x1e')](_0x230df9[_0x203d('0x1e')]);return db['sequelize']['query'](_0x40409d[_0x203d('0x94')](),_0xf0555f);})[_0x203d('0x26')](function(_0x35317c){if(_0x35317c[_0x203d('0x3f')]>0x0)_0x3d8322[_0x203d('0x44')](_0x203d('0xa8'),_[_0x203d('0x2d')](_0x35317c,'id'));return db[_0x203d('0x93')][_0x203d('0x39')](_0x3d8322[_0x203d('0x94')](),_0xf0555f)[_0x203d('0x26')](function(_0x33b83f){var _0x48c297=_[_0x203d('0xa9')](_0x33b83f,_0x203d('0xaa'));var _0x345461=[];_0x35317c[_0x203d('0x30')](function(_0x28d692){_0x345461['push'](updateWhatsappInteraction(_0x28d692,_0x5776bc,_0x48c297));});return BPromise[_0x203d('0xab')](_0x345461);});});})[_0x203d('0x26')](function(_0x288b20){_0x4e6cec['rows']=_0x288b20;return _0x4e6cec;})[_0x203d('0x26')](respondWithFilteredResult(_0x3ed46a,_0x230df9))['catch'](handleError(_0x3ed46a,null));};exports[_0x203d('0xac')]=function(_0x44b6ac,_0x4d5836){var _0x55b8e3={'raw':![],'where':{'id':_0x44b6ac[_0x203d('0xad')]['id']}},_0x403e3a={};_0x403e3a['model']=_[_0x203d('0x3a')](db[_0x203d('0x34')][_0x203d('0x35')]);_0x403e3a[_0x203d('0x39')]=_[_0x203d('0x3a')](_0x44b6ac['query']);_0x403e3a[_0x203d('0x3b')]=_[_0x203d('0x3c')](_0x403e3a['model'],_0x403e3a[_0x203d('0x39')]);_0x55b8e3['attributes']=_[_0x203d('0x3c')](_0x403e3a['model'],qs[_0x203d('0x3e')](_0x44b6ac[_0x203d('0x39')][_0x203d('0x3e')]));_0x55b8e3[_0x203d('0x3d')]=_0x55b8e3[_0x203d('0x3d')][_0x203d('0x3f')]?_0x55b8e3[_0x203d('0x3d')]:_0x403e3a[_0x203d('0x38')];if(_0x44b6ac['query']['includeAll']){_0x55b8e3[_0x203d('0xae')]=[{'all':!![]}];}_0x55b8e3=_[_0x203d('0x96')]({},_0x55b8e3,_0x44b6ac['options']);return db['WhatsappInteraction'][_0x203d('0x5d')](_0x55b8e3)[_0x203d('0x26')](handleEntityNotFound(_0x4d5836,null))[_0x203d('0x26')](respondWithResult(_0x4d5836,null))[_0x203d('0x32')](handleError(_0x4d5836,null));};exports[_0x203d('0xaf')]=function(_0x5a312b,_0x13a5bd){return db[_0x203d('0x34')][_0x203d('0xaf')](_0x5a312b['body'],{})['then'](respondWithResult(_0x13a5bd,0xc9))[_0x203d('0x32')](handleError(_0x13a5bd,null));};exports[_0x203d('0x25')]=function(_0x5f058d,_0x1b9bbc){if(_0x5f058d[_0x203d('0x6e')]['id']){delete _0x5f058d[_0x203d('0x6e')]['id'];}return db[_0x203d('0x34')][_0x203d('0x5d')]({'where':{'id':_0x5f058d[_0x203d('0xad')]['id']}})['then'](handleEntityNotFound(_0x1b9bbc,null))[_0x203d('0x26')](saveUpdates(_0x5f058d[_0x203d('0x6e')],null))[_0x203d('0x26')](respondWithResult(_0x1b9bbc,null))['catch'](handleError(_0x1b9bbc,null));};exports[_0x203d('0x27')]=function(_0x263ba8,_0x17ac3e){return db[_0x203d('0x34')][_0x203d('0x5d')]({'where':{'id':_0x263ba8[_0x203d('0xad')]['id']}})[_0x203d('0x26')](handleEntityNotFound(_0x17ac3e,null))['then'](removeEntity(_0x17ac3e,null))['catch'](handleError(_0x17ac3e,null));};exports['describe']=function(_0x25b1c4,_0x44899f){return db[_0x203d('0x34')][_0x203d('0xb0')]()[_0x203d('0x26')](respondWithResult(_0x44899f,null))[_0x203d('0x32')](handleError(_0x44899f,null));};exports[_0x203d('0xb1')]=function(_0x38f34f,_0xb41a0e,_0x14e835){return db['WhatsappMessage'][_0x203d('0x5d')]({'where':{'id':_0x38f34f[_0x203d('0xad')]['id']}})['then'](handleEntityNotFound(_0xb41a0e,null))[_0x203d('0x26')](function(_0x5d1ed8){if(_0x5d1ed8){return _0x5d1ed8['addMessage'](_0x38f34f[_0x203d('0x6e')][_0x203d('0xb2')],_[_0x203d('0xb3')](_0x38f34f['body'],['ids','id'])||{});}})[_0x203d('0x26')](respondWithResult(_0xb41a0e,null))[_0x203d('0x32')](handleError(_0xb41a0e,null));};exports[_0x203d('0xb4')]=function(_0x35e7bb,_0x47fcc2,_0x2a2d51){var _0x9844b7={'raw':![],'where':{}};var _0x675cb0={};var _0xb80aa4={'count':0x0,'rows':[]};return db[_0x203d('0x34')][_0x203d('0xb5')]({'where':{'id':_0x35e7bb[_0x203d('0xad')]['id']}})[_0x203d('0x26')](handleEntityNotFound(_0x47fcc2,null))['then'](function(_0x369aae){if(_0x369aae){_0x675cb0[_0x203d('0x38')]=_[_0x203d('0x3a')](db[_0x203d('0xb6')][_0x203d('0x35')]);_0x675cb0[_0x203d('0x39')]=_[_0x203d('0x3a')](_0x35e7bb[_0x203d('0x39')]);_0x675cb0[_0x203d('0x3b')]=_[_0x203d('0x3c')](_0x675cb0[_0x203d('0x38')],_0x675cb0[_0x203d('0x39')]);_0x9844b7[_0x203d('0x3d')]=_['intersection'](_0x675cb0['model'],qs['fields'](_0x35e7bb[_0x203d('0x39')][_0x203d('0x3e')]));_0x9844b7['attributes']=_0x9844b7[_0x203d('0x3d')][_0x203d('0x3f')]?_0x9844b7['attributes']:_0x675cb0[_0x203d('0x38')];if(!_0x35e7bb[_0x203d('0x39')]['hasOwnProperty'](_0x203d('0x41'))){_0x9844b7[_0x203d('0x20')]=qs[_0x203d('0x20')](_0x35e7bb[_0x203d('0x39')][_0x203d('0x20')]);_0x9844b7[_0x203d('0x1e')]=qs['offset'](_0x35e7bb[_0x203d('0x39')]['offset']);}_0x9844b7[_0x203d('0x42')]=qs['sort'](_0x35e7bb['query'][_0x203d('0x43')]);_0x9844b7[_0x203d('0x44')]=qs[_0x203d('0x3b')](_[_0x203d('0x45')](_0x35e7bb[_0x203d('0x39')],_0x675cb0[_0x203d('0x3b')]));_0x9844b7['where']['WhatsappInteractionId']=_0x369aae['id'];if(_0x35e7bb[_0x203d('0x39')][_0x203d('0x7e')]){_0x9844b7[_0x203d('0x44')]=_['merge'](_0x9844b7[_0x203d('0x44')],{'$or':_[_0x203d('0x2d')](_0x9844b7[_0x203d('0x3d')],function(_0x46dbf6){var _0x65f001={};_0x65f001[_0x46dbf6]={'$like':'%'+_0x35e7bb['query'][_0x203d('0x7e')]+'%'};return _0x65f001;})});}if(_0x35e7bb[_0x203d('0x39')][_0x203d('0x73')]){var _0x1be42d=_0x35e7bb[_0x203d('0x39')][_0x203d('0x73')][_0x203d('0x2f')](',');var _0x5c7541={};_0x5c7541[_0x1be42d[0x0]]={'$gte':moment(_0x1be42d[0x1])['format'](_0x203d('0xb7'))};_0x9844b7['where']=_['merge'](_0x9844b7[_0x203d('0x44')],_0x5c7541);}_0x9844b7=_[_0x203d('0x96')]({},_0x9844b7,_0x35e7bb[_0x203d('0xb8')]);return db[_0x203d('0xb6')][_0x203d('0x21')]({'where':_0x9844b7[_0x203d('0x44')]})[_0x203d('0x26')](function(_0xd7638e){_0xb80aa4['count']=_0xd7638e;if(_0x35e7bb[_0x203d('0x39')][_0x203d('0xb9')]){_0x9844b7[_0x203d('0xae')]=[{'all':!![]}];}return db[_0x203d('0xb6')][_0x203d('0xba')](_0x9844b7);})['then'](function(_0x108c27){_0xb80aa4[_0x203d('0xbb')]=_0x108c27;return _0xb80aa4;});}})[_0x203d('0x26')](respondWithFilteredResult(_0x47fcc2,_0x9844b7))[_0x203d('0x32')](handleError(_0x47fcc2,null));};exports['addTags']=function(_0x1fbb8c,_0x1130bc,_0x1ec376){return db['WhatsappInteraction'][_0x203d('0x5d')]({'where':{'id':_0x1fbb8c['params']['id']}})[_0x203d('0x26')](handleEntityNotFound(_0x1130bc,null))[_0x203d('0x26')](function(_0x1f82c7){if(_0x1f82c7){return _0x1f82c7[_0x203d('0xbc')](_0x1fbb8c['body'][_0x203d('0xb2')],_[_0x203d('0xb3')](_0x1fbb8c[_0x203d('0x6e')],[_0x203d('0xb2'),'id'])||{})[_0x203d('0xbd')](function(){return db[_0x203d('0x67')]['findAll']({'attributes':['id','name',_0x203d('0xbe')],'where':{'id':_0x1fbb8c['body'][_0x203d('0xb2')]}});})[_0x203d('0x26')](function(_0x442102){socket[_0x203d('0xbf')]('whatsappInteractionTags:save',{'id':Number(_0x1fbb8c['params']['id']),'tags':_0x442102||[]});return{'id':Number(_0x1fbb8c[_0x203d('0xad')]['id']),'tags':_0x442102||[]};});}})['then'](respondWithResult(_0x1130bc,null))['catch'](handleError(_0x1130bc,null));};exports[_0x203d('0xc0')]=function(_0x5c398b,_0xa4018f,_0x3a38ac){return db[_0x203d('0x34')][_0x203d('0x5d')]({'where':{'id':_0x5c398b['params']['id']}})[_0x203d('0x26')](handleEntityNotFound(_0xa4018f,null))['then'](function(_0x5498cc){if(_0x5498cc){return _0x5498cc[_0x203d('0xc0')](_0x5c398b[_0x203d('0x39')][_0x203d('0xb2')]);}})[_0x203d('0x26')](respondWithStatusCode(_0xa4018f,null))[_0x203d('0x32')](handleError(_0xa4018f,null));};exports[_0x203d('0xc1')]=function(_0x2fcfc8,_0x583c2e){var _0x2307c6=moment()[_0x203d('0xc2')]()[_0x203d('0x94')]();var _0x53aca0=path['join'](config[_0x203d('0xc3')],_0x203d('0xc4'),_0x203d('0xc5'),_0x203d('0xc6'));var _0x2937ff=path[_0x203d('0xc7')](config['root'],_0x203d('0xc4'),'files',_0x203d('0xc8'));var _0x3daf9c=path[_0x203d('0xc7')](_0x53aca0,_0x2307c6);var _0x51696a=util[_0x203d('0xc9')](_0x203d('0xca'),_0x2fcfc8['params']['id'],_0x2307c6);var _0x5d6004=path[_0x203d('0xc7')](_0x53aca0,_0x51696a);var _0x24be15=[];_0x24be15[_0x203d('0x31')]({'model':db[_0x203d('0xcb')],'as':_0x203d('0xcb'),'attributes':['id',_0x203d('0xcc')],'raw':!![]});_0x24be15[_0x203d('0x31')]({'model':db['CmContact'],'as':'Contact','attributes':['id',_0x203d('0xcd'),_0x203d('0xce')],'raw':!![]});if(_0x2fcfc8[_0x203d('0x39')][_0x203d('0xc8')]){_0x24be15['push']({'model':db[_0x203d('0xcf')],'as':'Attachment','raw':!![]});}var _0x5a0bed=[{'model':db[_0x203d('0xb6')],'as':_0x203d('0xd0'),'attributes':['id',_0x203d('0x6e'),_0x203d('0x72'),_0x203d('0xd1'),_0x203d('0xd2'),'read'],'include':_0x24be15}];_0x5a0bed[_0x203d('0x31')]({'model':db['WhatsappAccount'],'as':'Account','attributes':['id',_0x203d('0x2b')]});_0x5a0bed[_0x203d('0x31')]({'model':db[_0x203d('0xcb')],'as':_0x203d('0xd3'),'attributes':['id',_0x203d('0xcc')]});return db[_0x203d('0x34')][_0x203d('0x5d')]({'where':{'id':_0x2fcfc8[_0x203d('0xad')]['id']},'include':_0x5a0bed})[_0x203d('0x26')](handleEntityNotFound(_0x583c2e,null))[_0x203d('0x26')](function(_0x1a206a){if(_0x1a206a){var _0x151c1f=_0x1a206a['get']({'plain':!![]});fs[_0x203d('0xd4')](_0x3daf9c);var _0x43a517={'channel':'Whatsapp','account':_0x151c1f['Account'][_0x203d('0x2b')],'agent':_0x151c1f['Owner']?_0x151c1f['Owner'][_0x203d('0xcc')]:'N.A.','createdAt':moment(_0x151c1f[_0x203d('0x72')])[_0x203d('0xc9')]('YYYY-MM-DD\x20HH:mm:ss')[_0x203d('0x94')](),'closedAt':_0x151c1f['closed']?moment(_0x151c1f[_0x203d('0xd5')])[_0x203d('0xc9')](_0x203d('0xb7'))[_0x203d('0x94')]():'','disposition':_0x151c1f[_0x203d('0xd6')],'messages':_(_0x151c1f[_0x203d('0xd0')])['filter']({'secret':![]})[_0x203d('0x2d')](function(_0x52d562){if(_0x52d562['Attachment']){var _0x924031=path['join'](_0x2937ff,_0x52d562['Attachment'][_0x203d('0xd7')]);if(fs[_0x203d('0xd8')](_0x924031)){fs[_0x203d('0xd9')](_0x924031)[_0x203d('0xda')](fs[_0x203d('0xdb')](path[_0x203d('0xc7')](_0x3daf9c,_0x52d562[_0x203d('0xcf')][_0x203d('0xd7')])));}}return{'date':moment(_0x52d562[_0x203d('0x72')])[_0x203d('0xc9')](_0x203d('0xb7'))[_0x203d('0x94')](),'sender':_0x52d562[_0x203d('0xd1')]===_0x203d('0xdc')?_0x52d562['User']?_0x52d562[_0x203d('0xcb')][_0x203d('0xcc')]:_0x203d('0xdd'):_0x52d562[_0x203d('0x61')][_0x203d('0xcd')]+(_0x52d562[_0x203d('0x61')][_0x203d('0xce')]?'\x20'+_0x52d562[_0x203d('0x61')][_0x203d('0xce')]:''),'body':_0x52d562['Attachment']?_0x52d562[_0x203d('0xcf')][_0x203d('0xd7')]:_0x52d562['body'],'direction':_0x52d562[_0x203d('0xd1')]===_0x203d('0xdc')?'A':'C','secret':_0x52d562[_0x203d('0xd2')],'read':_0x52d562['read'],'attachment':_0x52d562[_0x203d('0xcf')]};})[_0x203d('0x62')]()};return ejs[_0x203d('0xde')](path[_0x203d('0xc7')](config['root'],_0x203d('0xc4'),_0x203d('0xdf'),_0x203d('0xe0')),{'interaction':_0x43a517})[_0x203d('0x26')](function(_0x5cea9d){var _0x252575=path[_0x203d('0xc7')](_0x3daf9c,'transcript-'+_0x151c1f['id']+'-'+_0x2307c6+_0x203d('0xe1'));var _0x3da34e={'path':_0x252575,'channel':_0x203d('0xe2'),'interactionId':_0x151c1f['id']};return pdf[_0x203d('0xe3')](_0x5cea9d,_0x3da34e);})['then'](function(){return new BPromise(function(_0x15cb99,_0x2353a7){zipdir(_0x3daf9c,{'saveTo':_0x5d6004},function(_0x4cf5c5,_0x4a9e8c){if(_0x4cf5c5)return _0x2353a7(_0x4cf5c5);return _0x15cb99(_0x4a9e8c);});})['then'](function(){return new BPromise(function(_0x1aa300,_0x6319be){rimraf(_0x3daf9c,function(_0x225c80){if(_0x225c80)_0x6319be(_0x225c80);return _0x1aa300();});});})[_0x203d('0x26')](function(){return _0x583c2e[_0x203d('0xc1')](_0x5d6004,_0x51696a,function(_0x19a7de){if(_0x19a7de){console['log']('err',_0x19a7de);}else{fs[_0x203d('0xe4')](_0x5d6004);}});});});}else{return _0x583c2e['sendStatus'](0xc8);}})[_0x203d('0x32')](handleError(_0x583c2e,null));};