286e4555b96e9b54905c6c7664c2a2cd68c246ba
[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 _0x25e0=['options','findAll','addTags','color','emit','openchannelInteractionTags:save','removeTags','download','unix','join','server','files','root','attachments','format','User','CmContact','Attachment','Messages','direction','secret','read','OpenchannelAccount','get','10px','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','Owner','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','threadId','Public','Private','basename','existsSync','createReadStream','pipe','createWriteStream','firstName','lastName','out','views','downloadInteraction.html','toFile','log','err','unlinkSync','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','mustache','path','sox','to-csv','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./openchannelInteraction.socket','sendStatus','status','json','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','Users','fullname','Tags','TagIds','split','push','index','map','OpenchannelInteraction','fieldName','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','limit','offset','order','sort','where','pick','select','field','from','tools_tags','u.id','u.fullname','ui.OpenchannelInteractionId','user_has_openchannel_interactions','left_join','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','openchannel_accounts','a.id\x20=\x20i.OpenchannelAccountId','me.OpenchannelInteractionId\x20=\x20i.id','it.OpenchannelInteractionId\x20=\x20i.id','expr','parseSearch','sqlOperator','conditions','length','find','unreadMessages','`\x20=\x200','Contact','operator','$substring','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','buildExpression','start','Tag','forEach','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','type','text','some','compact','isEmpty','OpenchannelAccountId','i.OpenchannelAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20=\x20?','having','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','\x27\x27\x27\x27','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','i.id','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','resolve','journey','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','sequelize','toString','count','keyBy','a.key','Account.key','Account.mandatoryDisposition','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','OpenchannelInteractionId','rows','catch','show','params','rawAttributes','includeAll','merge','create','body','describe','addMessage','OpenchannelMessage','ids','omit','getMessages','findOne'];(function(_0x1deb03,_0xd05ad8){var _0x189fe7=function(_0x321225){while(--_0x321225){_0x1deb03['push'](_0x1deb03['shift']());}};_0x189fe7(++_0xd05ad8);}(_0x25e0,0x11f));var _0x025e=function(_0x493a96,_0x173e5d){_0x493a96=_0x493a96-0x0;var _0x38bec0=_0x25e0[_0x493a96];return _0x38bec0;};'use strict';var pdf=require(_0x025e('0x0'));var emlformat=require(_0x025e('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x025e('0x2'));var jsonpatch=require(_0x025e('0x3'));var rp=require(_0x025e('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x025e('0x5'));var util=require('util');var path=require(_0x025e('0x6'));var sox=require(_0x025e('0x7'));var csv=require(_0x025e('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x025e('0x9'));var squel=require('squel');var crypto=require(_0x025e('0xa'));var jsforce=require(_0x025e('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x025e('0xc'));var Papa=require(_0x025e('0xd'));var Redis=require(_0x025e('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x025e('0xf'));var hardwareService=require(_0x025e('0x10'));var logger=require(_0x025e('0x11'))(_0x025e('0x12'));var utils=require('../../config/utils');var config=require(_0x025e('0x13'));var db=require(_0x025e('0x14'))['db'];config[_0x025e('0x15')]=_[_0x025e('0x16')](config[_0x025e('0x15')],{'host':'localhost','port':0x18eb});var socket=require(_0x025e('0x17'))(new Redis(config[_0x025e('0x15')]));require(_0x025e('0x18'))['register'](socket);function respondWithStatusCode(_0x5055c8,_0x36a9c3){_0x36a9c3=_0x36a9c3||0xcc;return function(_0x5d9d5e){if(_0x5d9d5e){return _0x5055c8[_0x025e('0x19')](_0x36a9c3);}return _0x5055c8[_0x025e('0x1a')](_0x36a9c3)['end']();};}function respondWithResult(_0x456e4c,_0x315f92){_0x315f92=_0x315f92||0xc8;return function(_0x190a59){if(_0x190a59){return _0x456e4c[_0x025e('0x1a')](_0x315f92)[_0x025e('0x1b')](_0x190a59);}};}function respondWithFilteredResult(_0x2d7dc5,_0x23c48e){return function(_0x39d4ba){if(_0x39d4ba){var _0x234c8c=_0x39d4ba['count'],_0x21c928=_0x23c48e['offset'],_0x84943d=_0x23c48e['offset']+_0x23c48e['limit'],_0x41d669;if(_0x84943d>=_0x234c8c){_0x84943d=_0x234c8c;_0x41d669=0xc8;}else{_0x41d669=0xce;}_0x2d7dc5[_0x025e('0x1a')](_0x41d669);return _0x2d7dc5['set'](_0x025e('0x1c'),_0x21c928+'-'+_0x84943d+'/'+_0x234c8c)[_0x025e('0x1b')](_0x39d4ba);}return null;};}function patchUpdates(_0x289138){return function(_0x135671){try{jsonpatch[_0x025e('0x1d')](_0x135671,_0x289138,!![]);}catch(_0x115b3e){return BPromise[_0x025e('0x1e')](_0x115b3e);}return _0x135671[_0x025e('0x1f')]();};}function saveUpdates(_0x5a5c1a,_0x46e468){return function(_0x3f72db){if(_0x3f72db){return _0x3f72db[_0x025e('0x20')](_0x5a5c1a)[_0x025e('0x21')](function(_0x1d5f4a){return _0x1d5f4a;});}return null;};}function removeEntity(_0x2f1127,_0x564586){return function(_0x3388b9){if(_0x3388b9){return _0x3388b9[_0x025e('0x22')]()[_0x025e('0x21')](function(){_0x2f1127['status'](0xcc)[_0x025e('0x23')]();});}};}function handleEntityNotFound(_0x1218cc,_0x25487c){return function(_0x203e44){if(!_0x203e44){_0x1218cc[_0x025e('0x19')](0x194);}return _0x203e44;};}function handleError(_0x1b9b91,_0x38ad93){_0x38ad93=_0x38ad93||0x1f4;return function(_0x24264c){logger[_0x025e('0x24')](_0x24264c[_0x025e('0x25')]);if(_0x24264c[_0x025e('0x26')]){delete _0x24264c['name'];}_0x1b9b91[_0x025e('0x1a')](_0x38ad93)['send'](_0x24264c);};}function getInteractionUsers(_0x513432,_0x38e95d){return new BPromise(function(_0x45ad1d,_0x36057e){try{if(_0x38e95d[_0x513432['id']]){_0x513432[_0x025e('0x27')]=_['map'](_0x38e95d[_0x513432['id']],function(_0x49875c){return{'id':_0x49875c['id'],'fullname':_0x49875c[_0x025e('0x28')]};});}}catch(_0x265733){_0x36057e(_0x265733);}_0x45ad1d(_0x513432);});}function getInteractionTags(_0x4054df,_0x196747){return new BPromise(function(_0xd1b72c,_0x2f2704){try{if(_0x4054df['TagIds']){_0x4054df[_0x025e('0x29')]=[];_0x4054df[_0x025e('0x2a')][_0x025e('0x2b')](',')['forEach'](function(_0x1159d9){_0x4054df[_0x025e('0x29')][_0x025e('0x2c')](_0x196747[_0x1159d9]);});}delete _0x4054df[_0x025e('0x2a')];}catch(_0x371050){_0x2f2704(_0x371050);}_0xd1b72c(_0x4054df);});}function updateOpenchannelInteraction(_0x33c209,_0x3ad608,_0x53d83a){return new BPromise(function(_0x40a7f2,_0x20cf51){return getInteractionUsers(_0x33c209,_0x53d83a)['then'](function(_0x392ebd){return getInteractionTags(_0x392ebd,_0x3ad608);})[_0x025e('0x21')](function(_0x5d4f31){_0x40a7f2(_0x5d4f31);})['catch'](function(_0x40fe3b){_0x20cf51(_0x40fe3b);});});}exports[_0x025e('0x2d')]=function(_0x9763ad,_0x5174b1){var _0x3ec87a={},_0x32af90={},_0x78ecd={'count':0x0,'rows':[]};var _0x273ff5=_[_0x025e('0x2e')](db[_0x025e('0x2f')]['rawAttributes'],function(_0x6d537e){return{'name':_0x6d537e[_0x025e('0x30')],'type':_0x6d537e['type'][_0x025e('0x31')]};});_0x32af90[_0x025e('0x32')]=_['map'](_0x273ff5,_0x025e('0x26'));_0x32af90[_0x025e('0x33')]=_[_0x025e('0x34')](_0x9763ad[_0x025e('0x33')]);_0x32af90[_0x025e('0x35')]=_['intersection'](_0x32af90[_0x025e('0x32')],_0x32af90[_0x025e('0x33')]);_0x3ec87a[_0x025e('0x36')]=_[_0x025e('0x37')](_0x32af90['model'],qs[_0x025e('0x38')](_0x9763ad[_0x025e('0x33')]['fields']));_0x3ec87a['attributes']=_0x3ec87a[_0x025e('0x36')]['length']?_0x3ec87a[_0x025e('0x36')]:_0x32af90[_0x025e('0x32')];if(!_0x9763ad['query'][_0x025e('0x39')](_0x025e('0x3a'))){_0x3ec87a[_0x025e('0x3b')]=qs[_0x025e('0x3b')](_0x9763ad[_0x025e('0x33')][_0x025e('0x3b')]);_0x3ec87a[_0x025e('0x3c')]=qs[_0x025e('0x3c')](_0x9763ad[_0x025e('0x33')]['offset']);}_0x3ec87a[_0x025e('0x3d')]=qs[_0x025e('0x3e')](_0x9763ad[_0x025e('0x33')][_0x025e('0x3e')]);_0x3ec87a[_0x025e('0x3f')]=qs[_0x025e('0x35')](_[_0x025e('0x40')](_0x9763ad['query'],_0x32af90['filters']),_0x273ff5);var _0x19df33=[];var _0x3e4879=squel[_0x025e('0x41')]()['field']('id')[_0x025e('0x42')](_0x025e('0x26'))[_0x025e('0x42')]('color')[_0x025e('0x43')](_0x025e('0x44'));var _0x1666b4=squel[_0x025e('0x41')]()[_0x025e('0x42')](_0x025e('0x45'))[_0x025e('0x42')](_0x025e('0x46'))[_0x025e('0x42')](_0x025e('0x47'))[_0x025e('0x43')](_0x025e('0x48'),'ui')[_0x025e('0x49')](_0x025e('0x4a'),'u',_0x025e('0x4b'));var _0x44426d=squel[_0x025e('0x41')]()[_0x025e('0x43')]('openchannel_interactions','i')['left_join'](_0x025e('0x4c'),'c',_0x025e('0x4d'))[_0x025e('0x49')](_0x025e('0x4a'),'o',_0x025e('0x4e'))[_0x025e('0x49')](_0x025e('0x4f'),'a',_0x025e('0x50'))[_0x025e('0x49')]('openchannel_messages','me',_0x025e('0x51'))[_0x025e('0x49')]('openchannel_interaction_has_tags','it',_0x025e('0x52'))['left_join'](_0x025e('0x44'),'t','t.id\x20=\x20it.TagId');var _0x41609b=squel[_0x025e('0x53')]();var _0x5c2915=[];var _0x2ff049=squel[_0x025e('0x53')]();var _0x4b4733;if(_0x9763ad[_0x025e('0x33')]['search']){_0x4b4733=as[_0x025e('0x54')](_0x9763ad[_0x025e('0x33')]['search']);var _0x39505e=_0x4b4733[_0x025e('0x55')];for(var _0x179a20=0x0;_0x179a20<_0x4b4733[_0x025e('0x56')][_0x025e('0x57')];_0x179a20++){var _0x5c25ce=_0x4b4733[_0x025e('0x56')][_0x179a20];var _0x2d5460='i';var _0x3fd2bf=_[_0x025e('0x58')](_0x273ff5,[_0x025e('0x26'),_0x5c25ce[_0x025e('0x42')]]);if(!_0x3fd2bf){switch(_0x5c25ce[_0x025e('0x42')]){case _0x025e('0x59'):if(_0x5c25ce['value']==0x1){_0x44426d['having']('`'+_0x5c25ce[_0x025e('0x42')]+_0x025e('0x5a'));}else{_0x44426d['having']('`'+_0x5c25ce[_0x025e('0x42')]+'`\x20>\x200');}break;case _0x025e('0x5b'):if(_0x5c25ce[_0x025e('0x5c')]===_0x025e('0x5d')){if(_0x5c25ce[_0x025e('0x5e')][_0x025e('0x2b')]('\x20')[_0x025e('0x57')]>0x1){_0x41609b[_0x39505e](_0x025e('0x5f'),qs[_0x025e('0x60')](_0x5c25ce[_0x025e('0x5e')]),null);}else{var _0x46e4ac='%'+_0x5c25ce['value']+'%';_0x41609b[_0x39505e]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x46e4ac,_0x46e4ac,_0x46e4ac);}}else{_0x3fd2bf=_[_0x025e('0x58')](_0x273ff5,[_0x025e('0x26'),'ContactId']);_0x5c25ce['field']=_0x025e('0x61');_0x2e19c6=as[_0x025e('0x62')](_0x2d5460,_0x3fd2bf['type'],_0x5c25ce);_0x41609b[_0x39505e](_0x2e19c6['text'],_0x2e19c6['value'][_0x025e('0x63')],_0x2e19c6[_0x025e('0x5e')][_0x025e('0x23')]);}break;case _0x025e('0x64'):var _0xabf806=_0x5c25ce['value']['split'](',')[_0x025e('0x2e')](function(_0x538eaa){return Number(_0x538eaa);});_0xabf806[_0x025e('0x65')](function(_0x1f3841){_0x2ff049['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x1f3841+',%');});_0x5c2915=_[_0x025e('0x66')](_0x5c2915,_0xabf806);break;case'User':if(_0x5c25ce['operator']===_0x025e('0x5d')){_0x41609b[_0x39505e](_0x025e('0x67'),'%'+_0x5c25ce['value']+'%',null);}else{_0x3fd2bf=_[_0x025e('0x58')](_0x273ff5,[_0x025e('0x26'),_0x025e('0x68')]);_0x5c25ce[_0x025e('0x42')]=_0x025e('0x68');_0x2e19c6=as[_0x025e('0x62')](_0x2d5460,_0x3fd2bf[_0x025e('0x69')],_0x5c25ce);_0x41609b[_0x39505e](_0x2e19c6[_0x025e('0x6a')],_0x2e19c6['value'][_0x025e('0x63')],_0x2e19c6['value'][_0x025e('0x23')]);}break;case'body':_0x2e19c6=as['buildExpression']('me',null,_0x5c25ce);_0x41609b[_0x39505e](_0x2e19c6['text'],_0x2e19c6[_0x025e('0x5e')][_0x025e('0x63')],_0x2e19c6[_0x025e('0x5e')][_0x025e('0x23')]);break;}}else{var _0x2e19c6=as[_0x025e('0x62')](_0x2d5460,_0x3fd2bf['type'],_0x5c25ce);_0x41609b[_0x39505e](_0x2e19c6[_0x025e('0x6a')],_0x2e19c6[_0x025e('0x5e')][_0x025e('0x63')],_0x2e19c6[_0x025e('0x5e')][_0x025e('0x23')]);}}}else{var _0x175981=_(_0x9763ad[_0x025e('0x33')])[_0x025e('0x34')]()[_0x025e('0x2e')](function(_0x568729){return _[_0x025e('0x6b')](_0x273ff5,['name',_0x568729])?_0x568729:undefined;})[_0x025e('0x6c')]()[_0x025e('0x5e')]();if(!_[_0x025e('0x6d')](_0x175981)){_0x175981[_0x025e('0x65')](function(_0xa33552){if(_0xa33552===_0x025e('0x6e')){_0x44426d['where'](_0x025e('0x6f'),[][_0x025e('0x70')](_0x9763ad['query'][_0xa33552]));}else if(_0xa33552===_0x025e('0x71')){var _0x1a43fa=JSON[_0x025e('0x72')](_0x9763ad['query'][_0xa33552])[_0x025e('0x73')];var _0xb35ec8=JSON['parse'](_0x9763ad['query'][_0xa33552])[_0x025e('0x74')];_0x44426d[_0x025e('0x3f')](_0x025e('0x75'),_0x1a43fa,_0xb35ec8);}else{if(_0x9763ad[_0x025e('0x33')][_0xa33552]===_0x025e('0x76')){_0x44426d['where']('i.'+_0xa33552+'\x20IS\x20NULL');}else{_0x44426d[_0x025e('0x3f')]('i.'+_0xa33552+_0x025e('0x77'),_0x9763ad['query'][_0xa33552]);}}});}if(_0x9763ad[_0x025e('0x33')]['read']){if(_0x9763ad[_0x025e('0x33')]['read']==0x1){_0x44426d[_0x025e('0x78')](_0x025e('0x79'));}else{_0x44426d[_0x025e('0x78')](_0x025e('0x7a'));}}if(_0x9763ad['query'][_0x025e('0x7b')]){_0x5c2915=_[_0x025e('0x7c')](_0x9763ad['query'][_0x025e('0x7b')])?_0x9763ad[_0x025e('0x33')][_0x025e('0x7b')]:new Array(_0x9763ad[_0x025e('0x33')][_0x025e('0x7b')]);_0x5c2915[_0x025e('0x65')](function(_0x4e5742){_0x2ff049['or'](_0x025e('0x7d'),'%,'+_0x4e5742+',%');});}if(_0x9763ad[_0x025e('0x33')]['filter']){var _0xbaac54=_0x9763ad['query'][_0x025e('0x7e')]['replace']('\x5c','\x5c\x5c')[_0x025e('0x7f')]('\x27\x27',_0x025e('0x80'));if(qs[_0x025e('0x81')](_0xbaac54)){_0x41609b['or']('i.id\x20LIKE\x20?',_0xbaac54+'%');}else{_0x41609b['or'](_0x025e('0x82'),qs[_0x025e('0x60')](_0xbaac54))['or'](_0x025e('0x83'),_0xbaac54+'%')['or'](_0x025e('0x84'),_0xbaac54+'%');}}}_0x44426d[_0x025e('0x3f')](_0x41609b);_0x44426d[_0x025e('0x85')](_0x025e('0x86'));var _0x53c095={'type':db['Sequelize'][_0x025e('0x87')][_0x025e('0x88')],'raw':!![]};var _0x14a18b=_0x44426d[_0x025e('0x89')]();_0x14a18b[_0x025e('0x42')](_0x025e('0x86'));_0x14a18b[_0x025e('0x42')](_0x025e('0x8a'),_0x025e('0x59'));if(_0x3ec87a[_0x025e('0x3d')]){_0x3ec87a[_0x025e('0x3d')]['forEach'](function(_0x546885){_0x44426d[_0x025e('0x3d')]('i.'+_0x546885[0x0],_0x546885[0x1]===_0x025e('0x8b')?![]:!![]);});}if(!_[_0x025e('0x6d')](_0x5c2915)){_0x44426d[_0x025e('0x78')](_0x2ff049);_0x14a18b['where'](_0x025e('0x8c'),_0x5c2915);}BPromise[_0x025e('0x8d')]()['then'](function(){if(!_0x4b4733){if(_0x9763ad['query'][_0x025e('0x6e')]||_0x9763ad[_0x025e('0x33')][_0x025e('0x8e')])return;_0x14a18b['where']('i.OpenchannelAccountId\x20IS\x20NOT\x20NULL');_0x44426d[_0x025e('0x3f')](_0x025e('0x8f'));return;}return _0x9763ad['user'][_0x025e('0x90')]({'attributes':['id'],'raw':!![]})[_0x025e('0x21')](function(_0x5c553a){if(_[_0x025e('0x6d')](_0x5c553a)){_0x14a18b['where'](_0x025e('0x91'));_0x44426d['where'](_0x025e('0x91'));}else{_0x14a18b[_0x025e('0x3f')](_0x025e('0x6f'),_['map'](_0x5c553a,'id'));_0x44426d[_0x025e('0x3f')](_0x025e('0x6f'),_[_0x025e('0x2e')](_0x5c553a,'id'));}});})[_0x025e('0x21')](function(){db[_0x025e('0x92')][_0x025e('0x33')](_0x14a18b[_0x025e('0x93')](),_0x53c095)[_0x025e('0x21')](function(_0x140d6e){_0x78ecd[_0x025e('0x94')]=_0x140d6e[_0x025e('0x57')];if(_0x78ecd[_0x025e('0x94')]===0x0)return[];return db['sequelize'][_0x025e('0x33')](_0x3e4879['toString'](),_0x53c095)[_0x025e('0x21')](function(_0x3b6ffe){_0x19df33=_[_0x025e('0x95')](_0x3b6ffe,'id');_0x53c095=_['merge'](_0x53c095,{'model':db[_0x025e('0x2f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x9763ad[_0x025e('0x33')][_0x025e('0x38')]){_0x3ec87a[_0x025e('0x36')][_0x025e('0x65')](function(_0x90e0c6){_0x44426d[_0x025e('0x42')]('i.'+_0x90e0c6);});}else{_0x44426d[_0x025e('0x42')](_0x025e('0x8a'),_0x025e('0x59'));_0x44426d['field'](_0x025e('0x96'),_0x025e('0x97'));_0x44426d[_0x025e('0x42')]('a.mandatoryDisposition',_0x025e('0x98'));_0x44426d['field']('i.*');_0x44426d[_0x025e('0x42')]('c.firstName','Contact.firstName');_0x44426d[_0x025e('0x42')](_0x025e('0x99'),_0x025e('0x9a'));_0x44426d[_0x025e('0x42')](_0x025e('0x9b'),_0x025e('0x9c'));_0x44426d['field'](_0x025e('0x9d'),'Contact.phone');_0x44426d['field'](_0x025e('0x9e'),_0x025e('0x9f'));_0x44426d[_0x025e('0x42')](_0x025e('0xa0'),_0x025e('0xa1'));_0x44426d[_0x025e('0x42')](_0x025e('0xa2'),_0x025e('0xa3'));_0x44426d[_0x025e('0x42')](_0x025e('0xa4'),_0x025e('0xa5'));_0x44426d[_0x025e('0x42')]('GROUP_CONCAT(DISTINCT\x20t.id)','TagIds');}if(_0x3ec87a[_0x025e('0x3b')])_0x44426d[_0x025e('0x3b')](_0x3ec87a[_0x025e('0x3b')]);if(_0x3ec87a['offset'])_0x44426d[_0x025e('0x3c')](_0x3ec87a[_0x025e('0x3c')]);return db[_0x025e('0x92')][_0x025e('0x33')](_0x44426d[_0x025e('0x93')](),_0x53c095);})[_0x025e('0x21')](function(_0x3e8218){_0x1666b4[_0x025e('0x3f')]('ui.OpenchannelInteractionId\x20IN\x20?',_['map'](_0x3e8218,'id'));return db[_0x025e('0x92')][_0x025e('0x33')](_0x1666b4['toString'](),_0x53c095)[_0x025e('0x21')](function(_0x89abe2){var _0x2ae6d8=_['groupBy'](_0x89abe2,_0x025e('0xa6'));var _0x55445c=[];_0x3e8218['forEach'](function(_0x396f3c){_0x55445c[_0x025e('0x2c')](updateOpenchannelInteraction(_0x396f3c,_0x19df33,_0x2ae6d8));});return BPromise['all'](_0x55445c);});});})['then'](function(_0x2f7083){_0x78ecd[_0x025e('0xa7')]=_0x2f7083;return _0x78ecd;})['then'](respondWithFilteredResult(_0x5174b1,_0x3ec87a));})[_0x025e('0xa8')](handleError(_0x5174b1,null));};exports[_0x025e('0xa9')]=function(_0xb437b6,_0x3fab4d){var _0x113d2a={'raw':![],'where':{'id':_0xb437b6[_0x025e('0xaa')]['id']}},_0x22dc90={};_0x22dc90[_0x025e('0x32')]=_[_0x025e('0x34')](db['OpenchannelInteraction'][_0x025e('0xab')]);_0x22dc90['query']=_[_0x025e('0x34')](_0xb437b6[_0x025e('0x33')]);_0x22dc90[_0x025e('0x35')]=_[_0x025e('0x37')](_0x22dc90[_0x025e('0x32')],_0x22dc90['query']);_0x113d2a['attributes']=_[_0x025e('0x37')](_0x22dc90[_0x025e('0x32')],qs[_0x025e('0x38')](_0xb437b6['query'][_0x025e('0x38')]));_0x113d2a['attributes']=_0x113d2a[_0x025e('0x36')][_0x025e('0x57')]?_0x113d2a['attributes']:_0x22dc90[_0x025e('0x32')];if(_0xb437b6['query'][_0x025e('0xac')]){_0x113d2a['include']=[{'all':!![]}];}_0x113d2a=_[_0x025e('0xad')]({},_0x113d2a,_0xb437b6['options']);return db['OpenchannelInteraction'][_0x025e('0x58')](_0x113d2a)['then'](handleEntityNotFound(_0x3fab4d,null))[_0x025e('0x21')](respondWithResult(_0x3fab4d,null))[_0x025e('0xa8')](handleError(_0x3fab4d,null));};exports['create']=function(_0x4ad6f1,_0xbb6ece){return db[_0x025e('0x2f')][_0x025e('0xae')](_0x4ad6f1[_0x025e('0xaf')],{})['then'](respondWithResult(_0xbb6ece,0xc9))['catch'](handleError(_0xbb6ece,null));};exports[_0x025e('0x20')]=function(_0x25d0cb,_0x208890){if(_0x25d0cb[_0x025e('0xaf')]['id']){delete _0x25d0cb['body']['id'];}return db['OpenchannelInteraction']['find']({'where':{'id':_0x25d0cb['params']['id']}})[_0x025e('0x21')](handleEntityNotFound(_0x208890,null))[_0x025e('0x21')](saveUpdates(_0x25d0cb[_0x025e('0xaf')],null))[_0x025e('0x21')](respondWithResult(_0x208890,null))['catch'](handleError(_0x208890,null));};exports[_0x025e('0x22')]=function(_0x29a730,_0x19737d){return db[_0x025e('0x2f')]['find']({'where':{'id':_0x29a730[_0x025e('0xaa')]['id']}})[_0x025e('0x21')](handleEntityNotFound(_0x19737d,null))[_0x025e('0x21')](removeEntity(_0x19737d,null))['catch'](handleError(_0x19737d,null));};exports['describe']=function(_0x525da6,_0x32d9e6){return db[_0x025e('0x2f')][_0x025e('0xb0')]()[_0x025e('0x21')](respondWithResult(_0x32d9e6,null))[_0x025e('0xa8')](handleError(_0x32d9e6,null));};exports[_0x025e('0xb1')]=function(_0x358004,_0x9f1bf3,_0x5cf4b1){return db[_0x025e('0xb2')][_0x025e('0x58')]({'where':{'id':_0x358004[_0x025e('0xaa')]['id']}})[_0x025e('0x21')](handleEntityNotFound(_0x9f1bf3,null))[_0x025e('0x21')](function(_0x1be669){if(_0x1be669){return _0x1be669[_0x025e('0xb1')](_0x358004[_0x025e('0xaf')][_0x025e('0xb3')],_[_0x025e('0xb4')](_0x358004[_0x025e('0xaf')],[_0x025e('0xb3'),'id'])||{});}})[_0x025e('0x21')](respondWithResult(_0x9f1bf3,null))[_0x025e('0xa8')](handleError(_0x9f1bf3,null));};exports[_0x025e('0xb5')]=function(_0xa7fedc,_0x1bd9dd,_0x4cf908){var _0x164611={'raw':![],'where':{}};var _0x23beb7={};var _0x3ce031={'count':0x0,'rows':[]};return db['OpenchannelInteraction'][_0x025e('0xb6')]({'where':{'id':_0xa7fedc['params']['id']}})['then'](handleEntityNotFound(_0x1bd9dd,null))[_0x025e('0x21')](function(_0x4f0bf0){if(_0x4f0bf0){_0x23beb7[_0x025e('0x32')]=_[_0x025e('0x34')](db[_0x025e('0xb2')]['rawAttributes']);_0x23beb7[_0x025e('0x33')]=_['keys'](_0xa7fedc[_0x025e('0x33')]);_0x23beb7[_0x025e('0x35')]=_[_0x025e('0x37')](_0x23beb7['model'],_0x23beb7[_0x025e('0x33')]);_0x164611[_0x025e('0x36')]=_['intersection'](_0x23beb7['model'],qs['fields'](_0xa7fedc['query'][_0x025e('0x38')]));_0x164611[_0x025e('0x36')]=_0x164611[_0x025e('0x36')][_0x025e('0x57')]?_0x164611['attributes']:_0x23beb7['model'];if(!_0xa7fedc[_0x025e('0x33')][_0x025e('0x39')](_0x025e('0x3a'))){_0x164611['limit']=qs[_0x025e('0x3b')](_0xa7fedc['query'][_0x025e('0x3b')]);_0x164611['offset']=qs[_0x025e('0x3c')](_0xa7fedc['query']['offset']);}_0x164611[_0x025e('0x3d')]=qs[_0x025e('0x3e')](_0xa7fedc['query'][_0x025e('0x3e')]);_0x164611[_0x025e('0x3f')]=qs[_0x025e('0x35')](_[_0x025e('0x40')](_0xa7fedc[_0x025e('0x33')],_0x23beb7[_0x025e('0x35')]));_0x164611[_0x025e('0x3f')][_0x025e('0xa6')]=_0x4f0bf0['id'];if(_0xa7fedc['query']['filter']){_0x164611[_0x025e('0x3f')]=_['merge'](_0x164611[_0x025e('0x3f')],{'$or':_[_0x025e('0x2e')](_0x164611[_0x025e('0x36')],function(_0x4e5e63){var _0x2ed9cd={};_0x2ed9cd[_0x4e5e63]={'$like':'%'+_0xa7fedc[_0x025e('0x33')][_0x025e('0x7e')]+'%'};return _0x2ed9cd;})});}if(_0xa7fedc[_0x025e('0x33')]['$gte']){var _0x3e6503=_0xa7fedc[_0x025e('0x33')]['$gte'][_0x025e('0x2b')](',');var _0x29385d={};_0x29385d[_0x3e6503[0x0]]={'$gte':moment(_0x3e6503[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x164611['where']=_[_0x025e('0xad')](_0x164611[_0x025e('0x3f')],_0x29385d);}_0x164611=_[_0x025e('0xad')]({},_0x164611,_0xa7fedc[_0x025e('0xb7')]);return db[_0x025e('0xb2')][_0x025e('0x94')]({'where':_0x164611['where']})[_0x025e('0x21')](function(_0x11ebb1){_0x3ce031[_0x025e('0x94')]=_0x11ebb1;if(_0xa7fedc['query'][_0x025e('0xac')]){_0x164611['include']=[{'all':!![]}];}return db[_0x025e('0xb2')][_0x025e('0xb8')](_0x164611);})[_0x025e('0x21')](function(_0x273332){_0x3ce031[_0x025e('0xa7')]=_0x273332;return _0x3ce031;});}})[_0x025e('0x21')](respondWithFilteredResult(_0x1bd9dd,_0x164611))[_0x025e('0xa8')](handleError(_0x1bd9dd,null));};exports[_0x025e('0xb9')]=function(_0x1d1caf,_0x1081ea,_0xf2d05b){return db[_0x025e('0x2f')][_0x025e('0x58')]({'where':{'id':_0x1d1caf[_0x025e('0xaa')]['id']}})[_0x025e('0x21')](handleEntityNotFound(_0x1081ea,null))[_0x025e('0x21')](function(_0x2795c1){if(_0x2795c1){return _0x2795c1['setTags'](_0x1d1caf[_0x025e('0xaf')][_0x025e('0xb3')],_[_0x025e('0xb4')](_0x1d1caf[_0x025e('0xaf')],['ids','id'])||{})['spread'](function(){return db['Tag'][_0x025e('0xb8')]({'attributes':['id','name',_0x025e('0xba')],'where':{'id':_0x1d1caf[_0x025e('0xaf')][_0x025e('0xb3')]}});})['then'](function(_0x4d8b32){socket[_0x025e('0xbb')](_0x025e('0xbc'),{'id':Number(_0x1d1caf[_0x025e('0xaa')]['id']),'tags':_0x4d8b32||[]});return{'id':Number(_0x1d1caf['params']['id']),'tags':_0x4d8b32||[]};});}})[_0x025e('0x21')](respondWithResult(_0x1081ea,null))[_0x025e('0xa8')](handleError(_0x1081ea,null));};exports[_0x025e('0xbd')]=function(_0x6cb786,_0x313d48,_0x5df053){return db[_0x025e('0x2f')][_0x025e('0x58')]({'where':{'id':_0x6cb786['params']['id']}})[_0x025e('0x21')](handleEntityNotFound(_0x313d48,null))[_0x025e('0x21')](function(_0xa9a29c){if(_0xa9a29c){return _0xa9a29c[_0x025e('0xbd')](_0x6cb786[_0x025e('0x33')][_0x025e('0xb3')]);}})[_0x025e('0x21')](respondWithStatusCode(_0x313d48,null))[_0x025e('0xa8')](handleError(_0x313d48,null));};exports[_0x025e('0xbe')]=function(_0x971164,_0xfbdfed){var _0x35a3b8=moment()[_0x025e('0xbf')]()[_0x025e('0x93')]();var _0x3b8fb6=path[_0x025e('0xc0')](config['root'],_0x025e('0xc1'),_0x025e('0xc2'),'tmp');var _0x454067=path[_0x025e('0xc0')](config[_0x025e('0xc3')],_0x025e('0xc1'),_0x025e('0xc2'),_0x025e('0xc4'));var _0x1ec3fa=path[_0x025e('0xc0')](_0x3b8fb6,_0x35a3b8);var _0x296367=util[_0x025e('0xc5')]('transcript-%d-%s.zip',_0x971164[_0x025e('0xaa')]['id'],_0x35a3b8);var _0x241d30=path[_0x025e('0xc0')](_0x3b8fb6,_0x296367);var _0x1fe849=[];_0x1fe849['push']({'model':db[_0x025e('0xc6')],'as':_0x025e('0xc6'),'attributes':['id',_0x025e('0x28')],'raw':!![]});_0x1fe849[_0x025e('0x2c')]({'model':db[_0x025e('0xc7')],'as':_0x025e('0x5b'),'attributes':['id','firstName','lastName'],'raw':!![]});if(_0x971164['query'][_0x025e('0xc4')]){_0x1fe849[_0x025e('0x2c')]({'model':db[_0x025e('0xc8')],'as':_0x025e('0xc8'),'raw':!![]});}var _0x4f8ec2=[{'model':db[_0x025e('0xb2')],'as':_0x025e('0xc9'),'attributes':['id',_0x025e('0xaf'),'createdAt',_0x025e('0xca'),_0x025e('0xcb'),_0x025e('0xcc')],'include':_0x1fe849}];_0x4f8ec2[_0x025e('0x2c')]({'model':db[_0x025e('0xcd')],'as':'Account','attributes':['id',_0x025e('0x26')]});_0x4f8ec2[_0x025e('0x2c')]({'model':db[_0x025e('0xc6')],'as':'Owner','attributes':['id',_0x025e('0x28')]});return db[_0x025e('0x2f')][_0x025e('0x58')]({'where':{'id':_0x971164[_0x025e('0xaa')]['id']},'include':_0x4f8ec2})[_0x025e('0x21')](handleEntityNotFound(_0xfbdfed,null))[_0x025e('0x21')](function(_0x46b589){if(_0x46b589){var _0x489cf9=_0x46b589[_0x025e('0xce')]({'plain':!![]});fs['mkdirSync'](_0x1ec3fa);var _0x775f21={'format':'A4','border':_0x025e('0xcf'),'header':{'height':_0x025e('0xd0'),'contents':{'first':_0x025e('0xd1')}},'footer':{'height':_0x025e('0xd2'),'contents':{'default':util[_0x025e('0xc5')](_0x025e('0xd3'),util[_0x025e('0xc5')](_0x025e('0xd4'),'Openchannel',_0x489cf9['id']),moment()['format']('YYYY-MM-DD')[_0x025e('0x93')]())}}};var _0x430557={'channel':_0x025e('0xd5'),'account':_0x489cf9['Account'][_0x025e('0x26')],'agent':_0x489cf9['Owner']?_0x489cf9[_0x025e('0xd6')][_0x025e('0x28')]:'N.A.','createdAt':moment(_0x489cf9['createdAt'])[_0x025e('0xc5')](_0x025e('0xd7'))[_0x025e('0x93')](),'closedAt':_0x489cf9['closed']?moment(_0x489cf9[_0x025e('0xd8')])[_0x025e('0xc5')](_0x025e('0xd7'))[_0x025e('0x93')]():'','disposition':_0x489cf9[_0x025e('0xd9')],'visibility':_0x489cf9[_0x025e('0xda')]?_0x025e('0xdb'):_0x025e('0xdc'),'messages':_(_0x489cf9[_0x025e('0xc9')])[_0x025e('0x7e')]({'secret':![]})['map'](function(_0x29836b){if(_0x29836b['Attachment']){var _0x4c1625=path[_0x025e('0xc0')](_0x454067,_0x29836b['Attachment'][_0x025e('0xdd')]);if(fs[_0x025e('0xde')](_0x4c1625)){fs[_0x025e('0xdf')](_0x4c1625)[_0x025e('0xe0')](fs[_0x025e('0xe1')](path[_0x025e('0xc0')](_0x1ec3fa,_0x29836b['Attachment'][_0x025e('0xdd')])));}}return{'date':moment(_0x29836b['createdAt'])[_0x025e('0xc5')](_0x025e('0xd7'))[_0x025e('0x93')](),'sender':_0x29836b[_0x025e('0xca')]==='out'?_0x29836b[_0x025e('0xc6')]?_0x29836b[_0x025e('0xc6')][_0x025e('0x28')]:'System':_0x29836b[_0x025e('0x5b')][_0x025e('0xe2')]+(_0x29836b['Contact']['lastName']?'\x20'+_0x29836b[_0x025e('0x5b')][_0x025e('0xe3')]:''),'body':_0x29836b['Attachment']?_0x29836b['Attachment']['basename']:_0x29836b[_0x025e('0xaf')],'direction':_0x29836b['direction']===_0x025e('0xe4')?'A':'C','secret':_0x29836b['secret'],'read':_0x29836b[_0x025e('0xcc')],'attachment':_0x29836b[_0x025e('0xc8')]};})[_0x025e('0x5e')]()};return ejs['renderFile'](path[_0x025e('0xc0')](config['root'],_0x025e('0xc1'),_0x025e('0xe5'),_0x025e('0xe6')),{'interaction':_0x430557})[_0x025e('0x21')](function(_0x12edd7){return new BPromise(function(_0x397653,_0x572a99){pdf[_0x025e('0xae')](_0x12edd7,_0x775f21)[_0x025e('0xe7')](path[_0x025e('0xc0')](_0x1ec3fa,'transcript-'+_0x489cf9['id']+'-'+_0x35a3b8+'.pdf'),function(_0x5e8f13,_0xde390c){if(_0x5e8f13)return _0x572a99(_0x5e8f13);_0x397653(_0xde390c);});});})['then'](function(){return new BPromise(function(_0x27f9fc,_0x155ae7){zipdir(_0x1ec3fa,{'saveTo':_0x241d30},function(_0x14187a,_0x2ef2a7){if(_0x14187a)return _0x155ae7(_0x14187a);return _0x27f9fc(_0x2ef2a7);});})[_0x025e('0x21')](function(){return new BPromise(function(_0x22b5e4,_0xfb2ee1){rimraf(_0x1ec3fa,function(_0x109d90){if(_0x109d90)_0xfb2ee1(_0x109d90);return _0x22b5e4();});});})[_0x025e('0x21')](function(){return _0xfbdfed[_0x025e('0xbe')](_0x241d30,_0x296367,function(_0x499660){if(_0x499660){console[_0x025e('0xe8')](_0x025e('0xe9'),_0x499660);}else{fs[_0x025e('0xea')](_0x241d30);}});});});}else{return _0xfbdfed[_0x025e('0x19')](0xc8);}})[_0x025e('0xa8')](handleError(_0xfbdfed,null));};