d8a38e84f305cd31efe35187413cc6bb6891917d
[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 _0xe18c=['MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','isEmpty','OpenchannelAccountId','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','i.id\x20LIKE\x20?','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','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','resolve','journey','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','user','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','i.OpenchannelAccountId\x20IN\x20?','sequelize','toString','keyBy','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.lastName','Contact.lastName','c.email','Contact.email','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.OpenchannelInteractionId\x20IN\x20?','groupBy','OpenchannelInteractionId','rows','params','rawAttributes','includeAll','include','merge','options','update','describe','addMessage','omit','ids','findOne','OpenchannelMessage','format','YYYY-MM-DD\x20HH:mm:ss','addTags','setTags','spread','emit','openchannelInteractionTags:save','removeTags','download','unix','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','CmContact','firstName','lastName','Attachment','Messages','direction','read','OpenchannelAccount','Account','get','mkdirSync','10px','40px','<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','N.A.','closed','threadId','Public','Private','basename','createReadStream','out','System','secret','renderFile','views','downloadInteraction.html','create','toFile','.pdf','unlinkSync','html-pdf','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','socket.io-emitter','./openchannelInteraction.socket','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','destroy','then','error','stack','name','send','map','fullname','Tags','TagIds','split','forEach','push','catch','index','OpenchannelInteraction','fieldName','type','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','select','field','color','u.id','u.fullname','ui.OpenchannelInteractionId','from','user_has_openchannel_interactions','users','u.id\x20=\x20ui.UserId','openchannel_interactions','left_join','cm_contacts','o.id\x20=\x20i.UserId','openchannel_accounts','me.OpenchannelInteractionId\x20=\x20i.id','openchannel_interaction_has_tags','it.OpenchannelInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','parseSearch','search','conditions','find','value','having','`\x20>\x200','Contact','operator','$substring'];(function(_0x546440,_0xaf9742){var _0x3e41e8=function(_0x188b5c){while(--_0x188b5c){_0x546440['push'](_0x546440['shift']());}};_0x3e41e8(++_0xaf9742);}(_0xe18c,0x178));var _0xce18=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0xe18c[_0x321bb2];return _0x9c12ed;};'use strict';var pdf=require(_0xce18('0x0'));var emlformat=require(_0xce18('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xce18('0x2'));var jsonpatch=require(_0xce18('0x3'));var rp=require('request-promise');var moment=require(_0xce18('0x4'));var BPromise=require(_0xce18('0x5'));var Mustache=require(_0xce18('0x6'));var util=require(_0xce18('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xce18('0x8'));var ejs=require(_0xce18('0x9'));var fs=require('fs');var _=require(_0xce18('0xa'));var squel=require(_0xce18('0xb'));var crypto=require(_0xce18('0xc'));var jsforce=require(_0xce18('0xd'));var deskjs=require(_0xce18('0xe'));var toCsv=require('to-csv');var querystring=require(_0xce18('0xf'));var Papa=require('papaparse');var Redis=require(_0xce18('0x10'));var authService=require(_0xce18('0x11'));var qs=require(_0xce18('0x12'));var as=require(_0xce18('0x13'));var hardwareService=require(_0xce18('0x14'));var logger=require(_0xce18('0x15'))('api');var utils=require(_0xce18('0x16'));var config=require(_0xce18('0x17'));var db=require(_0xce18('0x18'))['db'];config[_0xce18('0x19')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xce18('0x1a'))(new Redis(config[_0xce18('0x19')]));require(_0xce18('0x1b'))[_0xce18('0x1c')](socket);function respondWithStatusCode(_0x3b081b,_0xc863a5){_0xc863a5=_0xc863a5||0xcc;return function(_0x963691){if(_0x963691){return _0x3b081b[_0xce18('0x1d')](_0xc863a5);}return _0x3b081b[_0xce18('0x1e')](_0xc863a5)[_0xce18('0x1f')]();};}function respondWithResult(_0x1652da,_0x21021f){_0x21021f=_0x21021f||0xc8;return function(_0x15008f){if(_0x15008f){return _0x1652da[_0xce18('0x1e')](_0x21021f)[_0xce18('0x20')](_0x15008f);}};}function respondWithFilteredResult(_0x3b3a6f,_0x2a0198){return function(_0x10c3a6){if(_0x10c3a6){var _0x8edcbc=_0x10c3a6[_0xce18('0x21')],_0x5e349f=_0x2a0198[_0xce18('0x22')],_0x256b7f=_0x2a0198[_0xce18('0x22')]+_0x2a0198[_0xce18('0x23')],_0x4cbda0;if(_0x256b7f>=_0x8edcbc){_0x256b7f=_0x8edcbc;_0x4cbda0=0xc8;}else{_0x4cbda0=0xce;}_0x3b3a6f[_0xce18('0x1e')](_0x4cbda0);return _0x3b3a6f[_0xce18('0x24')](_0xce18('0x25'),_0x5e349f+'-'+_0x256b7f+'/'+_0x8edcbc)[_0xce18('0x20')](_0x10c3a6);}return null;};}function patchUpdates(_0x53eb94){return function(_0x2627be){try{jsonpatch[_0xce18('0x26')](_0x2627be,_0x53eb94,!![]);}catch(_0x5c7d00){return BPromise[_0xce18('0x27')](_0x5c7d00);}return _0x2627be['save']();};}function saveUpdates(_0x113645,_0x1095d){return function(_0x5ec1a2){if(_0x5ec1a2){return _0x5ec1a2['update'](_0x113645)['then'](function(_0x1b4940){return _0x1b4940;});}return null;};}function removeEntity(_0x566252,_0x1ea4a5){return function(_0x4f5108){if(_0x4f5108){return _0x4f5108[_0xce18('0x28')]()[_0xce18('0x29')](function(){_0x566252[_0xce18('0x1e')](0xcc)[_0xce18('0x1f')]();});}};}function handleEntityNotFound(_0x51711a,_0x374692){return function(_0x22db2f){if(!_0x22db2f){_0x51711a['sendStatus'](0x194);}return _0x22db2f;};}function handleError(_0xc5f429,_0xa065e9){_0xa065e9=_0xa065e9||0x1f4;return function(_0x34c96a){logger[_0xce18('0x2a')](_0x34c96a[_0xce18('0x2b')]);if(_0x34c96a[_0xce18('0x2c')]){delete _0x34c96a[_0xce18('0x2c')];}_0xc5f429[_0xce18('0x1e')](_0xa065e9)[_0xce18('0x2d')](_0x34c96a);};}function getInteractionUsers(_0x2cccae,_0x4172a4){return new BPromise(function(_0x59a6d4,_0x7b40a4){try{if(_0x4172a4[_0x2cccae['id']]){_0x2cccae['Users']=_[_0xce18('0x2e')](_0x4172a4[_0x2cccae['id']],function(_0x515ca3){return{'id':_0x515ca3['id'],'fullname':_0x515ca3[_0xce18('0x2f')]};});}}catch(_0x1b5a00){_0x7b40a4(_0x1b5a00);}_0x59a6d4(_0x2cccae);});}function getInteractionTags(_0x522c4b,_0x1d5831){return new BPromise(function(_0x23c3fa,_0x15cebd){try{if(_0x522c4b['TagIds']){_0x522c4b[_0xce18('0x30')]=[];_0x522c4b[_0xce18('0x31')][_0xce18('0x32')](',')[_0xce18('0x33')](function(_0x10ec6b){_0x522c4b[_0xce18('0x30')][_0xce18('0x34')](_0x1d5831[_0x10ec6b]);});}delete _0x522c4b[_0xce18('0x31')];}catch(_0x10029a){_0x15cebd(_0x10029a);}_0x23c3fa(_0x522c4b);});}function updateOpenchannelInteraction(_0xfbf13b,_0xe11f2c,_0x2a8856){return new BPromise(function(_0x6e22dc,_0x4ec101){return getInteractionUsers(_0xfbf13b,_0x2a8856)[_0xce18('0x29')](function(_0x4c97c4){return getInteractionTags(_0x4c97c4,_0xe11f2c);})[_0xce18('0x29')](function(_0x5bad06){_0x6e22dc(_0x5bad06);})[_0xce18('0x35')](function(_0x58346b){_0x4ec101(_0x58346b);});});}exports[_0xce18('0x36')]=function(_0x2b164f,_0x129d41){var _0x3a319e={},_0x2a0717={},_0x5d06d3={'count':0x0,'rows':[]};var _0xd01cb8=_[_0xce18('0x2e')](db[_0xce18('0x37')]['rawAttributes'],function(_0x4b7f74){return{'name':_0x4b7f74[_0xce18('0x38')],'type':_0x4b7f74[_0xce18('0x39')]['key']};});_0x2a0717[_0xce18('0x3a')]=_['map'](_0xd01cb8,_0xce18('0x2c'));_0x2a0717['query']=_[_0xce18('0x3b')](_0x2b164f[_0xce18('0x3c')]);_0x2a0717[_0xce18('0x3d')]=_[_0xce18('0x3e')](_0x2a0717[_0xce18('0x3a')],_0x2a0717[_0xce18('0x3c')]);_0x3a319e[_0xce18('0x3f')]=_[_0xce18('0x3e')](_0x2a0717[_0xce18('0x3a')],qs['fields'](_0x2b164f[_0xce18('0x3c')][_0xce18('0x40')]));_0x3a319e['attributes']=_0x3a319e['attributes'][_0xce18('0x41')]?_0x3a319e['attributes']:_0x2a0717[_0xce18('0x3a')];if(!_0x2b164f[_0xce18('0x3c')][_0xce18('0x42')]('nolimit')){_0x3a319e['limit']=qs[_0xce18('0x23')](_0x2b164f[_0xce18('0x3c')][_0xce18('0x23')]);_0x3a319e[_0xce18('0x22')]=qs[_0xce18('0x22')](_0x2b164f[_0xce18('0x3c')]['offset']);}_0x3a319e[_0xce18('0x43')]=qs[_0xce18('0x44')](_0x2b164f[_0xce18('0x3c')][_0xce18('0x44')]);_0x3a319e[_0xce18('0x45')]=qs[_0xce18('0x3d')](_[_0xce18('0x46')](_0x2b164f['query'],_0x2a0717['filters']),_0xd01cb8);var _0x531601=[];var _0x40f412=squel[_0xce18('0x47')]()[_0xce18('0x48')]('id')[_0xce18('0x48')](_0xce18('0x2c'))[_0xce18('0x48')](_0xce18('0x49'))['from']('tools_tags');var _0x274ec6=squel[_0xce18('0x47')]()[_0xce18('0x48')](_0xce18('0x4a'))[_0xce18('0x48')](_0xce18('0x4b'))[_0xce18('0x48')](_0xce18('0x4c'))[_0xce18('0x4d')](_0xce18('0x4e'),'ui')['left_join'](_0xce18('0x4f'),'u',_0xce18('0x50'));var _0x255f95=squel['select']()[_0xce18('0x4d')](_0xce18('0x51'),'i')[_0xce18('0x52')](_0xce18('0x53'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xce18('0x52')](_0xce18('0x4f'),'o',_0xce18('0x54'))[_0xce18('0x52')](_0xce18('0x55'),'a','a.id\x20=\x20i.OpenchannelAccountId')[_0xce18('0x52')]('openchannel_messages','me',_0xce18('0x56'))[_0xce18('0x52')](_0xce18('0x57'),'it',_0xce18('0x58'))['left_join'](_0xce18('0x59'),'t',_0xce18('0x5a'));var _0x2c9104=squel['expr']();var _0x5e12b6=[];var _0x413de2=squel[_0xce18('0x5b')]();var _0x327ad5;if(_0x2b164f['query']['search']){_0x327ad5=as[_0xce18('0x5c')](_0x2b164f[_0xce18('0x3c')][_0xce18('0x5d')]);var _0x247cac=_0x327ad5['sqlOperator'];for(var _0xc0128e=0x0;_0xc0128e<_0x327ad5[_0xce18('0x5e')]['length'];_0xc0128e++){var _0x38db33=_0x327ad5[_0xce18('0x5e')][_0xc0128e];var _0xef69d5='i';var _0x42dae8=_[_0xce18('0x5f')](_0xd01cb8,[_0xce18('0x2c'),_0x38db33[_0xce18('0x48')]]);if(!_0x42dae8){switch(_0x38db33[_0xce18('0x48')]){case'unreadMessages':if(_0x38db33[_0xce18('0x60')]==0x1){_0x255f95[_0xce18('0x61')]('`'+_0x38db33[_0xce18('0x48')]+'`\x20=\x200');}else{_0x255f95[_0xce18('0x61')]('`'+_0x38db33['field']+_0xce18('0x62'));}break;case _0xce18('0x63'):if(_0x38db33[_0xce18('0x64')]===_0xce18('0x65')){if(_0x38db33[_0xce18('0x60')][_0xce18('0x32')]('\x20')[_0xce18('0x41')]>0x1){_0x2c9104[_0x247cac](_0xce18('0x66'),qs[_0xce18('0x67')](_0x38db33['value']),null);}else{var _0x1e16b1='%'+_0x38db33[_0xce18('0x60')]+'%';_0x2c9104[_0x247cac]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x1e16b1,_0x1e16b1,_0x1e16b1);}}else{_0x42dae8=_[_0xce18('0x5f')](_0xd01cb8,[_0xce18('0x2c'),'ContactId']);_0x38db33[_0xce18('0x48')]=_0xce18('0x68');_0x4ac68a=as[_0xce18('0x69')](_0xef69d5,_0x42dae8['type'],_0x38db33);_0x2c9104[_0x247cac](_0x4ac68a[_0xce18('0x6a')],_0x4ac68a['value'][_0xce18('0x6b')],_0x4ac68a[_0xce18('0x60')][_0xce18('0x1f')]);}break;case _0xce18('0x6c'):var _0x13584c=_0x38db33[_0xce18('0x60')]['split'](',')[_0xce18('0x2e')](function(_0x1750f8){return Number(_0x1750f8);});_0x13584c[_0xce18('0x33')](function(_0x37bf1f){_0x413de2['or'](_0xce18('0x6d'),'%,'+_0x37bf1f+',%');});_0x5e12b6=_[_0xce18('0x6e')](_0x5e12b6,_0x13584c);break;case _0xce18('0x6f'):if(_0x38db33['operator']==='$substring'){_0x2c9104[_0x247cac](_0xce18('0x70'),'%'+_0x38db33['value']+'%',null);}else{_0x42dae8=_['find'](_0xd01cb8,[_0xce18('0x2c'),_0xce18('0x71')]);_0x38db33[_0xce18('0x48')]=_0xce18('0x71');_0x4ac68a=as[_0xce18('0x69')](_0xef69d5,_0x42dae8[_0xce18('0x39')],_0x38db33);_0x2c9104[_0x247cac](_0x4ac68a[_0xce18('0x6a')],_0x4ac68a[_0xce18('0x60')][_0xce18('0x6b')],_0x4ac68a[_0xce18('0x60')]['end']);}break;case _0xce18('0x72'):_0x4ac68a=as[_0xce18('0x69')]('me',null,_0x38db33);_0x2c9104[_0x247cac](_0x4ac68a['text'],_0x4ac68a[_0xce18('0x60')][_0xce18('0x6b')],_0x4ac68a[_0xce18('0x60')][_0xce18('0x1f')]);break;}}else{var _0x4ac68a=as[_0xce18('0x69')](_0xef69d5,_0x42dae8['type'],_0x38db33);_0x2c9104[_0x247cac](_0x4ac68a['text'],_0x4ac68a[_0xce18('0x60')][_0xce18('0x6b')],_0x4ac68a[_0xce18('0x60')]['end']);}}}else{var _0xc1cc87=_(_0x2b164f[_0xce18('0x3c')])['keys']()['map'](function(_0xb2afbd){return _['some'](_0xd01cb8,[_0xce18('0x2c'),_0xb2afbd])?_0xb2afbd:undefined;})['compact']()[_0xce18('0x60')]();if(!_[_0xce18('0x73')](_0xc1cc87)){_0xc1cc87[_0xce18('0x33')](function(_0x4b8f37){if(_0x4b8f37===_0xce18('0x74')){_0x255f95[_0xce18('0x45')]('i.OpenchannelAccountId\x20IN\x20?',[]['concat'](_0x2b164f[_0xce18('0x3c')][_0x4b8f37]));}else if(_0x4b8f37===_0xce18('0x75')){var _0x58bf9d=JSON[_0xce18('0x76')](_0x2b164f['query'][_0x4b8f37])[_0xce18('0x77')];var _0x49638b=JSON[_0xce18('0x76')](_0x2b164f[_0xce18('0x3c')][_0x4b8f37])[_0xce18('0x78')];_0x255f95['where'](_0xce18('0x79'),_0x58bf9d,_0x49638b);}else{if(_0x2b164f[_0xce18('0x3c')][_0x4b8f37]===_0xce18('0x7a')){_0x255f95[_0xce18('0x45')]('i.'+_0x4b8f37+_0xce18('0x7b'));}else{_0x255f95['where']('i.'+_0x4b8f37+_0xce18('0x7c'),_0x2b164f[_0xce18('0x3c')][_0x4b8f37]);}}});}if(_0x2b164f[_0xce18('0x3c')]['read']){if(_0x2b164f[_0xce18('0x3c')]['read']==0x1){_0x255f95['having'](_0xce18('0x7d'));}else{_0x255f95['having'](_0xce18('0x7e'));}}if(_0x2b164f[_0xce18('0x3c')][_0xce18('0x7f')]){_0x5e12b6=_['isArray'](_0x2b164f[_0xce18('0x3c')][_0xce18('0x7f')])?_0x2b164f[_0xce18('0x3c')][_0xce18('0x7f')]:new Array(_0x2b164f[_0xce18('0x3c')][_0xce18('0x7f')]);_0x5e12b6[_0xce18('0x33')](function(_0x2f037e){_0x413de2['or'](_0xce18('0x6d'),'%,'+_0x2f037e+',%');});}if(_0x2b164f[_0xce18('0x3c')][_0xce18('0x80')]){var _0x4120fd=_0x2b164f[_0xce18('0x3c')][_0xce18('0x80')][_0xce18('0x81')]('\x5c','\x5c\x5c')[_0xce18('0x81')]('\x27\x27','\x27\x27\x27\x27');if(qs['isNumeric'](_0x4120fd)){_0x2c9104['or'](_0xce18('0x82'),_0x4120fd+'%');}else{_0x2c9104['or'](_0xce18('0x83'),qs[_0xce18('0x67')](_0x4120fd))['or'](_0xce18('0x84'),_0x4120fd+'%')['or'](_0xce18('0x85'),_0x4120fd+'%');}}}_0x255f95[_0xce18('0x45')](_0x2c9104);_0x255f95[_0xce18('0x86')](_0xce18('0x87'));var _0xcaa3a1={'type':db[_0xce18('0x88')][_0xce18('0x89')][_0xce18('0x8a')],'raw':!![]};var _0xcd34fa=_0x255f95[_0xce18('0x8b')]();_0xcd34fa[_0xce18('0x48')]('i.id');_0xcd34fa[_0xce18('0x48')](_0xce18('0x8c'),_0xce18('0x8d'));if(_0x3a319e[_0xce18('0x43')]){_0x3a319e[_0xce18('0x43')]['forEach'](function(_0x1a7e74){_0x255f95[_0xce18('0x43')]('i.'+_0x1a7e74[0x0],_0x1a7e74[0x1]==='DESC'?![]:!![]);});}if(!_[_0xce18('0x73')](_0x5e12b6)){_0x255f95[_0xce18('0x61')](_0x413de2);_0xcd34fa[_0xce18('0x45')]('t.id\x20IN\x20?',_0x5e12b6);}BPromise[_0xce18('0x8e')]()[_0xce18('0x29')](function(){if(!_0x327ad5){if(_0x2b164f[_0xce18('0x3c')]['OpenchannelAccountId']||_0x2b164f[_0xce18('0x3c')][_0xce18('0x8f')])return;_0xcd34fa[_0xce18('0x45')](_0xce18('0x90'));_0x255f95[_0xce18('0x45')]('i.OpenchannelAccountId\x20IS\x20NOT\x20NULL');return;}return _0x2b164f[_0xce18('0x91')][_0xce18('0x92')]({'attributes':['id'],'raw':!![]})['then'](function(_0x2048eb){if(_[_0xce18('0x73')](_0x2048eb)){_0xcd34fa[_0xce18('0x45')](_0xce18('0x93'));_0x255f95[_0xce18('0x45')]('i.OpenchannelAccountId\x20IS\x20NULL');}else{_0xcd34fa[_0xce18('0x45')]('i.OpenchannelAccountId\x20IN\x20?',_['map'](_0x2048eb,'id'));_0x255f95[_0xce18('0x45')](_0xce18('0x94'),_[_0xce18('0x2e')](_0x2048eb,'id'));}});})[_0xce18('0x29')](function(){db[_0xce18('0x95')]['query'](_0xcd34fa[_0xce18('0x96')](),_0xcaa3a1)[_0xce18('0x29')](function(_0x3f2c96){_0x5d06d3[_0xce18('0x21')]=_0x3f2c96[_0xce18('0x41')];if(_0x5d06d3['count']===0x0)return[];return db[_0xce18('0x95')][_0xce18('0x3c')](_0x40f412['toString'](),_0xcaa3a1)[_0xce18('0x29')](function(_0x110e87){_0x531601=_[_0xce18('0x97')](_0x110e87,'id');_0xcaa3a1=_['merge'](_0xcaa3a1,{'model':db[_0xce18('0x37')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2b164f[_0xce18('0x3c')]['fields']){_0x3a319e[_0xce18('0x3f')][_0xce18('0x33')](function(_0x30c60b){_0x255f95[_0xce18('0x48')]('i.'+_0x30c60b);});}else{_0x255f95[_0xce18('0x48')](_0xce18('0x8c'),_0xce18('0x8d'));_0x255f95[_0xce18('0x48')](_0xce18('0x98'),_0xce18('0x99'));_0x255f95['field'](_0xce18('0x9a'),_0xce18('0x9b'));_0x255f95[_0xce18('0x48')](_0xce18('0x9c'));_0x255f95['field']('c.firstName','Contact.firstName');_0x255f95[_0xce18('0x48')](_0xce18('0x9d'),_0xce18('0x9e'));_0x255f95[_0xce18('0x48')](_0xce18('0x9f'),_0xce18('0xa0'));_0x255f95[_0xce18('0x48')]('c.phone',_0xce18('0xa1'));_0x255f95[_0xce18('0x48')](_0xce18('0xa2'),_0xce18('0xa3'));_0x255f95[_0xce18('0x48')](_0xce18('0xa4'),_0xce18('0xa5'));_0x255f95[_0xce18('0x48')](_0xce18('0xa6'),_0xce18('0xa7'));_0x255f95[_0xce18('0x48')](_0xce18('0xa8'),_0xce18('0xa9'));_0x255f95[_0xce18('0x48')](_0xce18('0xaa'),_0xce18('0x31'));}if(_0x3a319e[_0xce18('0x23')])_0x255f95[_0xce18('0x23')](_0x3a319e[_0xce18('0x23')]);if(_0x3a319e[_0xce18('0x22')])_0x255f95[_0xce18('0x22')](_0x3a319e[_0xce18('0x22')]);return db['sequelize'][_0xce18('0x3c')](_0x255f95[_0xce18('0x96')](),_0xcaa3a1);})['then'](function(_0x49afcb){_0x274ec6[_0xce18('0x45')](_0xce18('0xab'),_[_0xce18('0x2e')](_0x49afcb,'id'));return db[_0xce18('0x95')][_0xce18('0x3c')](_0x274ec6[_0xce18('0x96')](),_0xcaa3a1)['then'](function(_0x4fe30a){var _0x19b381=_[_0xce18('0xac')](_0x4fe30a,_0xce18('0xad'));var _0x2d7cfc=[];_0x49afcb[_0xce18('0x33')](function(_0x29fe2f){_0x2d7cfc[_0xce18('0x34')](updateOpenchannelInteraction(_0x29fe2f,_0x531601,_0x19b381));});return BPromise['all'](_0x2d7cfc);});});})[_0xce18('0x29')](function(_0xd8899e){_0x5d06d3[_0xce18('0xae')]=_0xd8899e;return _0x5d06d3;})[_0xce18('0x29')](respondWithFilteredResult(_0x129d41,_0x3a319e));})['catch'](handleError(_0x129d41,null));};exports['show']=function(_0xb175fc,_0x76af3e){var _0x577d71={'raw':![],'where':{'id':_0xb175fc[_0xce18('0xaf')]['id']}},_0x1faf40={};_0x1faf40['model']=_['keys'](db['OpenchannelInteraction'][_0xce18('0xb0')]);_0x1faf40[_0xce18('0x3c')]=_[_0xce18('0x3b')](_0xb175fc[_0xce18('0x3c')]);_0x1faf40[_0xce18('0x3d')]=_[_0xce18('0x3e')](_0x1faf40[_0xce18('0x3a')],_0x1faf40['query']);_0x577d71[_0xce18('0x3f')]=_[_0xce18('0x3e')](_0x1faf40[_0xce18('0x3a')],qs[_0xce18('0x40')](_0xb175fc['query'][_0xce18('0x40')]));_0x577d71['attributes']=_0x577d71[_0xce18('0x3f')][_0xce18('0x41')]?_0x577d71[_0xce18('0x3f')]:_0x1faf40['model'];if(_0xb175fc[_0xce18('0x3c')][_0xce18('0xb1')]){_0x577d71[_0xce18('0xb2')]=[{'all':!![]}];}_0x577d71=_[_0xce18('0xb3')]({},_0x577d71,_0xb175fc[_0xce18('0xb4')]);return db[_0xce18('0x37')][_0xce18('0x5f')](_0x577d71)[_0xce18('0x29')](handleEntityNotFound(_0x76af3e,null))['then'](respondWithResult(_0x76af3e,null))[_0xce18('0x35')](handleError(_0x76af3e,null));};exports['create']=function(_0x21767a,_0x2239e0){return db[_0xce18('0x37')]['create'](_0x21767a[_0xce18('0x72')],{})[_0xce18('0x29')](respondWithResult(_0x2239e0,0xc9))['catch'](handleError(_0x2239e0,null));};exports[_0xce18('0xb5')]=function(_0x1d9b75,_0x80dec7){if(_0x1d9b75['body']['id']){delete _0x1d9b75[_0xce18('0x72')]['id'];}return db['OpenchannelInteraction']['find']({'where':{'id':_0x1d9b75[_0xce18('0xaf')]['id']}})[_0xce18('0x29')](handleEntityNotFound(_0x80dec7,null))[_0xce18('0x29')](saveUpdates(_0x1d9b75[_0xce18('0x72')],null))[_0xce18('0x29')](respondWithResult(_0x80dec7,null))[_0xce18('0x35')](handleError(_0x80dec7,null));};exports[_0xce18('0x28')]=function(_0x10bec8,_0x2919e2){return db[_0xce18('0x37')][_0xce18('0x5f')]({'where':{'id':_0x10bec8[_0xce18('0xaf')]['id']}})['then'](handleEntityNotFound(_0x2919e2,null))[_0xce18('0x29')](removeEntity(_0x2919e2,null))[_0xce18('0x35')](handleError(_0x2919e2,null));};exports['describe']=function(_0xd0d6a0,_0x2c31dc){return db[_0xce18('0x37')][_0xce18('0xb6')]()['then'](respondWithResult(_0x2c31dc,null))[_0xce18('0x35')](handleError(_0x2c31dc,null));};exports['addMessage']=function(_0x3b0511,_0x1602aa,_0x5b51dd){return db['OpenchannelMessage']['find']({'where':{'id':_0x3b0511[_0xce18('0xaf')]['id']}})[_0xce18('0x29')](handleEntityNotFound(_0x1602aa,null))['then'](function(_0x3e130e){if(_0x3e130e){return _0x3e130e[_0xce18('0xb7')](_0x3b0511[_0xce18('0x72')]['ids'],_[_0xce18('0xb8')](_0x3b0511[_0xce18('0x72')],[_0xce18('0xb9'),'id'])||{});}})[_0xce18('0x29')](respondWithResult(_0x1602aa,null))[_0xce18('0x35')](handleError(_0x1602aa,null));};exports['getMessages']=function(_0x3993a7,_0x12a1bd,_0x458e75){var _0x5613f3={'raw':![],'where':{}};var _0x5b2ba4={};var _0x2610fe={'count':0x0,'rows':[]};return db['OpenchannelInteraction'][_0xce18('0xba')]({'where':{'id':_0x3993a7['params']['id']}})['then'](handleEntityNotFound(_0x12a1bd,null))[_0xce18('0x29')](function(_0x196a3c){if(_0x196a3c){_0x5b2ba4[_0xce18('0x3a')]=_[_0xce18('0x3b')](db[_0xce18('0xbb')]['rawAttributes']);_0x5b2ba4[_0xce18('0x3c')]=_[_0xce18('0x3b')](_0x3993a7['query']);_0x5b2ba4[_0xce18('0x3d')]=_[_0xce18('0x3e')](_0x5b2ba4['model'],_0x5b2ba4[_0xce18('0x3c')]);_0x5613f3[_0xce18('0x3f')]=_[_0xce18('0x3e')](_0x5b2ba4['model'],qs[_0xce18('0x40')](_0x3993a7[_0xce18('0x3c')][_0xce18('0x40')]));_0x5613f3[_0xce18('0x3f')]=_0x5613f3[_0xce18('0x3f')]['length']?_0x5613f3[_0xce18('0x3f')]:_0x5b2ba4[_0xce18('0x3a')];if(!_0x3993a7['query'][_0xce18('0x42')]('nolimit')){_0x5613f3[_0xce18('0x23')]=qs['limit'](_0x3993a7[_0xce18('0x3c')]['limit']);_0x5613f3[_0xce18('0x22')]=qs[_0xce18('0x22')](_0x3993a7[_0xce18('0x3c')][_0xce18('0x22')]);}_0x5613f3[_0xce18('0x43')]=qs[_0xce18('0x44')](_0x3993a7[_0xce18('0x3c')]['sort']);_0x5613f3[_0xce18('0x45')]=qs[_0xce18('0x3d')](_[_0xce18('0x46')](_0x3993a7['query'],_0x5b2ba4[_0xce18('0x3d')]));_0x5613f3['where']['OpenchannelInteractionId']=_0x196a3c['id'];if(_0x3993a7[_0xce18('0x3c')]['filter']){_0x5613f3[_0xce18('0x45')]=_[_0xce18('0xb3')](_0x5613f3['where'],{'$or':_['map'](_0x5613f3[_0xce18('0x3f')],function(_0x169300){var _0x39902d={};_0x39902d[_0x169300]={'$like':'%'+_0x3993a7[_0xce18('0x3c')]['filter']+'%'};return _0x39902d;})});}if(_0x3993a7[_0xce18('0x3c')]['$gte']){var _0x11449a=_0x3993a7[_0xce18('0x3c')][_0xce18('0x77')][_0xce18('0x32')](',');var _0x5acd60={};_0x5acd60[_0x11449a[0x0]]={'$gte':moment(_0x11449a[0x1])[_0xce18('0xbc')](_0xce18('0xbd'))};_0x5613f3[_0xce18('0x45')]=_[_0xce18('0xb3')](_0x5613f3[_0xce18('0x45')],_0x5acd60);}_0x5613f3=_[_0xce18('0xb3')]({},_0x5613f3,_0x3993a7[_0xce18('0xb4')]);return db[_0xce18('0xbb')][_0xce18('0x21')]({'where':_0x5613f3[_0xce18('0x45')]})[_0xce18('0x29')](function(_0x366741){_0x2610fe[_0xce18('0x21')]=_0x366741;if(_0x3993a7['query']['includeAll']){_0x5613f3[_0xce18('0xb2')]=[{'all':!![]}];}return db['OpenchannelMessage']['findAll'](_0x5613f3);})[_0xce18('0x29')](function(_0x4f0804){_0x2610fe[_0xce18('0xae')]=_0x4f0804;return _0x2610fe;});}})[_0xce18('0x29')](respondWithFilteredResult(_0x12a1bd,_0x5613f3))[_0xce18('0x35')](handleError(_0x12a1bd,null));};exports[_0xce18('0xbe')]=function(_0x1f9f89,_0x1d0818,_0x4505bd){return db[_0xce18('0x37')][_0xce18('0x5f')]({'where':{'id':_0x1f9f89[_0xce18('0xaf')]['id']}})[_0xce18('0x29')](handleEntityNotFound(_0x1d0818,null))[_0xce18('0x29')](function(_0x4b16c5){if(_0x4b16c5){return _0x4b16c5[_0xce18('0xbf')](_0x1f9f89[_0xce18('0x72')]['ids'],_[_0xce18('0xb8')](_0x1f9f89[_0xce18('0x72')],['ids','id'])||{})[_0xce18('0xc0')](function(){return db[_0xce18('0x6c')]['findAll']({'attributes':['id','name',_0xce18('0x49')],'where':{'id':_0x1f9f89['body']['ids']}});})[_0xce18('0x29')](function(_0x478d90){socket[_0xce18('0xc1')](_0xce18('0xc2'),{'id':Number(_0x1f9f89[_0xce18('0xaf')]['id']),'tags':_0x478d90||[]});return{'id':Number(_0x1f9f89[_0xce18('0xaf')]['id']),'tags':_0x478d90||[]};});}})[_0xce18('0x29')](respondWithResult(_0x1d0818,null))[_0xce18('0x35')](handleError(_0x1d0818,null));};exports[_0xce18('0xc3')]=function(_0x5166c8,_0x9ac0db,_0x97c81){return db[_0xce18('0x37')][_0xce18('0x5f')]({'where':{'id':_0x5166c8[_0xce18('0xaf')]['id']}})['then'](handleEntityNotFound(_0x9ac0db,null))['then'](function(_0x70ff69){if(_0x70ff69){return _0x70ff69['removeTags'](_0x5166c8['query'][_0xce18('0xb9')]);}})[_0xce18('0x29')](respondWithStatusCode(_0x9ac0db,null))['catch'](handleError(_0x9ac0db,null));};exports[_0xce18('0xc4')]=function(_0x5891f0,_0x39cfc1){var _0x4d3c1b=moment()[_0xce18('0xc5')]()[_0xce18('0x96')]();var _0x1eac36=path[_0xce18('0xc6')](config[_0xce18('0xc7')],_0xce18('0xc8'),_0xce18('0xc9'),_0xce18('0xca'));var _0x4ac422=path['join'](config[_0xce18('0xc7')],_0xce18('0xc8'),_0xce18('0xc9'),_0xce18('0xcb'));var _0x250ed1=path[_0xce18('0xc6')](_0x1eac36,_0x4d3c1b);var _0x31ced0=util[_0xce18('0xbc')](_0xce18('0xcc'),_0x5891f0[_0xce18('0xaf')]['id'],_0x4d3c1b);var _0x166c51=path[_0xce18('0xc6')](_0x1eac36,_0x31ced0);var _0x31e1eb=[];_0x31e1eb[_0xce18('0x34')]({'model':db['User'],'as':_0xce18('0x6f'),'attributes':['id',_0xce18('0x2f')],'raw':!![]});_0x31e1eb['push']({'model':db[_0xce18('0xcd')],'as':_0xce18('0x63'),'attributes':['id',_0xce18('0xce'),_0xce18('0xcf')],'raw':!![]});if(_0x5891f0[_0xce18('0x3c')][_0xce18('0xcb')]){_0x31e1eb['push']({'model':db[_0xce18('0xd0')],'as':'Attachment','raw':!![]});}var _0x39390c=[{'model':db[_0xce18('0xbb')],'as':_0xce18('0xd1'),'attributes':['id',_0xce18('0x72'),'createdAt',_0xce18('0xd2'),'secret',_0xce18('0xd3')],'include':_0x31e1eb}];_0x39390c[_0xce18('0x34')]({'model':db[_0xce18('0xd4')],'as':_0xce18('0xd5'),'attributes':['id',_0xce18('0x2c')]});_0x39390c[_0xce18('0x34')]({'model':db['User'],'as':'Owner','attributes':['id',_0xce18('0x2f')]});return db[_0xce18('0x37')]['find']({'where':{'id':_0x5891f0[_0xce18('0xaf')]['id']},'include':_0x39390c})[_0xce18('0x29')](handleEntityNotFound(_0x39cfc1,null))[_0xce18('0x29')](function(_0x3c412d){if(_0x3c412d){var _0x595898=_0x3c412d[_0xce18('0xd6')]({'plain':!![]});fs[_0xce18('0xd7')](_0x250ed1);var _0x5eb4e2={'format':'A4','border':_0xce18('0xd8'),'header':{'height':_0xce18('0xd9'),'contents':{'first':'<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>'}},'footer':{'height':'30px','contents':{'default':util[_0xce18('0xbc')](_0xce18('0xda'),util[_0xce18('0xbc')](_0xce18('0xdb'),_0xce18('0xdc'),_0x595898['id']),moment()['format']('YYYY-MM-DD')[_0xce18('0x96')]())}}};var _0x33daf7={'channel':_0xce18('0xdc'),'account':_0x595898[_0xce18('0xd5')]['name'],'agent':_0x595898[_0xce18('0xdd')]?_0x595898['Owner'][_0xce18('0x2f')]:_0xce18('0xde'),'createdAt':moment(_0x595898['createdAt'])[_0xce18('0xbc')]('YYYY-MM-DD\x20HH:mm:ss')[_0xce18('0x96')](),'closedAt':_0x595898[_0xce18('0xdf')]?moment(_0x595898['closedAt'])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0xce18('0x96')]():'','disposition':_0x595898['disposition'],'visibility':_0x595898[_0xce18('0xe0')]?_0xce18('0xe1'):_0xce18('0xe2'),'messages':_(_0x595898[_0xce18('0xd1')])['filter']({'secret':![]})['map'](function(_0x1f2b76){if(_0x1f2b76[_0xce18('0xd0')]){var _0x558c3a=path[_0xce18('0xc6')](_0x4ac422,_0x1f2b76[_0xce18('0xd0')][_0xce18('0xe3')]);if(fs['existsSync'](_0x558c3a)){fs[_0xce18('0xe4')](_0x558c3a)['pipe'](fs['createWriteStream'](path[_0xce18('0xc6')](_0x250ed1,_0x1f2b76[_0xce18('0xd0')][_0xce18('0xe3')])));}}return{'date':moment(_0x1f2b76['createdAt'])[_0xce18('0xbc')](_0xce18('0xbd'))[_0xce18('0x96')](),'sender':_0x1f2b76[_0xce18('0xd2')]===_0xce18('0xe5')?_0x1f2b76[_0xce18('0x6f')]?_0x1f2b76['User'][_0xce18('0x2f')]:_0xce18('0xe6'):_0x1f2b76[_0xce18('0x63')][_0xce18('0xce')]+(_0x1f2b76['Contact'][_0xce18('0xcf')]?'\x20'+_0x1f2b76[_0xce18('0x63')][_0xce18('0xcf')]:''),'body':_0x1f2b76[_0xce18('0xd0')]?_0x1f2b76['Attachment'][_0xce18('0xe3')]:_0x1f2b76[_0xce18('0x72')],'direction':_0x1f2b76[_0xce18('0xd2')]===_0xce18('0xe5')?'A':'C','secret':_0x1f2b76[_0xce18('0xe7')],'read':_0x1f2b76[_0xce18('0xd3')],'attachment':_0x1f2b76[_0xce18('0xd0')]};})[_0xce18('0x60')]()};return ejs[_0xce18('0xe8')](path[_0xce18('0xc6')](config['root'],_0xce18('0xc8'),_0xce18('0xe9'),_0xce18('0xea')),{'interaction':_0x33daf7})[_0xce18('0x29')](function(_0x32d9a9){return new BPromise(function(_0xb0d469,_0x4e0004){pdf[_0xce18('0xeb')](_0x32d9a9,_0x5eb4e2)[_0xce18('0xec')](path['join'](_0x250ed1,'transcript-'+_0x595898['id']+'-'+_0x4d3c1b+_0xce18('0xed')),function(_0x2a3784,_0x159339){if(_0x2a3784)return _0x4e0004(_0x2a3784);_0xb0d469(_0x159339);});});})['then'](function(){return new BPromise(function(_0x2de39e,_0x349c72){zipdir(_0x250ed1,{'saveTo':_0x166c51},function(_0x254ad2,_0x23dfc6){if(_0x254ad2)return _0x349c72(_0x254ad2);return _0x2de39e(_0x23dfc6);});})[_0xce18('0x29')](function(){return new BPromise(function(_0x2f015d,_0x36c23f){rimraf(_0x250ed1,function(_0x425027){if(_0x425027)_0x36c23f(_0x425027);return _0x2f015d();});});})['then'](function(){return _0x39cfc1[_0xce18('0xc4')](_0x166c51,_0x31ced0,function(_0x15d644){if(_0x15d644){console['log']('err',_0x15d644);}else{fs[_0xce18('0xee')](_0x166c51);}});});});}else{return _0x39cfc1[_0xce18('0x1d')](0xc8);}})[_0xce18('0x35')](handleError(_0x39cfc1,null));};