Built motion from commit (unavailable).|2.5.15
[motion2.git] / server / api / openchannelInteraction / openchannelInteraction.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 _0x1261=['c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','Contact.mobile','c.fax','o.internal','Owner.internal','groupBy','OpenchannelInteractionId','rows','show','params','filters','include','merge','create','update','describe','addMessage','OpenchannelMessage','ids','omit','getMessages','findOne','hasOwnProperty','pick','YYYY-MM-DD\x20HH:mm:ss','options','includeAll','findAll','setTags','emit','openchannelInteractionTags:save','removeTags','download','unix','join','root','files','tmp','server','transcript-%d-%s.zip','fullname','CmContact','firstName','lastName','attachments','Attachment','Messages','direction','secret','OpenchannelAccount','Account','Owner','get','40px','<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>','30px','<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>','%s\x20#%d','Openchannel','YYYY-MM-DD','format','threadId','Public','Private','basename','existsSync','createReadStream','pipe','createWriteStream','out','views','downloadInteraction.html','toFile','transcript-','.pdf','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./openchannelInteraction.socket','sendStatus','end','status','offset','limit','set','json','apply','reject','save','then','destroy','name','send','Users','TagIds','Tags','split','forEach','push','catch','index','OpenchannelInteraction','rawAttributes','fieldName','type','key','query','keys','intersection','attributes','model','fields','length','nolimit','order','sort','select','field','color','from','u.fullname','user_has_openchannel_interactions','left_join','openchannel_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','openchannel_accounts','a.id\x20=\x20i.OpenchannelAccountId','openchannel_messages','me.OpenchannelInteractionId\x20=\x20i.id','openchannel_interaction_has_tags','it.OpenchannelInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','unreadMessages','having','Contact','operator','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','find','ContactId','start','Tag','map','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','buildExpression','text','body','some','compact','OpenchannelAccountId','createdAt','parse','$gte','$lte','where','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','i.from\x20LIKE\x20?','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','t.id\x20IN\x20?','resolve','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','role','agent','getOpenchannelAccounts','isEmpty','i.OpenchannelAccountId\x20IS\x20NULL','i.OpenchannelAccountId\x20IN\x20?','user','sequelize','toString','count','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20i.from\x20IS\x20NOT\x20NULL\x20AND\x20i.from\x20<>\x20\x27\x27\x20THEN\x20i.from\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','contactName'];(function(_0x164455,_0xc14ef9){var _0x21566a=function(_0x40ef31){while(--_0x40ef31){_0x164455['push'](_0x164455['shift']());}};_0x21566a(++_0xc14ef9);}(_0x1261,0x144));var _0x1126=function(_0x38537f,_0x252124){_0x38537f=_0x38537f-0x0;var _0x141e23=_0x1261[_0x38537f];return _0x141e23;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x1126('0x0'));var rimraf=require(_0x1126('0x1'));var zipdir=require(_0x1126('0x2'));var jsonpatch=require(_0x1126('0x3'));var rp=require(_0x1126('0x4'));var moment=require(_0x1126('0x5'));var BPromise=require(_0x1126('0x6'));var Mustache=require(_0x1126('0x7'));var util=require(_0x1126('0x8'));var path=require(_0x1126('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x1126('0xa'));var fs=require('fs');var _=require(_0x1126('0xb'));var squel=require('squel');var crypto=require(_0x1126('0xc'));var jsforce=require(_0x1126('0xd'));var deskjs=require(_0x1126('0xe'));var toCsv=require(_0x1126('0xf'));var querystring=require(_0x1126('0x10'));var Papa=require('papaparse');var Redis=require(_0x1126('0x11'));var authService=require(_0x1126('0x12'));var qs=require(_0x1126('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x1126('0x14'));var logger=require('../../config/logger')('api');var utils=require(_0x1126('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x1126('0x16'));var db=require(_0x1126('0x17'))['db'];config[_0x1126('0x18')]=_[_0x1126('0x19')](config[_0x1126('0x18')],{'host':_0x1126('0x1a'),'port':0x18eb});var socket=require(_0x1126('0x1b'))(new Redis(config[_0x1126('0x18')]));require(_0x1126('0x1c'))['register'](socket);function respondWithStatusCode(_0x5de9a7,_0x1af673){_0x1af673=_0x1af673||0xcc;return function(_0x154e20){if(_0x154e20){return _0x5de9a7[_0x1126('0x1d')](_0x1af673);}return _0x5de9a7['status'](_0x1af673)[_0x1126('0x1e')]();};}function respondWithResult(_0x4794a7,_0x35fe9f){_0x35fe9f=_0x35fe9f||0xc8;return function(_0x42f379){if(_0x42f379){return _0x4794a7[_0x1126('0x1f')](_0x35fe9f)['json'](_0x42f379);}};}function respondWithFilteredResult(_0x245cd7,_0x1695f6){return function(_0x4a7b49){if(_0x4a7b49){var _0x4d2b38=_0x4a7b49['count'],_0x22ae0b=_0x1695f6[_0x1126('0x20')],_0x2b2487=_0x1695f6['offset']+_0x1695f6[_0x1126('0x21')],_0x58d11a;if(_0x2b2487>=_0x4d2b38){_0x2b2487=_0x4d2b38;_0x58d11a=0xc8;}else{_0x58d11a=0xce;}_0x245cd7[_0x1126('0x1f')](_0x58d11a);return _0x245cd7[_0x1126('0x22')]('Content-Range',_0x22ae0b+'-'+_0x2b2487+'/'+_0x4d2b38)[_0x1126('0x23')](_0x4a7b49);}return null;};}function patchUpdates(_0x49d209){return function(_0x56efeb){try{jsonpatch[_0x1126('0x24')](_0x56efeb,_0x49d209,!![]);}catch(_0x3a9bed){return BPromise[_0x1126('0x25')](_0x3a9bed);}return _0x56efeb[_0x1126('0x26')]();};}function saveUpdates(_0x526ca1,_0x29ab60){return function(_0x477e6a){if(_0x477e6a){return _0x477e6a['update'](_0x526ca1)[_0x1126('0x27')](function(_0x59cd8e){return _0x59cd8e;});}return null;};}function removeEntity(_0x529dd9,_0x4b57ab){return function(_0x2199d9){if(_0x2199d9){return _0x2199d9[_0x1126('0x28')]()[_0x1126('0x27')](function(){_0x529dd9[_0x1126('0x1f')](0xcc)[_0x1126('0x1e')]();});}};}function handleEntityNotFound(_0x1b07a7,_0xea0971){return function(_0x38119d){if(!_0x38119d){_0x1b07a7['sendStatus'](0x194);}return _0x38119d;};}function handleError(_0x35eec3,_0x375e59){_0x375e59=_0x375e59||0x1f4;return function(_0xa293f4){logger['error'](_0xa293f4['stack']);if(_0xa293f4[_0x1126('0x29')]){delete _0xa293f4[_0x1126('0x29')];}_0x35eec3['status'](_0x375e59)[_0x1126('0x2a')](_0xa293f4);};}function getInteractionUsers(_0x23d2bc,_0x4a334a){return new BPromise(function(_0x3fa694,_0x4bf807){try{if(_0x4a334a[_0x23d2bc['id']]){_0x23d2bc[_0x1126('0x2b')]=_['map'](_0x4a334a[_0x23d2bc['id']],function(_0x771bb8){return{'id':_0x771bb8['id'],'fullname':_0x771bb8['fullname']};});}}catch(_0x378f4d){_0x4bf807(_0x378f4d);}_0x3fa694(_0x23d2bc);});}function getInteractionTags(_0x5f2611,_0x5252e0){return new BPromise(function(_0x4a53ab,_0x17646e){try{if(_0x5f2611[_0x1126('0x2c')]){_0x5f2611[_0x1126('0x2d')]=[];_0x5f2611['TagIds'][_0x1126('0x2e')](',')[_0x1126('0x2f')](function(_0x56f7f8){_0x5f2611[_0x1126('0x2d')][_0x1126('0x30')](_0x5252e0[_0x56f7f8]);});}delete _0x5f2611[_0x1126('0x2c')];}catch(_0x29fbfa){_0x17646e(_0x29fbfa);}_0x4a53ab(_0x5f2611);});}function updateOpenchannelInteraction(_0x5836a2,_0x5ecbc3,_0x2a7edc){return new BPromise(function(_0x19e6e4,_0x2d9bd2){return getInteractionUsers(_0x5836a2,_0x2a7edc)[_0x1126('0x27')](function(_0x55244a){return getInteractionTags(_0x55244a,_0x5ecbc3);})[_0x1126('0x27')](function(_0x6f4312){_0x19e6e4(_0x6f4312);})[_0x1126('0x31')](function(_0x22436c){_0x2d9bd2(_0x22436c);});});}exports[_0x1126('0x32')]=function(_0x5df232,_0x2a0dfe){var _0x457efd={},_0x1e8402={},_0x42e773={'count':0x0,'rows':[]};var _0x5c019d=_['map'](db[_0x1126('0x33')][_0x1126('0x34')],function(_0x511e6b){return{'name':_0x511e6b[_0x1126('0x35')],'type':_0x511e6b[_0x1126('0x36')][_0x1126('0x37')]};});_0x1e8402['model']=_['map'](_0x5c019d,_0x1126('0x29'));_0x1e8402[_0x1126('0x38')]=_[_0x1126('0x39')](_0x5df232[_0x1126('0x38')]);_0x1e8402['filters']=_[_0x1126('0x3a')](_0x1e8402['model'],_0x1e8402[_0x1126('0x38')]);_0x457efd[_0x1126('0x3b')]=_[_0x1126('0x3a')](_0x1e8402[_0x1126('0x3c')],qs[_0x1126('0x3d')](_0x5df232['query'][_0x1126('0x3d')]));_0x457efd[_0x1126('0x3b')]=_0x457efd[_0x1126('0x3b')][_0x1126('0x3e')]?_0x457efd[_0x1126('0x3b')]:_0x1e8402[_0x1126('0x3c')];if(!_0x5df232[_0x1126('0x38')]['hasOwnProperty'](_0x1126('0x3f'))){_0x457efd[_0x1126('0x21')]=qs[_0x1126('0x21')](_0x5df232[_0x1126('0x38')][_0x1126('0x21')]);_0x457efd['offset']=qs['offset'](_0x5df232[_0x1126('0x38')][_0x1126('0x20')]);}_0x457efd[_0x1126('0x40')]=qs[_0x1126('0x41')](_0x5df232[_0x1126('0x38')][_0x1126('0x41')]);_0x457efd['where']=qs['filters'](_['pick'](_0x5df232[_0x1126('0x38')],_0x1e8402['filters']),_0x5c019d);var _0xf84005=[];var _0x462da8=squel[_0x1126('0x42')]()[_0x1126('0x43')]('id')['field']('name')[_0x1126('0x43')](_0x1126('0x44'))[_0x1126('0x45')]('tools_tags');var _0x2f8551=squel['select']()[_0x1126('0x43')]('u.id')[_0x1126('0x43')](_0x1126('0x46'))[_0x1126('0x43')]('ui.OpenchannelInteractionId')[_0x1126('0x45')](_0x1126('0x47'),'ui')[_0x1126('0x48')]('users','u','u.id\x20=\x20ui.UserId');var _0x4dd7f5=squel[_0x1126('0x42')]()['from'](_0x1126('0x49'),'i')['left_join'](_0x1126('0x4a'),'c',_0x1126('0x4b'))[_0x1126('0x48')](_0x1126('0x4c'),'o',_0x1126('0x4d'))['left_join'](_0x1126('0x4e'),'a',_0x1126('0x4f'))['left_join'](_0x1126('0x50'),'me',_0x1126('0x51'))['left_join'](_0x1126('0x52'),'it',_0x1126('0x53'))['left_join'](_0x1126('0x54'),'t',_0x1126('0x55'));var _0x213a76=squel['expr']();var _0x3fe7c1=[];var _0x1c405c=squel[_0x1126('0x56')]();var _0x5878bb;if(_0x5df232[_0x1126('0x38')][_0x1126('0x57')]){_0x5878bb=as[_0x1126('0x58')](_0x5df232[_0x1126('0x38')]['search']);var _0x1b8b83=_0x5878bb['sqlOperator'];for(var _0x40168e=0x0;_0x40168e<_0x5878bb[_0x1126('0x59')]['length'];_0x40168e++){var _0x5a2521=_0x5878bb[_0x1126('0x59')][_0x40168e];var _0x3c1d16='i';var _0x387fe1=_['find'](_0x5c019d,[_0x1126('0x29'),_0x5a2521[_0x1126('0x43')]]);if(!_0x387fe1){switch(_0x5a2521[_0x1126('0x43')]){case _0x1126('0x5a'):if(_0x5a2521['value']==0x1){_0x4dd7f5[_0x1126('0x5b')]('`'+_0x5a2521[_0x1126('0x43')]+'`\x20=\x200');}else{_0x4dd7f5['having']('`'+_0x5a2521['field']+'`\x20>\x200');}break;case _0x1126('0x5c'):if(_0x5a2521[_0x1126('0x5d')]==='$substring'){if(_0x5a2521[_0x1126('0x5e')][_0x1126('0x2e')]('\x20')[_0x1126('0x3e')]>0x1){_0x213a76[_0x1b8b83](_0x1126('0x5f'),qs[_0x1126('0x60')](_0x5a2521['value']),null);}else{var _0x41cbb6='%'+_0x5a2521[_0x1126('0x5e')]+'%';_0x213a76[_0x1b8b83]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x41cbb6,_0x41cbb6,_0x41cbb6);}}else{_0x387fe1=_[_0x1126('0x61')](_0x5c019d,[_0x1126('0x29'),_0x1126('0x62')]);_0x5a2521[_0x1126('0x43')]=_0x1126('0x62');_0x13394f=as['buildExpression'](_0x3c1d16,_0x387fe1[_0x1126('0x36')],_0x5a2521);_0x213a76[_0x1b8b83](_0x13394f['text'],_0x13394f[_0x1126('0x5e')][_0x1126('0x63')],_0x13394f[_0x1126('0x5e')]['end']);}break;case _0x1126('0x64'):var _0x2340f8=_0x5a2521['value'][_0x1126('0x2e')](',')[_0x1126('0x65')](function(_0x9bad53){return Number(_0x9bad53);});_0x2340f8['forEach'](function(_0x2fe6dc){_0x1c405c['or'](_0x1126('0x66'),'%,'+_0x2fe6dc+',%');});_0x3fe7c1=_[_0x1126('0x67')](_0x3fe7c1,_0x2340f8);break;case _0x1126('0x68'):if(_0x5a2521[_0x1126('0x5d')]===_0x1126('0x69')){_0x213a76[_0x1b8b83](_0x1126('0x6a'),'%'+_0x5a2521[_0x1126('0x5e')]+'%',null);}else{_0x387fe1=_['find'](_0x5c019d,[_0x1126('0x29'),_0x1126('0x6b')]);_0x5a2521[_0x1126('0x43')]=_0x1126('0x6b');_0x13394f=as[_0x1126('0x6c')](_0x3c1d16,_0x387fe1['type'],_0x5a2521);_0x213a76[_0x1b8b83](_0x13394f[_0x1126('0x6d')],_0x13394f[_0x1126('0x5e')]['start'],_0x13394f[_0x1126('0x5e')]['end']);}break;case _0x1126('0x6e'):_0x13394f=as[_0x1126('0x6c')]('me',null,_0x5a2521);_0x213a76[_0x1b8b83](_0x13394f['text'],_0x13394f[_0x1126('0x5e')][_0x1126('0x63')],_0x13394f[_0x1126('0x5e')]['end']);break;}}else{var _0x13394f=as['buildExpression'](_0x3c1d16,_0x387fe1['type'],_0x5a2521);_0x213a76[_0x1b8b83](_0x13394f[_0x1126('0x6d')],_0x13394f[_0x1126('0x5e')][_0x1126('0x63')],_0x13394f[_0x1126('0x5e')][_0x1126('0x1e')]);}}}else{var _0x1b4ebf=_(_0x5df232[_0x1126('0x38')])['keys']()[_0x1126('0x65')](function(_0x43ec00){return _[_0x1126('0x6f')](_0x5c019d,[_0x1126('0x29'),_0x43ec00])?_0x43ec00:undefined;})[_0x1126('0x70')]()[_0x1126('0x5e')]();if(!_['isEmpty'](_0x1b4ebf)){_0x1b4ebf['forEach'](function(_0x16a343){if(_0x16a343===_0x1126('0x71')){_0x4dd7f5['where']('i.OpenchannelAccountId\x20IN\x20?',[]['concat'](_0x5df232['query'][_0x16a343]));}else if(_0x16a343===_0x1126('0x72')){var _0x37b1ab=JSON[_0x1126('0x73')](_0x5df232['query'][_0x16a343])[_0x1126('0x74')];var _0x45c782=JSON[_0x1126('0x73')](_0x5df232[_0x1126('0x38')][_0x16a343])[_0x1126('0x75')];_0x4dd7f5[_0x1126('0x76')](_0x1126('0x77'),_0x37b1ab,_0x45c782);}else{if(_0x5df232['query'][_0x16a343]===_0x1126('0x78')){_0x4dd7f5[_0x1126('0x76')]('i.'+_0x16a343+_0x1126('0x79'));}else{_0x4dd7f5[_0x1126('0x76')]('i.'+_0x16a343+_0x1126('0x7a'),_0x5df232['query'][_0x16a343]);}}});}if(_0x5df232['query'][_0x1126('0x7b')]){if(_0x5df232[_0x1126('0x38')]['read']==0x1){_0x4dd7f5[_0x1126('0x5b')](_0x1126('0x7c'));}else{_0x4dd7f5[_0x1126('0x5b')](_0x1126('0x7d'));}}if(_0x5df232[_0x1126('0x38')][_0x1126('0x7e')]){_0x3fe7c1=_[_0x1126('0x7f')](_0x5df232[_0x1126('0x38')][_0x1126('0x7e')])?_0x5df232[_0x1126('0x38')][_0x1126('0x7e')]:new Array(_0x5df232[_0x1126('0x38')][_0x1126('0x7e')]);_0x3fe7c1['forEach'](function(_0x111f49){_0x1c405c['or'](_0x1126('0x66'),'%,'+_0x111f49+',%');});}if(_0x5df232[_0x1126('0x38')]['filter']){var _0x484881=_0x5df232[_0x1126('0x38')][_0x1126('0x80')][_0x1126('0x81')]('\x5c','\x5c\x5c')[_0x1126('0x81')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x484881)){_0x213a76['or']('i.id\x20LIKE\x20?',_0x484881+'%');}else{_0x213a76['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x1126('0x60')](_0x484881))['or'](_0x1126('0x82'),_0x484881+'%')['or'](_0x1126('0x83'),_0x484881+'%');}}}_0x4dd7f5[_0x1126('0x76')](_0x213a76);_0x4dd7f5['group'](_0x1126('0x84'));var _0x5d7014={'type':db[_0x1126('0x85')][_0x1126('0x86')][_0x1126('0x87')],'raw':!![]};var _0xe8bda7=_0x4dd7f5[_0x1126('0x88')]();_0xe8bda7[_0x1126('0x43')](_0x1126('0x84'));_0xe8bda7['field'](_0x1126('0x89'),'unreadMessages');if(_0x457efd[_0x1126('0x40')]){_0x457efd[_0x1126('0x40')]['forEach'](function(_0x376175){var _0x372fbe=_0x376175[0x0]==='contactName'?_0x376175[0x0]:'i.'+_0x376175[0x0];_0x4dd7f5[_0x1126('0x40')](_0x372fbe,_0x376175[0x1]===_0x1126('0x8a')?![]:!![]);});}if(!_['isEmpty'](_0x3fe7c1)){_0x4dd7f5['having'](_0x1c405c);_0xe8bda7[_0x1126('0x76')](_0x1126('0x8b'),_0x3fe7c1);}BPromise[_0x1126('0x8c')]()['then'](function(){if(!_0x5878bb){if(_0x5df232['query']['OpenchannelAccountId'])return;_0xe8bda7[_0x1126('0x76')]('i.OpenchannelAccountId\x20IS\x20NOT\x20NULL');_0x4dd7f5['where'](_0x1126('0x8d'));return;}if(_0x5df232['user'][_0x1126('0x8e')]!==_0x1126('0x8f'))return;return _0x5df232['user'][_0x1126('0x90')]({'attributes':['id'],'raw':!![]})[_0x1126('0x27')](function(_0x161b88){if(_[_0x1126('0x91')](_0x161b88)){_0xe8bda7[_0x1126('0x76')]('i.OpenchannelAccountId\x20IS\x20NULL');_0x4dd7f5[_0x1126('0x76')](_0x1126('0x92'));}else{_0xe8bda7['where'](_0x1126('0x93'),_[_0x1126('0x65')](_0x161b88,'id'));_0x4dd7f5[_0x1126('0x76')](_0x1126('0x93'),_[_0x1126('0x65')](_0x161b88,'id'));}});})[_0x1126('0x27')](function(){if(_0x5df232[_0x1126('0x94')][_0x1126('0x8e')]===_0x1126('0x8f')&&!_0x5878bb&&!_0x5df232[_0x1126('0x38')][_0x1126('0x71')])return[];return db[_0x1126('0x95')][_0x1126('0x38')](_0xe8bda7[_0x1126('0x96')](),_0x5d7014);})[_0x1126('0x27')](function(_0x171210){_0x42e773['count']=_0x171210[_0x1126('0x3e')];if(_0x42e773[_0x1126('0x97')]===0x0)return[];return db[_0x1126('0x95')][_0x1126('0x38')](_0x462da8[_0x1126('0x96')](),_0x5d7014)['then'](function(_0xd11e1f){_0xf84005=_['keyBy'](_0xd11e1f,'id');_0x5d7014=_['merge'](_0x5d7014,{'model':db[_0x1126('0x33')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x5df232[_0x1126('0x38')]['fields']){_0x457efd['attributes'][_0x1126('0x2f')](function(_0x1e70e0){_0x4dd7f5[_0x1126('0x43')]('i.'+_0x1e70e0);});}else{_0x4dd7f5[_0x1126('0x43')](_0x1126('0x89'),_0x1126('0x5a'));_0x4dd7f5[_0x1126('0x43')](_0x1126('0x98'),_0x1126('0x99'));_0x4dd7f5['field'](_0x1126('0x9a'),_0x1126('0x9b'));_0x4dd7f5[_0x1126('0x43')](_0x1126('0x9c'),_0x1126('0x9d'));_0x4dd7f5[_0x1126('0x43')]('i.*');_0x4dd7f5[_0x1126('0x43')](_0x1126('0x9e'),_0x1126('0x9f'));_0x4dd7f5[_0x1126('0x43')](_0x1126('0xa0'),_0x1126('0xa1'));_0x4dd7f5[_0x1126('0x43')](_0x1126('0xa2'),_0x1126('0xa3'));_0x4dd7f5[_0x1126('0x43')]('c.phone','Contact.phone');_0x4dd7f5[_0x1126('0x43')]('c.mobile',_0x1126('0xa4'));_0x4dd7f5['field'](_0x1126('0xa5'),'Contact.fax');_0x4dd7f5[_0x1126('0x43')]('o.fullname','Owner.fullname');_0x4dd7f5['field'](_0x1126('0xa6'),_0x1126('0xa7'));_0x4dd7f5['field']('GROUP_CONCAT(DISTINCT\x20t.id)',_0x1126('0x2c'));}if(_0x457efd[_0x1126('0x21')])_0x4dd7f5[_0x1126('0x21')](_0x457efd['limit']);if(_0x457efd['offset'])_0x4dd7f5[_0x1126('0x20')](_0x457efd['offset']);return db[_0x1126('0x95')][_0x1126('0x38')](_0x4dd7f5[_0x1126('0x96')](),_0x5d7014);})[_0x1126('0x27')](function(_0x223d6e){_0x2f8551['where']('ui.OpenchannelInteractionId\x20IN\x20?',_[_0x1126('0x65')](_0x223d6e,'id'));return db[_0x1126('0x95')][_0x1126('0x38')](_0x2f8551[_0x1126('0x96')](),_0x5d7014)[_0x1126('0x27')](function(_0x23bd79){var _0x1a8959=_[_0x1126('0xa8')](_0x23bd79,_0x1126('0xa9'));var _0x245af5=[];_0x223d6e[_0x1126('0x2f')](function(_0x5119a1){_0x245af5[_0x1126('0x30')](updateOpenchannelInteraction(_0x5119a1,_0xf84005,_0x1a8959));});return BPromise['all'](_0x245af5);});});})[_0x1126('0x27')](function(_0x4ec8b9){_0x42e773[_0x1126('0xaa')]=_0x4ec8b9;return _0x42e773;})[_0x1126('0x27')](respondWithFilteredResult(_0x2a0dfe,_0x457efd))[_0x1126('0x31')](handleError(_0x2a0dfe,null));};exports[_0x1126('0xab')]=function(_0x59c04b,_0x429183){var _0x834360={};if(_0x59c04b['query']['type']&&_0x59c04b[_0x1126('0x38')][_0x1126('0x36')]===_0x1126('0x45')){_0x834360['from']=_0x59c04b[_0x1126('0xac')]['id'];}else{_0x834360['id']=_0x59c04b['params']['id'];}var _0x144cb4={'raw':![],'where':_0x834360},_0x3a40c6={};_0x3a40c6['model']=_[_0x1126('0x39')](db[_0x1126('0x33')][_0x1126('0x34')]);_0x3a40c6[_0x1126('0x38')]=_[_0x1126('0x39')](_0x59c04b['query']);_0x3a40c6[_0x1126('0xad')]=_[_0x1126('0x3a')](_0x3a40c6[_0x1126('0x3c')],_0x3a40c6['query']);_0x144cb4['attributes']=_['intersection'](_0x3a40c6[_0x1126('0x3c')],qs[_0x1126('0x3d')](_0x59c04b[_0x1126('0x38')][_0x1126('0x3d')]));_0x144cb4['attributes']=_0x144cb4[_0x1126('0x3b')][_0x1126('0x3e')]?_0x144cb4[_0x1126('0x3b')]:_0x3a40c6[_0x1126('0x3c')];if(_0x59c04b[_0x1126('0x38')]['includeAll']){_0x144cb4[_0x1126('0xae')]=[{'all':!![]}];}_0x144cb4=_[_0x1126('0xaf')]({},_0x144cb4,_0x59c04b['options']);return db[_0x1126('0x33')]['find'](_0x144cb4)['then'](handleEntityNotFound(_0x429183,null))[_0x1126('0x27')](respondWithResult(_0x429183,null))['catch'](handleError(_0x429183,null));};exports[_0x1126('0xb0')]=function(_0x3a84a7,_0x40384b){return db[_0x1126('0x33')][_0x1126('0xb0')](_0x3a84a7[_0x1126('0x6e')],{})[_0x1126('0x27')](respondWithResult(_0x40384b,0xc9))[_0x1126('0x31')](handleError(_0x40384b,null));};exports[_0x1126('0xb1')]=function(_0x5b6d98,_0x2577f5){if(_0x5b6d98[_0x1126('0x6e')]['id']){delete _0x5b6d98[_0x1126('0x6e')]['id'];}return db[_0x1126('0x33')]['find']({'where':{'id':_0x5b6d98[_0x1126('0xac')]['id']}})[_0x1126('0x27')](handleEntityNotFound(_0x2577f5,null))[_0x1126('0x27')](saveUpdates(_0x5b6d98[_0x1126('0x6e')],null))['then'](respondWithResult(_0x2577f5,null))['catch'](handleError(_0x2577f5,null));};exports['destroy']=function(_0x3229ee,_0x4936b0){return db[_0x1126('0x33')][_0x1126('0x61')]({'where':{'id':_0x3229ee['params']['id']}})['then'](handleEntityNotFound(_0x4936b0,null))[_0x1126('0x27')](removeEntity(_0x4936b0,null))[_0x1126('0x31')](handleError(_0x4936b0,null));};exports['describe']=function(_0x1e4172,_0x1f9a7c){return db['OpenchannelInteraction'][_0x1126('0xb2')]()['then'](respondWithResult(_0x1f9a7c,null))[_0x1126('0x31')](handleError(_0x1f9a7c,null));};exports[_0x1126('0xb3')]=function(_0x246f40,_0x4b65d8,_0x1e92a2){return db[_0x1126('0xb4')][_0x1126('0x61')]({'where':{'id':_0x246f40[_0x1126('0xac')]['id']}})[_0x1126('0x27')](handleEntityNotFound(_0x4b65d8,null))[_0x1126('0x27')](function(_0x712cf6){if(_0x712cf6){return _0x712cf6[_0x1126('0xb3')](_0x246f40[_0x1126('0x6e')][_0x1126('0xb5')],_[_0x1126('0xb6')](_0x246f40[_0x1126('0x6e')],[_0x1126('0xb5'),'id'])||{});}})[_0x1126('0x27')](respondWithResult(_0x4b65d8,null))[_0x1126('0x31')](handleError(_0x4b65d8,null));};exports[_0x1126('0xb7')]=function(_0x954441,_0x5f3898,_0x2dc9ce){var _0x17a50a={'raw':![],'where':{}};var _0x56e710={};var _0x5720a2={'count':0x0,'rows':[]};return db[_0x1126('0x33')][_0x1126('0xb8')]({'where':{'id':_0x954441[_0x1126('0xac')]['id']}})[_0x1126('0x27')](handleEntityNotFound(_0x5f3898,null))['then'](function(_0x444f94){if(_0x444f94){_0x56e710[_0x1126('0x3c')]=_['keys'](db[_0x1126('0xb4')]['rawAttributes']);_0x56e710[_0x1126('0x38')]=_[_0x1126('0x39')](_0x954441['query']);_0x56e710['filters']=_[_0x1126('0x3a')](_0x56e710['model'],_0x56e710['query']);_0x17a50a[_0x1126('0x3b')]=_[_0x1126('0x3a')](_0x56e710[_0x1126('0x3c')],qs[_0x1126('0x3d')](_0x954441['query']['fields']));_0x17a50a['attributes']=_0x17a50a[_0x1126('0x3b')][_0x1126('0x3e')]?_0x17a50a['attributes']:_0x56e710[_0x1126('0x3c')];if(!_0x954441[_0x1126('0x38')][_0x1126('0xb9')](_0x1126('0x3f'))){_0x17a50a[_0x1126('0x21')]=qs[_0x1126('0x21')](_0x954441[_0x1126('0x38')][_0x1126('0x21')]);_0x17a50a[_0x1126('0x20')]=qs[_0x1126('0x20')](_0x954441[_0x1126('0x38')]['offset']);}_0x17a50a[_0x1126('0x40')]=qs['sort'](_0x954441[_0x1126('0x38')][_0x1126('0x41')]);_0x17a50a[_0x1126('0x76')]=qs['filters'](_[_0x1126('0xba')](_0x954441[_0x1126('0x38')],_0x56e710[_0x1126('0xad')]));_0x17a50a['where'][_0x1126('0xa9')]=_0x444f94['id'];if(_0x954441[_0x1126('0x38')][_0x1126('0x80')]){_0x17a50a[_0x1126('0x76')]=_[_0x1126('0xaf')](_0x17a50a['where'],{'$or':_['map'](_0x17a50a[_0x1126('0x3b')],function(_0x439e85){var _0x3ad805={};_0x3ad805[_0x439e85]={'$like':'%'+_0x954441[_0x1126('0x38')][_0x1126('0x80')]+'%'};return _0x3ad805;})});}if(_0x954441[_0x1126('0x38')][_0x1126('0x74')]){var _0x303885=_0x954441[_0x1126('0x38')][_0x1126('0x74')][_0x1126('0x2e')](',');var _0x4a4b43={};_0x4a4b43[_0x303885[0x0]]={'$gte':moment(_0x303885[0x1])['format'](_0x1126('0xbb'))};_0x17a50a[_0x1126('0x76')]=_[_0x1126('0xaf')](_0x17a50a['where'],_0x4a4b43);}_0x17a50a=_['merge']({},_0x17a50a,_0x954441[_0x1126('0xbc')]);return db[_0x1126('0xb4')][_0x1126('0x97')]({'where':_0x17a50a['where']})[_0x1126('0x27')](function(_0x1cbd6c){_0x5720a2['count']=_0x1cbd6c;if(_0x954441[_0x1126('0x38')][_0x1126('0xbd')]){_0x17a50a[_0x1126('0xae')]=[{'all':!![]}];}return db[_0x1126('0xb4')][_0x1126('0xbe')](_0x17a50a);})['then'](function(_0x346c68){_0x5720a2[_0x1126('0xaa')]=_0x346c68;return _0x5720a2;});}})['then'](respondWithFilteredResult(_0x5f3898,_0x17a50a))['catch'](handleError(_0x5f3898,null));};exports['addTags']=function(_0x2addc7,_0x1f3faa,_0xd20754){return db[_0x1126('0x33')][_0x1126('0x61')]({'where':{'id':_0x2addc7['params']['id']}})[_0x1126('0x27')](handleEntityNotFound(_0x1f3faa,null))['then'](function(_0x24b745){if(_0x24b745){return _0x24b745[_0x1126('0xbf')](_0x2addc7['body']['ids'],_[_0x1126('0xb6')](_0x2addc7[_0x1126('0x6e')],['ids','id'])||{})['spread'](function(){return db[_0x1126('0x64')][_0x1126('0xbe')]({'attributes':['id',_0x1126('0x29'),_0x1126('0x44')],'where':{'id':_0x2addc7[_0x1126('0x6e')][_0x1126('0xb5')]}});})[_0x1126('0x27')](function(_0x3c090f){socket[_0x1126('0xc0')](_0x1126('0xc1'),{'id':Number(_0x2addc7['params']['id']),'tags':_0x3c090f||[]});return{'id':Number(_0x2addc7['params']['id']),'tags':_0x3c090f||[]};});}})[_0x1126('0x27')](respondWithResult(_0x1f3faa,null))[_0x1126('0x31')](handleError(_0x1f3faa,null));};exports[_0x1126('0xc2')]=function(_0x2044c8,_0x17f02a,_0xff0800){return db['OpenchannelInteraction']['find']({'where':{'id':_0x2044c8[_0x1126('0xac')]['id']}})['then'](handleEntityNotFound(_0x17f02a,null))['then'](function(_0x10385d){if(_0x10385d){return _0x10385d[_0x1126('0xc2')](_0x2044c8['query'][_0x1126('0xb5')]);}})[_0x1126('0x27')](respondWithStatusCode(_0x17f02a,null))[_0x1126('0x31')](handleError(_0x17f02a,null));};exports[_0x1126('0xc3')]=function(_0x56b591,_0x2a969c){var _0x2ea320=moment()[_0x1126('0xc4')]()[_0x1126('0x96')]();var _0x45369f=path[_0x1126('0xc5')](config[_0x1126('0xc6')],'server',_0x1126('0xc7'),_0x1126('0xc8'));var _0x42d0e1=path[_0x1126('0xc5')](config['root'],_0x1126('0xc9'),_0x1126('0xc7'),'attachments');var _0x3ed1c5=path[_0x1126('0xc5')](_0x45369f,_0x2ea320);var _0x2eae55=util['format'](_0x1126('0xca'),_0x56b591[_0x1126('0xac')]['id'],_0x2ea320);var _0x48015b=path[_0x1126('0xc5')](_0x45369f,_0x2eae55);var _0xbbe06e=[];_0xbbe06e[_0x1126('0x30')]({'model':db['User'],'as':_0x1126('0x68'),'attributes':['id',_0x1126('0xcb')],'raw':!![]});_0xbbe06e['push']({'model':db[_0x1126('0xcc')],'as':_0x1126('0x5c'),'attributes':['id',_0x1126('0xcd'),_0x1126('0xce')],'raw':!![]});if(_0x56b591[_0x1126('0x38')][_0x1126('0xcf')]){_0xbbe06e['push']({'model':db['Attachment'],'as':_0x1126('0xd0'),'raw':!![]});}var _0x3524d6=[{'model':db[_0x1126('0xb4')],'as':_0x1126('0xd1'),'attributes':['id',_0x1126('0x6e'),_0x1126('0x72'),_0x1126('0xd2'),_0x1126('0xd3'),_0x1126('0x7b')],'include':_0xbbe06e}];_0x3524d6[_0x1126('0x30')]({'model':db[_0x1126('0xd4')],'as':_0x1126('0xd5'),'attributes':['id',_0x1126('0x29')]});_0x3524d6[_0x1126('0x30')]({'model':db[_0x1126('0x68')],'as':_0x1126('0xd6'),'attributes':['id',_0x1126('0xcb')]});return db[_0x1126('0x33')][_0x1126('0x61')]({'where':{'id':_0x56b591[_0x1126('0xac')]['id']},'include':_0x3524d6})[_0x1126('0x27')](handleEntityNotFound(_0x2a969c,null))[_0x1126('0x27')](function(_0xf9248c){if(_0xf9248c){var _0x134387=_0xf9248c[_0x1126('0xd7')]({'plain':!![]});fs['mkdirSync'](_0x3ed1c5);var _0x1445ca={'format':'A4','border':'10px','header':{'height':_0x1126('0xd8'),'contents':{'first':_0x1126('0xd9')}},'footer':{'height':_0x1126('0xda'),'contents':{'default':util['format'](_0x1126('0xdb'),util['format'](_0x1126('0xdc'),_0x1126('0xdd'),_0x134387['id']),moment()['format'](_0x1126('0xde'))[_0x1126('0x96')]())}}};var _0x2bea69={'channel':_0x1126('0xdd'),'account':_0x134387[_0x1126('0xd5')][_0x1126('0x29')],'agent':_0x134387[_0x1126('0xd6')]?_0x134387[_0x1126('0xd6')][_0x1126('0xcb')]:'N.A.','createdAt':moment(_0x134387[_0x1126('0x72')])[_0x1126('0xdf')](_0x1126('0xbb'))[_0x1126('0x96')](),'closedAt':_0x134387['closed']?moment(_0x134387['closedAt'])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0x1126('0x96')]():'','disposition':_0x134387['disposition'],'visibility':_0x134387[_0x1126('0xe0')]?_0x1126('0xe1'):_0x1126('0xe2'),'messages':_(_0x134387[_0x1126('0xd1')])[_0x1126('0x80')]({'secret':![]})[_0x1126('0x65')](function(_0x53b685){if(_0x53b685[_0x1126('0xd0')]){var _0x5aede4=path[_0x1126('0xc5')](_0x42d0e1,_0x53b685[_0x1126('0xd0')][_0x1126('0xe3')]);if(fs[_0x1126('0xe4')](_0x5aede4)){fs[_0x1126('0xe5')](_0x5aede4)[_0x1126('0xe6')](fs[_0x1126('0xe7')](path[_0x1126('0xc5')](_0x3ed1c5,_0x53b685[_0x1126('0xd0')][_0x1126('0xe3')])));}}return{'date':moment(_0x53b685[_0x1126('0x72')])['format'](_0x1126('0xbb'))[_0x1126('0x96')](),'sender':_0x53b685[_0x1126('0xd2')]===_0x1126('0xe8')?_0x53b685[_0x1126('0x68')]?_0x53b685[_0x1126('0x68')][_0x1126('0xcb')]:'System':_0x53b685['Contact']['firstName']+(_0x53b685[_0x1126('0x5c')][_0x1126('0xce')]?'\x20'+_0x53b685[_0x1126('0x5c')]['lastName']:''),'body':_0x53b685[_0x1126('0xd0')]?_0x53b685[_0x1126('0xd0')]['basename']:_0x53b685['body'],'direction':_0x53b685[_0x1126('0xd2')]===_0x1126('0xe8')?'A':'C','secret':_0x53b685[_0x1126('0xd3')],'read':_0x53b685[_0x1126('0x7b')],'attachment':_0x53b685[_0x1126('0xd0')]};})[_0x1126('0x5e')]()};return ejs['renderFile'](path[_0x1126('0xc5')](config[_0x1126('0xc6')],_0x1126('0xc9'),_0x1126('0xe9'),_0x1126('0xea')),{'interaction':_0x2bea69})[_0x1126('0x27')](function(_0x3eda1d){return new BPromise(function(_0x3565fe,_0x482dde){pdf[_0x1126('0xb0')](_0x3eda1d,_0x1445ca)[_0x1126('0xeb')](path['join'](_0x3ed1c5,_0x1126('0xec')+_0x134387['id']+'-'+_0x2ea320+_0x1126('0xed')),function(_0x527e69,_0x3af3df){if(_0x527e69)return _0x482dde(_0x527e69);_0x3565fe(_0x3af3df);});});})[_0x1126('0x27')](function(){return new BPromise(function(_0x3939ec,_0x5d8fe6){zipdir(_0x3ed1c5,{'saveTo':_0x48015b},function(_0x6f6c0,_0x2e472d){if(_0x6f6c0)return _0x5d8fe6(_0x6f6c0);return _0x3939ec(_0x2e472d);});})[_0x1126('0x27')](function(){return new BPromise(function(_0x36fef1,_0x1c8b6d){rimraf(_0x3ed1c5,function(_0x298480){if(_0x298480)_0x1c8b6d(_0x298480);return _0x36fef1();});});})[_0x1126('0x27')](function(){return _0x2a969c[_0x1126('0xc3')](_0x48015b,_0x2eae55,function(_0x3688f5){if(_0x3688f5){console[_0x1126('0xee')](_0x1126('0xef'),_0x3688f5);}else{fs[_0x1126('0xf0')](_0x48015b);}});});});}else{return _0x2a969c[_0x1126('0x1d')](0xc8);}})['catch'](handleError(_0x2a969c,null));};