9c92d837954998c62305c90f54709a7fcf21b31f
[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 _0xb770=['out','System','firstName','renderFile','views','downloadInteraction.html','transcript-','.pdf','log','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','redis','defaults','localhost','./openchannelInteraction.socket','register','status','json','offset','limit','set','Content-Range','apply','reject','save','update','then','sendStatus','stack','name','send','Users','map','fullname','TagIds','Tags','split','push','catch','OpenchannelInteraction','rawAttributes','key','model','query','keys','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','select','field','color','from','tools_tags','u.id','u.fullname','ui.OpenchannelInteractionId','user_has_openchannel_interactions','left_join','users','u.id\x20=\x20ui.UserId','openchannel_interactions','o.id\x20=\x20i.UserId','openchannel_accounts','openchannel_messages','me.OpenchannelInteractionId\x20=\x20i.id','openchannel_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','text','start','end','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','buildExpression','body','type','some','compact','isEmpty','i.OpenchannelAccountId\x20IN\x20?','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','\x27\x27\x27\x27','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','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','user','getOpenchannelAccounts','sequelize','count','toString','keyBy','merge','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','c.lastName','Contact.lastName','c.email','c.mobile','Contact.mobile','Contact.fax','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.OpenchannelInteractionId\x20IN\x20?','groupBy','OpenchannelInteractionId','all','params','intersection','create','destroy','describe','addMessage','OpenchannelMessage','ids','omit','getMessages','$gte','format','includeAll','findAll','rows','addTags','setTags','spread','Tag','emit','openchannelInteractionTags:save','download','unix','join','root','server','files','tmp','attachments','CmContact','lastName','Attachment','direction','secret','OpenchannelAccount','Account','Owner','get','mkdirSync','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','%s\x20#%d','Openchannel','YYYY-MM-DD','N.A.','YYYY-MM-DD\x20HH:mm:ss','closed','closedAt','disposition','Public','Private','Messages','existsSync','pipe','createWriteStream','basename'];(function(_0x4cef68,_0x56e87f){var _0x28f79d=function(_0x4a7f07){while(--_0x4a7f07){_0x4cef68['push'](_0x4cef68['shift']());}};_0x28f79d(++_0x56e87f);}(_0xb770,0x1e2));var _0x0b77=function(_0x86adab,_0x54554e){_0x86adab=_0x86adab-0x0;var _0x28fb45=_0xb770[_0x86adab];return _0x28fb45;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x0b77('0x0'));var rimraf=require(_0x0b77('0x1'));var zipdir=require(_0x0b77('0x2'));var jsonpatch=require(_0x0b77('0x3'));var rp=require(_0x0b77('0x4'));var moment=require(_0x0b77('0x5'));var BPromise=require(_0x0b77('0x6'));var Mustache=require(_0x0b77('0x7'));var util=require(_0x0b77('0x8'));var path=require(_0x0b77('0x9'));var sox=require(_0x0b77('0xa'));var csv=require(_0x0b77('0xb'));var ejs=require(_0x0b77('0xc'));var fs=require('fs');var _=require(_0x0b77('0xd'));var squel=require(_0x0b77('0xe'));var crypto=require('crypto');var jsforce=require(_0x0b77('0xf'));var deskjs=require(_0x0b77('0x10'));var toCsv=require(_0x0b77('0xb'));var querystring=require(_0x0b77('0x11'));var Papa=require(_0x0b77('0x12'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x0b77('0x13'));var as=require(_0x0b77('0x14'));var hardwareService=require(_0x0b77('0x15'));var logger=require(_0x0b77('0x16'))('api');var utils=require('../../config/utils');var config=require(_0x0b77('0x17'));var db=require('../../mysqldb')['db'];config[_0x0b77('0x18')]=_[_0x0b77('0x19')](config[_0x0b77('0x18')],{'host':_0x0b77('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x0b77('0x18')]));require(_0x0b77('0x1b'))[_0x0b77('0x1c')](socket);function respondWithStatusCode(_0x228e03,_0x57012e){_0x57012e=_0x57012e||0xcc;return function(_0x55c6a5){if(_0x55c6a5){return _0x228e03['sendStatus'](_0x57012e);}return _0x228e03[_0x0b77('0x1d')](_0x57012e)['end']();};}function respondWithResult(_0x19242b,_0x319b04){_0x319b04=_0x319b04||0xc8;return function(_0x29699b){if(_0x29699b){return _0x19242b['status'](_0x319b04)[_0x0b77('0x1e')](_0x29699b);}};}function respondWithFilteredResult(_0x2e7b6a,_0x3807cc){return function(_0x2a920b){if(_0x2a920b){var _0xec6733=_0x2a920b['count'],_0x54f177=_0x3807cc['offset'],_0x17e1e0=_0x3807cc[_0x0b77('0x1f')]+_0x3807cc[_0x0b77('0x20')],_0x1fbda8;if(_0x17e1e0>=_0xec6733){_0x17e1e0=_0xec6733;_0x1fbda8=0xc8;}else{_0x1fbda8=0xce;}_0x2e7b6a[_0x0b77('0x1d')](_0x1fbda8);return _0x2e7b6a[_0x0b77('0x21')](_0x0b77('0x22'),_0x54f177+'-'+_0x17e1e0+'/'+_0xec6733)['json'](_0x2a920b);}return null;};}function patchUpdates(_0x9384fb){return function(_0x5030bd){try{jsonpatch[_0x0b77('0x23')](_0x5030bd,_0x9384fb,!![]);}catch(_0x5abdc7){return BPromise[_0x0b77('0x24')](_0x5abdc7);}return _0x5030bd[_0x0b77('0x25')]();};}function saveUpdates(_0x3430ee,_0xccf557){return function(_0x3f02f7){if(_0x3f02f7){return _0x3f02f7[_0x0b77('0x26')](_0x3430ee)[_0x0b77('0x27')](function(_0x177f94){return _0x177f94;});}return null;};}function removeEntity(_0x4664bb,_0x218b68){return function(_0x19620f){if(_0x19620f){return _0x19620f['destroy']()[_0x0b77('0x27')](function(){_0x4664bb['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5d1450,_0x2f9084){return function(_0xeca5d7){if(!_0xeca5d7){_0x5d1450[_0x0b77('0x28')](0x194);}return _0xeca5d7;};}function handleError(_0x1c326d,_0x7f5234){_0x7f5234=_0x7f5234||0x1f4;return function(_0x2ec8d7){logger['error'](_0x2ec8d7[_0x0b77('0x29')]);if(_0x2ec8d7[_0x0b77('0x2a')]){delete _0x2ec8d7[_0x0b77('0x2a')];}_0x1c326d['status'](_0x7f5234)[_0x0b77('0x2b')](_0x2ec8d7);};}function getInteractionUsers(_0x31ae45,_0x578aaa){return new BPromise(function(_0x4d08a1,_0x58215d){try{if(_0x578aaa[_0x31ae45['id']]){_0x31ae45[_0x0b77('0x2c')]=_[_0x0b77('0x2d')](_0x578aaa[_0x31ae45['id']],function(_0x5e855d){return{'id':_0x5e855d['id'],'fullname':_0x5e855d[_0x0b77('0x2e')]};});}}catch(_0x1e7192){_0x58215d(_0x1e7192);}_0x4d08a1(_0x31ae45);});}function getInteractionTags(_0x10eddd,_0x29a49c){return new BPromise(function(_0x1bcb5a,_0x5ac7c7){try{if(_0x10eddd[_0x0b77('0x2f')]){_0x10eddd[_0x0b77('0x30')]=[];_0x10eddd['TagIds'][_0x0b77('0x31')](',')['forEach'](function(_0x39f7d7){_0x10eddd[_0x0b77('0x30')][_0x0b77('0x32')](_0x29a49c[_0x39f7d7]);});}delete _0x10eddd['TagIds'];}catch(_0x3676b0){_0x5ac7c7(_0x3676b0);}_0x1bcb5a(_0x10eddd);});}function updateOpenchannelInteraction(_0x168f0d,_0x3280bd,_0x422014){return new BPromise(function(_0x1a9f63,_0x387d6e){return getInteractionUsers(_0x168f0d,_0x422014)[_0x0b77('0x27')](function(_0x3b3da2){return getInteractionTags(_0x3b3da2,_0x3280bd);})['then'](function(_0x20e651){_0x1a9f63(_0x20e651);})[_0x0b77('0x33')](function(_0x3fcb3d){_0x387d6e(_0x3fcb3d);});});}exports['index']=function(_0x2933b4,_0x308917){var _0x54988f={},_0xc07407={},_0x18f2a3={'count':0x0,'rows':[]};var _0xc20de6=_[_0x0b77('0x2d')](db[_0x0b77('0x34')][_0x0b77('0x35')],function(_0x3374cf){return{'name':_0x3374cf['fieldName'],'type':_0x3374cf['type'][_0x0b77('0x36')]};});_0xc07407[_0x0b77('0x37')]=_[_0x0b77('0x2d')](_0xc20de6,_0x0b77('0x2a'));_0xc07407[_0x0b77('0x38')]=_[_0x0b77('0x39')](_0x2933b4['query']);_0xc07407['filters']=_['intersection'](_0xc07407['model'],_0xc07407['query']);_0x54988f[_0x0b77('0x3a')]=_['intersection'](_0xc07407['model'],qs[_0x0b77('0x3b')](_0x2933b4[_0x0b77('0x38')]['fields']));_0x54988f[_0x0b77('0x3a')]=_0x54988f['attributes'][_0x0b77('0x3c')]?_0x54988f[_0x0b77('0x3a')]:_0xc07407[_0x0b77('0x37')];if(!_0x2933b4[_0x0b77('0x38')][_0x0b77('0x3d')](_0x0b77('0x3e'))){_0x54988f['limit']=qs[_0x0b77('0x20')](_0x2933b4['query'][_0x0b77('0x20')]);_0x54988f[_0x0b77('0x1f')]=qs['offset'](_0x2933b4[_0x0b77('0x38')]['offset']);}_0x54988f[_0x0b77('0x3f')]=qs[_0x0b77('0x40')](_0x2933b4['query']['sort']);_0x54988f[_0x0b77('0x41')]=qs['filters'](_[_0x0b77('0x42')](_0x2933b4[_0x0b77('0x38')],_0xc07407[_0x0b77('0x43')]));var _0x4b78e4=[];var _0x44948d=squel[_0x0b77('0x44')]()[_0x0b77('0x45')]('id')[_0x0b77('0x45')](_0x0b77('0x2a'))[_0x0b77('0x45')](_0x0b77('0x46'))[_0x0b77('0x47')](_0x0b77('0x48'));var _0x2e4664=squel[_0x0b77('0x44')]()['field'](_0x0b77('0x49'))[_0x0b77('0x45')](_0x0b77('0x4a'))[_0x0b77('0x45')](_0x0b77('0x4b'))['from'](_0x0b77('0x4c'),'ui')[_0x0b77('0x4d')](_0x0b77('0x4e'),'u',_0x0b77('0x4f'));var _0x4f4dce=squel[_0x0b77('0x44')]()[_0x0b77('0x47')](_0x0b77('0x50'),'i')[_0x0b77('0x4d')]('cm_contacts','c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x0b77('0x4d')](_0x0b77('0x4e'),'o',_0x0b77('0x51'))[_0x0b77('0x4d')](_0x0b77('0x52'),'a','a.id\x20=\x20i.OpenchannelAccountId')[_0x0b77('0x4d')](_0x0b77('0x53'),'me',_0x0b77('0x54'))[_0x0b77('0x4d')](_0x0b77('0x55'),'it','it.OpenchannelInteractionId\x20=\x20i.id')['left_join'](_0x0b77('0x48'),'t',_0x0b77('0x56'));var _0x3df436=squel['expr']();var _0x45e3f5=[];var _0x599e9d=squel[_0x0b77('0x57')]();var _0x5bfe8c;if(_0x2933b4[_0x0b77('0x38')][_0x0b77('0x58')]){_0x5bfe8c=as['parseSearch'](_0x2933b4[_0x0b77('0x38')][_0x0b77('0x58')]);var _0x1f1b85=_0x5bfe8c[_0x0b77('0x59')];for(var _0x2b57fa=0x0;_0x2b57fa<_0x5bfe8c[_0x0b77('0x5a')][_0x0b77('0x3c')];_0x2b57fa++){var _0x239680=_0x5bfe8c[_0x0b77('0x5a')][_0x2b57fa];var _0x4cc927='i';var _0xd848a8=_[_0x0b77('0x5b')](_0xc20de6,[_0x0b77('0x2a'),_0x239680[_0x0b77('0x45')]]);if(!_0xd848a8){switch(_0x239680['field']){case _0x0b77('0x5c'):if(_0x239680[_0x0b77('0x5d')]==0x1){_0x4f4dce[_0x0b77('0x5e')]('`'+_0x239680[_0x0b77('0x45')]+_0x0b77('0x5f'));}else{_0x4f4dce[_0x0b77('0x5e')]('`'+_0x239680[_0x0b77('0x45')]+'`\x20>\x200');}break;case _0x0b77('0x60'):if(_0x239680[_0x0b77('0x61')]===_0x0b77('0x62')){if(_0x239680['value'][_0x0b77('0x31')]('\x20')['length']>0x1){_0x3df436[_0x1f1b85](_0x0b77('0x63'),qs['getFullTextValue'](_0x239680['value']),null);}else{var _0x55b946='%'+_0x239680[_0x0b77('0x5d')]+'%';_0x3df436[_0x1f1b85](_0x0b77('0x64'),_0x55b946,_0x55b946,_0x55b946);}}else{_0xd848a8=_[_0x0b77('0x5b')](_0xc20de6,['name',_0x0b77('0x65')]);_0x239680[_0x0b77('0x45')]=_0x0b77('0x65');_0xae02e=as['buildExpression'](_0x4cc927,_0xd848a8['type'],_0x239680);_0x3df436[_0x1f1b85](_0xae02e[_0x0b77('0x66')],_0xae02e[_0x0b77('0x5d')][_0x0b77('0x67')],_0xae02e[_0x0b77('0x5d')][_0x0b77('0x68')]);}break;case'Tag':var _0x30ecb2=_0x239680['value'][_0x0b77('0x31')](',')[_0x0b77('0x2d')](function(_0x2f5061){return Number(_0x2f5061);});_0x30ecb2[_0x0b77('0x69')](function(_0x4e3057){_0x599e9d['or'](_0x0b77('0x6a'),'%,'+_0x4e3057+',%');});_0x45e3f5=_[_0x0b77('0x6b')](_0x45e3f5,_0x30ecb2);break;case _0x0b77('0x6c'):if(_0x239680[_0x0b77('0x61')]===_0x0b77('0x62')){_0x3df436[_0x1f1b85]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x239680['value']+'%',null);}else{_0xd848a8=_['find'](_0xc20de6,[_0x0b77('0x2a'),'UserId']);_0x239680[_0x0b77('0x45')]=_0x0b77('0x6d');_0xae02e=as[_0x0b77('0x6e')](_0x4cc927,_0xd848a8['type'],_0x239680);_0x3df436[_0x1f1b85](_0xae02e['text'],_0xae02e['value'][_0x0b77('0x67')],_0xae02e['value'][_0x0b77('0x68')]);}break;case _0x0b77('0x6f'):_0xae02e=as[_0x0b77('0x6e')]('me',null,_0x239680);_0x3df436[_0x1f1b85](_0xae02e['text'],_0xae02e[_0x0b77('0x5d')]['start'],_0xae02e['value']['end']);break;}}else{var _0xae02e=as[_0x0b77('0x6e')](_0x4cc927,_0xd848a8[_0x0b77('0x70')],_0x239680);_0x3df436[_0x1f1b85](_0xae02e[_0x0b77('0x66')],_0xae02e['value']['start'],_0xae02e[_0x0b77('0x5d')]['end']);}}}else{var _0x521bb4=_(_0x2933b4['query'])[_0x0b77('0x39')]()[_0x0b77('0x2d')](function(_0x35ea79){return _[_0x0b77('0x71')](_0xc20de6,[_0x0b77('0x2a'),_0x35ea79])?_0x35ea79:undefined;})[_0x0b77('0x72')]()[_0x0b77('0x5d')]();if(!_[_0x0b77('0x73')](_0x521bb4)){_0x521bb4[_0x0b77('0x69')](function(_0x449bef){if(_0x449bef==='OpenchannelAccountId'){_0x4f4dce[_0x0b77('0x41')](_0x0b77('0x74'),[]['concat'](_0x2933b4[_0x0b77('0x38')][_0x449bef]));}else if(_0x449bef===_0x0b77('0x75')){var _0xde5eb2=JSON[_0x0b77('0x76')](_0x2933b4[_0x0b77('0x38')][_0x449bef])['$gte'];var _0x188704=JSON[_0x0b77('0x76')](_0x2933b4[_0x0b77('0x38')][_0x449bef])[_0x0b77('0x77')];_0x4f4dce[_0x0b77('0x41')](_0x0b77('0x78'),_0xde5eb2,_0x188704);}else{if(_0x2933b4[_0x0b77('0x38')][_0x449bef]===_0x0b77('0x79')){_0x4f4dce[_0x0b77('0x41')]('i.'+_0x449bef+_0x0b77('0x7a'));}else{_0x4f4dce[_0x0b77('0x41')]('i.'+_0x449bef+_0x0b77('0x7b'),_0x2933b4[_0x0b77('0x38')][_0x449bef]);}}});}if(_0x2933b4['query'][_0x0b77('0x7c')]){if(_0x2933b4[_0x0b77('0x38')][_0x0b77('0x7c')]==0x1){_0x4f4dce[_0x0b77('0x5e')](_0x0b77('0x7d'));}else{_0x4f4dce['having'](_0x0b77('0x7e'));}}if(_0x2933b4[_0x0b77('0x38')][_0x0b77('0x7f')]){_0x45e3f5=_['isArray'](_0x2933b4['query'][_0x0b77('0x7f')])?_0x2933b4['query']['tag']:new Array(_0x2933b4['query'][_0x0b77('0x7f')]);_0x45e3f5[_0x0b77('0x69')](function(_0x22938e){_0x599e9d['or'](_0x0b77('0x6a'),'%,'+_0x22938e+',%');});}if(_0x2933b4[_0x0b77('0x38')][_0x0b77('0x80')]){var _0x173c20=_0x2933b4[_0x0b77('0x38')]['filter'][_0x0b77('0x81')]('\x5c','\x5c\x5c')[_0x0b77('0x81')]('\x27\x27',_0x0b77('0x82'));if(qs[_0x0b77('0x83')](_0x173c20)){_0x3df436['or']('i.id\x20LIKE\x20?',_0x173c20+'%');}else{_0x3df436['or'](_0x0b77('0x84'),qs['getFullTextValue'](_0x173c20))['or']('i.from\x20LIKE\x20?',_0x173c20+'%')['or'](_0x0b77('0x85'),_0x173c20+'%');}}}_0x4f4dce[_0x0b77('0x41')](_0x3df436);_0x4f4dce[_0x0b77('0x86')]('i.id');var _0x504b36={'type':db[_0x0b77('0x87')][_0x0b77('0x88')][_0x0b77('0x89')],'raw':!![]};var _0x16ef3c=_0x4f4dce[_0x0b77('0x8a')]();_0x16ef3c[_0x0b77('0x45')]('i.id');_0x16ef3c['field'](_0x0b77('0x8b'),_0x0b77('0x5c'));if(_0x54988f[_0x0b77('0x3f')]){_0x54988f[_0x0b77('0x3f')][_0x0b77('0x69')](function(_0x322c42){_0x4f4dce[_0x0b77('0x3f')]('i.'+_0x322c42[0x0],_0x322c42[0x1]===_0x0b77('0x8c')?![]:!![]);});}if(!_[_0x0b77('0x73')](_0x45e3f5)){_0x4f4dce[_0x0b77('0x5e')](_0x599e9d);_0x16ef3c[_0x0b77('0x41')](_0x0b77('0x8d'),_0x45e3f5);}BPromise[_0x0b77('0x8e')]()[_0x0b77('0x27')](function(){if(!_0x5bfe8c){if(_0x2933b4[_0x0b77('0x38')]['OpenchannelAccountId']||_0x2933b4['query']['journey'])return;_0x16ef3c[_0x0b77('0x41')](_0x0b77('0x8f'));_0x4f4dce[_0x0b77('0x41')](_0x0b77('0x8f'));return;}return _0x2933b4[_0x0b77('0x90')][_0x0b77('0x91')]({'attributes':['id'],'raw':!![]})['then'](function(_0x54520f){if(_[_0x0b77('0x73')](_0x54520f)){_0x16ef3c[_0x0b77('0x41')]('i.OpenchannelAccountId\x20IS\x20NULL');_0x4f4dce[_0x0b77('0x41')]('i.OpenchannelAccountId\x20IS\x20NULL');}else{_0x16ef3c[_0x0b77('0x41')](_0x0b77('0x74'),_['map'](_0x54520f,'id'));_0x4f4dce[_0x0b77('0x41')](_0x0b77('0x74'),_[_0x0b77('0x2d')](_0x54520f,'id'));}});})['then'](function(){db[_0x0b77('0x92')]['query'](_0x16ef3c['toString'](),_0x504b36)[_0x0b77('0x27')](function(_0xb51617){_0x18f2a3[_0x0b77('0x93')]=_0xb51617[_0x0b77('0x3c')];if(_0x18f2a3[_0x0b77('0x93')]===0x0)return[];return db[_0x0b77('0x92')][_0x0b77('0x38')](_0x44948d[_0x0b77('0x94')](),_0x504b36)['then'](function(_0x3281e6){_0x4b78e4=_[_0x0b77('0x95')](_0x3281e6,'id');_0x504b36=_[_0x0b77('0x96')](_0x504b36,{'model':db[_0x0b77('0x34')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2933b4['query'][_0x0b77('0x3b')]){_0x54988f[_0x0b77('0x3a')]['forEach'](function(_0x5dde25){_0x4f4dce['field']('i.'+_0x5dde25);});}else{_0x4f4dce['field'](_0x0b77('0x8b'),'unreadMessages');_0x4f4dce[_0x0b77('0x45')](_0x0b77('0x97'),'Account.key');_0x4f4dce['field'](_0x0b77('0x98'),_0x0b77('0x99'));_0x4f4dce['field']('i.*');_0x4f4dce[_0x0b77('0x45')]('c.firstName','Contact.firstName');_0x4f4dce[_0x0b77('0x45')](_0x0b77('0x9a'),_0x0b77('0x9b'));_0x4f4dce[_0x0b77('0x45')](_0x0b77('0x9c'),'Contact.email');_0x4f4dce[_0x0b77('0x45')]('c.phone','Contact.phone');_0x4f4dce[_0x0b77('0x45')](_0x0b77('0x9d'),_0x0b77('0x9e'));_0x4f4dce[_0x0b77('0x45')]('c.fax',_0x0b77('0x9f'));_0x4f4dce[_0x0b77('0x45')]('o.fullname',_0x0b77('0xa0'));_0x4f4dce[_0x0b77('0x45')](_0x0b77('0xa1'),_0x0b77('0xa2'));_0x4f4dce['field'](_0x0b77('0xa3'),'TagIds');}_0x4f4dce[_0x0b77('0x20')](_0x54988f[_0x0b77('0x20')]);_0x4f4dce['offset'](_0x54988f[_0x0b77('0x1f')]);return db['sequelize'][_0x0b77('0x38')](_0x4f4dce[_0x0b77('0x94')](),_0x504b36);})[_0x0b77('0x27')](function(_0x44ae55){_0x2e4664[_0x0b77('0x41')](_0x0b77('0xa4'),_[_0x0b77('0x2d')](_0x44ae55,'id'));return db['sequelize'][_0x0b77('0x38')](_0x2e4664[_0x0b77('0x94')](),_0x504b36)[_0x0b77('0x27')](function(_0x1ea98a){var _0x2d79ad=_[_0x0b77('0xa5')](_0x1ea98a,_0x0b77('0xa6'));var _0x13eb19=[];_0x44ae55['forEach'](function(_0x2afed7){_0x13eb19[_0x0b77('0x32')](updateOpenchannelInteraction(_0x2afed7,_0x4b78e4,_0x2d79ad));});return BPromise[_0x0b77('0xa7')](_0x13eb19);});});})[_0x0b77('0x27')](function(_0x21350a){_0x18f2a3['rows']=_0x21350a;return _0x18f2a3;})[_0x0b77('0x27')](respondWithFilteredResult(_0x308917,_0x54988f));})[_0x0b77('0x33')](handleError(_0x308917,null));};exports['show']=function(_0x2e6b29,_0x25519f){var _0x182e6c={'raw':![],'where':{'id':_0x2e6b29[_0x0b77('0xa8')]['id']}},_0x64e439={};_0x64e439[_0x0b77('0x37')]=_['keys'](db['OpenchannelInteraction'][_0x0b77('0x35')]);_0x64e439[_0x0b77('0x38')]=_[_0x0b77('0x39')](_0x2e6b29[_0x0b77('0x38')]);_0x64e439['filters']=_[_0x0b77('0xa9')](_0x64e439[_0x0b77('0x37')],_0x64e439[_0x0b77('0x38')]);_0x182e6c['attributes']=_[_0x0b77('0xa9')](_0x64e439[_0x0b77('0x37')],qs[_0x0b77('0x3b')](_0x2e6b29['query'][_0x0b77('0x3b')]));_0x182e6c['attributes']=_0x182e6c[_0x0b77('0x3a')][_0x0b77('0x3c')]?_0x182e6c['attributes']:_0x64e439[_0x0b77('0x37')];if(_0x2e6b29[_0x0b77('0x38')]['includeAll']){_0x182e6c['include']=[{'all':!![]}];}_0x182e6c=_[_0x0b77('0x96')]({},_0x182e6c,_0x2e6b29['options']);return db[_0x0b77('0x34')][_0x0b77('0x5b')](_0x182e6c)[_0x0b77('0x27')](handleEntityNotFound(_0x25519f,null))[_0x0b77('0x27')](respondWithResult(_0x25519f,null))[_0x0b77('0x33')](handleError(_0x25519f,null));};exports[_0x0b77('0xaa')]=function(_0x51febe,_0x5b4732){return db['OpenchannelInteraction']['create'](_0x51febe[_0x0b77('0x6f')],{})['then'](respondWithResult(_0x5b4732,0xc9))[_0x0b77('0x33')](handleError(_0x5b4732,null));};exports[_0x0b77('0x26')]=function(_0x594e7a,_0xdb6974){if(_0x594e7a[_0x0b77('0x6f')]['id']){delete _0x594e7a[_0x0b77('0x6f')]['id'];}return db[_0x0b77('0x34')][_0x0b77('0x5b')]({'where':{'id':_0x594e7a['params']['id']}})[_0x0b77('0x27')](handleEntityNotFound(_0xdb6974,null))[_0x0b77('0x27')](saveUpdates(_0x594e7a[_0x0b77('0x6f')],null))[_0x0b77('0x27')](respondWithResult(_0xdb6974,null))['catch'](handleError(_0xdb6974,null));};exports[_0x0b77('0xab')]=function(_0xc87fd9,_0x468c33){return db[_0x0b77('0x34')]['find']({'where':{'id':_0xc87fd9[_0x0b77('0xa8')]['id']}})[_0x0b77('0x27')](handleEntityNotFound(_0x468c33,null))[_0x0b77('0x27')](removeEntity(_0x468c33,null))[_0x0b77('0x33')](handleError(_0x468c33,null));};exports[_0x0b77('0xac')]=function(_0x5054df,_0x511291){return db['OpenchannelInteraction'][_0x0b77('0xac')]()[_0x0b77('0x27')](respondWithResult(_0x511291,null))['catch'](handleError(_0x511291,null));};exports[_0x0b77('0xad')]=function(_0x2b82ea,_0x868ee4,_0x3cd5b6){return db[_0x0b77('0xae')]['find']({'where':{'id':_0x2b82ea['params']['id']}})[_0x0b77('0x27')](handleEntityNotFound(_0x868ee4,null))['then'](function(_0x4cdf7d){if(_0x4cdf7d){return _0x4cdf7d[_0x0b77('0xad')](_0x2b82ea[_0x0b77('0x6f')][_0x0b77('0xaf')],_[_0x0b77('0xb0')](_0x2b82ea['body'],[_0x0b77('0xaf'),'id'])||{});}})['then'](respondWithResult(_0x868ee4,null))[_0x0b77('0x33')](handleError(_0x868ee4,null));};exports[_0x0b77('0xb1')]=function(_0x40443c,_0x4ce138,_0x3a2a08){var _0x24c15c={'raw':![],'where':{}};var _0x3ac499={};var _0x56f2d6={'count':0x0,'rows':[]};return db[_0x0b77('0x34')]['findOne']({'where':{'id':_0x40443c[_0x0b77('0xa8')]['id']}})[_0x0b77('0x27')](handleEntityNotFound(_0x4ce138,null))[_0x0b77('0x27')](function(_0x57b821){if(_0x57b821){_0x3ac499[_0x0b77('0x37')]=_[_0x0b77('0x39')](db['OpenchannelMessage'][_0x0b77('0x35')]);_0x3ac499[_0x0b77('0x38')]=_['keys'](_0x40443c['query']);_0x3ac499[_0x0b77('0x43')]=_[_0x0b77('0xa9')](_0x3ac499[_0x0b77('0x37')],_0x3ac499['query']);_0x24c15c[_0x0b77('0x3a')]=_[_0x0b77('0xa9')](_0x3ac499[_0x0b77('0x37')],qs[_0x0b77('0x3b')](_0x40443c[_0x0b77('0x38')][_0x0b77('0x3b')]));_0x24c15c[_0x0b77('0x3a')]=_0x24c15c[_0x0b77('0x3a')][_0x0b77('0x3c')]?_0x24c15c[_0x0b77('0x3a')]:_0x3ac499[_0x0b77('0x37')];if(!_0x40443c['query'][_0x0b77('0x3d')]('nolimit')){_0x24c15c[_0x0b77('0x20')]=qs['limit'](_0x40443c[_0x0b77('0x38')][_0x0b77('0x20')]);_0x24c15c[_0x0b77('0x1f')]=qs[_0x0b77('0x1f')](_0x40443c['query']['offset']);}_0x24c15c[_0x0b77('0x3f')]=qs['sort'](_0x40443c[_0x0b77('0x38')]['sort']);_0x24c15c[_0x0b77('0x41')]=qs[_0x0b77('0x43')](_[_0x0b77('0x42')](_0x40443c[_0x0b77('0x38')],_0x3ac499[_0x0b77('0x43')]));_0x24c15c[_0x0b77('0x41')][_0x0b77('0xa6')]=_0x57b821['id'];if(_0x40443c[_0x0b77('0x38')][_0x0b77('0x80')]){_0x24c15c[_0x0b77('0x41')]=_[_0x0b77('0x96')](_0x24c15c[_0x0b77('0x41')],{'$or':_['map'](_0x24c15c[_0x0b77('0x3a')],function(_0x146a37){var _0x97cd47={};_0x97cd47[_0x146a37]={'$like':'%'+_0x40443c[_0x0b77('0x38')]['filter']+'%'};return _0x97cd47;})});}if(_0x40443c[_0x0b77('0x38')][_0x0b77('0xb2')]){var _0x1d9810=_0x40443c[_0x0b77('0x38')][_0x0b77('0xb2')]['split'](',');var _0x4ec9bb={};_0x4ec9bb[_0x1d9810[0x0]]={'$gte':moment(_0x1d9810[0x1])[_0x0b77('0xb3')]('YYYY-MM-DD\x20HH:mm:ss')};_0x24c15c[_0x0b77('0x41')]=_[_0x0b77('0x96')](_0x24c15c[_0x0b77('0x41')],_0x4ec9bb);}_0x24c15c=_[_0x0b77('0x96')]({},_0x24c15c,_0x40443c['options']);return db[_0x0b77('0xae')]['count']({'where':_0x24c15c[_0x0b77('0x41')]})[_0x0b77('0x27')](function(_0x45cee){_0x56f2d6['count']=_0x45cee;if(_0x40443c['query'][_0x0b77('0xb4')]){_0x24c15c['include']=[{'all':!![]}];}return db['OpenchannelMessage'][_0x0b77('0xb5')](_0x24c15c);})[_0x0b77('0x27')](function(_0x5eceed){_0x56f2d6[_0x0b77('0xb6')]=_0x5eceed;return _0x56f2d6;});}})[_0x0b77('0x27')](respondWithFilteredResult(_0x4ce138,_0x24c15c))['catch'](handleError(_0x4ce138,null));};exports[_0x0b77('0xb7')]=function(_0x2e8797,_0x1f139c,_0x30bb98){return db['OpenchannelInteraction'][_0x0b77('0x5b')]({'where':{'id':_0x2e8797[_0x0b77('0xa8')]['id']}})[_0x0b77('0x27')](handleEntityNotFound(_0x1f139c,null))[_0x0b77('0x27')](function(_0x3e2667){if(_0x3e2667){return _0x3e2667[_0x0b77('0xb8')](_0x2e8797[_0x0b77('0x6f')][_0x0b77('0xaf')],_[_0x0b77('0xb0')](_0x2e8797[_0x0b77('0x6f')],[_0x0b77('0xaf'),'id'])||{})[_0x0b77('0xb9')](function(){return db[_0x0b77('0xba')]['findAll']({'attributes':['id',_0x0b77('0x2a'),_0x0b77('0x46')],'where':{'id':_0x2e8797[_0x0b77('0x6f')]['ids']}});})[_0x0b77('0x27')](function(_0x3eadda){socket[_0x0b77('0xbb')](_0x0b77('0xbc'),{'id':Number(_0x2e8797[_0x0b77('0xa8')]['id']),'tags':_0x3eadda||[]});return{'id':Number(_0x2e8797[_0x0b77('0xa8')]['id']),'tags':_0x3eadda||[]};});}})[_0x0b77('0x27')](respondWithResult(_0x1f139c,null))[_0x0b77('0x33')](handleError(_0x1f139c,null));};exports['removeTags']=function(_0x47d6e4,_0x867d46,_0x5cfa08){return db[_0x0b77('0x34')][_0x0b77('0x5b')]({'where':{'id':_0x47d6e4[_0x0b77('0xa8')]['id']}})[_0x0b77('0x27')](handleEntityNotFound(_0x867d46,null))['then'](function(_0x3081cf){if(_0x3081cf){return _0x3081cf['removeTags'](_0x47d6e4[_0x0b77('0x38')]['ids']);}})[_0x0b77('0x27')](respondWithStatusCode(_0x867d46,null))[_0x0b77('0x33')](handleError(_0x867d46,null));};exports[_0x0b77('0xbd')]=function(_0x5ea3d0,_0x16cd70){var _0x1424b7=moment()[_0x0b77('0xbe')]()[_0x0b77('0x94')]();var _0x352016=path[_0x0b77('0xbf')](config[_0x0b77('0xc0')],_0x0b77('0xc1'),_0x0b77('0xc2'),_0x0b77('0xc3'));var _0x39684e=path[_0x0b77('0xbf')](config[_0x0b77('0xc0')],_0x0b77('0xc1'),'files',_0x0b77('0xc4'));var _0x3eb4e9=path[_0x0b77('0xbf')](_0x352016,_0x1424b7);var _0xbbae1=util[_0x0b77('0xb3')]('transcript-%d-%s.zip',_0x5ea3d0['params']['id'],_0x1424b7);var _0x1048a8=path[_0x0b77('0xbf')](_0x352016,_0xbbae1);var _0x2561f3=[];_0x2561f3[_0x0b77('0x32')]({'model':db['User'],'as':_0x0b77('0x6c'),'attributes':['id',_0x0b77('0x2e')],'raw':!![]});_0x2561f3[_0x0b77('0x32')]({'model':db[_0x0b77('0xc5')],'as':_0x0b77('0x60'),'attributes':['id','firstName',_0x0b77('0xc6')],'raw':!![]});if(_0x5ea3d0['query'][_0x0b77('0xc4')]){_0x2561f3['push']({'model':db[_0x0b77('0xc7')],'as':_0x0b77('0xc7'),'raw':!![]});}var _0x57aa7b=[{'model':db[_0x0b77('0xae')],'as':'Messages','attributes':['id',_0x0b77('0x6f'),_0x0b77('0x75'),_0x0b77('0xc8'),_0x0b77('0xc9'),_0x0b77('0x7c')],'include':_0x2561f3}];_0x57aa7b[_0x0b77('0x32')]({'model':db[_0x0b77('0xca')],'as':_0x0b77('0xcb'),'attributes':['id',_0x0b77('0x2a')]});_0x57aa7b['push']({'model':db[_0x0b77('0x6c')],'as':_0x0b77('0xcc'),'attributes':['id',_0x0b77('0x2e')]});return db[_0x0b77('0x34')][_0x0b77('0x5b')]({'where':{'id':_0x5ea3d0[_0x0b77('0xa8')]['id']},'include':_0x57aa7b})[_0x0b77('0x27')](handleEntityNotFound(_0x16cd70,null))[_0x0b77('0x27')](function(_0x13a827){if(_0x13a827){var _0x1ff942=_0x13a827[_0x0b77('0xcd')]({'plain':!![]});fs[_0x0b77('0xce')](_0x3eb4e9);var _0x461a67={'format':'A4','border':_0x0b77('0xcf'),'header':{'height':_0x0b77('0xd0'),'contents':{'first':_0x0b77('0xd1')}},'footer':{'height':_0x0b77('0xd2'),'contents':{'default':util[_0x0b77('0xb3')]('<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>',util[_0x0b77('0xb3')](_0x0b77('0xd3'),_0x0b77('0xd4'),_0x1ff942['id']),moment()[_0x0b77('0xb3')](_0x0b77('0xd5'))[_0x0b77('0x94')]())}}};var _0x47c843={'channel':_0x0b77('0xd4'),'account':_0x1ff942['Account'][_0x0b77('0x2a')],'agent':_0x1ff942[_0x0b77('0xcc')]?_0x1ff942[_0x0b77('0xcc')]['fullname']:_0x0b77('0xd6'),'createdAt':moment(_0x1ff942['createdAt'])[_0x0b77('0xb3')](_0x0b77('0xd7'))[_0x0b77('0x94')](),'closedAt':_0x1ff942[_0x0b77('0xd8')]?moment(_0x1ff942[_0x0b77('0xd9')])[_0x0b77('0xb3')](_0x0b77('0xd7'))[_0x0b77('0x94')]():'','disposition':_0x1ff942[_0x0b77('0xda')],'visibility':_0x1ff942['threadId']?_0x0b77('0xdb'):_0x0b77('0xdc'),'messages':_(_0x1ff942[_0x0b77('0xdd')])[_0x0b77('0x80')]({'secret':![]})['map'](function(_0x5ed388){if(_0x5ed388[_0x0b77('0xc7')]){var _0x4e87a7=path[_0x0b77('0xbf')](_0x39684e,_0x5ed388['Attachment']['basename']);if(fs[_0x0b77('0xde')](_0x4e87a7)){fs['createReadStream'](_0x4e87a7)[_0x0b77('0xdf')](fs[_0x0b77('0xe0')](path['join'](_0x3eb4e9,_0x5ed388['Attachment'][_0x0b77('0xe1')])));}}return{'date':moment(_0x5ed388[_0x0b77('0x75')])['format'](_0x0b77('0xd7'))[_0x0b77('0x94')](),'sender':_0x5ed388[_0x0b77('0xc8')]===_0x0b77('0xe2')?_0x5ed388[_0x0b77('0x6c')]?_0x5ed388['User'][_0x0b77('0x2e')]:_0x0b77('0xe3'):_0x5ed388[_0x0b77('0x60')][_0x0b77('0xe4')]+(_0x5ed388[_0x0b77('0x60')][_0x0b77('0xc6')]?'\x20'+_0x5ed388[_0x0b77('0x60')][_0x0b77('0xc6')]:''),'body':_0x5ed388['Attachment']?_0x5ed388['Attachment'][_0x0b77('0xe1')]:_0x5ed388[_0x0b77('0x6f')],'direction':_0x5ed388['direction']===_0x0b77('0xe2')?'A':'C','secret':_0x5ed388[_0x0b77('0xc9')],'read':_0x5ed388['read'],'attachment':_0x5ed388[_0x0b77('0xc7')]};})[_0x0b77('0x5d')]()};return ejs[_0x0b77('0xe5')](path['join'](config[_0x0b77('0xc0')],_0x0b77('0xc1'),_0x0b77('0xe6'),_0x0b77('0xe7')),{'interaction':_0x47c843})[_0x0b77('0x27')](function(_0x3853b5){return new BPromise(function(_0x269c42,_0x47e2af){pdf[_0x0b77('0xaa')](_0x3853b5,_0x461a67)['toFile'](path[_0x0b77('0xbf')](_0x3eb4e9,_0x0b77('0xe8')+_0x1ff942['id']+'-'+_0x1424b7+_0x0b77('0xe9')),function(_0x207404,_0x2846e7){if(_0x207404)return _0x47e2af(_0x207404);_0x269c42(_0x2846e7);});});})[_0x0b77('0x27')](function(){return new BPromise(function(_0xa115f4,_0x535089){zipdir(_0x3eb4e9,{'saveTo':_0x1048a8},function(_0x1ccd7c,_0x2da1d3){if(_0x1ccd7c)return _0x535089(_0x1ccd7c);return _0xa115f4(_0x2da1d3);});})['then'](function(){return new BPromise(function(_0x3a47ca,_0x867279){rimraf(_0x3eb4e9,function(_0x5734c4){if(_0x5734c4)_0x867279(_0x5734c4);return _0x3a47ca();});});})[_0x0b77('0x27')](function(){return _0x16cd70[_0x0b77('0xbd')](_0x1048a8,_0xbbae1,function(_0x4dbf0b){if(_0x4dbf0b){console[_0x0b77('0xea')]('err',_0x4dbf0b);}else{fs[_0x0b77('0xeb')](_0x1048a8);}});});});}else{return _0x16cd70['sendStatus'](0xc8);}})[_0x0b77('0x33')](handleError(_0x16cd70,null));};