Built motion from commit (unavailable).|2.5.17
[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 _0x4137=['createWriteStream','YYYY-MM-DD\x20HH:mm:ss','out','views','downloadInteraction.html','toFile','transcript-','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','desk.js','to-csv','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','redis','defaults','./openchannelInteraction.socket','register','status','count','offset','limit','set','Content-Range','json','apply','reject','update','then','destroy','sendStatus','error','stack','name','send','Users','map','fullname','TagIds','Tags','split','push','catch','type','key','model','keys','query','filters','intersection','attributes','fields','nolimit','order','sort','pick','select','field','color','from','u.id','u.fullname','ui.OpenchannelInteractionId','user_has_openchannel_interactions','left_join','u.id\x20=\x20ui.UserId','openchannel_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','openchannel_interaction_has_tags','expr','search','parseSearch','conditions','find','value','`\x20>\x200','Contact','operator','$substring','length','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','buildExpression','text','start','end','forEach','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','some','compact','isEmpty','OpenchannelAccountId','i.OpenchannelAccountId\x20IN\x20?','concat','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','where','\x20IS\x20NULL','\x20=\x20?','read','having','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.from\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','contactName','DESC','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','user','role','agent','i.OpenchannelAccountId\x20IS\x20NULL','toString','sequelize','merge','OpenchannelInteraction','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','i.*','c.firstName','Contact.lastName','c.email','Contact.email','c.phone','c.mobile','Contact.mobile','c.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.OpenchannelInteractionId\x20IN\x20?','OpenchannelInteractionId','all','rows','show','params','rawAttributes','includeAll','include','create','describe','addMessage','OpenchannelMessage','ids','omit','getMessages','findOne','options','findAll','addTags','Tag','openchannelInteractionTags:save','removeTags','download','unix','join','root','files','tmp','server','format','transcript-%d-%s.zip','CmContact','firstName','lastName','attachments','Attachment','direction','secret','OpenchannelAccount','Account','get','mkdirSync','10px','<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','Owner','closed','closedAt','threadId','Public','Messages','basename','existsSync','createReadStream','pipe'];(function(_0x48431f,_0x23a62d){var _0x49c558=function(_0xff7a49){while(--_0xff7a49){_0x48431f['push'](_0x48431f['shift']());}};_0x49c558(++_0x23a62d);}(_0x4137,0xf8));var _0x7413=function(_0x4a9fb1,_0x273043){_0x4a9fb1=_0x4a9fb1-0x0;var _0x348672=_0x4137[_0x4a9fb1];return _0x348672;};'use strict';var pdf=require(_0x7413('0x0'));var emlformat=require(_0x7413('0x1'));var rimraf=require(_0x7413('0x2'));var zipdir=require(_0x7413('0x3'));var jsonpatch=require(_0x7413('0x4'));var rp=require(_0x7413('0x5'));var moment=require(_0x7413('0x6'));var BPromise=require(_0x7413('0x7'));var Mustache=require(_0x7413('0x8'));var util=require(_0x7413('0x9'));var path=require(_0x7413('0xa'));var sox=require(_0x7413('0xb'));var csv=require('to-csv');var ejs=require(_0x7413('0xc'));var fs=require('fs');var _=require(_0x7413('0xd'));var squel=require(_0x7413('0xe'));var crypto=require(_0x7413('0xf'));var jsforce=require('jsforce');var deskjs=require(_0x7413('0x10'));var toCsv=require(_0x7413('0x11'));var querystring=require('querystring');var Papa=require(_0x7413('0x12'));var Redis=require(_0x7413('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x7413('0x14'));var as=require(_0x7413('0x15'));var hardwareService=require(_0x7413('0x16'));var logger=require(_0x7413('0x17'))(_0x7413('0x18'));var utils=require('../../config/utils');var config=require(_0x7413('0x19'));var licenseUtil=require(_0x7413('0x1a'));var db=require('../../mysqldb')['db'];config[_0x7413('0x1b')]=_[_0x7413('0x1c')](config[_0x7413('0x1b')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x7413('0x1d'))[_0x7413('0x1e')](socket);function respondWithStatusCode(_0x49f0f6,_0x1a42aa){_0x1a42aa=_0x1a42aa||0xcc;return function(_0x45bef0){if(_0x45bef0){return _0x49f0f6['sendStatus'](_0x1a42aa);}return _0x49f0f6[_0x7413('0x1f')](_0x1a42aa)['end']();};}function respondWithResult(_0x4b9a5b,_0x26501b){_0x26501b=_0x26501b||0xc8;return function(_0x568d1f){if(_0x568d1f){return _0x4b9a5b[_0x7413('0x1f')](_0x26501b)['json'](_0x568d1f);}};}function respondWithFilteredResult(_0x2036b6,_0x3230d8){return function(_0x19157f){if(_0x19157f){var _0x12a01e=_0x19157f[_0x7413('0x20')],_0x2a3417=_0x3230d8[_0x7413('0x21')],_0x26dafe=_0x3230d8[_0x7413('0x21')]+_0x3230d8[_0x7413('0x22')],_0x51194e;if(_0x26dafe>=_0x12a01e){_0x26dafe=_0x12a01e;_0x51194e=0xc8;}else{_0x51194e=0xce;}_0x2036b6['status'](_0x51194e);return _0x2036b6[_0x7413('0x23')](_0x7413('0x24'),_0x2a3417+'-'+_0x26dafe+'/'+_0x12a01e)[_0x7413('0x25')](_0x19157f);}return null;};}function patchUpdates(_0x20d3d2){return function(_0x409392){try{jsonpatch[_0x7413('0x26')](_0x409392,_0x20d3d2,!![]);}catch(_0x4886e3){return BPromise[_0x7413('0x27')](_0x4886e3);}return _0x409392['save']();};}function saveUpdates(_0x5f12a2,_0x138508){return function(_0x599654){if(_0x599654){return _0x599654[_0x7413('0x28')](_0x5f12a2)[_0x7413('0x29')](function(_0x3b0c81){return _0x3b0c81;});}return null;};}function removeEntity(_0x2fc0f4,_0x1d46e9){return function(_0x346ce8){if(_0x346ce8){return _0x346ce8[_0x7413('0x2a')]()[_0x7413('0x29')](function(){_0x2fc0f4[_0x7413('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5cb15f,_0x11b210){return function(_0x48c2dc){if(!_0x48c2dc){_0x5cb15f[_0x7413('0x2b')](0x194);}return _0x48c2dc;};}function handleError(_0x71cbb4,_0x463b21){_0x463b21=_0x463b21||0x1f4;return function(_0x4c2e90){logger[_0x7413('0x2c')](_0x4c2e90[_0x7413('0x2d')]);if(_0x4c2e90[_0x7413('0x2e')]){delete _0x4c2e90[_0x7413('0x2e')];}_0x71cbb4[_0x7413('0x1f')](_0x463b21)[_0x7413('0x2f')](_0x4c2e90);};}function getInteractionUsers(_0x5eb4d9,_0x24dce7){return new BPromise(function(_0x4ed662,_0x1d0bde){try{if(_0x24dce7[_0x5eb4d9['id']]){_0x5eb4d9[_0x7413('0x30')]=_[_0x7413('0x31')](_0x24dce7[_0x5eb4d9['id']],function(_0x13a836){return{'id':_0x13a836['id'],'fullname':_0x13a836[_0x7413('0x32')]};});}}catch(_0x2004ea){_0x1d0bde(_0x2004ea);}_0x4ed662(_0x5eb4d9);});}function getInteractionTags(_0x5bb3ea,_0x1ffb6f){return new BPromise(function(_0x17c342,_0x39db32){try{if(_0x5bb3ea[_0x7413('0x33')]){_0x5bb3ea[_0x7413('0x34')]=[];_0x5bb3ea[_0x7413('0x33')][_0x7413('0x35')](',')['forEach'](function(_0xd763f9){_0x5bb3ea[_0x7413('0x34')][_0x7413('0x36')](_0x1ffb6f[_0xd763f9]);});}delete _0x5bb3ea[_0x7413('0x33')];}catch(_0x14bf3b){_0x39db32(_0x14bf3b);}_0x17c342(_0x5bb3ea);});}function updateOpenchannelInteraction(_0x51d676,_0x1c36f8,_0x537261){return new BPromise(function(_0x3cc6c8,_0x126d66){return getInteractionUsers(_0x51d676,_0x537261)[_0x7413('0x29')](function(_0x539d93){return getInteractionTags(_0x539d93,_0x1c36f8);})[_0x7413('0x29')](function(_0x487dc8){_0x3cc6c8(_0x487dc8);})[_0x7413('0x37')](function(_0x31c174){_0x126d66(_0x31c174);});});}exports['index']=function(_0x499cfa,_0x440bfe){var _0x26a8ad={},_0x14da59={},_0x513334={'count':0x0,'rows':[]};var _0x4dd1ce=_[_0x7413('0x31')](db['OpenchannelInteraction']['rawAttributes'],function(_0xda3035){return{'name':_0xda3035['fieldName'],'type':_0xda3035[_0x7413('0x38')][_0x7413('0x39')]};});_0x14da59[_0x7413('0x3a')]=_[_0x7413('0x31')](_0x4dd1ce,_0x7413('0x2e'));_0x14da59['query']=_[_0x7413('0x3b')](_0x499cfa[_0x7413('0x3c')]);_0x14da59[_0x7413('0x3d')]=_[_0x7413('0x3e')](_0x14da59[_0x7413('0x3a')],_0x14da59[_0x7413('0x3c')]);_0x26a8ad[_0x7413('0x3f')]=_[_0x7413('0x3e')](_0x14da59[_0x7413('0x3a')],qs[_0x7413('0x40')](_0x499cfa[_0x7413('0x3c')][_0x7413('0x40')]));_0x26a8ad['attributes']=_0x26a8ad[_0x7413('0x3f')]['length']?_0x26a8ad['attributes']:_0x14da59['model'];if(!_0x499cfa['query']['hasOwnProperty'](_0x7413('0x41'))){_0x26a8ad['limit']=qs['limit'](_0x499cfa[_0x7413('0x3c')]['limit']);_0x26a8ad['offset']=qs[_0x7413('0x21')](_0x499cfa[_0x7413('0x3c')][_0x7413('0x21')]);}_0x26a8ad[_0x7413('0x42')]=qs[_0x7413('0x43')](_0x499cfa['query'][_0x7413('0x43')]);_0x26a8ad['where']=qs[_0x7413('0x3d')](_[_0x7413('0x44')](_0x499cfa[_0x7413('0x3c')],_0x14da59[_0x7413('0x3d')]),_0x4dd1ce);var _0x3f7da2=[];var _0x125466=squel[_0x7413('0x45')]()[_0x7413('0x46')]('id')[_0x7413('0x46')](_0x7413('0x2e'))[_0x7413('0x46')](_0x7413('0x47'))[_0x7413('0x48')]('tools_tags');var _0x2be0fa=squel[_0x7413('0x45')]()[_0x7413('0x46')](_0x7413('0x49'))[_0x7413('0x46')](_0x7413('0x4a'))[_0x7413('0x46')](_0x7413('0x4b'))[_0x7413('0x48')](_0x7413('0x4c'),'ui')[_0x7413('0x4d')]('users','u',_0x7413('0x4e'));var _0x52a088=squel[_0x7413('0x45')]()[_0x7413('0x48')](_0x7413('0x4f'),'i')[_0x7413('0x4d')](_0x7413('0x50'),'c',_0x7413('0x51'))[_0x7413('0x4d')](_0x7413('0x52'),'o',_0x7413('0x53'))[_0x7413('0x4d')]('openchannel_accounts','a','a.id\x20=\x20i.OpenchannelAccountId')[_0x7413('0x4d')]('openchannel_messages','me','me.OpenchannelInteractionId\x20=\x20i.id')[_0x7413('0x4d')](_0x7413('0x54'),'it','it.OpenchannelInteractionId\x20=\x20i.id')[_0x7413('0x4d')]('tools_tags','t','t.id\x20=\x20it.TagId');var _0xe58860=squel['expr']();var _0x24f54e=[];var _0x24bfb7=squel[_0x7413('0x55')]();var _0x5fe361;if(_0x499cfa[_0x7413('0x3c')][_0x7413('0x56')]){_0x5fe361=as[_0x7413('0x57')](_0x499cfa[_0x7413('0x3c')][_0x7413('0x56')]);var _0x2031e3=_0x5fe361['sqlOperator'];for(var _0x369891=0x0;_0x369891<_0x5fe361['conditions']['length'];_0x369891++){var _0x482b29=_0x5fe361[_0x7413('0x58')][_0x369891];var _0x4299a3='i';var _0x453510=_[_0x7413('0x59')](_0x4dd1ce,['name',_0x482b29['field']]);if(!_0x453510){switch(_0x482b29[_0x7413('0x46')]){case'unreadMessages':if(_0x482b29[_0x7413('0x5a')]==0x1){_0x52a088['having']('`'+_0x482b29['field']+'`\x20=\x200');}else{_0x52a088['having']('`'+_0x482b29['field']+_0x7413('0x5b'));}break;case _0x7413('0x5c'):if(_0x482b29[_0x7413('0x5d')]===_0x7413('0x5e')){if(_0x482b29[_0x7413('0x5a')]['split']('\x20')[_0x7413('0x5f')]>0x1){_0xe58860[_0x2031e3](_0x7413('0x60'),qs[_0x7413('0x61')](_0x482b29['value']),null);}else{var _0x171fcc='%'+_0x482b29['value']+'%';_0xe58860[_0x2031e3]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x171fcc,_0x171fcc,_0x171fcc);}}else{_0x453510=_[_0x7413('0x59')](_0x4dd1ce,[_0x7413('0x2e'),_0x7413('0x62')]);_0x482b29[_0x7413('0x46')]=_0x7413('0x62');_0x5b5e42=as[_0x7413('0x63')](_0x4299a3,_0x453510['type'],_0x482b29);_0xe58860[_0x2031e3](_0x5b5e42[_0x7413('0x64')],_0x5b5e42['value'][_0x7413('0x65')],_0x5b5e42['value'][_0x7413('0x66')]);}break;case'Tag':var _0x400dfc=_0x482b29[_0x7413('0x5a')]['split'](',')[_0x7413('0x31')](function(_0x549623){return Number(_0x549623);});_0x400dfc[_0x7413('0x67')](function(_0x2a5db6){_0x24bfb7['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x2a5db6+',%');});_0x24f54e=_[_0x7413('0x68')](_0x24f54e,_0x400dfc);break;case _0x7413('0x69'):if(_0x482b29['operator']===_0x7413('0x5e')){_0xe58860[_0x2031e3](_0x7413('0x6a'),'%'+_0x482b29['value']+'%',null);}else{_0x453510=_[_0x7413('0x59')](_0x4dd1ce,[_0x7413('0x2e'),_0x7413('0x6b')]);_0x482b29[_0x7413('0x46')]=_0x7413('0x6b');_0x5b5e42=as[_0x7413('0x63')](_0x4299a3,_0x453510[_0x7413('0x38')],_0x482b29);_0xe58860[_0x2031e3](_0x5b5e42[_0x7413('0x64')],_0x5b5e42['value'][_0x7413('0x65')],_0x5b5e42['value'][_0x7413('0x66')]);}break;case _0x7413('0x6c'):_0x5b5e42=as[_0x7413('0x63')]('me',null,_0x482b29);_0xe58860[_0x2031e3](_0x5b5e42[_0x7413('0x64')],_0x5b5e42['value']['start'],_0x5b5e42['value']['end']);break;}}else{var _0x5b5e42=as[_0x7413('0x63')](_0x4299a3,_0x453510[_0x7413('0x38')],_0x482b29);_0xe58860[_0x2031e3](_0x5b5e42[_0x7413('0x64')],_0x5b5e42['value'][_0x7413('0x65')],_0x5b5e42[_0x7413('0x5a')][_0x7413('0x66')]);}}}else{var _0x36a3ff=_(_0x499cfa[_0x7413('0x3c')])[_0x7413('0x3b')]()[_0x7413('0x31')](function(_0x295a0a){return _[_0x7413('0x6d')](_0x4dd1ce,[_0x7413('0x2e'),_0x295a0a])?_0x295a0a:undefined;})[_0x7413('0x6e')]()[_0x7413('0x5a')]();if(!_[_0x7413('0x6f')](_0x36a3ff)){_0x36a3ff['forEach'](function(_0x25eafd){if(_0x25eafd===_0x7413('0x70')){_0x52a088['where'](_0x7413('0x71'),[][_0x7413('0x72')](_0x499cfa[_0x7413('0x3c')][_0x25eafd]));}else if(_0x25eafd===_0x7413('0x73')){var _0x102fd2=JSON[_0x7413('0x74')](_0x499cfa['query'][_0x25eafd])[_0x7413('0x75')];var _0x4563b0=JSON['parse'](_0x499cfa[_0x7413('0x3c')][_0x25eafd])['$lte'];_0x52a088['where'](_0x7413('0x76'),_0x102fd2,_0x4563b0);}else{if(_0x499cfa[_0x7413('0x3c')][_0x25eafd]===_0x7413('0x77')){_0x52a088[_0x7413('0x78')]('i.'+_0x25eafd+_0x7413('0x79'));}else{_0x52a088[_0x7413('0x78')]('i.'+_0x25eafd+_0x7413('0x7a'),_0x499cfa[_0x7413('0x3c')][_0x25eafd]);}}});}if(_0x499cfa['query'][_0x7413('0x7b')]){if(_0x499cfa['query'][_0x7413('0x7b')]==0x1){_0x52a088[_0x7413('0x7c')](_0x7413('0x7d'));}else{_0x52a088[_0x7413('0x7c')](_0x7413('0x7e'));}}if(_0x499cfa[_0x7413('0x3c')][_0x7413('0x7f')]){_0x24f54e=_[_0x7413('0x80')](_0x499cfa[_0x7413('0x3c')]['tag'])?_0x499cfa[_0x7413('0x3c')][_0x7413('0x7f')]:new Array(_0x499cfa['query'][_0x7413('0x7f')]);_0x24f54e[_0x7413('0x67')](function(_0x599a91){_0x24bfb7['or'](_0x7413('0x81'),'%,'+_0x599a91+',%');});}if(_0x499cfa['query'][_0x7413('0x82')]){var _0x3d4ce3=_0x499cfa['query']['filter'][_0x7413('0x83')]('\x5c','\x5c\x5c')[_0x7413('0x83')](/'/g,'\x27\x27');if(qs[_0x7413('0x84')](_0x3d4ce3)){_0xe58860['or']('i.id\x20LIKE\x20?',_0x3d4ce3+'%');}else{_0xe58860['or'](_0x7413('0x85'),qs[_0x7413('0x61')](_0x3d4ce3))['or'](_0x7413('0x86'),_0x3d4ce3+'%')['or'](_0x7413('0x87'),_0x3d4ce3+'%');}}}_0x52a088[_0x7413('0x78')](_0xe58860);_0x52a088[_0x7413('0x88')]('i.id');var _0x3b6975={'type':db[_0x7413('0x89')][_0x7413('0x8a')]['SELECT'],'raw':!![]};var _0x350b01=_0x52a088[_0x7413('0x8b')]();_0x350b01[_0x7413('0x46')](_0x7413('0x8c'));_0x350b01[_0x7413('0x46')](_0x7413('0x8d'),_0x7413('0x8e'));if(_0x26a8ad[_0x7413('0x42')]){_0x26a8ad[_0x7413('0x42')]['forEach'](function(_0x1edcba){var _0x3e1efb=_0x1edcba[0x0]===_0x7413('0x8f')?_0x1edcba[0x0]:'i.'+_0x1edcba[0x0];_0x52a088[_0x7413('0x42')](_0x3e1efb,_0x1edcba[0x1]===_0x7413('0x90')?![]:!![]);});}if(!_[_0x7413('0x6f')](_0x24f54e)){_0x52a088['having'](_0x24bfb7);_0x350b01[_0x7413('0x78')]('t.id\x20IN\x20?',_0x24f54e);}BPromise['resolve']()[_0x7413('0x29')](function(){if(!_0x5fe361){if(_0x499cfa[_0x7413('0x3c')]['OpenchannelAccountId'])return;_0x350b01[_0x7413('0x78')](_0x7413('0x91'));_0x52a088[_0x7413('0x78')](_0x7413('0x91'));return;}if(_0x499cfa[_0x7413('0x92')][_0x7413('0x93')]!==_0x7413('0x94'))return;return _0x499cfa[_0x7413('0x92')]['getOpenchannelAccounts']({'attributes':['id'],'raw':!![]})[_0x7413('0x29')](function(_0x528d19){if(_[_0x7413('0x6f')](_0x528d19)){_0x350b01[_0x7413('0x78')]('i.OpenchannelAccountId\x20IS\x20NULL');_0x52a088[_0x7413('0x78')](_0x7413('0x95'));}else{_0x350b01[_0x7413('0x78')](_0x7413('0x71'),_[_0x7413('0x31')](_0x528d19,'id'));_0x52a088[_0x7413('0x78')](_0x7413('0x71'),_[_0x7413('0x31')](_0x528d19,'id'));}});})[_0x7413('0x29')](function(){if(_0x499cfa[_0x7413('0x92')]['role']===_0x7413('0x94')&&!_0x5fe361&&!_0x499cfa[_0x7413('0x3c')]['OpenchannelAccountId'])return[];return db['sequelize']['query'](_0x350b01[_0x7413('0x96')](),_0x3b6975);})['then'](function(_0xf6faaa){_0x513334[_0x7413('0x20')]=_0xf6faaa[_0x7413('0x5f')];if(_0x513334[_0x7413('0x20')]===0x0)return[];return db[_0x7413('0x97')][_0x7413('0x3c')](_0x125466[_0x7413('0x96')](),_0x3b6975)[_0x7413('0x29')](function(_0x3efa75){_0x3f7da2=_['keyBy'](_0x3efa75,'id');_0x3b6975=_[_0x7413('0x98')](_0x3b6975,{'model':db[_0x7413('0x99')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x499cfa[_0x7413('0x3c')]['fields']){_0x26a8ad[_0x7413('0x3f')][_0x7413('0x67')](function(_0x337180){_0x52a088[_0x7413('0x46')]('i.'+_0x337180);});}else{_0x52a088[_0x7413('0x46')](_0x7413('0x8d'),_0x7413('0x8e'));_0x52a088[_0x7413('0x46')](_0x7413('0x9a'),_0x7413('0x9b'));_0x52a088['field'](_0x7413('0x9c'),_0x7413('0x9d'));_0x52a088['field'](_0x7413('0x9e'),_0x7413('0x8f'));_0x52a088['field'](_0x7413('0x9f'));_0x52a088[_0x7413('0x46')](_0x7413('0xa0'),'Contact.firstName');_0x52a088[_0x7413('0x46')]('c.lastName',_0x7413('0xa1'));_0x52a088[_0x7413('0x46')](_0x7413('0xa2'),_0x7413('0xa3'));_0x52a088[_0x7413('0x46')](_0x7413('0xa4'),'Contact.phone');_0x52a088[_0x7413('0x46')](_0x7413('0xa5'),_0x7413('0xa6'));_0x52a088[_0x7413('0x46')](_0x7413('0xa7'),'Contact.fax');_0x52a088[_0x7413('0x46')](_0x7413('0xa8'),_0x7413('0xa9'));_0x52a088[_0x7413('0x46')](_0x7413('0xaa'),'Owner.internal');_0x52a088['field'](_0x7413('0xab'),_0x7413('0x33'));}if(_0x26a8ad[_0x7413('0x22')])_0x52a088[_0x7413('0x22')](_0x26a8ad['limit']);if(_0x26a8ad['offset'])_0x52a088[_0x7413('0x21')](_0x26a8ad[_0x7413('0x21')]);return db[_0x7413('0x97')]['query'](_0x52a088['toString'](),_0x3b6975);})[_0x7413('0x29')](function(_0x2bb6bb){_0x2be0fa[_0x7413('0x78')](_0x7413('0xac'),_[_0x7413('0x31')](_0x2bb6bb,'id'));return db[_0x7413('0x97')][_0x7413('0x3c')](_0x2be0fa['toString'](),_0x3b6975)['then'](function(_0x396a6a){var _0x15de3d=_['groupBy'](_0x396a6a,_0x7413('0xad'));var _0x43f987=[];_0x2bb6bb[_0x7413('0x67')](function(_0x23173c){_0x43f987[_0x7413('0x36')](updateOpenchannelInteraction(_0x23173c,_0x3f7da2,_0x15de3d));});return BPromise[_0x7413('0xae')](_0x43f987);});});})[_0x7413('0x29')](function(_0x2939b6){_0x513334[_0x7413('0xaf')]=_0x2939b6;return _0x513334;})['then'](respondWithFilteredResult(_0x440bfe,_0x26a8ad))[_0x7413('0x37')](handleError(_0x440bfe,null));};exports[_0x7413('0xb0')]=function(_0x59d665,_0x1f3e26){var _0xccd480={};if(_0x59d665[_0x7413('0x3c')]['type']&&_0x59d665['query']['type']===_0x7413('0x48')){_0xccd480[_0x7413('0x48')]=_0x59d665[_0x7413('0xb1')]['id'];}else{_0xccd480['id']=_0x59d665[_0x7413('0xb1')]['id'];}var _0x29c329={'raw':![],'where':_0xccd480},_0xbac7e8={};_0xbac7e8[_0x7413('0x3a')]=_[_0x7413('0x3b')](db['OpenchannelInteraction'][_0x7413('0xb2')]);_0xbac7e8['query']=_[_0x7413('0x3b')](_0x59d665[_0x7413('0x3c')]);_0xbac7e8[_0x7413('0x3d')]=_[_0x7413('0x3e')](_0xbac7e8[_0x7413('0x3a')],_0xbac7e8['query']);_0x29c329[_0x7413('0x3f')]=_[_0x7413('0x3e')](_0xbac7e8[_0x7413('0x3a')],qs[_0x7413('0x40')](_0x59d665[_0x7413('0x3c')][_0x7413('0x40')]));_0x29c329[_0x7413('0x3f')]=_0x29c329[_0x7413('0x3f')][_0x7413('0x5f')]?_0x29c329[_0x7413('0x3f')]:_0xbac7e8[_0x7413('0x3a')];if(_0x59d665[_0x7413('0x3c')][_0x7413('0xb3')]){_0x29c329[_0x7413('0xb4')]=[{'all':!![]}];}_0x29c329=_[_0x7413('0x98')]({},_0x29c329,_0x59d665['options']);return db['OpenchannelInteraction'][_0x7413('0x59')](_0x29c329)[_0x7413('0x29')](handleEntityNotFound(_0x1f3e26,null))['then'](respondWithResult(_0x1f3e26,null))[_0x7413('0x37')](handleError(_0x1f3e26,null));};exports['create']=function(_0x5e35ea,_0x26536c){return db[_0x7413('0x99')][_0x7413('0xb5')](_0x5e35ea[_0x7413('0x6c')],{})[_0x7413('0x29')](respondWithResult(_0x26536c,0xc9))[_0x7413('0x37')](handleError(_0x26536c,null));};exports[_0x7413('0x28')]=function(_0x52794a,_0x4089fe){if(_0x52794a['body']['id']){delete _0x52794a[_0x7413('0x6c')]['id'];}return db['OpenchannelInteraction'][_0x7413('0x59')]({'where':{'id':_0x52794a[_0x7413('0xb1')]['id']}})[_0x7413('0x29')](handleEntityNotFound(_0x4089fe,null))['then'](saveUpdates(_0x52794a[_0x7413('0x6c')],null))[_0x7413('0x29')](respondWithResult(_0x4089fe,null))[_0x7413('0x37')](handleError(_0x4089fe,null));};exports[_0x7413('0x2a')]=function(_0xf7efad,_0x14023e){return db['OpenchannelInteraction'][_0x7413('0x59')]({'where':{'id':_0xf7efad['params']['id']}})['then'](handleEntityNotFound(_0x14023e,null))[_0x7413('0x29')](removeEntity(_0x14023e,null))[_0x7413('0x37')](handleError(_0x14023e,null));};exports[_0x7413('0xb6')]=function(_0x5e15b3,_0x7a4159){return db[_0x7413('0x99')][_0x7413('0xb6')]()[_0x7413('0x29')](respondWithResult(_0x7a4159,null))[_0x7413('0x37')](handleError(_0x7a4159,null));};exports[_0x7413('0xb7')]=function(_0x4ac58c,_0x599ffe,_0x4cd13a){return db[_0x7413('0xb8')][_0x7413('0x59')]({'where':{'id':_0x4ac58c['params']['id']}})[_0x7413('0x29')](handleEntityNotFound(_0x599ffe,null))[_0x7413('0x29')](function(_0x9a92b8){if(_0x9a92b8){return _0x9a92b8[_0x7413('0xb7')](_0x4ac58c['body'][_0x7413('0xb9')],_[_0x7413('0xba')](_0x4ac58c['body'],[_0x7413('0xb9'),'id'])||{});}})[_0x7413('0x29')](respondWithResult(_0x599ffe,null))[_0x7413('0x37')](handleError(_0x599ffe,null));};exports[_0x7413('0xbb')]=function(_0x5a9c7e,_0x1b8863,_0x2cfca1){var _0x50393b={'raw':![],'where':{}};var _0x394036={};var _0x2de5e0={'count':0x0,'rows':[]};return db['OpenchannelInteraction'][_0x7413('0xbc')]({'where':{'id':_0x5a9c7e['params']['id']}})[_0x7413('0x29')](handleEntityNotFound(_0x1b8863,null))[_0x7413('0x29')](function(_0x139d72){if(_0x139d72){_0x394036[_0x7413('0x3a')]=_[_0x7413('0x3b')](db[_0x7413('0xb8')][_0x7413('0xb2')]);_0x394036[_0x7413('0x3c')]=_['keys'](_0x5a9c7e[_0x7413('0x3c')]);_0x394036['filters']=_['intersection'](_0x394036[_0x7413('0x3a')],_0x394036[_0x7413('0x3c')]);_0x50393b['attributes']=_[_0x7413('0x3e')](_0x394036[_0x7413('0x3a')],qs[_0x7413('0x40')](_0x5a9c7e[_0x7413('0x3c')][_0x7413('0x40')]));_0x50393b[_0x7413('0x3f')]=_0x50393b['attributes'][_0x7413('0x5f')]?_0x50393b[_0x7413('0x3f')]:_0x394036[_0x7413('0x3a')];if(!_0x5a9c7e[_0x7413('0x3c')]['hasOwnProperty'](_0x7413('0x41'))){_0x50393b[_0x7413('0x22')]=qs['limit'](_0x5a9c7e[_0x7413('0x3c')][_0x7413('0x22')]);_0x50393b[_0x7413('0x21')]=qs['offset'](_0x5a9c7e[_0x7413('0x3c')][_0x7413('0x21')]);}_0x50393b[_0x7413('0x42')]=qs[_0x7413('0x43')](_0x5a9c7e[_0x7413('0x3c')][_0x7413('0x43')]);_0x50393b['where']=qs['filters'](_[_0x7413('0x44')](_0x5a9c7e[_0x7413('0x3c')],_0x394036[_0x7413('0x3d')]));_0x50393b[_0x7413('0x78')]['OpenchannelInteractionId']=_0x139d72['id'];if(_0x5a9c7e[_0x7413('0x3c')][_0x7413('0x82')]){_0x50393b[_0x7413('0x78')]=_[_0x7413('0x98')](_0x50393b['where'],{'$or':_['map'](_0x50393b[_0x7413('0x3f')],function(_0x23207d){var _0x5f097f={};_0x5f097f[_0x23207d]={'$like':'%'+_0x5a9c7e[_0x7413('0x3c')][_0x7413('0x82')]+'%'};return _0x5f097f;})});}if(_0x5a9c7e['query'][_0x7413('0x75')]){var _0x237739=_0x5a9c7e[_0x7413('0x3c')][_0x7413('0x75')]['split'](',');var _0x59e262={};_0x59e262[_0x237739[0x0]]={'$gte':moment(_0x237739[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x50393b[_0x7413('0x78')]=_[_0x7413('0x98')](_0x50393b[_0x7413('0x78')],_0x59e262);}_0x50393b=_[_0x7413('0x98')]({},_0x50393b,_0x5a9c7e[_0x7413('0xbd')]);return db[_0x7413('0xb8')][_0x7413('0x20')]({'where':_0x50393b[_0x7413('0x78')]})[_0x7413('0x29')](function(_0x321ce){_0x2de5e0[_0x7413('0x20')]=_0x321ce;if(_0x5a9c7e['query']['includeAll']){_0x50393b['include']=[{'all':!![]}];}return db[_0x7413('0xb8')][_0x7413('0xbe')](_0x50393b);})[_0x7413('0x29')](function(_0x4c6236){_0x2de5e0['rows']=_0x4c6236;return _0x2de5e0;});}})[_0x7413('0x29')](respondWithFilteredResult(_0x1b8863,_0x50393b))[_0x7413('0x37')](handleError(_0x1b8863,null));};exports[_0x7413('0xbf')]=function(_0x57bd3e,_0x13b684,_0x5a921e){return db[_0x7413('0x99')][_0x7413('0x59')]({'where':{'id':_0x57bd3e[_0x7413('0xb1')]['id']}})[_0x7413('0x29')](handleEntityNotFound(_0x13b684,null))['then'](function(_0x5dabde){if(_0x5dabde){return _0x5dabde['setTags'](_0x57bd3e['body']['ids'],_['omit'](_0x57bd3e[_0x7413('0x6c')],[_0x7413('0xb9'),'id'])||{})['spread'](function(){return db[_0x7413('0xc0')][_0x7413('0xbe')]({'attributes':['id','name',_0x7413('0x47')],'where':{'id':_0x57bd3e[_0x7413('0x6c')][_0x7413('0xb9')]}});})['then'](function(_0x5b9661){socket['emit'](_0x7413('0xc1'),{'id':Number(_0x57bd3e[_0x7413('0xb1')]['id']),'tags':_0x5b9661||[]});return{'id':Number(_0x57bd3e[_0x7413('0xb1')]['id']),'tags':_0x5b9661||[]};});}})[_0x7413('0x29')](respondWithResult(_0x13b684,null))[_0x7413('0x37')](handleError(_0x13b684,null));};exports['removeTags']=function(_0x5bb2a2,_0x12a0dc,_0x3e2d80){return db[_0x7413('0x99')][_0x7413('0x59')]({'where':{'id':_0x5bb2a2['params']['id']}})[_0x7413('0x29')](handleEntityNotFound(_0x12a0dc,null))[_0x7413('0x29')](function(_0x214a36){if(_0x214a36){return _0x214a36[_0x7413('0xc2')](_0x5bb2a2[_0x7413('0x3c')][_0x7413('0xb9')]);}})[_0x7413('0x29')](respondWithStatusCode(_0x12a0dc,null))[_0x7413('0x37')](handleError(_0x12a0dc,null));};exports[_0x7413('0xc3')]=function(_0x11cf0c,_0x4ee048){var _0xb42506=moment()[_0x7413('0xc4')]()[_0x7413('0x96')]();var _0x2bf110=path[_0x7413('0xc5')](config[_0x7413('0xc6')],'server',_0x7413('0xc7'),_0x7413('0xc8'));var _0x4403bf=path[_0x7413('0xc5')](config[_0x7413('0xc6')],_0x7413('0xc9'),'files','attachments');var _0x39aac5=path[_0x7413('0xc5')](_0x2bf110,_0xb42506);var _0x13f578=util[_0x7413('0xca')](_0x7413('0xcb'),_0x11cf0c[_0x7413('0xb1')]['id'],_0xb42506);var _0x56094a=path['join'](_0x2bf110,_0x13f578);var _0x7f4fcb=[];_0x7f4fcb[_0x7413('0x36')]({'model':db[_0x7413('0x69')],'as':_0x7413('0x69'),'attributes':['id','fullname'],'raw':!![]});_0x7f4fcb[_0x7413('0x36')]({'model':db[_0x7413('0xcc')],'as':'Contact','attributes':['id',_0x7413('0xcd'),_0x7413('0xce')],'raw':!![]});if(_0x11cf0c[_0x7413('0x3c')][_0x7413('0xcf')]){_0x7f4fcb['push']({'model':db[_0x7413('0xd0')],'as':_0x7413('0xd0'),'raw':!![]});}var _0x298bfc=[{'model':db[_0x7413('0xb8')],'as':'Messages','attributes':['id','body',_0x7413('0x73'),_0x7413('0xd1'),_0x7413('0xd2'),_0x7413('0x7b')],'include':_0x7f4fcb}];_0x298bfc[_0x7413('0x36')]({'model':db[_0x7413('0xd3')],'as':_0x7413('0xd4'),'attributes':['id','name']});_0x298bfc[_0x7413('0x36')]({'model':db[_0x7413('0x69')],'as':'Owner','attributes':['id','fullname']});return db[_0x7413('0x99')]['find']({'where':{'id':_0x11cf0c['params']['id']},'include':_0x298bfc})[_0x7413('0x29')](handleEntityNotFound(_0x4ee048,null))[_0x7413('0x29')](function(_0x20d94a){if(_0x20d94a){var _0x2c51f0=_0x20d94a[_0x7413('0xd5')]({'plain':!![]});fs[_0x7413('0xd6')](_0x39aac5);var _0x3a83df={'format':'A4','border':_0x7413('0xd7'),'header':{'height':'40px','contents':{'first':_0x7413('0xd8')}},'footer':{'height':_0x7413('0xd9'),'contents':{'default':util['format'](_0x7413('0xda'),util[_0x7413('0xca')](_0x7413('0xdb'),_0x7413('0xdc'),_0x2c51f0['id']),moment()['format'](_0x7413('0xdd'))[_0x7413('0x96')]())}}};var _0x714cde={'channel':'Openchannel','account':_0x2c51f0[_0x7413('0xd4')][_0x7413('0x2e')],'agent':_0x2c51f0[_0x7413('0xde')]?_0x2c51f0['Owner'][_0x7413('0x32')]:'N.A.','createdAt':moment(_0x2c51f0[_0x7413('0x73')])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0x7413('0x96')](),'closedAt':_0x2c51f0[_0x7413('0xdf')]?moment(_0x2c51f0[_0x7413('0xe0')])[_0x7413('0xca')]('YYYY-MM-DD\x20HH:mm:ss')[_0x7413('0x96')]():'','disposition':_0x2c51f0['disposition'],'visibility':_0x2c51f0[_0x7413('0xe1')]?_0x7413('0xe2'):'Private','messages':_(_0x2c51f0[_0x7413('0xe3')])[_0x7413('0x82')]({'secret':![]})[_0x7413('0x31')](function(_0x11e565){if(_0x11e565[_0x7413('0xd0')]){var _0x6dee54=path[_0x7413('0xc5')](_0x4403bf,_0x11e565[_0x7413('0xd0')][_0x7413('0xe4')]);if(fs[_0x7413('0xe5')](_0x6dee54)){fs[_0x7413('0xe6')](_0x6dee54)[_0x7413('0xe7')](fs[_0x7413('0xe8')](path[_0x7413('0xc5')](_0x39aac5,_0x11e565[_0x7413('0xd0')][_0x7413('0xe4')])));}}return{'date':moment(_0x11e565['createdAt'])['format'](_0x7413('0xe9'))[_0x7413('0x96')](),'sender':_0x11e565['direction']===_0x7413('0xea')?_0x11e565['User']?_0x11e565['User'][_0x7413('0x32')]:'System':_0x11e565[_0x7413('0x5c')][_0x7413('0xcd')]+(_0x11e565[_0x7413('0x5c')][_0x7413('0xce')]?'\x20'+_0x11e565['Contact'][_0x7413('0xce')]:''),'body':_0x11e565[_0x7413('0xd0')]?_0x11e565[_0x7413('0xd0')][_0x7413('0xe4')]:_0x11e565['body'],'direction':_0x11e565['direction']===_0x7413('0xea')?'A':'C','secret':_0x11e565[_0x7413('0xd2')],'read':_0x11e565['read'],'attachment':_0x11e565['Attachment']};})[_0x7413('0x5a')]()};return ejs['renderFile'](path[_0x7413('0xc5')](config[_0x7413('0xc6')],'server',_0x7413('0xeb'),_0x7413('0xec')),{'interaction':_0x714cde})['then'](function(_0x226844){return new BPromise(function(_0xbbb10b,_0x3c9aeb){pdf['create'](_0x226844,_0x3a83df)[_0x7413('0xed')](path['join'](_0x39aac5,_0x7413('0xee')+_0x2c51f0['id']+'-'+_0xb42506+'.pdf'),function(_0x1fc604,_0x185e7c){if(_0x1fc604)return _0x3c9aeb(_0x1fc604);_0xbbb10b(_0x185e7c);});});})[_0x7413('0x29')](function(){return new BPromise(function(_0x58e8af,_0x3cd641){zipdir(_0x39aac5,{'saveTo':_0x56094a},function(_0x39b512,_0xd20e1b){if(_0x39b512)return _0x3cd641(_0x39b512);return _0x58e8af(_0xd20e1b);});})[_0x7413('0x29')](function(){return new BPromise(function(_0x3ec824,_0x215abc){rimraf(_0x39aac5,function(_0x535e93){if(_0x535e93)_0x215abc(_0x535e93);return _0x3ec824();});});})['then'](function(){return _0x4ee048[_0x7413('0xc3')](_0x56094a,_0x13f578,function(_0x529f85){if(_0x529f85){console['log']('err',_0x529f85);}else{fs[_0x7413('0xef')](_0x56094a);}});});});}else{return _0x4ee048[_0x7413('0x2b')](0xc8);}})[_0x7413('0x37')](handleError(_0x4ee048,null));};