71740c470369471d8d39897a1cf285ed0a98fa82
[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 _0x31d7=['openchannel_accounts','openchannel_messages','me.OpenchannelInteractionId\x20=\x20i.id','openchannel_interaction_has_tags','it.OpenchannelInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','length','find','unreadMessages','`\x20=\x200','having','`\x20>\x200','Contact','operator','$substring','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','type','text','start','split','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','compact','isEmpty','OpenchannelAccountId','where','i.OpenchannelAccountId\x20IN\x20?','concat','createdAt','parse','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.from\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','t.id\x20IN\x20?','resolve','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','user','role','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','agent','toString','count','sequelize','merge','OpenchannelInteraction','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20i.from\x20IS\x20NOT\x20NULL\x20AND\x20i.from\x20<>\x20\x27\x27\x20THEN\x20i.from\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','Contact.firstName','Contact.lastName','c.email','Contact.email','c.phone','c.mobile','Contact.mobile','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','OpenchannelInteractionId','all','rows','show','params','includeAll','include','create','body','update','describe','addMessage','omit','ids','hasOwnProperty','$gte','format','YYYY-MM-DD\x20HH:mm:ss','OpenchannelMessage','findAll','addTags','spread','emit','openchannelInteractionTags:save','removeTags','download','unix','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','fullname','firstName','lastName','Attachment','Messages','direction','secret','OpenchannelAccount','Owner','mkdirSync','10px','%s\x20#%d','Openchannel','YYYY-MM-DD','Account','N.A.','closed','threadId','Public','basename','existsSync','createReadStream','pipe','createWriteStream','renderFile','views','downloadInteraction.html','toFile','transcript-','.pdf','log','unlinkSync','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./openchannelInteraction.socket','register','sendStatus','status','end','json','offset','limit','Content-Range','apply','reject','save','destroy','then','error','stack','name','send','Users','map','TagIds','Tags','push','catch','index','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','sort','pick','field','color','tools_tags','select','u.id','u.fullname','user_has_openchannel_interactions','left_join','u.id\x20=\x20ui.UserId','from','openchannel_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId'];(function(_0xc4ea75,_0x273753){var _0x52ea5e=function(_0x1ee872){while(--_0x1ee872){_0xc4ea75['push'](_0xc4ea75['shift']());}};_0x52ea5e(++_0x273753);}(_0x31d7,0x194));var _0x731d=function(_0x34e52c,_0xee325a){_0x34e52c=_0x34e52c-0x0;var _0x9c1d26=_0x31d7[_0x34e52c];return _0x9c1d26;};'use strict';var pdf=require(_0x731d('0x0'));var emlformat=require(_0x731d('0x1'));var rimraf=require(_0x731d('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x731d('0x3'));var rp=require(_0x731d('0x4'));var moment=require(_0x731d('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x731d('0x6'));var util=require('util');var path=require(_0x731d('0x7'));var sox=require(_0x731d('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x731d('0x9'));var squel=require(_0x731d('0xa'));var crypto=require(_0x731d('0xb'));var jsforce=require(_0x731d('0xc'));var deskjs=require(_0x731d('0xd'));var toCsv=require(_0x731d('0xe'));var querystring=require('querystring');var Papa=require(_0x731d('0xf'));var Redis=require(_0x731d('0x10'));var authService=require(_0x731d('0x11'));var qs=require(_0x731d('0x12'));var as=require(_0x731d('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x731d('0x14'))(_0x731d('0x15'));var utils=require(_0x731d('0x16'));var config=require(_0x731d('0x17'));var licenseUtil=require(_0x731d('0x18'));var db=require(_0x731d('0x19'))['db'];config[_0x731d('0x1a')]=_[_0x731d('0x1b')](config[_0x731d('0x1a')],{'host':_0x731d('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x731d('0x1d'))[_0x731d('0x1e')](socket);function respondWithStatusCode(_0x21cb47,_0x2c6f4d){_0x2c6f4d=_0x2c6f4d||0xcc;return function(_0x483a1d){if(_0x483a1d){return _0x21cb47[_0x731d('0x1f')](_0x2c6f4d);}return _0x21cb47[_0x731d('0x20')](_0x2c6f4d)[_0x731d('0x21')]();};}function respondWithResult(_0x5f0ad6,_0x4d65c7){_0x4d65c7=_0x4d65c7||0xc8;return function(_0x474182){if(_0x474182){return _0x5f0ad6[_0x731d('0x20')](_0x4d65c7)[_0x731d('0x22')](_0x474182);}};}function respondWithFilteredResult(_0x35434f,_0x40906b){return function(_0x4919b8){if(_0x4919b8){var _0x2bb368=_0x4919b8['count'],_0x3ed87e=_0x40906b['offset'],_0x3e0e7e=_0x40906b[_0x731d('0x23')]+_0x40906b[_0x731d('0x24')],_0x5d7fed;if(_0x3e0e7e>=_0x2bb368){_0x3e0e7e=_0x2bb368;_0x5d7fed=0xc8;}else{_0x5d7fed=0xce;}_0x35434f[_0x731d('0x20')](_0x5d7fed);return _0x35434f['set'](_0x731d('0x25'),_0x3ed87e+'-'+_0x3e0e7e+'/'+_0x2bb368)[_0x731d('0x22')](_0x4919b8);}return null;};}function patchUpdates(_0x5f1fd7){return function(_0x2971ff){try{jsonpatch[_0x731d('0x26')](_0x2971ff,_0x5f1fd7,!![]);}catch(_0x132b90){return BPromise[_0x731d('0x27')](_0x132b90);}return _0x2971ff[_0x731d('0x28')]();};}function saveUpdates(_0x2d7d30,_0x5a9ac5){return function(_0x171d1d){if(_0x171d1d){return _0x171d1d['update'](_0x2d7d30)['then'](function(_0x3ea6b6){return _0x3ea6b6;});}return null;};}function removeEntity(_0x47f33b,_0x3c3d96){return function(_0x5312ea){if(_0x5312ea){return _0x5312ea[_0x731d('0x29')]()[_0x731d('0x2a')](function(){_0x47f33b[_0x731d('0x20')](0xcc)[_0x731d('0x21')]();});}};}function handleEntityNotFound(_0x53228e,_0x24e780){return function(_0x1274f7){if(!_0x1274f7){_0x53228e[_0x731d('0x1f')](0x194);}return _0x1274f7;};}function handleError(_0x506078,_0x27ca30){_0x27ca30=_0x27ca30||0x1f4;return function(_0x220f84){logger[_0x731d('0x2b')](_0x220f84[_0x731d('0x2c')]);if(_0x220f84[_0x731d('0x2d')]){delete _0x220f84[_0x731d('0x2d')];}_0x506078['status'](_0x27ca30)[_0x731d('0x2e')](_0x220f84);};}function getInteractionUsers(_0x1a2494,_0x46b155){return new BPromise(function(_0x4d54ea,_0x4f7390){try{if(_0x46b155[_0x1a2494['id']]){_0x1a2494[_0x731d('0x2f')]=_[_0x731d('0x30')](_0x46b155[_0x1a2494['id']],function(_0x3503b1){return{'id':_0x3503b1['id'],'fullname':_0x3503b1['fullname']};});}}catch(_0x962a72){_0x4f7390(_0x962a72);}_0x4d54ea(_0x1a2494);});}function getInteractionTags(_0x1ee42d,_0x22a8d4){return new BPromise(function(_0x1cb4b5,_0x2a3d70){try{if(_0x1ee42d[_0x731d('0x31')]){_0x1ee42d[_0x731d('0x32')]=[];_0x1ee42d['TagIds']['split'](',')['forEach'](function(_0x116070){_0x1ee42d[_0x731d('0x32')][_0x731d('0x33')](_0x22a8d4[_0x116070]);});}delete _0x1ee42d['TagIds'];}catch(_0x36f046){_0x2a3d70(_0x36f046);}_0x1cb4b5(_0x1ee42d);});}function updateOpenchannelInteraction(_0x39b50a,_0x37af1a,_0xf10255){return new BPromise(function(_0x1cbed7,_0x1df6c5){return getInteractionUsers(_0x39b50a,_0xf10255)['then'](function(_0x15bdb0){return getInteractionTags(_0x15bdb0,_0x37af1a);})[_0x731d('0x2a')](function(_0x4af311){_0x1cbed7(_0x4af311);})[_0x731d('0x34')](function(_0x34bcae){_0x1df6c5(_0x34bcae);});});}exports[_0x731d('0x35')]=function(_0x2e423c,_0x38cebb){var _0x29a95e={},_0x4d1906={},_0x3e8648={'count':0x0,'rows':[]};var _0x3092c6=_['map'](db['OpenchannelInteraction'][_0x731d('0x36')],function(_0x374307){return{'name':_0x374307[_0x731d('0x37')],'type':_0x374307['type']['key']};});_0x4d1906[_0x731d('0x38')]=_[_0x731d('0x30')](_0x3092c6,_0x731d('0x2d'));_0x4d1906[_0x731d('0x39')]=_[_0x731d('0x3a')](_0x2e423c[_0x731d('0x39')]);_0x4d1906[_0x731d('0x3b')]=_[_0x731d('0x3c')](_0x4d1906['model'],_0x4d1906[_0x731d('0x39')]);_0x29a95e[_0x731d('0x3d')]=_[_0x731d('0x3c')](_0x4d1906[_0x731d('0x38')],qs[_0x731d('0x3e')](_0x2e423c['query'][_0x731d('0x3e')]));_0x29a95e[_0x731d('0x3d')]=_0x29a95e[_0x731d('0x3d')]['length']?_0x29a95e[_0x731d('0x3d')]:_0x4d1906['model'];if(!_0x2e423c[_0x731d('0x39')]['hasOwnProperty']('nolimit')){_0x29a95e[_0x731d('0x24')]=qs[_0x731d('0x24')](_0x2e423c[_0x731d('0x39')][_0x731d('0x24')]);_0x29a95e['offset']=qs[_0x731d('0x23')](_0x2e423c['query']['offset']);}_0x29a95e['order']=qs[_0x731d('0x3f')](_0x2e423c['query'][_0x731d('0x3f')]);_0x29a95e['where']=qs[_0x731d('0x3b')](_[_0x731d('0x40')](_0x2e423c[_0x731d('0x39')],_0x4d1906['filters']),_0x3092c6);var _0x5b101e=[];var _0x1f39bd=squel['select']()[_0x731d('0x41')]('id')['field'](_0x731d('0x2d'))[_0x731d('0x41')](_0x731d('0x42'))['from'](_0x731d('0x43'));var _0x327506=squel[_0x731d('0x44')]()[_0x731d('0x41')](_0x731d('0x45'))['field'](_0x731d('0x46'))[_0x731d('0x41')]('ui.OpenchannelInteractionId')['from'](_0x731d('0x47'),'ui')[_0x731d('0x48')]('users','u',_0x731d('0x49'));var _0x49c357=squel[_0x731d('0x44')]()[_0x731d('0x4a')](_0x731d('0x4b'),'i')['left_join'](_0x731d('0x4c'),'c',_0x731d('0x4d'))[_0x731d('0x48')](_0x731d('0x4e'),'o',_0x731d('0x4f'))['left_join'](_0x731d('0x50'),'a','a.id\x20=\x20i.OpenchannelAccountId')[_0x731d('0x48')](_0x731d('0x51'),'me',_0x731d('0x52'))[_0x731d('0x48')](_0x731d('0x53'),'it',_0x731d('0x54'))[_0x731d('0x48')](_0x731d('0x43'),'t',_0x731d('0x55'));var _0x3db917=squel[_0x731d('0x56')]();var _0x2b2124=[];var _0xec7df8=squel[_0x731d('0x56')]();var _0x53fa5c;if(_0x2e423c['query'][_0x731d('0x57')]){_0x53fa5c=as[_0x731d('0x58')](_0x2e423c[_0x731d('0x39')][_0x731d('0x57')]);var _0xcd8d1b=_0x53fa5c['sqlOperator'];for(var _0x37fca7=0x0;_0x37fca7<_0x53fa5c[_0x731d('0x59')][_0x731d('0x5a')];_0x37fca7++){var _0x55f808=_0x53fa5c[_0x731d('0x59')][_0x37fca7];var _0x3d506b='i';var _0x4eaa6d=_[_0x731d('0x5b')](_0x3092c6,[_0x731d('0x2d'),_0x55f808['field']]);if(!_0x4eaa6d){switch(_0x55f808['field']){case _0x731d('0x5c'):if(_0x55f808['value']==0x1){_0x49c357['having']('`'+_0x55f808[_0x731d('0x41')]+_0x731d('0x5d'));}else{_0x49c357[_0x731d('0x5e')]('`'+_0x55f808[_0x731d('0x41')]+_0x731d('0x5f'));}break;case _0x731d('0x60'):if(_0x55f808[_0x731d('0x61')]===_0x731d('0x62')){if(_0x55f808[_0x731d('0x63')]['split']('\x20')[_0x731d('0x5a')]>0x1){_0x3db917[_0xcd8d1b](_0x731d('0x64'),qs[_0x731d('0x65')](_0x55f808[_0x731d('0x63')]),null);}else{var _0x22d19b='%'+_0x55f808['value']+'%';_0x3db917[_0xcd8d1b](_0x731d('0x66'),_0x22d19b,_0x22d19b,_0x22d19b);}}else{_0x4eaa6d=_[_0x731d('0x5b')](_0x3092c6,[_0x731d('0x2d'),'ContactId']);_0x55f808[_0x731d('0x41')]=_0x731d('0x67');_0x68c4c2=as[_0x731d('0x68')](_0x3d506b,_0x4eaa6d[_0x731d('0x69')],_0x55f808);_0x3db917[_0xcd8d1b](_0x68c4c2[_0x731d('0x6a')],_0x68c4c2[_0x731d('0x63')][_0x731d('0x6b')],_0x68c4c2[_0x731d('0x63')][_0x731d('0x21')]);}break;case'Tag':var _0x25b4e7=_0x55f808['value'][_0x731d('0x6c')](',')['map'](function(_0x14e509){return Number(_0x14e509);});_0x25b4e7[_0x731d('0x6d')](function(_0x4cad7f){_0xec7df8['or'](_0x731d('0x6e'),'%,'+_0x4cad7f+',%');});_0x2b2124=_[_0x731d('0x6f')](_0x2b2124,_0x25b4e7);break;case _0x731d('0x70'):if(_0x55f808[_0x731d('0x61')]==='$substring'){_0x3db917[_0xcd8d1b]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x55f808[_0x731d('0x63')]+'%',null);}else{_0x4eaa6d=_[_0x731d('0x5b')](_0x3092c6,[_0x731d('0x2d'),_0x731d('0x71')]);_0x55f808['field']=_0x731d('0x71');_0x68c4c2=as['buildExpression'](_0x3d506b,_0x4eaa6d[_0x731d('0x69')],_0x55f808);_0x3db917[_0xcd8d1b](_0x68c4c2[_0x731d('0x6a')],_0x68c4c2[_0x731d('0x63')][_0x731d('0x6b')],_0x68c4c2[_0x731d('0x63')]['end']);}break;case'body':_0x68c4c2=as[_0x731d('0x68')]('me',null,_0x55f808);_0x3db917[_0xcd8d1b](_0x68c4c2['text'],_0x68c4c2[_0x731d('0x63')]['start'],_0x68c4c2[_0x731d('0x63')]['end']);break;}}else{var _0x68c4c2=as[_0x731d('0x68')](_0x3d506b,_0x4eaa6d[_0x731d('0x69')],_0x55f808);_0x3db917[_0xcd8d1b](_0x68c4c2[_0x731d('0x6a')],_0x68c4c2[_0x731d('0x63')][_0x731d('0x6b')],_0x68c4c2[_0x731d('0x63')][_0x731d('0x21')]);}}}else{var _0xdfa6cc=_(_0x2e423c[_0x731d('0x39')])['keys']()['map'](function(_0x4b5b11){return _['some'](_0x3092c6,['name',_0x4b5b11])?_0x4b5b11:undefined;})[_0x731d('0x72')]()[_0x731d('0x63')]();if(!_[_0x731d('0x73')](_0xdfa6cc)){_0xdfa6cc[_0x731d('0x6d')](function(_0xf1dab8){if(_0xf1dab8===_0x731d('0x74')){_0x49c357[_0x731d('0x75')](_0x731d('0x76'),[][_0x731d('0x77')](_0x2e423c['query'][_0xf1dab8]));}else if(_0xf1dab8===_0x731d('0x78')){var _0xde6bf6=JSON[_0x731d('0x79')](_0x2e423c[_0x731d('0x39')][_0xf1dab8])['$gte'];var _0x4763ee=JSON[_0x731d('0x79')](_0x2e423c[_0x731d('0x39')][_0xf1dab8])['$lte'];_0x49c357[_0x731d('0x75')](_0x731d('0x7a'),_0xde6bf6,_0x4763ee);}else{if(_0x2e423c[_0x731d('0x39')][_0xf1dab8]==='null'){_0x49c357[_0x731d('0x75')]('i.'+_0xf1dab8+_0x731d('0x7b'));}else{_0x49c357['where']('i.'+_0xf1dab8+_0x731d('0x7c'),_0x2e423c[_0x731d('0x39')][_0xf1dab8]);}}});}if(_0x2e423c[_0x731d('0x39')][_0x731d('0x7d')]){if(_0x2e423c[_0x731d('0x39')][_0x731d('0x7d')]==0x1){_0x49c357['having']('`unreadMessages`\x20=\x200');}else{_0x49c357[_0x731d('0x5e')](_0x731d('0x7e'));}}if(_0x2e423c['query']['tag']){_0x2b2124=_[_0x731d('0x7f')](_0x2e423c[_0x731d('0x39')]['tag'])?_0x2e423c[_0x731d('0x39')][_0x731d('0x80')]:new Array(_0x2e423c[_0x731d('0x39')][_0x731d('0x80')]);_0x2b2124[_0x731d('0x6d')](function(_0x59c7ba){_0xec7df8['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x59c7ba+',%');});}if(_0x2e423c[_0x731d('0x39')][_0x731d('0x81')]){var _0x22dbf0=_0x2e423c[_0x731d('0x39')][_0x731d('0x81')][_0x731d('0x82')]('\x5c','\x5c\x5c')[_0x731d('0x82')](/'/g,'\x27\x27');if(qs[_0x731d('0x83')](_0x22dbf0)){_0x3db917['or']('i.id\x20LIKE\x20?',_0x22dbf0+'%');}else{_0x3db917['or'](_0x731d('0x84'),qs['getFullTextValue'](_0x22dbf0))['or'](_0x731d('0x85'),_0x22dbf0+'%')['or'](_0x731d('0x86'),_0x22dbf0+'%');}}}_0x49c357[_0x731d('0x75')](_0x3db917);_0x49c357[_0x731d('0x87')](_0x731d('0x88'));var _0x55dece={'type':db[_0x731d('0x89')][_0x731d('0x8a')][_0x731d('0x8b')],'raw':!![]};var _0x371403=_0x49c357[_0x731d('0x8c')]();_0x371403[_0x731d('0x41')]('i.id');_0x371403[_0x731d('0x41')](_0x731d('0x8d'),_0x731d('0x5c'));if(_0x29a95e[_0x731d('0x8e')]){_0x29a95e[_0x731d('0x8e')][_0x731d('0x6d')](function(_0x28de59){var _0x38b7a0=_0x28de59[0x0]===_0x731d('0x8f')?_0x28de59[0x0]:'i.'+_0x28de59[0x0];_0x49c357[_0x731d('0x8e')](_0x38b7a0,_0x28de59[0x1]===_0x731d('0x90')?![]:!![]);});}if(!_[_0x731d('0x73')](_0x2b2124)){_0x49c357[_0x731d('0x5e')](_0xec7df8);_0x371403[_0x731d('0x75')](_0x731d('0x91'),_0x2b2124);}BPromise[_0x731d('0x92')]()[_0x731d('0x2a')](function(){if(!_0x53fa5c){if(_0x2e423c[_0x731d('0x39')][_0x731d('0x74')])return;_0x371403[_0x731d('0x75')](_0x731d('0x93'));_0x49c357[_0x731d('0x75')](_0x731d('0x93'));return;}if(_0x2e423c[_0x731d('0x94')][_0x731d('0x95')]!=='agent')return;return _0x2e423c[_0x731d('0x94')][_0x731d('0x96')]({'attributes':['id'],'raw':!![]})[_0x731d('0x2a')](function(_0x2a86ec){if(_[_0x731d('0x73')](_0x2a86ec)){_0x371403[_0x731d('0x75')]('i.OpenchannelAccountId\x20IS\x20NULL');_0x49c357[_0x731d('0x75')](_0x731d('0x97'));}else{_0x371403[_0x731d('0x75')](_0x731d('0x76'),_[_0x731d('0x30')](_0x2a86ec,'id'));_0x49c357[_0x731d('0x75')](_0x731d('0x76'),_['map'](_0x2a86ec,'id'));}});})[_0x731d('0x2a')](function(){if(_0x2e423c['user'][_0x731d('0x95')]===_0x731d('0x98')&&!_0x53fa5c&&!_0x2e423c[_0x731d('0x39')][_0x731d('0x74')])return[];return db['sequelize'][_0x731d('0x39')](_0x371403[_0x731d('0x99')](),_0x55dece);})[_0x731d('0x2a')](function(_0x2a4644){_0x3e8648['count']=_0x2a4644[_0x731d('0x5a')];if(_0x3e8648[_0x731d('0x9a')]===0x0)return[];return db[_0x731d('0x9b')][_0x731d('0x39')](_0x1f39bd[_0x731d('0x99')](),_0x55dece)[_0x731d('0x2a')](function(_0x8590e){_0x5b101e=_['keyBy'](_0x8590e,'id');_0x55dece=_[_0x731d('0x9c')](_0x55dece,{'model':db[_0x731d('0x9d')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2e423c[_0x731d('0x39')]['fields']){_0x29a95e[_0x731d('0x3d')]['forEach'](function(_0x4f6a04){_0x49c357[_0x731d('0x41')]('i.'+_0x4f6a04);});}else{_0x49c357[_0x731d('0x41')](_0x731d('0x8d'),_0x731d('0x5c'));_0x49c357[_0x731d('0x41')](_0x731d('0x9e'),_0x731d('0x9f'));_0x49c357[_0x731d('0x41')](_0x731d('0xa0'),_0x731d('0xa1'));_0x49c357[_0x731d('0x41')](_0x731d('0xa2'),_0x731d('0x8f'));_0x49c357[_0x731d('0x41')](_0x731d('0xa3'));_0x49c357['field']('c.firstName',_0x731d('0xa4'));_0x49c357['field']('c.lastName',_0x731d('0xa5'));_0x49c357[_0x731d('0x41')](_0x731d('0xa6'),_0x731d('0xa7'));_0x49c357[_0x731d('0x41')](_0x731d('0xa8'),'Contact.phone');_0x49c357[_0x731d('0x41')](_0x731d('0xa9'),_0x731d('0xaa'));_0x49c357[_0x731d('0x41')]('c.fax','Contact.fax');_0x49c357[_0x731d('0x41')](_0x731d('0xab'),_0x731d('0xac'));_0x49c357['field'](_0x731d('0xad'),_0x731d('0xae'));_0x49c357['field'](_0x731d('0xaf'),_0x731d('0x31'));}if(_0x29a95e[_0x731d('0x24')])_0x49c357[_0x731d('0x24')](_0x29a95e[_0x731d('0x24')]);if(_0x29a95e[_0x731d('0x23')])_0x49c357[_0x731d('0x23')](_0x29a95e[_0x731d('0x23')]);return db[_0x731d('0x9b')][_0x731d('0x39')](_0x49c357[_0x731d('0x99')](),_0x55dece);})['then'](function(_0x138edc){_0x327506[_0x731d('0x75')]('ui.OpenchannelInteractionId\x20IN\x20?',_['map'](_0x138edc,'id'));return db[_0x731d('0x9b')][_0x731d('0x39')](_0x327506[_0x731d('0x99')](),_0x55dece)[_0x731d('0x2a')](function(_0x4cfaff){var _0x461b45=_['groupBy'](_0x4cfaff,_0x731d('0xb0'));var _0x311b40=[];_0x138edc[_0x731d('0x6d')](function(_0x14c367){_0x311b40[_0x731d('0x33')](updateOpenchannelInteraction(_0x14c367,_0x5b101e,_0x461b45));});return BPromise[_0x731d('0xb1')](_0x311b40);});});})[_0x731d('0x2a')](function(_0x4eedfd){_0x3e8648[_0x731d('0xb2')]=_0x4eedfd;return _0x3e8648;})['then'](respondWithFilteredResult(_0x38cebb,_0x29a95e))[_0x731d('0x34')](handleError(_0x38cebb,null));};exports[_0x731d('0xb3')]=function(_0x477a9d,_0x46239d){var _0x212034={};if(_0x477a9d[_0x731d('0x39')]['type']&&_0x477a9d[_0x731d('0x39')][_0x731d('0x69')]===_0x731d('0x4a')){_0x212034[_0x731d('0x4a')]=_0x477a9d['params']['id'];}else{_0x212034['id']=_0x477a9d[_0x731d('0xb4')]['id'];}var _0x1f2706={'raw':![],'where':_0x212034},_0x2a31ea={};_0x2a31ea['model']=_['keys'](db[_0x731d('0x9d')]['rawAttributes']);_0x2a31ea['query']=_['keys'](_0x477a9d['query']);_0x2a31ea['filters']=_['intersection'](_0x2a31ea[_0x731d('0x38')],_0x2a31ea['query']);_0x1f2706[_0x731d('0x3d')]=_[_0x731d('0x3c')](_0x2a31ea[_0x731d('0x38')],qs['fields'](_0x477a9d[_0x731d('0x39')][_0x731d('0x3e')]));_0x1f2706[_0x731d('0x3d')]=_0x1f2706[_0x731d('0x3d')]['length']?_0x1f2706['attributes']:_0x2a31ea[_0x731d('0x38')];if(_0x477a9d[_0x731d('0x39')][_0x731d('0xb5')]){_0x1f2706[_0x731d('0xb6')]=[{'all':!![]}];}_0x1f2706=_[_0x731d('0x9c')]({},_0x1f2706,_0x477a9d['options']);return db[_0x731d('0x9d')]['find'](_0x1f2706)[_0x731d('0x2a')](handleEntityNotFound(_0x46239d,null))[_0x731d('0x2a')](respondWithResult(_0x46239d,null))[_0x731d('0x34')](handleError(_0x46239d,null));};exports[_0x731d('0xb7')]=function(_0x18429b,_0x268e48){return db['OpenchannelInteraction']['create'](_0x18429b[_0x731d('0xb8')],{})[_0x731d('0x2a')](respondWithResult(_0x268e48,0xc9))[_0x731d('0x34')](handleError(_0x268e48,null));};exports[_0x731d('0xb9')]=function(_0x4cd6fe,_0xbb10d7){if(_0x4cd6fe[_0x731d('0xb8')]['id']){delete _0x4cd6fe['body']['id'];}return db[_0x731d('0x9d')][_0x731d('0x5b')]({'where':{'id':_0x4cd6fe['params']['id']}})[_0x731d('0x2a')](handleEntityNotFound(_0xbb10d7,null))[_0x731d('0x2a')](saveUpdates(_0x4cd6fe[_0x731d('0xb8')],null))[_0x731d('0x2a')](respondWithResult(_0xbb10d7,null))['catch'](handleError(_0xbb10d7,null));};exports[_0x731d('0x29')]=function(_0x35770d,_0x482d65){return db[_0x731d('0x9d')][_0x731d('0x5b')]({'where':{'id':_0x35770d[_0x731d('0xb4')]['id']}})[_0x731d('0x2a')](handleEntityNotFound(_0x482d65,null))['then'](removeEntity(_0x482d65,null))[_0x731d('0x34')](handleError(_0x482d65,null));};exports[_0x731d('0xba')]=function(_0x114008,_0x363fcd){return db['OpenchannelInteraction'][_0x731d('0xba')]()[_0x731d('0x2a')](respondWithResult(_0x363fcd,null))[_0x731d('0x34')](handleError(_0x363fcd,null));};exports[_0x731d('0xbb')]=function(_0x417f41,_0x20fbda,_0x6758ce){return db['OpenchannelMessage'][_0x731d('0x5b')]({'where':{'id':_0x417f41[_0x731d('0xb4')]['id']}})['then'](handleEntityNotFound(_0x20fbda,null))['then'](function(_0x4e4879){if(_0x4e4879){return _0x4e4879[_0x731d('0xbb')](_0x417f41[_0x731d('0xb8')]['ids'],_[_0x731d('0xbc')](_0x417f41[_0x731d('0xb8')],[_0x731d('0xbd'),'id'])||{});}})[_0x731d('0x2a')](respondWithResult(_0x20fbda,null))[_0x731d('0x34')](handleError(_0x20fbda,null));};exports['getMessages']=function(_0x261070,_0xec9bf9,_0x4128d7){var _0x3ff3af={'raw':![],'where':{}};var _0x326719={};var _0x160ec1={'count':0x0,'rows':[]};return db[_0x731d('0x9d')]['findOne']({'where':{'id':_0x261070[_0x731d('0xb4')]['id']}})[_0x731d('0x2a')](handleEntityNotFound(_0xec9bf9,null))[_0x731d('0x2a')](function(_0x45e8cf){if(_0x45e8cf){_0x326719[_0x731d('0x38')]=_['keys'](db['OpenchannelMessage'][_0x731d('0x36')]);_0x326719[_0x731d('0x39')]=_[_0x731d('0x3a')](_0x261070[_0x731d('0x39')]);_0x326719[_0x731d('0x3b')]=_['intersection'](_0x326719[_0x731d('0x38')],_0x326719[_0x731d('0x39')]);_0x3ff3af[_0x731d('0x3d')]=_[_0x731d('0x3c')](_0x326719['model'],qs[_0x731d('0x3e')](_0x261070['query'][_0x731d('0x3e')]));_0x3ff3af[_0x731d('0x3d')]=_0x3ff3af['attributes'][_0x731d('0x5a')]?_0x3ff3af[_0x731d('0x3d')]:_0x326719[_0x731d('0x38')];if(!_0x261070[_0x731d('0x39')][_0x731d('0xbe')]('nolimit')){_0x3ff3af['limit']=qs[_0x731d('0x24')](_0x261070[_0x731d('0x39')][_0x731d('0x24')]);_0x3ff3af['offset']=qs[_0x731d('0x23')](_0x261070['query'][_0x731d('0x23')]);}_0x3ff3af['order']=qs['sort'](_0x261070['query'][_0x731d('0x3f')]);_0x3ff3af['where']=qs[_0x731d('0x3b')](_[_0x731d('0x40')](_0x261070[_0x731d('0x39')],_0x326719[_0x731d('0x3b')]));_0x3ff3af[_0x731d('0x75')][_0x731d('0xb0')]=_0x45e8cf['id'];if(_0x261070['query'][_0x731d('0x81')]){_0x3ff3af[_0x731d('0x75')]=_[_0x731d('0x9c')](_0x3ff3af[_0x731d('0x75')],{'$or':_[_0x731d('0x30')](_0x3ff3af[_0x731d('0x3d')],function(_0x502521){var _0x14aee2={};_0x14aee2[_0x502521]={'$like':'%'+_0x261070[_0x731d('0x39')][_0x731d('0x81')]+'%'};return _0x14aee2;})});}if(_0x261070[_0x731d('0x39')][_0x731d('0xbf')]){var _0x48e66a=_0x261070[_0x731d('0x39')][_0x731d('0xbf')][_0x731d('0x6c')](',');var _0x49e955={};_0x49e955[_0x48e66a[0x0]]={'$gte':moment(_0x48e66a[0x1])[_0x731d('0xc0')](_0x731d('0xc1'))};_0x3ff3af[_0x731d('0x75')]=_[_0x731d('0x9c')](_0x3ff3af[_0x731d('0x75')],_0x49e955);}_0x3ff3af=_[_0x731d('0x9c')]({},_0x3ff3af,_0x261070['options']);return db[_0x731d('0xc2')][_0x731d('0x9a')]({'where':_0x3ff3af['where']})['then'](function(_0x3858ee){_0x160ec1[_0x731d('0x9a')]=_0x3858ee;if(_0x261070[_0x731d('0x39')][_0x731d('0xb5')]){_0x3ff3af[_0x731d('0xb6')]=[{'all':!![]}];}return db['OpenchannelMessage'][_0x731d('0xc3')](_0x3ff3af);})['then'](function(_0x5d8db0){_0x160ec1['rows']=_0x5d8db0;return _0x160ec1;});}})[_0x731d('0x2a')](respondWithFilteredResult(_0xec9bf9,_0x3ff3af))[_0x731d('0x34')](handleError(_0xec9bf9,null));};exports[_0x731d('0xc4')]=function(_0x57ca04,_0x4e8896,_0x3364e0){return db[_0x731d('0x9d')][_0x731d('0x5b')]({'where':{'id':_0x57ca04['params']['id']}})['then'](handleEntityNotFound(_0x4e8896,null))[_0x731d('0x2a')](function(_0x8c2b33){if(_0x8c2b33){return _0x8c2b33['setTags'](_0x57ca04['body'][_0x731d('0xbd')],_['omit'](_0x57ca04[_0x731d('0xb8')],[_0x731d('0xbd'),'id'])||{})[_0x731d('0xc5')](function(){return db['Tag'][_0x731d('0xc3')]({'attributes':['id','name',_0x731d('0x42')],'where':{'id':_0x57ca04[_0x731d('0xb8')][_0x731d('0xbd')]}});})[_0x731d('0x2a')](function(_0x2ef451){socket[_0x731d('0xc6')](_0x731d('0xc7'),{'id':Number(_0x57ca04[_0x731d('0xb4')]['id']),'tags':_0x2ef451||[]});return{'id':Number(_0x57ca04[_0x731d('0xb4')]['id']),'tags':_0x2ef451||[]};});}})[_0x731d('0x2a')](respondWithResult(_0x4e8896,null))[_0x731d('0x34')](handleError(_0x4e8896,null));};exports[_0x731d('0xc8')]=function(_0x26ebbc,_0x5382c8,_0x89653f){return db[_0x731d('0x9d')][_0x731d('0x5b')]({'where':{'id':_0x26ebbc[_0x731d('0xb4')]['id']}})['then'](handleEntityNotFound(_0x5382c8,null))[_0x731d('0x2a')](function(_0x48df10){if(_0x48df10){return _0x48df10[_0x731d('0xc8')](_0x26ebbc[_0x731d('0x39')]['ids']);}})[_0x731d('0x2a')](respondWithStatusCode(_0x5382c8,null))[_0x731d('0x34')](handleError(_0x5382c8,null));};exports[_0x731d('0xc9')]=function(_0x23dd3e,_0xac67de){var _0x50ffd7=moment()[_0x731d('0xca')]()[_0x731d('0x99')]();var _0x1fa9d1=path[_0x731d('0xcb')](config[_0x731d('0xcc')],_0x731d('0xcd'),_0x731d('0xce'),_0x731d('0xcf'));var _0x53c346=path[_0x731d('0xcb')](config['root'],_0x731d('0xcd'),'files',_0x731d('0xd0'));var _0x325607=path[_0x731d('0xcb')](_0x1fa9d1,_0x50ffd7);var _0x2451bb=util['format'](_0x731d('0xd1'),_0x23dd3e[_0x731d('0xb4')]['id'],_0x50ffd7);var _0x5915a0=path[_0x731d('0xcb')](_0x1fa9d1,_0x2451bb);var _0x5af296=[];_0x5af296[_0x731d('0x33')]({'model':db[_0x731d('0x70')],'as':_0x731d('0x70'),'attributes':['id',_0x731d('0xd2')],'raw':!![]});_0x5af296[_0x731d('0x33')]({'model':db['CmContact'],'as':'Contact','attributes':['id',_0x731d('0xd3'),_0x731d('0xd4')],'raw':!![]});if(_0x23dd3e[_0x731d('0x39')][_0x731d('0xd0')]){_0x5af296[_0x731d('0x33')]({'model':db[_0x731d('0xd5')],'as':_0x731d('0xd5'),'raw':!![]});}var _0x5facc6=[{'model':db[_0x731d('0xc2')],'as':_0x731d('0xd6'),'attributes':['id','body',_0x731d('0x78'),_0x731d('0xd7'),_0x731d('0xd8'),'read'],'include':_0x5af296}];_0x5facc6[_0x731d('0x33')]({'model':db[_0x731d('0xd9')],'as':'Account','attributes':['id',_0x731d('0x2d')]});_0x5facc6[_0x731d('0x33')]({'model':db['User'],'as':_0x731d('0xda'),'attributes':['id',_0x731d('0xd2')]});return db['OpenchannelInteraction'][_0x731d('0x5b')]({'where':{'id':_0x23dd3e[_0x731d('0xb4')]['id']},'include':_0x5facc6})['then'](handleEntityNotFound(_0xac67de,null))[_0x731d('0x2a')](function(_0x2bdec7){if(_0x2bdec7){var _0x537463=_0x2bdec7['get']({'plain':!![]});fs[_0x731d('0xdb')](_0x325607);var _0x48bc7c={'format':'A4','border':_0x731d('0xdc'),'header':{'height':'40px','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['format']('<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[_0x731d('0xc0')](_0x731d('0xdd'),_0x731d('0xde'),_0x537463['id']),moment()['format'](_0x731d('0xdf'))['toString']())}}};var _0x14d69a={'channel':_0x731d('0xde'),'account':_0x537463[_0x731d('0xe0')][_0x731d('0x2d')],'agent':_0x537463['Owner']?_0x537463[_0x731d('0xda')]['fullname']:_0x731d('0xe1'),'createdAt':moment(_0x537463[_0x731d('0x78')])[_0x731d('0xc0')](_0x731d('0xc1'))['toString'](),'closedAt':_0x537463[_0x731d('0xe2')]?moment(_0x537463['closedAt'])[_0x731d('0xc0')]('YYYY-MM-DD\x20HH:mm:ss')['toString']():'','disposition':_0x537463['disposition'],'visibility':_0x537463[_0x731d('0xe3')]?_0x731d('0xe4'):'Private','messages':_(_0x537463[_0x731d('0xd6')])['filter']({'secret':![]})[_0x731d('0x30')](function(_0x4bf41b){if(_0x4bf41b[_0x731d('0xd5')]){var _0x76f45d=path[_0x731d('0xcb')](_0x53c346,_0x4bf41b[_0x731d('0xd5')][_0x731d('0xe5')]);if(fs[_0x731d('0xe6')](_0x76f45d)){fs[_0x731d('0xe7')](_0x76f45d)[_0x731d('0xe8')](fs[_0x731d('0xe9')](path[_0x731d('0xcb')](_0x325607,_0x4bf41b['Attachment'][_0x731d('0xe5')])));}}return{'date':moment(_0x4bf41b[_0x731d('0x78')])[_0x731d('0xc0')](_0x731d('0xc1'))[_0x731d('0x99')](),'sender':_0x4bf41b[_0x731d('0xd7')]==='out'?_0x4bf41b['User']?_0x4bf41b[_0x731d('0x70')][_0x731d('0xd2')]:'System':_0x4bf41b[_0x731d('0x60')][_0x731d('0xd3')]+(_0x4bf41b[_0x731d('0x60')][_0x731d('0xd4')]?'\x20'+_0x4bf41b[_0x731d('0x60')][_0x731d('0xd4')]:''),'body':_0x4bf41b[_0x731d('0xd5')]?_0x4bf41b[_0x731d('0xd5')][_0x731d('0xe5')]:_0x4bf41b['body'],'direction':_0x4bf41b[_0x731d('0xd7')]==='out'?'A':'C','secret':_0x4bf41b[_0x731d('0xd8')],'read':_0x4bf41b[_0x731d('0x7d')],'attachment':_0x4bf41b[_0x731d('0xd5')]};})[_0x731d('0x63')]()};return ejs[_0x731d('0xea')](path['join'](config['root'],_0x731d('0xcd'),_0x731d('0xeb'),_0x731d('0xec')),{'interaction':_0x14d69a})['then'](function(_0x34773a){return new BPromise(function(_0x11a52f,_0x4a69ca){pdf['create'](_0x34773a,_0x48bc7c)[_0x731d('0xed')](path['join'](_0x325607,_0x731d('0xee')+_0x537463['id']+'-'+_0x50ffd7+_0x731d('0xef')),function(_0x4e56b0,_0x328cc1){if(_0x4e56b0)return _0x4a69ca(_0x4e56b0);_0x11a52f(_0x328cc1);});});})['then'](function(){return new BPromise(function(_0x162489,_0x422767){zipdir(_0x325607,{'saveTo':_0x5915a0},function(_0x21cda0,_0xee3f37){if(_0x21cda0)return _0x422767(_0x21cda0);return _0x162489(_0xee3f37);});})[_0x731d('0x2a')](function(){return new BPromise(function(_0x3b9e34,_0x1d1818){rimraf(_0x325607,function(_0x495c74){if(_0x495c74)_0x1d1818(_0x495c74);return _0x3b9e34();});});})[_0x731d('0x2a')](function(){return _0xac67de[_0x731d('0xc9')](_0x5915a0,_0x2451bb,function(_0x16b191){if(_0x16b191){console[_0x731d('0xf0')]('err',_0x16b191);}else{fs[_0x731d('0xf1')](_0x5915a0);}});});});}else{return _0xac67de[_0x731d('0x1f')](0xc8);}})['catch'](handleError(_0xac67de,null));};