Built motion from commit 85328c08.|2.5.50
[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 _0xf21c=['socket.io-emitter','./openchannelInteraction.socket','end','status','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update','sendStatus','name','map','fullname','TagIds','forEach','Tags','push','then','catch','answered','unmanaged','closed','UserId','talking','waiting','total','index','OpenchannelInteraction','fieldName','type','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','where','pick','field','color','from','select','u.id','u.fullname','ui.OpenchannelInteractionId','user_has_openchannel_interactions','users','u.id\x20=\x20ui.UserId','openchannel_interactions','left_join','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','openchannel_accounts','a.id\x20=\x20i.OpenchannelAccountId','me.OpenchannelInteractionId\x20=\x20i.id','openchannel_interaction_has_tags','it.OpenchannelInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','sqlOperator','conditions','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','value','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','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?','some','isEmpty','OpenchannelAccountId','i.OpenchannelAccountId\x20IN\x20?','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20=\x20?','read','`unreadMessages`\x20=\x200','having','`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?','i.id','QueryTypes','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','t.id\x20IN\x20?','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','sequelize','toString','merge','unreadMessages','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','contactName','i.*','c.firstName','Contact.firstName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','o.fullname','Owner.fullname','ui.OpenchannelInteractionId\x20IN\x20?','groupBy','OpenchannelInteractionId','all','show','params','include','options','body','destroy','describe','addMessage','OpenchannelMessage','ids','omit','findOne','rawAttributes','sort','format','YYYY-MM-DD\x20HH:mm:ss','findAll','rows','setTags','emit','openchannelInteractionTags:save','unix','join','server','files','attachments','transcript-%d-%s.zip','CmContact','firstName','Attachment','Messages','direction','secret','OpenchannelAccount','Account','Owner','get','N.A.','closedAt','threadId','Public','Private','basename','existsSync','pipe','out','lastName','renderFile','root','views','downloadInteraction.ejs','transcript-','.pdf','Openchannel','createPdfFromHTML','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost'];(function(_0x27f941,_0x5bc3ca){var _0x556660=function(_0x367d81){while(--_0x367d81){_0x27f941['push'](_0x27f941['shift']());}};_0x556660(++_0x5bc3ca);}(_0xf21c,0x1bf));var _0xcf21=function(_0x1927dc,_0x235225){_0x1927dc=_0x1927dc-0x0;var _0x4882dc=_0xf21c[_0x1927dc];return _0x4882dc;};'use strict';var emlformat=require(_0xcf21('0x0'));var rimraf=require(_0xcf21('0x1'));var zipdir=require(_0xcf21('0x2'));var jsonpatch=require(_0xcf21('0x3'));var rp=require(_0xcf21('0x4'));var moment=require(_0xcf21('0x5'));var BPromise=require(_0xcf21('0x6'));var Mustache=require(_0xcf21('0x7'));var util=require(_0xcf21('0x8'));var path=require('path');var sox=require(_0xcf21('0x9'));var csv=require(_0xcf21('0xa'));var ejs=require(_0xcf21('0xb'));var fs=require('fs');var fs_extra=require(_0xcf21('0xc'));var _=require(_0xcf21('0xd'));var squel=require(_0xcf21('0xe'));var crypto=require('crypto');var jsforce=require(_0xcf21('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xcf21('0xa'));var querystring=require(_0xcf21('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var pdf=require('../../components/export/pdf');var hardwareService=require(_0xcf21('0x11'));var logger=require(_0xcf21('0x12'))(_0xcf21('0x13'));var utils=require(_0xcf21('0x14'));var config=require(_0xcf21('0x15'));var licenseUtil=require(_0xcf21('0x16'));var db=require(_0xcf21('0x17'))['db'];config[_0xcf21('0x18')]=_[_0xcf21('0x19')](config['redis'],{'host':_0xcf21('0x1a'),'port':0x18eb});var socket=require(_0xcf21('0x1b'))(new Redis(config[_0xcf21('0x18')]));require(_0xcf21('0x1c'))['register'](socket);function respondWithStatusCode(_0x3843d5,_0x49e939){_0x49e939=_0x49e939||0xcc;return function(_0x16394f){if(_0x16394f){return _0x3843d5['sendStatus'](_0x49e939);}return _0x3843d5['status'](_0x49e939)[_0xcf21('0x1d')]();};}function respondWithResult(_0x5b22fd,_0x4437aa){_0x4437aa=_0x4437aa||0xc8;return function(_0xa6a939){if(_0xa6a939){return _0x5b22fd[_0xcf21('0x1e')](_0x4437aa)[_0xcf21('0x1f')](_0xa6a939);}};}function respondWithFilteredResult(_0x467227,_0x5727e2){return function(_0x41e068){if(_0x41e068){var _0x4d7957=typeof _0x5727e2['offset']===_0xcf21('0x20')&&typeof _0x5727e2['limit']===_0xcf21('0x20');var _0x55249b=_0x41e068[_0xcf21('0x21')];var _0x62fafc=_0x4d7957?0x0:_0x5727e2['offset'];var _0x1561ad=_0x4d7957?_0x41e068[_0xcf21('0x21')]:_0x5727e2[_0xcf21('0x22')]+_0x5727e2[_0xcf21('0x23')];var _0x1a8850;if(_0x1561ad>=_0x55249b){_0x1561ad=_0x55249b;_0x1a8850=0xc8;}else{_0x1a8850=0xce;}_0x467227[_0xcf21('0x1e')](_0x1a8850);return _0x467227[_0xcf21('0x24')](_0xcf21('0x25'),_0x62fafc+'-'+_0x1561ad+'/'+_0x55249b)[_0xcf21('0x1f')](_0x41e068);}return null;};}function patchUpdates(_0x1beee8){return function(_0x59d6c4){try{jsonpatch[_0xcf21('0x26')](_0x59d6c4,_0x1beee8,!![]);}catch(_0x22d2c7){return BPromise[_0xcf21('0x27')](_0x22d2c7);}return _0x59d6c4[_0xcf21('0x28')]();};}function saveUpdates(_0x3c7578,_0x23cc23){return function(_0x594ae7){if(_0x594ae7){return _0x594ae7[_0xcf21('0x29')](_0x3c7578)['then'](function(_0xc015a7){return _0xc015a7;});}return null;};}function removeEntity(_0x1559c5,_0x330630){return function(_0xec8306){if(_0xec8306){return _0xec8306['destroy']()['then'](function(){_0x1559c5['status'](0xcc)[_0xcf21('0x1d')]();});}};}function handleEntityNotFound(_0xe69640,_0x4e9846){return function(_0x126e76){if(!_0x126e76){_0xe69640[_0xcf21('0x2a')](0x194);}return _0x126e76;};}function handleError(_0x16ce63,_0x102f31){_0x102f31=_0x102f31||0x1f4;return function(_0x4d78df){logger['error'](_0x4d78df['stack']);if(_0x4d78df[_0xcf21('0x2b')]){delete _0x4d78df[_0xcf21('0x2b')];}_0x16ce63['status'](_0x102f31)['send'](_0x4d78df);};}function getInteractionUsers(_0x4487f9,_0x5b5bc0){return new BPromise(function(_0x3390bb,_0x1408a4){try{if(_0x5b5bc0[_0x4487f9['id']]){_0x4487f9['Users']=_[_0xcf21('0x2c')](_0x5b5bc0[_0x4487f9['id']],function(_0x1ddfba){return{'id':_0x1ddfba['id'],'fullname':_0x1ddfba[_0xcf21('0x2d')]};});}}catch(_0x39d143){_0x1408a4(_0x39d143);}_0x3390bb(_0x4487f9);});}function getInteractionTags(_0x327995,_0x21e487){return new BPromise(function(_0xf14783,_0x42f239){try{if(_0x327995[_0xcf21('0x2e')]){_0x327995['Tags']=[];_0x327995[_0xcf21('0x2e')]['split'](',')[_0xcf21('0x2f')](function(_0x207dc7){_0x327995[_0xcf21('0x30')][_0xcf21('0x31')](_0x21e487[_0x207dc7]);});}delete _0x327995[_0xcf21('0x2e')];}catch(_0x34c280){_0x42f239(_0x34c280);}_0xf14783(_0x327995);});}function updateOpenchannelInteraction(_0x28646d,_0x1482b8,_0x4b1ad7){return new BPromise(function(_0x4a83cc,_0x539102){return getInteractionUsers(_0x28646d,_0x4b1ad7)[_0xcf21('0x32')](function(_0x17044){return getInteractionTags(_0x17044,_0x1482b8);})[_0xcf21('0x32')](function(_0x19291b){return getStateInteraction(_0x19291b);})['then'](function(_0x5933f3){_0x4a83cc(_0x5933f3);})[_0xcf21('0x33')](function(_0x36ec4a){_0x539102(_0x36ec4a);});});}function getStateInteraction(_0x4f18fa){return new BPromise(function(_0x343485){_0x4f18fa['waiting']=0x0;_0x4f18fa['talking']=0x0;_0x4f18fa[_0xcf21('0x34')]=0x0;_0x4f18fa[_0xcf21('0x35')]=0x0;_0x4f18fa['total']=0x0;if(!_0x4f18fa[_0xcf21('0x36')]&&!_0x4f18fa[_0xcf21('0x37')]){_0x4f18fa['waiting']+=0x1;}if(!_0x4f18fa['closed']&&_0x4f18fa[_0xcf21('0x37')]){_0x4f18fa[_0xcf21('0x38')]+=0x1;if(_0x4f18fa[_0xcf21('0x39')]){_0x4f18fa[_0xcf21('0x39')]-=0x1;}}if(_0x4f18fa[_0xcf21('0x36')]&&_0x4f18fa['UserId']){_0x4f18fa[_0xcf21('0x34')]+=0x1;if(_0x4f18fa['talking']){_0x4f18fa[_0xcf21('0x38')]-=0x1;}}if(_0x4f18fa[_0xcf21('0x36')]&&!_0x4f18fa[_0xcf21('0x37')]){_0x4f18fa[_0xcf21('0x35')]+=0x1;if(_0x4f18fa[_0xcf21('0x39')]){_0x4f18fa[_0xcf21('0x39')]-=0x1;}}_0x4f18fa[_0xcf21('0x3a')]+=0x1;_0x343485(_0x4f18fa);});}exports[_0xcf21('0x3b')]=function(_0x2d18cd,_0x40d0b6){var _0x47cd02={},_0x501865={},_0x388e26={'count':0x0,'rows':[]};var _0x58a00f=_[_0xcf21('0x2c')](db[_0xcf21('0x3c')]['rawAttributes'],function(_0x5cce79){return{'name':_0x5cce79[_0xcf21('0x3d')],'type':_0x5cce79[_0xcf21('0x3e')]['key']};});_0x501865[_0xcf21('0x3f')]=_[_0xcf21('0x2c')](_0x58a00f,_0xcf21('0x2b'));_0x501865['query']=_[_0xcf21('0x40')](_0x2d18cd[_0xcf21('0x41')]);_0x501865[_0xcf21('0x42')]=_['intersection'](_0x501865[_0xcf21('0x3f')],_0x501865['query']);_0x47cd02[_0xcf21('0x43')]=_[_0xcf21('0x44')](_0x501865[_0xcf21('0x3f')],qs[_0xcf21('0x45')](_0x2d18cd[_0xcf21('0x41')][_0xcf21('0x45')]));_0x47cd02['attributes']=_0x47cd02[_0xcf21('0x43')][_0xcf21('0x46')]?_0x47cd02['attributes']:_0x501865[_0xcf21('0x3f')];if(!_0x2d18cd[_0xcf21('0x41')][_0xcf21('0x47')](_0xcf21('0x48'))){_0x47cd02[_0xcf21('0x23')]=qs['limit'](_0x2d18cd[_0xcf21('0x41')][_0xcf21('0x23')]);_0x47cd02[_0xcf21('0x22')]=qs[_0xcf21('0x22')](_0x2d18cd[_0xcf21('0x41')][_0xcf21('0x22')]);}_0x47cd02[_0xcf21('0x49')]=qs['sort'](_0x2d18cd[_0xcf21('0x41')]['sort']);_0x47cd02[_0xcf21('0x4a')]=qs[_0xcf21('0x42')](_[_0xcf21('0x4b')](_0x2d18cd[_0xcf21('0x41')],_0x501865['filters']),_0x58a00f);var _0xfe7539=[];var _0x39b5b4=squel['select']()[_0xcf21('0x4c')]('id')[_0xcf21('0x4c')]('name')[_0xcf21('0x4c')](_0xcf21('0x4d'))[_0xcf21('0x4e')]('tools_tags');var _0x2197a1=squel[_0xcf21('0x4f')]()[_0xcf21('0x4c')](_0xcf21('0x50'))['field'](_0xcf21('0x51'))[_0xcf21('0x4c')](_0xcf21('0x52'))[_0xcf21('0x4e')](_0xcf21('0x53'),'ui')['left_join'](_0xcf21('0x54'),'u',_0xcf21('0x55'));var _0x5b1b11=squel[_0xcf21('0x4f')]()[_0xcf21('0x4e')](_0xcf21('0x56'),'i')[_0xcf21('0x57')]('cm_contacts','c',_0xcf21('0x58'))[_0xcf21('0x57')]('users','o',_0xcf21('0x59'))['left_join'](_0xcf21('0x5a'),'a',_0xcf21('0x5b'))[_0xcf21('0x57')]('openchannel_messages','me',_0xcf21('0x5c'))['left_join'](_0xcf21('0x5d'),'it',_0xcf21('0x5e'))[_0xcf21('0x57')](_0xcf21('0x5f'),'t',_0xcf21('0x60'));var _0x4e99ee=squel[_0xcf21('0x61')]();var _0x58474b=[];var _0x2b54d5=squel[_0xcf21('0x61')]();var _0x360960;if(_0x2d18cd[_0xcf21('0x41')][_0xcf21('0x62')]){_0x360960=as['parseSearch'](_0x2d18cd[_0xcf21('0x41')][_0xcf21('0x62')]);var _0x4c4bf3=_0x360960[_0xcf21('0x63')];for(var _0x286bc0=0x0;_0x286bc0<_0x360960[_0xcf21('0x64')][_0xcf21('0x46')];_0x286bc0++){var _0x195e12=_0x360960[_0xcf21('0x64')][_0x286bc0];var _0x487097='i';var _0x451483=_['find'](_0x58a00f,[_0xcf21('0x2b'),_0x195e12[_0xcf21('0x4c')]]);if(!_0x451483){switch(_0x195e12[_0xcf21('0x4c')]){case'unreadMessages':if(_0x195e12['value']==0x1){_0x5b1b11['having']('`'+_0x195e12['field']+_0xcf21('0x65'));}else{_0x5b1b11['having']('`'+_0x195e12[_0xcf21('0x4c')]+_0xcf21('0x66'));}break;case _0xcf21('0x67'):if(_0x195e12[_0xcf21('0x68')]===_0xcf21('0x69')){if(_0x195e12['value'][_0xcf21('0x6a')]('\x20')[_0xcf21('0x46')]>0x1){_0x4e99ee[_0x4c4bf3](_0xcf21('0x6b'),qs[_0xcf21('0x6c')](_0x195e12[_0xcf21('0x6d')]),null);}else{var _0x3342b7='%'+_0x195e12[_0xcf21('0x6d')]+'%';_0x4e99ee[_0x4c4bf3](_0xcf21('0x6e'),_0x3342b7,_0x3342b7,_0x3342b7);}}else{_0x451483=_[_0xcf21('0x6f')](_0x58a00f,[_0xcf21('0x2b'),_0xcf21('0x70')]);_0x195e12[_0xcf21('0x4c')]='ContactId';_0xcbe347=as[_0xcf21('0x71')](_0x487097,_0x451483[_0xcf21('0x3e')],_0x195e12);_0x4e99ee[_0x4c4bf3](_0xcbe347[_0xcf21('0x72')],_0xcbe347[_0xcf21('0x6d')][_0xcf21('0x73')],_0xcbe347[_0xcf21('0x6d')]['end']);}break;case _0xcf21('0x74'):var _0x53ad42=_0x195e12[_0xcf21('0x6d')][_0xcf21('0x6a')](',')['map'](function(_0x22632a){return Number(_0x22632a);});_0x53ad42[_0xcf21('0x2f')](function(_0x1a3dde){_0x2b54d5['or'](_0xcf21('0x75'),'%,'+_0x1a3dde+',%');});_0x58474b=_[_0xcf21('0x76')](_0x58474b,_0x53ad42);break;case _0xcf21('0x77'):if(_0x195e12['operator']==='$substring'){_0x4e99ee[_0x4c4bf3](_0xcf21('0x78'),'%'+_0x195e12[_0xcf21('0x6d')]+'%',null);}else{_0x451483=_[_0xcf21('0x6f')](_0x58a00f,[_0xcf21('0x2b'),_0xcf21('0x37')]);_0x195e12[_0xcf21('0x4c')]=_0xcf21('0x37');_0xcbe347=as['buildExpression'](_0x487097,_0x451483[_0xcf21('0x3e')],_0x195e12);_0x4e99ee[_0x4c4bf3](_0xcbe347[_0xcf21('0x72')],_0xcbe347[_0xcf21('0x6d')][_0xcf21('0x73')],_0xcbe347['value'][_0xcf21('0x1d')]);}break;case'body':_0xcbe347=as[_0xcf21('0x71')]('me',null,_0x195e12);_0x4e99ee[_0x4c4bf3](_0xcbe347[_0xcf21('0x72')],_0xcbe347[_0xcf21('0x6d')][_0xcf21('0x73')],_0xcbe347[_0xcf21('0x6d')][_0xcf21('0x1d')]);break;}}else{var _0xcbe347=as['buildExpression'](_0x487097,_0x451483[_0xcf21('0x3e')],_0x195e12);_0x4e99ee[_0x4c4bf3](_0xcbe347[_0xcf21('0x72')],_0xcbe347['value'][_0xcf21('0x73')],_0xcbe347[_0xcf21('0x6d')][_0xcf21('0x1d')]);}}}else{var _0x196d80=_(_0x2d18cd[_0xcf21('0x41')])[_0xcf21('0x40')]()[_0xcf21('0x2c')](function(_0x4f8df3){return _[_0xcf21('0x79')](_0x58a00f,['name',_0x4f8df3])?_0x4f8df3:undefined;})['compact']()[_0xcf21('0x6d')]();if(!_[_0xcf21('0x7a')](_0x196d80)){_0x196d80[_0xcf21('0x2f')](function(_0x215c9e){if(_0x215c9e===_0xcf21('0x7b')){_0x5b1b11[_0xcf21('0x4a')](_0xcf21('0x7c'),[]['concat'](_0x2d18cd[_0xcf21('0x41')][_0x215c9e]));}else if(_0x215c9e===_0xcf21('0x7d')){var _0xa4d0bc=JSON[_0xcf21('0x7e')](_0x2d18cd[_0xcf21('0x41')][_0x215c9e])[_0xcf21('0x7f')];var _0x4bd2c2=JSON[_0xcf21('0x7e')](_0x2d18cd[_0xcf21('0x41')][_0x215c9e])[_0xcf21('0x80')];_0x5b1b11[_0xcf21('0x4a')](_0xcf21('0x81'),_0xa4d0bc,_0x4bd2c2);}else{if(_0x2d18cd[_0xcf21('0x41')][_0x215c9e]==='null'){_0x5b1b11[_0xcf21('0x4a')]('i.'+_0x215c9e+'\x20IS\x20NULL');}else{_0x5b1b11[_0xcf21('0x4a')]('i.'+_0x215c9e+_0xcf21('0x82'),_0x2d18cd[_0xcf21('0x41')][_0x215c9e]);}}});}if(_0x2d18cd[_0xcf21('0x41')][_0xcf21('0x83')]){if(_0x2d18cd[_0xcf21('0x41')][_0xcf21('0x83')]==0x1){_0x5b1b11['having'](_0xcf21('0x84'));}else{_0x5b1b11[_0xcf21('0x85')](_0xcf21('0x86'));}}if(_0x2d18cd[_0xcf21('0x41')]['tag']){_0x58474b=_['isArray'](_0x2d18cd[_0xcf21('0x41')][_0xcf21('0x87')])?_0x2d18cd['query'][_0xcf21('0x87')]:new Array(_0x2d18cd['query'][_0xcf21('0x87')]);_0x58474b[_0xcf21('0x2f')](function(_0xf49a44){_0x2b54d5['or'](_0xcf21('0x75'),'%,'+_0xf49a44+',%');});}if(_0x2d18cd['query'][_0xcf21('0x88')]){var _0x13186a=_0x2d18cd[_0xcf21('0x41')][_0xcf21('0x88')][_0xcf21('0x89')]('\x5c','\x5c\x5c')[_0xcf21('0x89')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x13186a)){_0x4e99ee['or'](_0xcf21('0x8a'),_0x13186a+'%');}else{_0x4e99ee['or'](_0xcf21('0x8b'),qs[_0xcf21('0x6c')](_0x13186a))['or'](_0xcf21('0x8c'),_0x13186a+'%')['or'](_0xcf21('0x8d'),_0x13186a+'%');}}}_0x5b1b11[_0xcf21('0x4a')](_0x4e99ee);_0x5b1b11['group'](_0xcf21('0x8e'));var _0x449642={'type':db['Sequelize'][_0xcf21('0x8f')]['SELECT'],'raw':!![]};var _0x1bc67a=_0x5b1b11['clone']();_0x1bc67a[_0xcf21('0x4c')](_0xcf21('0x8e'));_0x1bc67a[_0xcf21('0x4c')](_0xcf21('0x90'),'unreadMessages');if(_0x47cd02[_0xcf21('0x49')]){_0x47cd02[_0xcf21('0x49')][_0xcf21('0x2f')](function(_0x25543c){var _0x5631f8=_0x25543c[0x0]==='contactName'?_0x25543c[0x0]:'i.'+_0x25543c[0x0];_0x5b1b11['order'](_0x5631f8,_0x25543c[0x1]==='DESC'?![]:!![]);});}if(!_[_0xcf21('0x7a')](_0x58474b)){_0x5b1b11[_0xcf21('0x85')](_0x2b54d5);_0x1bc67a[_0xcf21('0x4a')](_0xcf21('0x91'),_0x58474b);}BPromise['resolve']()['then'](function(){if(!_0x360960){if(_0x2d18cd[_0xcf21('0x41')]['OpenchannelAccountId'])return;_0x1bc67a[_0xcf21('0x4a')](_0xcf21('0x92'));_0x5b1b11[_0xcf21('0x4a')](_0xcf21('0x92'));return;}if(_0x2d18cd[_0xcf21('0x93')][_0xcf21('0x94')]!==_0xcf21('0x95'))return;return _0x2d18cd[_0xcf21('0x93')][_0xcf21('0x96')]({'attributes':['id'],'raw':!![]})[_0xcf21('0x32')](function(_0x478522){if(_[_0xcf21('0x7a')](_0x478522)){_0x1bc67a['where'](_0xcf21('0x97'));_0x5b1b11[_0xcf21('0x4a')]('i.OpenchannelAccountId\x20IS\x20NULL');}else{_0x1bc67a[_0xcf21('0x4a')](_0xcf21('0x7c'),_['map'](_0x478522,'id'));_0x5b1b11[_0xcf21('0x4a')](_0xcf21('0x7c'),_[_0xcf21('0x2c')](_0x478522,'id'));}});})[_0xcf21('0x32')](function(){if(_0x2d18cd['user']['role']===_0xcf21('0x95')&&!_0x360960&&!_0x2d18cd['query']['OpenchannelAccountId'])return[];return db[_0xcf21('0x98')][_0xcf21('0x41')](_0x1bc67a[_0xcf21('0x99')](),_0x449642);})[_0xcf21('0x32')](function(_0x54e9a6){_0x388e26[_0xcf21('0x21')]=_0x54e9a6[_0xcf21('0x46')];if(_0x388e26['count']===0x0)return[];return db[_0xcf21('0x98')][_0xcf21('0x41')](_0x39b5b4[_0xcf21('0x99')](),_0x449642)['then'](function(_0x4ca2a9){_0xfe7539=_['keyBy'](_0x4ca2a9,'id');_0x449642=_[_0xcf21('0x9a')](_0x449642,{'model':db[_0xcf21('0x3c')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2d18cd[_0xcf21('0x41')][_0xcf21('0x45')]){_0x47cd02['attributes'][_0xcf21('0x2f')](function(_0x519bb7){_0x5b1b11['field']('i.'+_0x519bb7);});}else{_0x5b1b11[_0xcf21('0x4c')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xcf21('0x9b'));_0x5b1b11['field'](_0xcf21('0x9c'),_0xcf21('0x9d'));_0x5b1b11[_0xcf21('0x4c')](_0xcf21('0x9e'),_0xcf21('0x9f'));_0x5b1b11[_0xcf21('0x4c')](_0xcf21('0xa0'),_0xcf21('0xa1'));_0x5b1b11['field'](_0xcf21('0xa2'));_0x5b1b11[_0xcf21('0x4c')](_0xcf21('0xa3'),_0xcf21('0xa4'));_0x5b1b11['field']('c.lastName',_0xcf21('0xa5'));_0x5b1b11[_0xcf21('0x4c')](_0xcf21('0xa6'),_0xcf21('0xa7'));_0x5b1b11[_0xcf21('0x4c')](_0xcf21('0xa8'),_0xcf21('0xa9'));_0x5b1b11['field'](_0xcf21('0xaa'),_0xcf21('0xab'));_0x5b1b11[_0xcf21('0x4c')](_0xcf21('0xac'),'Contact.fax');_0x5b1b11[_0xcf21('0x4c')](_0xcf21('0xad'),_0xcf21('0xae'));_0x5b1b11[_0xcf21('0x4c')]('o.internal','Owner.internal');_0x5b1b11['field']('GROUP_CONCAT(DISTINCT\x20t.id)','TagIds');}if(_0x47cd02[_0xcf21('0x23')])_0x5b1b11['limit'](_0x47cd02[_0xcf21('0x23')]);if(_0x47cd02['offset'])_0x5b1b11[_0xcf21('0x22')](_0x47cd02['offset']);return db[_0xcf21('0x98')][_0xcf21('0x41')](_0x5b1b11[_0xcf21('0x99')](),_0x449642);})[_0xcf21('0x32')](function(_0xa834bd){if(_0xa834bd[_0xcf21('0x46')]>0x0)_0x2197a1[_0xcf21('0x4a')](_0xcf21('0xaf'),_[_0xcf21('0x2c')](_0xa834bd,'id'));return db[_0xcf21('0x98')][_0xcf21('0x41')](_0x2197a1[_0xcf21('0x99')](),_0x449642)[_0xcf21('0x32')](function(_0x571870){var _0x17bd13=_[_0xcf21('0xb0')](_0x571870,_0xcf21('0xb1'));var _0x23e04f=[];_0xa834bd['forEach'](function(_0x4e56f1){_0x23e04f[_0xcf21('0x31')](updateOpenchannelInteraction(_0x4e56f1,_0xfe7539,_0x17bd13));});return BPromise[_0xcf21('0xb2')](_0x23e04f);});});})[_0xcf21('0x32')](function(_0x2250db){_0x388e26['rows']=_0x2250db;return _0x388e26;})[_0xcf21('0x32')](respondWithFilteredResult(_0x40d0b6,_0x47cd02))[_0xcf21('0x33')](handleError(_0x40d0b6,null));};exports[_0xcf21('0xb3')]=function(_0x1f53ba,_0x1db826){var _0x4cee33={};if(_0x1f53ba[_0xcf21('0x41')]['type']&&_0x1f53ba[_0xcf21('0x41')]['type']===_0xcf21('0x4e')){_0x4cee33[_0xcf21('0x4e')]=_0x1f53ba[_0xcf21('0xb4')]['id'];}else{_0x4cee33['id']=_0x1f53ba[_0xcf21('0xb4')]['id'];}var _0x2e4c2d={'raw':![],'where':_0x4cee33},_0x148405={};_0x148405[_0xcf21('0x3f')]=_[_0xcf21('0x40')](db['OpenchannelInteraction']['rawAttributes']);_0x148405['query']=_[_0xcf21('0x40')](_0x1f53ba[_0xcf21('0x41')]);_0x148405[_0xcf21('0x42')]=_[_0xcf21('0x44')](_0x148405[_0xcf21('0x3f')],_0x148405[_0xcf21('0x41')]);_0x2e4c2d[_0xcf21('0x43')]=_[_0xcf21('0x44')](_0x148405[_0xcf21('0x3f')],qs[_0xcf21('0x45')](_0x1f53ba['query']['fields']));_0x2e4c2d[_0xcf21('0x43')]=_0x2e4c2d[_0xcf21('0x43')][_0xcf21('0x46')]?_0x2e4c2d['attributes']:_0x148405['model'];if(_0x1f53ba[_0xcf21('0x41')]['includeAll']){_0x2e4c2d[_0xcf21('0xb5')]=[{'all':!![]}];}_0x2e4c2d=_[_0xcf21('0x9a')]({},_0x2e4c2d,_0x1f53ba[_0xcf21('0xb6')]);return db['OpenchannelInteraction'][_0xcf21('0x6f')](_0x2e4c2d)['then'](handleEntityNotFound(_0x1db826,null))[_0xcf21('0x32')](respondWithResult(_0x1db826,null))[_0xcf21('0x33')](handleError(_0x1db826,null));};exports['create']=function(_0x4a488d,_0x5d7222){return db['OpenchannelInteraction']['create'](_0x4a488d['body'],{})[_0xcf21('0x32')](respondWithResult(_0x5d7222,0xc9))[_0xcf21('0x33')](handleError(_0x5d7222,null));};exports['update']=function(_0x5b5e37,_0x243652){if(_0x5b5e37[_0xcf21('0xb7')]['id']){delete _0x5b5e37['body']['id'];}return db[_0xcf21('0x3c')][_0xcf21('0x6f')]({'where':{'id':_0x5b5e37[_0xcf21('0xb4')]['id']}})[_0xcf21('0x32')](handleEntityNotFound(_0x243652,null))[_0xcf21('0x32')](saveUpdates(_0x5b5e37[_0xcf21('0xb7')],null))[_0xcf21('0x32')](respondWithResult(_0x243652,null))[_0xcf21('0x33')](handleError(_0x243652,null));};exports[_0xcf21('0xb8')]=function(_0x27cb0d,_0xf0b577){return db[_0xcf21('0x3c')][_0xcf21('0x6f')]({'where':{'id':_0x27cb0d['params']['id']}})[_0xcf21('0x32')](handleEntityNotFound(_0xf0b577,null))['then'](removeEntity(_0xf0b577,null))['catch'](handleError(_0xf0b577,null));};exports[_0xcf21('0xb9')]=function(_0x1f825f,_0x93aa62){return db[_0xcf21('0x3c')][_0xcf21('0xb9')]()[_0xcf21('0x32')](respondWithResult(_0x93aa62,null))[_0xcf21('0x33')](handleError(_0x93aa62,null));};exports[_0xcf21('0xba')]=function(_0x5582e0,_0x7f0707,_0x380e90){return db[_0xcf21('0xbb')][_0xcf21('0x6f')]({'where':{'id':_0x5582e0[_0xcf21('0xb4')]['id']}})[_0xcf21('0x32')](handleEntityNotFound(_0x7f0707,null))[_0xcf21('0x32')](function(_0x388f74){if(_0x388f74){return _0x388f74[_0xcf21('0xba')](_0x5582e0[_0xcf21('0xb7')][_0xcf21('0xbc')],_[_0xcf21('0xbd')](_0x5582e0[_0xcf21('0xb7')],[_0xcf21('0xbc'),'id'])||{});}})[_0xcf21('0x32')](respondWithResult(_0x7f0707,null))[_0xcf21('0x33')](handleError(_0x7f0707,null));};exports['getMessages']=function(_0x5b31ba,_0x3bf729,_0x1e7644){var _0x5d7848={'raw':![],'where':{}};var _0x18b3e2={};var _0x48b223={'count':0x0,'rows':[]};return db['OpenchannelInteraction'][_0xcf21('0xbe')]({'where':{'id':_0x5b31ba[_0xcf21('0xb4')]['id']}})[_0xcf21('0x32')](handleEntityNotFound(_0x3bf729,null))['then'](function(_0x2609b9){if(_0x2609b9){_0x18b3e2[_0xcf21('0x3f')]=_[_0xcf21('0x40')](db[_0xcf21('0xbb')][_0xcf21('0xbf')]);_0x18b3e2[_0xcf21('0x41')]=_[_0xcf21('0x40')](_0x5b31ba[_0xcf21('0x41')]);_0x18b3e2[_0xcf21('0x42')]=_[_0xcf21('0x44')](_0x18b3e2[_0xcf21('0x3f')],_0x18b3e2[_0xcf21('0x41')]);_0x5d7848['attributes']=_['intersection'](_0x18b3e2[_0xcf21('0x3f')],qs[_0xcf21('0x45')](_0x5b31ba[_0xcf21('0x41')]['fields']));_0x5d7848[_0xcf21('0x43')]=_0x5d7848[_0xcf21('0x43')]['length']?_0x5d7848[_0xcf21('0x43')]:_0x18b3e2[_0xcf21('0x3f')];if(!_0x5b31ba[_0xcf21('0x41')]['hasOwnProperty']('nolimit')){_0x5d7848[_0xcf21('0x23')]=qs['limit'](_0x5b31ba['query'][_0xcf21('0x23')]);_0x5d7848[_0xcf21('0x22')]=qs[_0xcf21('0x22')](_0x5b31ba[_0xcf21('0x41')]['offset']);}_0x5d7848[_0xcf21('0x49')]=qs['sort'](_0x5b31ba[_0xcf21('0x41')][_0xcf21('0xc0')]);_0x5d7848[_0xcf21('0x4a')]=qs['filters'](_['pick'](_0x5b31ba[_0xcf21('0x41')],_0x18b3e2[_0xcf21('0x42')]));_0x5d7848[_0xcf21('0x4a')]['OpenchannelInteractionId']=_0x2609b9['id'];if(_0x5b31ba['query'][_0xcf21('0x88')]){_0x5d7848[_0xcf21('0x4a')]=_[_0xcf21('0x9a')](_0x5d7848['where'],{'$or':_[_0xcf21('0x2c')](_0x5d7848['attributes'],function(_0x45b457){var _0x5a59c0={};_0x5a59c0[_0x45b457]={'$like':'%'+_0x5b31ba['query'][_0xcf21('0x88')]+'%'};return _0x5a59c0;})});}if(_0x5b31ba['query'][_0xcf21('0x7f')]){var _0x140e91=_0x5b31ba[_0xcf21('0x41')][_0xcf21('0x7f')]['split'](',');var _0x42af45={};_0x42af45[_0x140e91[0x0]]={'$gte':moment(_0x140e91[0x1])[_0xcf21('0xc1')](_0xcf21('0xc2'))};_0x5d7848[_0xcf21('0x4a')]=_['merge'](_0x5d7848[_0xcf21('0x4a')],_0x42af45);}_0x5d7848=_[_0xcf21('0x9a')]({},_0x5d7848,_0x5b31ba[_0xcf21('0xb6')]);return db[_0xcf21('0xbb')]['count']({'where':_0x5d7848[_0xcf21('0x4a')]})[_0xcf21('0x32')](function(_0x236ad8){_0x48b223[_0xcf21('0x21')]=_0x236ad8;if(_0x5b31ba[_0xcf21('0x41')]['includeAll']){_0x5d7848[_0xcf21('0xb5')]=[{'all':!![]}];}return db['OpenchannelMessage'][_0xcf21('0xc3')](_0x5d7848);})[_0xcf21('0x32')](function(_0x5d4e76){_0x48b223[_0xcf21('0xc4')]=_0x5d4e76;return _0x48b223;});}})['then'](respondWithFilteredResult(_0x3bf729,_0x5d7848))[_0xcf21('0x33')](handleError(_0x3bf729,null));};exports['addTags']=function(_0x3fb070,_0x1448e4,_0x5a6dd7){return db[_0xcf21('0x3c')][_0xcf21('0x6f')]({'where':{'id':_0x3fb070['params']['id']}})['then'](handleEntityNotFound(_0x1448e4,null))[_0xcf21('0x32')](function(_0x1aa80f){if(_0x1aa80f){return _0x1aa80f[_0xcf21('0xc5')](_0x3fb070['body'][_0xcf21('0xbc')],_[_0xcf21('0xbd')](_0x3fb070[_0xcf21('0xb7')],[_0xcf21('0xbc'),'id'])||{})['spread'](function(){return db[_0xcf21('0x74')][_0xcf21('0xc3')]({'attributes':['id',_0xcf21('0x2b'),_0xcf21('0x4d')],'where':{'id':_0x3fb070[_0xcf21('0xb7')][_0xcf21('0xbc')]}});})[_0xcf21('0x32')](function(_0x2e5ecf){socket[_0xcf21('0xc6')](_0xcf21('0xc7'),{'id':Number(_0x3fb070['params']['id']),'tags':_0x2e5ecf||[]});return{'id':Number(_0x3fb070[_0xcf21('0xb4')]['id']),'tags':_0x2e5ecf||[]};});}})[_0xcf21('0x32')](respondWithResult(_0x1448e4,null))[_0xcf21('0x33')](handleError(_0x1448e4,null));};exports['removeTags']=function(_0x581efb,_0x369612,_0xa61cd4){return db[_0xcf21('0x3c')]['find']({'where':{'id':_0x581efb['params']['id']}})[_0xcf21('0x32')](handleEntityNotFound(_0x369612,null))[_0xcf21('0x32')](function(_0x5227f9){if(_0x5227f9){return _0x5227f9['removeTags'](_0x581efb[_0xcf21('0x41')][_0xcf21('0xbc')]);}})[_0xcf21('0x32')](respondWithStatusCode(_0x369612,null))[_0xcf21('0x33')](handleError(_0x369612,null));};exports['download']=function(_0x152144,_0x42c6c7){var _0x537870=moment()[_0xcf21('0xc8')]()[_0xcf21('0x99')]();var _0x3e5c35=path[_0xcf21('0xc9')](config['root'],_0xcf21('0xca'),_0xcf21('0xcb'),'tmp');var _0x3754bf=path[_0xcf21('0xc9')](config['root'],_0xcf21('0xca'),_0xcf21('0xcb'),_0xcf21('0xcc'));var _0x372a01=path[_0xcf21('0xc9')](_0x3e5c35,_0x537870);var _0x43b2f8=util['format'](_0xcf21('0xcd'),_0x152144[_0xcf21('0xb4')]['id'],_0x537870);var _0x5d64d2=path['join'](_0x3e5c35,_0x43b2f8);var _0xd84171=[];_0xd84171['push']({'model':db['User'],'as':_0xcf21('0x77'),'attributes':['id',_0xcf21('0x2d')],'raw':!![]});_0xd84171['push']({'model':db[_0xcf21('0xce')],'as':_0xcf21('0x67'),'attributes':['id',_0xcf21('0xcf'),'lastName'],'raw':!![]});if(_0x152144[_0xcf21('0x41')][_0xcf21('0xcc')]){_0xd84171['push']({'model':db[_0xcf21('0xd0')],'as':_0xcf21('0xd0'),'raw':!![]});}var _0x48b3e0=[{'model':db[_0xcf21('0xbb')],'as':_0xcf21('0xd1'),'attributes':['id',_0xcf21('0xb7'),_0xcf21('0x7d'),_0xcf21('0xd2'),_0xcf21('0xd3'),'read'],'include':_0xd84171}];_0x48b3e0[_0xcf21('0x31')]({'model':db[_0xcf21('0xd4')],'as':_0xcf21('0xd5'),'attributes':['id',_0xcf21('0x2b')]});_0x48b3e0[_0xcf21('0x31')]({'model':db[_0xcf21('0x77')],'as':_0xcf21('0xd6'),'attributes':['id',_0xcf21('0x2d')]});return db[_0xcf21('0x3c')]['find']({'where':{'id':_0x152144[_0xcf21('0xb4')]['id']},'include':_0x48b3e0})[_0xcf21('0x32')](handleEntityNotFound(_0x42c6c7,null))[_0xcf21('0x32')](function(_0x3da087){if(_0x3da087){var _0xa21e63=_0x3da087[_0xcf21('0xd7')]({'plain':!![]});fs['mkdirSync'](_0x372a01);var _0x1a716f={'channel':'Openchannel','account':_0xa21e63[_0xcf21('0xd5')][_0xcf21('0x2b')],'agent':_0xa21e63[_0xcf21('0xd6')]?_0xa21e63[_0xcf21('0xd6')][_0xcf21('0x2d')]:_0xcf21('0xd8'),'createdAt':moment(_0xa21e63[_0xcf21('0x7d')])['format'](_0xcf21('0xc2'))['toString'](),'closedAt':_0xa21e63[_0xcf21('0x36')]?moment(_0xa21e63[_0xcf21('0xd9')])[_0xcf21('0xc1')](_0xcf21('0xc2'))['toString']():'','disposition':_0xa21e63['disposition'],'visibility':_0xa21e63[_0xcf21('0xda')]?_0xcf21('0xdb'):_0xcf21('0xdc'),'messages':_(_0xa21e63[_0xcf21('0xd1')])[_0xcf21('0x88')]({'secret':![]})['map'](function(_0x332089){if(_0x332089['Attachment']){var _0x1a812c=path['join'](_0x3754bf,_0x332089['Attachment'][_0xcf21('0xdd')]);if(fs[_0xcf21('0xde')](_0x1a812c)){fs['createReadStream'](_0x1a812c)[_0xcf21('0xdf')](fs['createWriteStream'](path['join'](_0x372a01,_0x332089[_0xcf21('0xd0')][_0xcf21('0xdd')])));}}return{'date':moment(_0x332089[_0xcf21('0x7d')])[_0xcf21('0xc1')](_0xcf21('0xc2'))[_0xcf21('0x99')](),'sender':_0x332089[_0xcf21('0xd2')]===_0xcf21('0xe0')?_0x332089[_0xcf21('0x77')]?_0x332089[_0xcf21('0x77')][_0xcf21('0x2d')]:'System':_0x332089[_0xcf21('0x67')]['firstName']+(_0x332089[_0xcf21('0x67')]['lastName']?'\x20'+_0x332089[_0xcf21('0x67')][_0xcf21('0xe1')]:''),'body':_0x332089[_0xcf21('0xd0')]?_0x332089[_0xcf21('0xd0')][_0xcf21('0xdd')]:_0x332089['body'],'direction':_0x332089[_0xcf21('0xd2')]===_0xcf21('0xe0')?'A':'C','secret':_0x332089[_0xcf21('0xd3')],'read':_0x332089[_0xcf21('0x83')],'attachment':_0x332089[_0xcf21('0xd0')]};})[_0xcf21('0x6d')]()};return ejs[_0xcf21('0xe2')](path[_0xcf21('0xc9')](config[_0xcf21('0xe3')],_0xcf21('0xca'),_0xcf21('0xe4'),_0xcf21('0xe5')),{'interaction':_0x1a716f})[_0xcf21('0x32')](function(_0x576ceb){var _0x1ce288=path[_0xcf21('0xc9')](_0x372a01,_0xcf21('0xe6')+_0xa21e63['id']+'-'+_0x537870+_0xcf21('0xe7'));var _0x53386d={'path':_0x1ce288,'channel':_0xcf21('0xe8'),'interactionId':_0xa21e63['id']};return pdf[_0xcf21('0xe9')](_0x576ceb,_0x53386d);})['then'](function(){return new BPromise(function(_0x489fe2,_0x4cfdf1){zipdir(_0x372a01,{'saveTo':_0x5d64d2},function(_0xbfa170,_0x5c16b1){if(_0xbfa170)return _0x4cfdf1(_0xbfa170);return _0x489fe2(_0x5c16b1);});})[_0xcf21('0x32')](function(){return new BPromise(function(_0x974a4a,_0x1e9f39){rimraf(_0x372a01,function(_0x34fa4c){if(_0x34fa4c)_0x1e9f39(_0x34fa4c);return _0x974a4a();});});})[_0xcf21('0x32')](function(){return _0x42c6c7['download'](_0x5d64d2,_0x43b2f8,function(_0x172ee0){if(_0x172ee0){console[_0xcf21('0xea')](_0xcf21('0xeb'),_0x172ee0);}else{fs[_0xcf21('0xec')](_0x5d64d2);}});});});}else{return _0x42c6c7[_0xcf21('0x2a')](0xc8);}})[_0xcf21('0x33')](handleError(_0x42c6c7,null));};