3f0f69a6d46a285847c3d0ffe112c43b1e84786b
[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 _0x8853=['split','forEach','push','catch','index','OpenchannelInteraction','rawAttributes','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','order','sort','where','select','field','color','from','tools_tags','u.id','u.fullname','ui.OpenchannelInteractionId','user_has_openchannel_interactions','left_join','u.id\x20=\x20ui.UserId','openchannel_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','a.id\x20=\x20i.OpenchannelAccountId','openchannel_messages','me.OpenchannelInteractionId\x20=\x20i.id','openchannel_interaction_has_tags','it.OpenchannelInteractionId\x20=\x20i.id','expr','sqlOperator','conditions','find','having','`\x20>\x200','operator','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','Tag','union','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','compact','isEmpty','i.OpenchannelAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','\x27\x27\x27\x27','isNumeric','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','DESC','t.id\x20IN\x20?','resolve','OpenchannelAccountId','journey','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','user','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','toString','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','c.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.OpenchannelInteractionId\x20IN\x20?','sequelize','groupBy','all','rows','show','include','options','create','params','describe','addMessage','ids','omit','findOne','OpenchannelMessage','nolimit','OpenchannelInteractionId','findAll','setTags','emit','openchannelInteractionTags:save','removeTags','download','join','root','server','files','tmp','attachments','format','CmContact','firstName','Attachment','Messages','direction','secret','OpenchannelAccount','Account','Owner','10px','40px','30px','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','Openchannel','YYYY-MM-DD','N.A.','YYYY-MM-DD\x20HH:mm:ss','closed','closedAt','threadId','Public','Private','basename','createReadStream','pipe','createWriteStream','System','Contact','lastName','out','views','downloadInteraction.html','toFile','.pdf','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','sox','ejs','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./openchannelInteraction.socket','register','sendStatus','status','end','json','count','offset','limit','set','apply','update','then','destroy','stack','name','Users','map','fullname','TagIds','Tags'];(function(_0x462999,_0x24d200){var _0x4b1366=function(_0x1fa353){while(--_0x1fa353){_0x462999['push'](_0x462999['shift']());}};_0x4b1366(++_0x24d200);}(_0x8853,0x1a8));var _0x3885=function(_0x266ca4,_0x152c86){_0x266ca4=_0x266ca4-0x0;var _0x21a03a=_0x8853[_0x266ca4];return _0x21a03a;};'use strict';var pdf=require(_0x3885('0x0'));var emlformat=require(_0x3885('0x1'));var rimraf=require(_0x3885('0x2'));var zipdir=require(_0x3885('0x3'));var jsonpatch=require(_0x3885('0x4'));var rp=require(_0x3885('0x5'));var moment=require('moment');var BPromise=require(_0x3885('0x6'));var Mustache=require(_0x3885('0x7'));var util=require('util');var path=require('path');var sox=require(_0x3885('0x8'));var csv=require('to-csv');var ejs=require(_0x3885('0x9'));var fs=require('fs');var _=require(_0x3885('0xa'));var squel=require(_0x3885('0xb'));var crypto=require(_0x3885('0xc'));var jsforce=require(_0x3885('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x3885('0xe'));var querystring=require(_0x3885('0xf'));var Papa=require(_0x3885('0x10'));var Redis=require('ioredis');var authService=require(_0x3885('0x11'));var qs=require(_0x3885('0x12'));var as=require(_0x3885('0x13'));var hardwareService=require(_0x3885('0x14'));var logger=require('../../config/logger')(_0x3885('0x15'));var utils=require(_0x3885('0x16'));var config=require(_0x3885('0x17'));var db=require(_0x3885('0x18'))['db'];config[_0x3885('0x19')]=_[_0x3885('0x1a')](config['redis'],{'host':_0x3885('0x1b'),'port':0x18eb});var socket=require(_0x3885('0x1c'))(new Redis(config['redis']));require(_0x3885('0x1d'))[_0x3885('0x1e')](socket);function respondWithStatusCode(_0x3ba056,_0x4e03cc){_0x4e03cc=_0x4e03cc||0xcc;return function(_0x1781ae){if(_0x1781ae){return _0x3ba056[_0x3885('0x1f')](_0x4e03cc);}return _0x3ba056[_0x3885('0x20')](_0x4e03cc)[_0x3885('0x21')]();};}function respondWithResult(_0x2c832f,_0x1995ca){_0x1995ca=_0x1995ca||0xc8;return function(_0x2972cf){if(_0x2972cf){return _0x2c832f[_0x3885('0x20')](_0x1995ca)[_0x3885('0x22')](_0x2972cf);}};}function respondWithFilteredResult(_0x14f3c4,_0x37ceee){return function(_0x26c51c){if(_0x26c51c){var _0x57fa36=_0x26c51c[_0x3885('0x23')],_0x5ff0f9=_0x37ceee[_0x3885('0x24')],_0x1d0721=_0x37ceee[_0x3885('0x24')]+_0x37ceee[_0x3885('0x25')],_0x3207fd;if(_0x1d0721>=_0x57fa36){_0x1d0721=_0x57fa36;_0x3207fd=0xc8;}else{_0x3207fd=0xce;}_0x14f3c4['status'](_0x3207fd);return _0x14f3c4[_0x3885('0x26')]('Content-Range',_0x5ff0f9+'-'+_0x1d0721+'/'+_0x57fa36)['json'](_0x26c51c);}return null;};}function patchUpdates(_0x513093){return function(_0x22359b){try{jsonpatch[_0x3885('0x27')](_0x22359b,_0x513093,!![]);}catch(_0x2cd969){return BPromise['reject'](_0x2cd969);}return _0x22359b['save']();};}function saveUpdates(_0x2be94a,_0x18ee55){return function(_0x93040){if(_0x93040){return _0x93040[_0x3885('0x28')](_0x2be94a)[_0x3885('0x29')](function(_0x1d4e6c){return _0x1d4e6c;});}return null;};}function removeEntity(_0x5aaf64,_0x4300e5){return function(_0x206a74){if(_0x206a74){return _0x206a74[_0x3885('0x2a')]()[_0x3885('0x29')](function(){_0x5aaf64[_0x3885('0x20')](0xcc)[_0x3885('0x21')]();});}};}function handleEntityNotFound(_0x909e95,_0x3a0a67){return function(_0x16a51f){if(!_0x16a51f){_0x909e95[_0x3885('0x1f')](0x194);}return _0x16a51f;};}function handleError(_0x582ce8,_0x3acd3e){_0x3acd3e=_0x3acd3e||0x1f4;return function(_0x259dc5){logger['error'](_0x259dc5[_0x3885('0x2b')]);if(_0x259dc5[_0x3885('0x2c')]){delete _0x259dc5[_0x3885('0x2c')];}_0x582ce8[_0x3885('0x20')](_0x3acd3e)['send'](_0x259dc5);};}function getInteractionUsers(_0x171074,_0x2e8d16){return new BPromise(function(_0xb1ea55,_0x2c93d8){try{if(_0x2e8d16[_0x171074['id']]){_0x171074[_0x3885('0x2d')]=_[_0x3885('0x2e')](_0x2e8d16[_0x171074['id']],function(_0xb3a204){return{'id':_0xb3a204['id'],'fullname':_0xb3a204[_0x3885('0x2f')]};});}}catch(_0xeb3846){_0x2c93d8(_0xeb3846);}_0xb1ea55(_0x171074);});}function getInteractionTags(_0x2bc2d9,_0x4f149b){return new BPromise(function(_0x54c1c4,_0x5a8e47){try{if(_0x2bc2d9[_0x3885('0x30')]){_0x2bc2d9[_0x3885('0x31')]=[];_0x2bc2d9[_0x3885('0x30')][_0x3885('0x32')](',')[_0x3885('0x33')](function(_0x32d47b){_0x2bc2d9[_0x3885('0x31')][_0x3885('0x34')](_0x4f149b[_0x32d47b]);});}delete _0x2bc2d9[_0x3885('0x30')];}catch(_0x267ca5){_0x5a8e47(_0x267ca5);}_0x54c1c4(_0x2bc2d9);});}function updateOpenchannelInteraction(_0x3fc12f,_0xb9aa7,_0x3090cb){return new BPromise(function(_0x54acb7,_0x4f1618){return getInteractionUsers(_0x3fc12f,_0x3090cb)[_0x3885('0x29')](function(_0x32ee97){return getInteractionTags(_0x32ee97,_0xb9aa7);})[_0x3885('0x29')](function(_0x354c8f){_0x54acb7(_0x354c8f);})[_0x3885('0x35')](function(_0x1e1adb){_0x4f1618(_0x1e1adb);});});}exports[_0x3885('0x36')]=function(_0x34a69a,_0x31eb52){var _0xd117a4={},_0x553090={},_0x562b0e={'count':0x0,'rows':[]};var _0x387b5f=_[_0x3885('0x2e')](db[_0x3885('0x37')][_0x3885('0x38')],function(_0x2ab5a9){return{'name':_0x2ab5a9['fieldName'],'type':_0x2ab5a9[_0x3885('0x39')][_0x3885('0x3a')]};});_0x553090['model']=_[_0x3885('0x2e')](_0x387b5f,_0x3885('0x2c'));_0x553090[_0x3885('0x3b')]=_[_0x3885('0x3c')](_0x34a69a[_0x3885('0x3b')]);_0x553090[_0x3885('0x3d')]=_[_0x3885('0x3e')](_0x553090[_0x3885('0x3f')],_0x553090[_0x3885('0x3b')]);_0xd117a4['attributes']=_['intersection'](_0x553090[_0x3885('0x3f')],qs['fields'](_0x34a69a[_0x3885('0x3b')][_0x3885('0x40')]));_0xd117a4[_0x3885('0x41')]=_0xd117a4[_0x3885('0x41')][_0x3885('0x42')]?_0xd117a4[_0x3885('0x41')]:_0x553090[_0x3885('0x3f')];if(!_0x34a69a['query'][_0x3885('0x43')]('nolimit')){_0xd117a4[_0x3885('0x25')]=qs[_0x3885('0x25')](_0x34a69a[_0x3885('0x3b')][_0x3885('0x25')]);_0xd117a4['offset']=qs[_0x3885('0x24')](_0x34a69a[_0x3885('0x3b')][_0x3885('0x24')]);}_0xd117a4[_0x3885('0x44')]=qs[_0x3885('0x45')](_0x34a69a[_0x3885('0x3b')][_0x3885('0x45')]);_0xd117a4[_0x3885('0x46')]=qs[_0x3885('0x3d')](_['pick'](_0x34a69a[_0x3885('0x3b')],_0x553090['filters']),_0x387b5f);var _0x47c23b=[];var _0x3be8b6=squel[_0x3885('0x47')]()[_0x3885('0x48')]('id')[_0x3885('0x48')](_0x3885('0x2c'))['field'](_0x3885('0x49'))[_0x3885('0x4a')](_0x3885('0x4b'));var _0x401ab0=squel['select']()[_0x3885('0x48')](_0x3885('0x4c'))[_0x3885('0x48')](_0x3885('0x4d'))['field'](_0x3885('0x4e'))[_0x3885('0x4a')](_0x3885('0x4f'),'ui')[_0x3885('0x50')]('users','u',_0x3885('0x51'));var _0x47c84a=squel[_0x3885('0x47')]()[_0x3885('0x4a')](_0x3885('0x52'),'i')[_0x3885('0x50')](_0x3885('0x53'),'c',_0x3885('0x54'))[_0x3885('0x50')](_0x3885('0x55'),'o',_0x3885('0x56'))[_0x3885('0x50')]('openchannel_accounts','a',_0x3885('0x57'))[_0x3885('0x50')](_0x3885('0x58'),'me',_0x3885('0x59'))[_0x3885('0x50')](_0x3885('0x5a'),'it',_0x3885('0x5b'))[_0x3885('0x50')](_0x3885('0x4b'),'t','t.id\x20=\x20it.TagId');var _0x6c25a0=squel[_0x3885('0x5c')]();var _0x1f68a0=[];var _0x2d4b58=squel[_0x3885('0x5c')]();var _0xf48643;if(_0x34a69a[_0x3885('0x3b')]['search']){_0xf48643=as['parseSearch'](_0x34a69a[_0x3885('0x3b')]['search']);var _0x152d53=_0xf48643[_0x3885('0x5d')];for(var _0x567d2c=0x0;_0x567d2c<_0xf48643[_0x3885('0x5e')]['length'];_0x567d2c++){var _0x2080e0=_0xf48643[_0x3885('0x5e')][_0x567d2c];var _0x27f2f2='i';var _0xb29af9=_[_0x3885('0x5f')](_0x387b5f,['name',_0x2080e0['field']]);if(!_0xb29af9){switch(_0x2080e0[_0x3885('0x48')]){case'unreadMessages':if(_0x2080e0['value']==0x1){_0x47c84a['having']('`'+_0x2080e0[_0x3885('0x48')]+'`\x20=\x200');}else{_0x47c84a[_0x3885('0x60')]('`'+_0x2080e0[_0x3885('0x48')]+_0x3885('0x61'));}break;case'Contact':if(_0x2080e0[_0x3885('0x62')]==='$substring'){if(_0x2080e0[_0x3885('0x63')]['split']('\x20')[_0x3885('0x42')]>0x1){_0x6c25a0[_0x152d53](_0x3885('0x64'),qs[_0x3885('0x65')](_0x2080e0[_0x3885('0x63')]),null);}else{var _0x58f2a6='%'+_0x2080e0[_0x3885('0x63')]+'%';_0x6c25a0[_0x152d53](_0x3885('0x66'),_0x58f2a6,_0x58f2a6,_0x58f2a6);}}else{_0xb29af9=_[_0x3885('0x5f')](_0x387b5f,[_0x3885('0x2c'),_0x3885('0x67')]);_0x2080e0['field']='ContactId';_0x59a29a=as[_0x3885('0x68')](_0x27f2f2,_0xb29af9[_0x3885('0x39')],_0x2080e0);_0x6c25a0[_0x152d53](_0x59a29a[_0x3885('0x69')],_0x59a29a['value'][_0x3885('0x6a')],_0x59a29a[_0x3885('0x63')]['end']);}break;case _0x3885('0x6b'):var _0x1d201b=_0x2080e0['value']['split'](',')[_0x3885('0x2e')](function(_0x536f77){return Number(_0x536f77);});_0x1d201b[_0x3885('0x33')](function(_0x476475){_0x2d4b58['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x476475+',%');});_0x1f68a0=_[_0x3885('0x6c')](_0x1f68a0,_0x1d201b);break;case _0x3885('0x6d'):if(_0x2080e0[_0x3885('0x62')]===_0x3885('0x6e')){_0x6c25a0[_0x152d53](_0x3885('0x6f'),'%'+_0x2080e0[_0x3885('0x63')]+'%',null);}else{_0xb29af9=_[_0x3885('0x5f')](_0x387b5f,[_0x3885('0x2c'),_0x3885('0x70')]);_0x2080e0[_0x3885('0x48')]=_0x3885('0x70');_0x59a29a=as[_0x3885('0x68')](_0x27f2f2,_0xb29af9[_0x3885('0x39')],_0x2080e0);_0x6c25a0[_0x152d53](_0x59a29a[_0x3885('0x69')],_0x59a29a[_0x3885('0x63')]['start'],_0x59a29a['value'][_0x3885('0x21')]);}break;case _0x3885('0x71'):_0x59a29a=as[_0x3885('0x68')]('me',null,_0x2080e0);_0x6c25a0[_0x152d53](_0x59a29a['text'],_0x59a29a['value'][_0x3885('0x6a')],_0x59a29a['value'][_0x3885('0x21')]);break;}}else{var _0x59a29a=as[_0x3885('0x68')](_0x27f2f2,_0xb29af9[_0x3885('0x39')],_0x2080e0);_0x6c25a0[_0x152d53](_0x59a29a['text'],_0x59a29a[_0x3885('0x63')][_0x3885('0x6a')],_0x59a29a[_0x3885('0x63')][_0x3885('0x21')]);}}}else{var _0x38d265=_(_0x34a69a[_0x3885('0x3b')])['keys']()[_0x3885('0x2e')](function(_0x723961){return _['some'](_0x387b5f,[_0x3885('0x2c'),_0x723961])?_0x723961:undefined;})[_0x3885('0x72')]()[_0x3885('0x63')]();if(!_[_0x3885('0x73')](_0x38d265)){_0x38d265[_0x3885('0x33')](function(_0x14f313){if(_0x14f313==='OpenchannelAccountId'){_0x47c84a[_0x3885('0x46')](_0x3885('0x74'),[][_0x3885('0x75')](_0x34a69a['query'][_0x14f313]));}else if(_0x14f313===_0x3885('0x76')){var _0x152bf2=JSON[_0x3885('0x77')](_0x34a69a[_0x3885('0x3b')][_0x14f313])[_0x3885('0x78')];var _0x5b1210=JSON[_0x3885('0x77')](_0x34a69a[_0x3885('0x3b')][_0x14f313])[_0x3885('0x79')];_0x47c84a[_0x3885('0x46')](_0x3885('0x7a'),_0x152bf2,_0x5b1210);}else{if(_0x34a69a[_0x3885('0x3b')][_0x14f313]===_0x3885('0x7b')){_0x47c84a['where']('i.'+_0x14f313+'\x20IS\x20NULL');}else{_0x47c84a['where']('i.'+_0x14f313+_0x3885('0x7c'),_0x34a69a[_0x3885('0x3b')][_0x14f313]);}}});}if(_0x34a69a[_0x3885('0x3b')]['read']){if(_0x34a69a[_0x3885('0x3b')][_0x3885('0x7d')]==0x1){_0x47c84a[_0x3885('0x60')](_0x3885('0x7e'));}else{_0x47c84a['having']('`unreadMessages`\x20>\x200');}}if(_0x34a69a['query'][_0x3885('0x7f')]){_0x1f68a0=_['isArray'](_0x34a69a[_0x3885('0x3b')][_0x3885('0x7f')])?_0x34a69a[_0x3885('0x3b')][_0x3885('0x7f')]:new Array(_0x34a69a[_0x3885('0x3b')][_0x3885('0x7f')]);_0x1f68a0['forEach'](function(_0x423f97){_0x2d4b58['or'](_0x3885('0x80'),'%,'+_0x423f97+',%');});}if(_0x34a69a[_0x3885('0x3b')][_0x3885('0x81')]){var _0x3ff003=_0x34a69a[_0x3885('0x3b')][_0x3885('0x81')]['replace']('\x5c','\x5c\x5c')[_0x3885('0x82')]('\x27\x27',_0x3885('0x83'));if(qs[_0x3885('0x84')](_0x3ff003)){_0x6c25a0['or']('i.id\x20LIKE\x20?',_0x3ff003+'%');}else{_0x6c25a0['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x3885('0x65')](_0x3ff003))['or']('i.from\x20LIKE\x20?',_0x3ff003+'%')['or'](_0x3885('0x85'),_0x3ff003+'%');}}}_0x47c84a['where'](_0x6c25a0);_0x47c84a[_0x3885('0x86')](_0x3885('0x87'));var _0x370d54={'type':db['Sequelize']['QueryTypes'][_0x3885('0x88')],'raw':!![]};var _0x9b33ff=_0x47c84a[_0x3885('0x89')]();_0x9b33ff[_0x3885('0x48')]('i.id');_0x9b33ff[_0x3885('0x48')](_0x3885('0x8a'),_0x3885('0x8b'));if(_0xd117a4[_0x3885('0x44')]){_0xd117a4[_0x3885('0x44')][_0x3885('0x33')](function(_0x139f3c){_0x47c84a[_0x3885('0x44')]('i.'+_0x139f3c[0x0],_0x139f3c[0x1]===_0x3885('0x8c')?![]:!![]);});}if(!_[_0x3885('0x73')](_0x1f68a0)){_0x47c84a[_0x3885('0x60')](_0x2d4b58);_0x9b33ff['where'](_0x3885('0x8d'),_0x1f68a0);}BPromise[_0x3885('0x8e')]()[_0x3885('0x29')](function(){if(!_0xf48643){if(_0x34a69a[_0x3885('0x3b')][_0x3885('0x8f')]||_0x34a69a['query'][_0x3885('0x90')])return;_0x9b33ff[_0x3885('0x46')](_0x3885('0x91'));_0x47c84a[_0x3885('0x46')](_0x3885('0x91'));return;}return _0x34a69a[_0x3885('0x92')][_0x3885('0x93')]({'attributes':['id'],'raw':!![]})['then'](function(_0x599156){if(_[_0x3885('0x73')](_0x599156)){_0x9b33ff[_0x3885('0x46')]('i.OpenchannelAccountId\x20IS\x20NULL');_0x47c84a[_0x3885('0x46')](_0x3885('0x94'));}else{_0x9b33ff['where']('i.OpenchannelAccountId\x20IN\x20?',_['map'](_0x599156,'id'));_0x47c84a[_0x3885('0x46')](_0x3885('0x74'),_[_0x3885('0x2e')](_0x599156,'id'));}});})['then'](function(){db['sequelize'][_0x3885('0x3b')](_0x9b33ff[_0x3885('0x95')](),_0x370d54)['then'](function(_0xcea21b){_0x562b0e[_0x3885('0x23')]=_0xcea21b[_0x3885('0x42')];if(_0x562b0e[_0x3885('0x23')]===0x0)return[];return db['sequelize'][_0x3885('0x3b')](_0x3be8b6[_0x3885('0x95')](),_0x370d54)[_0x3885('0x29')](function(_0x2c8c47){_0x47c23b=_[_0x3885('0x96')](_0x2c8c47,'id');_0x370d54=_[_0x3885('0x97')](_0x370d54,{'model':db[_0x3885('0x37')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x34a69a[_0x3885('0x3b')]['fields']){_0xd117a4[_0x3885('0x41')][_0x3885('0x33')](function(_0x16b278){_0x47c84a[_0x3885('0x48')]('i.'+_0x16b278);});}else{_0x47c84a[_0x3885('0x48')](_0x3885('0x8a'),_0x3885('0x8b'));_0x47c84a[_0x3885('0x48')](_0x3885('0x98'),_0x3885('0x99'));_0x47c84a[_0x3885('0x48')](_0x3885('0x9a'),_0x3885('0x9b'));_0x47c84a[_0x3885('0x48')]('i.*');_0x47c84a[_0x3885('0x48')](_0x3885('0x9c'),'Contact.firstName');_0x47c84a['field'](_0x3885('0x9d'),_0x3885('0x9e'));_0x47c84a[_0x3885('0x48')](_0x3885('0x9f'),'Contact.email');_0x47c84a[_0x3885('0x48')](_0x3885('0xa0'),_0x3885('0xa1'));_0x47c84a[_0x3885('0x48')](_0x3885('0xa2'),'Contact.mobile');_0x47c84a[_0x3885('0x48')]('c.fax',_0x3885('0xa3'));_0x47c84a[_0x3885('0x48')](_0x3885('0xa4'),_0x3885('0xa5'));_0x47c84a['field'](_0x3885('0xa6'),_0x3885('0xa7'));_0x47c84a[_0x3885('0x48')](_0x3885('0xa8'),_0x3885('0x30'));}if(_0xd117a4[_0x3885('0x25')])_0x47c84a[_0x3885('0x25')](_0xd117a4[_0x3885('0x25')]);if(_0xd117a4['offset'])_0x47c84a[_0x3885('0x24')](_0xd117a4[_0x3885('0x24')]);return db['sequelize'][_0x3885('0x3b')](_0x47c84a[_0x3885('0x95')](),_0x370d54);})[_0x3885('0x29')](function(_0x498f5c){_0x401ab0[_0x3885('0x46')](_0x3885('0xa9'),_[_0x3885('0x2e')](_0x498f5c,'id'));return db[_0x3885('0xaa')][_0x3885('0x3b')](_0x401ab0[_0x3885('0x95')](),_0x370d54)[_0x3885('0x29')](function(_0xe0bf4a){var _0x428a02=_[_0x3885('0xab')](_0xe0bf4a,'OpenchannelInteractionId');var _0x1aa734=[];_0x498f5c[_0x3885('0x33')](function(_0x417d5d){_0x1aa734[_0x3885('0x34')](updateOpenchannelInteraction(_0x417d5d,_0x47c23b,_0x428a02));});return BPromise[_0x3885('0xac')](_0x1aa734);});});})[_0x3885('0x29')](function(_0x551e7a){_0x562b0e[_0x3885('0xad')]=_0x551e7a;return _0x562b0e;})['then'](respondWithFilteredResult(_0x31eb52,_0xd117a4));})['catch'](handleError(_0x31eb52,null));};exports[_0x3885('0xae')]=function(_0x1d75b5,_0x4f24d8){var _0xa2f1a={'raw':![],'where':{'id':_0x1d75b5['params']['id']}},_0x18283b={};_0x18283b[_0x3885('0x3f')]=_[_0x3885('0x3c')](db['OpenchannelInteraction'][_0x3885('0x38')]);_0x18283b[_0x3885('0x3b')]=_['keys'](_0x1d75b5[_0x3885('0x3b')]);_0x18283b[_0x3885('0x3d')]=_[_0x3885('0x3e')](_0x18283b[_0x3885('0x3f')],_0x18283b[_0x3885('0x3b')]);_0xa2f1a['attributes']=_[_0x3885('0x3e')](_0x18283b['model'],qs[_0x3885('0x40')](_0x1d75b5['query'][_0x3885('0x40')]));_0xa2f1a[_0x3885('0x41')]=_0xa2f1a[_0x3885('0x41')][_0x3885('0x42')]?_0xa2f1a['attributes']:_0x18283b[_0x3885('0x3f')];if(_0x1d75b5[_0x3885('0x3b')]['includeAll']){_0xa2f1a[_0x3885('0xaf')]=[{'all':!![]}];}_0xa2f1a=_[_0x3885('0x97')]({},_0xa2f1a,_0x1d75b5[_0x3885('0xb0')]);return db[_0x3885('0x37')][_0x3885('0x5f')](_0xa2f1a)['then'](handleEntityNotFound(_0x4f24d8,null))[_0x3885('0x29')](respondWithResult(_0x4f24d8,null))[_0x3885('0x35')](handleError(_0x4f24d8,null));};exports[_0x3885('0xb1')]=function(_0x174c34,_0x5f54b8){return db[_0x3885('0x37')][_0x3885('0xb1')](_0x174c34['body'],{})[_0x3885('0x29')](respondWithResult(_0x5f54b8,0xc9))[_0x3885('0x35')](handleError(_0x5f54b8,null));};exports[_0x3885('0x28')]=function(_0xc6c8cc,_0xd67adf){if(_0xc6c8cc[_0x3885('0x71')]['id']){delete _0xc6c8cc[_0x3885('0x71')]['id'];}return db[_0x3885('0x37')][_0x3885('0x5f')]({'where':{'id':_0xc6c8cc[_0x3885('0xb2')]['id']}})['then'](handleEntityNotFound(_0xd67adf,null))['then'](saveUpdates(_0xc6c8cc[_0x3885('0x71')],null))[_0x3885('0x29')](respondWithResult(_0xd67adf,null))['catch'](handleError(_0xd67adf,null));};exports['destroy']=function(_0x40c28a,_0x2072b3){return db[_0x3885('0x37')]['find']({'where':{'id':_0x40c28a[_0x3885('0xb2')]['id']}})[_0x3885('0x29')](handleEntityNotFound(_0x2072b3,null))[_0x3885('0x29')](removeEntity(_0x2072b3,null))['catch'](handleError(_0x2072b3,null));};exports[_0x3885('0xb3')]=function(_0x53415a,_0x45511e){return db[_0x3885('0x37')][_0x3885('0xb3')]()['then'](respondWithResult(_0x45511e,null))['catch'](handleError(_0x45511e,null));};exports['addMessage']=function(_0x38b658,_0x18de97,_0x3ced2c){return db['OpenchannelMessage'][_0x3885('0x5f')]({'where':{'id':_0x38b658[_0x3885('0xb2')]['id']}})['then'](handleEntityNotFound(_0x18de97,null))[_0x3885('0x29')](function(_0xc1ff35){if(_0xc1ff35){return _0xc1ff35[_0x3885('0xb4')](_0x38b658['body'][_0x3885('0xb5')],_[_0x3885('0xb6')](_0x38b658['body'],[_0x3885('0xb5'),'id'])||{});}})[_0x3885('0x29')](respondWithResult(_0x18de97,null))[_0x3885('0x35')](handleError(_0x18de97,null));};exports['getMessages']=function(_0x351cc9,_0x5109fe,_0x382fb6){var _0x5c965a={'raw':![],'where':{}};var _0x2514ed={};var _0x12b240={'count':0x0,'rows':[]};return db[_0x3885('0x37')][_0x3885('0xb7')]({'where':{'id':_0x351cc9['params']['id']}})['then'](handleEntityNotFound(_0x5109fe,null))[_0x3885('0x29')](function(_0x4d2fe3){if(_0x4d2fe3){_0x2514ed['model']=_[_0x3885('0x3c')](db[_0x3885('0xb8')][_0x3885('0x38')]);_0x2514ed[_0x3885('0x3b')]=_['keys'](_0x351cc9[_0x3885('0x3b')]);_0x2514ed['filters']=_[_0x3885('0x3e')](_0x2514ed[_0x3885('0x3f')],_0x2514ed[_0x3885('0x3b')]);_0x5c965a[_0x3885('0x41')]=_[_0x3885('0x3e')](_0x2514ed[_0x3885('0x3f')],qs[_0x3885('0x40')](_0x351cc9[_0x3885('0x3b')][_0x3885('0x40')]));_0x5c965a[_0x3885('0x41')]=_0x5c965a[_0x3885('0x41')]['length']?_0x5c965a['attributes']:_0x2514ed[_0x3885('0x3f')];if(!_0x351cc9['query'][_0x3885('0x43')](_0x3885('0xb9'))){_0x5c965a[_0x3885('0x25')]=qs['limit'](_0x351cc9[_0x3885('0x3b')][_0x3885('0x25')]);_0x5c965a[_0x3885('0x24')]=qs[_0x3885('0x24')](_0x351cc9['query'][_0x3885('0x24')]);}_0x5c965a[_0x3885('0x44')]=qs['sort'](_0x351cc9[_0x3885('0x3b')][_0x3885('0x45')]);_0x5c965a[_0x3885('0x46')]=qs[_0x3885('0x3d')](_['pick'](_0x351cc9[_0x3885('0x3b')],_0x2514ed['filters']));_0x5c965a[_0x3885('0x46')][_0x3885('0xba')]=_0x4d2fe3['id'];if(_0x351cc9[_0x3885('0x3b')][_0x3885('0x81')]){_0x5c965a['where']=_[_0x3885('0x97')](_0x5c965a[_0x3885('0x46')],{'$or':_[_0x3885('0x2e')](_0x5c965a[_0x3885('0x41')],function(_0x1e554f){var _0x18ebac={};_0x18ebac[_0x1e554f]={'$like':'%'+_0x351cc9['query']['filter']+'%'};return _0x18ebac;})});}if(_0x351cc9['query']['$gte']){var _0x3ba0f7=_0x351cc9['query']['$gte'][_0x3885('0x32')](',');var _0x21e80f={};_0x21e80f[_0x3ba0f7[0x0]]={'$gte':moment(_0x3ba0f7[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x5c965a[_0x3885('0x46')]=_[_0x3885('0x97')](_0x5c965a[_0x3885('0x46')],_0x21e80f);}_0x5c965a=_['merge']({},_0x5c965a,_0x351cc9[_0x3885('0xb0')]);return db['OpenchannelMessage'][_0x3885('0x23')]({'where':_0x5c965a[_0x3885('0x46')]})[_0x3885('0x29')](function(_0x1a0f27){_0x12b240['count']=_0x1a0f27;if(_0x351cc9[_0x3885('0x3b')]['includeAll']){_0x5c965a[_0x3885('0xaf')]=[{'all':!![]}];}return db[_0x3885('0xb8')][_0x3885('0xbb')](_0x5c965a);})[_0x3885('0x29')](function(_0x24c7fd){_0x12b240[_0x3885('0xad')]=_0x24c7fd;return _0x12b240;});}})[_0x3885('0x29')](respondWithFilteredResult(_0x5109fe,_0x5c965a))['catch'](handleError(_0x5109fe,null));};exports['addTags']=function(_0x1fada4,_0x3a7418,_0x475fb9){return db[_0x3885('0x37')]['find']({'where':{'id':_0x1fada4[_0x3885('0xb2')]['id']}})[_0x3885('0x29')](handleEntityNotFound(_0x3a7418,null))[_0x3885('0x29')](function(_0x1d68b7){if(_0x1d68b7){return _0x1d68b7[_0x3885('0xbc')](_0x1fada4[_0x3885('0x71')][_0x3885('0xb5')],_[_0x3885('0xb6')](_0x1fada4['body'],[_0x3885('0xb5'),'id'])||{})['spread'](function(){return db[_0x3885('0x6b')][_0x3885('0xbb')]({'attributes':['id',_0x3885('0x2c'),_0x3885('0x49')],'where':{'id':_0x1fada4['body'][_0x3885('0xb5')]}});})['then'](function(_0x5f507f){socket[_0x3885('0xbd')](_0x3885('0xbe'),{'id':Number(_0x1fada4[_0x3885('0xb2')]['id']),'tags':_0x5f507f||[]});return{'id':Number(_0x1fada4[_0x3885('0xb2')]['id']),'tags':_0x5f507f||[]};});}})[_0x3885('0x29')](respondWithResult(_0x3a7418,null))[_0x3885('0x35')](handleError(_0x3a7418,null));};exports[_0x3885('0xbf')]=function(_0x10e8cb,_0x15ea27,_0x2950b1){return db[_0x3885('0x37')][_0x3885('0x5f')]({'where':{'id':_0x10e8cb[_0x3885('0xb2')]['id']}})[_0x3885('0x29')](handleEntityNotFound(_0x15ea27,null))[_0x3885('0x29')](function(_0x42c8cd){if(_0x42c8cd){return _0x42c8cd[_0x3885('0xbf')](_0x10e8cb['query'][_0x3885('0xb5')]);}})[_0x3885('0x29')](respondWithStatusCode(_0x15ea27,null))[_0x3885('0x35')](handleError(_0x15ea27,null));};exports[_0x3885('0xc0')]=function(_0x1d8ac1,_0x46f7d1){var _0x38b61a=moment()['unix']()[_0x3885('0x95')]();var _0x185b4e=path[_0x3885('0xc1')](config[_0x3885('0xc2')],_0x3885('0xc3'),_0x3885('0xc4'),_0x3885('0xc5'));var _0x33011a=path[_0x3885('0xc1')](config[_0x3885('0xc2')],_0x3885('0xc3'),_0x3885('0xc4'),_0x3885('0xc6'));var _0xd672c0=path[_0x3885('0xc1')](_0x185b4e,_0x38b61a);var _0x261f1d=util[_0x3885('0xc7')]('transcript-%d-%s.zip',_0x1d8ac1[_0x3885('0xb2')]['id'],_0x38b61a);var _0x4cee58=path['join'](_0x185b4e,_0x261f1d);var _0x3d94dd=[];_0x3d94dd['push']({'model':db[_0x3885('0x6d')],'as':_0x3885('0x6d'),'attributes':['id',_0x3885('0x2f')],'raw':!![]});_0x3d94dd[_0x3885('0x34')]({'model':db[_0x3885('0xc8')],'as':'Contact','attributes':['id',_0x3885('0xc9'),'lastName'],'raw':!![]});if(_0x1d8ac1[_0x3885('0x3b')]['attachments']){_0x3d94dd[_0x3885('0x34')]({'model':db[_0x3885('0xca')],'as':'Attachment','raw':!![]});}var _0x5c3c29=[{'model':db[_0x3885('0xb8')],'as':_0x3885('0xcb'),'attributes':['id',_0x3885('0x71'),_0x3885('0x76'),_0x3885('0xcc'),_0x3885('0xcd'),_0x3885('0x7d')],'include':_0x3d94dd}];_0x5c3c29[_0x3885('0x34')]({'model':db[_0x3885('0xce')],'as':_0x3885('0xcf'),'attributes':['id','name']});_0x5c3c29['push']({'model':db[_0x3885('0x6d')],'as':_0x3885('0xd0'),'attributes':['id',_0x3885('0x2f')]});return db[_0x3885('0x37')]['find']({'where':{'id':_0x1d8ac1[_0x3885('0xb2')]['id']},'include':_0x5c3c29})[_0x3885('0x29')](handleEntityNotFound(_0x46f7d1,null))[_0x3885('0x29')](function(_0xcb0101){if(_0xcb0101){var _0x2c50bc=_0xcb0101['get']({'plain':!![]});fs['mkdirSync'](_0xd672c0);var _0x1c2d70={'format':'A4','border':_0x3885('0xd1'),'header':{'height':_0x3885('0xd2'),'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':_0x3885('0xd3'),'contents':{'default':util[_0x3885('0xc7')](_0x3885('0xd4'),util[_0x3885('0xc7')](_0x3885('0xd5'),_0x3885('0xd6'),_0x2c50bc['id']),moment()[_0x3885('0xc7')](_0x3885('0xd7'))[_0x3885('0x95')]())}}};var _0x1387b9={'channel':_0x3885('0xd6'),'account':_0x2c50bc[_0x3885('0xcf')][_0x3885('0x2c')],'agent':_0x2c50bc['Owner']?_0x2c50bc[_0x3885('0xd0')]['fullname']:_0x3885('0xd8'),'createdAt':moment(_0x2c50bc['createdAt'])[_0x3885('0xc7')](_0x3885('0xd9'))[_0x3885('0x95')](),'closedAt':_0x2c50bc[_0x3885('0xda')]?moment(_0x2c50bc[_0x3885('0xdb')])[_0x3885('0xc7')](_0x3885('0xd9'))[_0x3885('0x95')]():'','disposition':_0x2c50bc['disposition'],'visibility':_0x2c50bc[_0x3885('0xdc')]?_0x3885('0xdd'):_0x3885('0xde'),'messages':_(_0x2c50bc['Messages'])['filter']({'secret':![]})['map'](function(_0x51bf41){if(_0x51bf41[_0x3885('0xca')]){var _0xfd60ac=path['join'](_0x33011a,_0x51bf41['Attachment'][_0x3885('0xdf')]);if(fs['existsSync'](_0xfd60ac)){fs[_0x3885('0xe0')](_0xfd60ac)[_0x3885('0xe1')](fs[_0x3885('0xe2')](path[_0x3885('0xc1')](_0xd672c0,_0x51bf41['Attachment']['basename'])));}}return{'date':moment(_0x51bf41[_0x3885('0x76')])[_0x3885('0xc7')]('YYYY-MM-DD\x20HH:mm:ss')[_0x3885('0x95')](),'sender':_0x51bf41['direction']==='out'?_0x51bf41[_0x3885('0x6d')]?_0x51bf41[_0x3885('0x6d')][_0x3885('0x2f')]:_0x3885('0xe3'):_0x51bf41[_0x3885('0xe4')][_0x3885('0xc9')]+(_0x51bf41['Contact'][_0x3885('0xe5')]?'\x20'+_0x51bf41['Contact'][_0x3885('0xe5')]:''),'body':_0x51bf41['Attachment']?_0x51bf41[_0x3885('0xca')]['basename']:_0x51bf41[_0x3885('0x71')],'direction':_0x51bf41[_0x3885('0xcc')]===_0x3885('0xe6')?'A':'C','secret':_0x51bf41['secret'],'read':_0x51bf41[_0x3885('0x7d')],'attachment':_0x51bf41[_0x3885('0xca')]};})['value']()};return ejs['renderFile'](path[_0x3885('0xc1')](config[_0x3885('0xc2')],_0x3885('0xc3'),_0x3885('0xe7'),_0x3885('0xe8')),{'interaction':_0x1387b9})[_0x3885('0x29')](function(_0x58a9ef){return new BPromise(function(_0x43ec26,_0x28210d){pdf[_0x3885('0xb1')](_0x58a9ef,_0x1c2d70)[_0x3885('0xe9')](path[_0x3885('0xc1')](_0xd672c0,'transcript-'+_0x2c50bc['id']+'-'+_0x38b61a+_0x3885('0xea')),function(_0x39907f,_0x140540){if(_0x39907f)return _0x28210d(_0x39907f);_0x43ec26(_0x140540);});});})['then'](function(){return new BPromise(function(_0x57a4ee,_0x5e146c){zipdir(_0xd672c0,{'saveTo':_0x4cee58},function(_0x3cbaef,_0xc21b17){if(_0x3cbaef)return _0x5e146c(_0x3cbaef);return _0x57a4ee(_0xc21b17);});})[_0x3885('0x29')](function(){return new BPromise(function(_0x2589c4,_0x454cd1){rimraf(_0xd672c0,function(_0x6aabcf){if(_0x6aabcf)_0x454cd1(_0x6aabcf);return _0x2589c4();});});})[_0x3885('0x29')](function(){return _0x46f7d1[_0x3885('0xc0')](_0x4cee58,_0x261f1d,function(_0x1a5e16){if(_0x1a5e16){console['log'](_0x3885('0xeb'),_0x1a5e16);}else{fs[_0x3885('0xec')](_0x4cee58);}});});});}else{return _0x46f7d1[_0x3885('0x1f')](0xc8);}})[_0x3885('0x35')](handleError(_0x46f7d1,null));};