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 _0x1636=['ContactId','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','some','compact','isEmpty','where','i.OpenchannelAccountId\x20IN\x20?','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','isNumeric','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','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','t.id\x20IN\x20?','resolve','OpenchannelAccountId','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','agent','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','user','sequelize','toString','a.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.*','c.firstName','c.lastName','c.email','Contact.email','c.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.OpenchannelInteractionId\x20IN\x20?','groupBy','OpenchannelInteractionId','all','catch','show','params','keys','includeAll','include','merge','options','create','body','update','describe','addMessage','OpenchannelMessage','ids','omit','getMessages','findOne','nolimit','findAll','rows','addTags','setTags','color','emit','openchannelInteractionTags:save','removeTags','download','unix','join','root','server','files','attachments','transcript-%d-%s.zip','firstName','lastName','Attachment','direction','OpenchannelAccount','Account','Owner','get','mkdirSync','N.A.','format','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','threadId','Private','Messages','basename','existsSync','createReadStream','pipe','System','out','secret','views','downloadInteraction.ejs','transcript-','.pdf','Openchannel','log','err','unlinkSync','eml-format','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','error','stack','send','Users','map','fullname','TagIds','split','forEach','Tags','push','waiting','talking','answered','unmanaged','total','closed','UserId','index','OpenchannelInteraction','rawAttributes','type','key','model','name','query','intersection','attributes','fields','length','hasOwnProperty','sort','filters','pick','select','field','from','tools_tags','u.id','u.fullname','user_has_openchannel_interactions','left_join','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','a.id\x20=\x20i.OpenchannelAccountId','openchannel_messages','me.OpenchannelInteractionId\x20=\x20i.id','openchannel_interaction_has_tags','it.OpenchannelInteractionId\x20=\x20i.id','expr','search','parseSearch','sqlOperator','conditions','find','value','having','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?'];(function(_0x1e0566,_0x376824){var _0x16b3a6=function(_0x57b815){while(--_0x57b815){_0x1e0566['push'](_0x1e0566['shift']());}};_0x16b3a6(++_0x376824);}(_0x1636,0x186));var _0x6163=function(_0x17d9e3,_0x1f969c){_0x17d9e3=_0x17d9e3-0x0;var _0x14192d=_0x1636[_0x17d9e3];return _0x14192d;};'use strict';var emlformat=require(_0x6163('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x6163('0x1'));var rp=require(_0x6163('0x2'));var moment=require(_0x6163('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x6163('0x4'));var path=require(_0x6163('0x5'));var sox=require(_0x6163('0x6'));var csv=require(_0x6163('0x7'));var ejs=require(_0x6163('0x8'));var fs=require('fs');var fs_extra=require(_0x6163('0x9'));var _=require(_0x6163('0xa'));var squel=require(_0x6163('0xb'));var crypto=require(_0x6163('0xc'));var jsforce=require(_0x6163('0xd'));var deskjs=require(_0x6163('0xe'));var toCsv=require('to-csv');var querystring=require(_0x6163('0xf'));var Papa=require(_0x6163('0x10'));var Redis=require(_0x6163('0x11'));var authService=require(_0x6163('0x12'));var qs=require(_0x6163('0x13'));var as=require(_0x6163('0x14'));var pdf=require(_0x6163('0x15'));var hardwareService=require(_0x6163('0x16'));var logger=require(_0x6163('0x17'))(_0x6163('0x18'));var utils=require('../../config/utils');var config=require(_0x6163('0x19'));var licenseUtil=require(_0x6163('0x1a'));var db=require(_0x6163('0x1b'))['db'];config[_0x6163('0x1c')]=_[_0x6163('0x1d')](config[_0x6163('0x1c')],{'host':'localhost','port':0x18eb});var socket=require(_0x6163('0x1e'))(new Redis(config[_0x6163('0x1c')]));require('./openchannelInteraction.socket')[_0x6163('0x1f')](socket);function respondWithStatusCode(_0x19990c,_0x28bdd1){_0x28bdd1=_0x28bdd1||0xcc;return function(_0x44097c){if(_0x44097c){return _0x19990c[_0x6163('0x20')](_0x28bdd1);}return _0x19990c[_0x6163('0x21')](_0x28bdd1)[_0x6163('0x22')]();};}function respondWithResult(_0x17131e,_0x5d6354){_0x5d6354=_0x5d6354||0xc8;return function(_0x29f5b6){if(_0x29f5b6){return _0x17131e[_0x6163('0x21')](_0x5d6354)[_0x6163('0x23')](_0x29f5b6);}};}function respondWithFilteredResult(_0x325cba,_0x560851){return function(_0x42cfb0){if(_0x42cfb0){var _0x14b9ae=typeof _0x560851[_0x6163('0x24')]===_0x6163('0x25')&&typeof _0x560851[_0x6163('0x26')]===_0x6163('0x25');var _0x86d983=_0x42cfb0[_0x6163('0x27')];var _0x34b470=_0x14b9ae?0x0:_0x560851[_0x6163('0x24')];var _0x35e3f3=_0x14b9ae?_0x42cfb0[_0x6163('0x27')]:_0x560851[_0x6163('0x24')]+_0x560851[_0x6163('0x26')];var _0x39298c;if(_0x35e3f3>=_0x86d983){_0x35e3f3=_0x86d983;_0x39298c=0xc8;}else{_0x39298c=0xce;}_0x325cba[_0x6163('0x21')](_0x39298c);return _0x325cba[_0x6163('0x28')](_0x6163('0x29'),_0x34b470+'-'+_0x35e3f3+'/'+_0x86d983)[_0x6163('0x23')](_0x42cfb0);}return null;};}function patchUpdates(_0x3b8121){return function(_0x31326b){try{jsonpatch[_0x6163('0x2a')](_0x31326b,_0x3b8121,!![]);}catch(_0x125fc9){return BPromise[_0x6163('0x2b')](_0x125fc9);}return _0x31326b[_0x6163('0x2c')]();};}function saveUpdates(_0x48cda9,_0x500fd0){return function(_0x1c7c0b){if(_0x1c7c0b){return _0x1c7c0b['update'](_0x48cda9)[_0x6163('0x2d')](function(_0x227d67){return _0x227d67;});}return null;};}function removeEntity(_0x3d425b,_0xa552b2){return function(_0x5aa78f){if(_0x5aa78f){return _0x5aa78f[_0x6163('0x2e')]()[_0x6163('0x2d')](function(){_0x3d425b[_0x6163('0x21')](0xcc)[_0x6163('0x22')]();});}};}function handleEntityNotFound(_0x5dce29,_0x2d2677){return function(_0x27088e){if(!_0x27088e){_0x5dce29[_0x6163('0x20')](0x194);}return _0x27088e;};}function handleError(_0xf5a7e6,_0x29f5be){_0x29f5be=_0x29f5be||0x1f4;return function(_0x8c4445){logger[_0x6163('0x2f')](_0x8c4445[_0x6163('0x30')]);if(_0x8c4445['name']){delete _0x8c4445['name'];}_0xf5a7e6[_0x6163('0x21')](_0x29f5be)[_0x6163('0x31')](_0x8c4445);};}function getInteractionUsers(_0x5d7765,_0x4eac8c){return new BPromise(function(_0x2055d0,_0x3896e8){try{if(_0x4eac8c[_0x5d7765['id']]){_0x5d7765[_0x6163('0x32')]=_[_0x6163('0x33')](_0x4eac8c[_0x5d7765['id']],function(_0x172b98){return{'id':_0x172b98['id'],'fullname':_0x172b98[_0x6163('0x34')]};});}}catch(_0x36a117){_0x3896e8(_0x36a117);}_0x2055d0(_0x5d7765);});}function getInteractionTags(_0x5af67c,_0x5d781a){return new BPromise(function(_0x1bbb9a,_0x5cca2c){try{if(_0x5af67c[_0x6163('0x35')]){_0x5af67c['Tags']=[];_0x5af67c['TagIds'][_0x6163('0x36')](',')[_0x6163('0x37')](function(_0x2043b4){_0x5af67c[_0x6163('0x38')][_0x6163('0x39')](_0x5d781a[_0x2043b4]);});}delete _0x5af67c[_0x6163('0x35')];}catch(_0x4d5609){_0x5cca2c(_0x4d5609);}_0x1bbb9a(_0x5af67c);});}function updateOpenchannelInteraction(_0xa1d397,_0x3a4301,_0x3e62e4){return new BPromise(function(_0x488a7e,_0x46bc83){return getInteractionUsers(_0xa1d397,_0x3e62e4)['then'](function(_0x447c41){return getInteractionTags(_0x447c41,_0x3a4301);})[_0x6163('0x2d')](function(_0x2de9b4){return getStateInteraction(_0x2de9b4);})['then'](function(_0x193df5){_0x488a7e(_0x193df5);})['catch'](function(_0x41e720){_0x46bc83(_0x41e720);});});}function getStateInteraction(_0x2eacb0){return new BPromise(function(_0x3ceb53){_0x2eacb0[_0x6163('0x3a')]=0x0;_0x2eacb0[_0x6163('0x3b')]=0x0;_0x2eacb0[_0x6163('0x3c')]=0x0;_0x2eacb0[_0x6163('0x3d')]=0x0;_0x2eacb0[_0x6163('0x3e')]=0x0;if(!_0x2eacb0[_0x6163('0x3f')]&&!_0x2eacb0[_0x6163('0x40')]){_0x2eacb0[_0x6163('0x3a')]+=0x1;}if(!_0x2eacb0[_0x6163('0x3f')]&&_0x2eacb0[_0x6163('0x40')]){_0x2eacb0[_0x6163('0x3b')]+=0x1;if(_0x2eacb0[_0x6163('0x3a')]){_0x2eacb0['waiting']-=0x1;}}if(_0x2eacb0[_0x6163('0x3f')]&&_0x2eacb0['UserId']){_0x2eacb0[_0x6163('0x3c')]+=0x1;if(_0x2eacb0[_0x6163('0x3b')]){_0x2eacb0[_0x6163('0x3b')]-=0x1;}}if(_0x2eacb0[_0x6163('0x3f')]&&!_0x2eacb0[_0x6163('0x40')]){_0x2eacb0[_0x6163('0x3d')]+=0x1;if(_0x2eacb0[_0x6163('0x3a')]){_0x2eacb0[_0x6163('0x3a')]-=0x1;}}_0x2eacb0[_0x6163('0x3e')]+=0x1;_0x3ceb53(_0x2eacb0);});}exports[_0x6163('0x41')]=function(_0x35bf22,_0x460744){var _0xea7b21={},_0x293928={},_0x144d2b={'count':0x0,'rows':[]};var _0x544409=_[_0x6163('0x33')](db[_0x6163('0x42')][_0x6163('0x43')],function(_0x429d0e){return{'name':_0x429d0e['fieldName'],'type':_0x429d0e[_0x6163('0x44')][_0x6163('0x45')]};});_0x293928[_0x6163('0x46')]=_['map'](_0x544409,_0x6163('0x47'));_0x293928[_0x6163('0x48')]=_['keys'](_0x35bf22['query']);_0x293928['filters']=_[_0x6163('0x49')](_0x293928['model'],_0x293928[_0x6163('0x48')]);_0xea7b21[_0x6163('0x4a')]=_[_0x6163('0x49')](_0x293928[_0x6163('0x46')],qs[_0x6163('0x4b')](_0x35bf22['query'][_0x6163('0x4b')]));_0xea7b21['attributes']=_0xea7b21[_0x6163('0x4a')][_0x6163('0x4c')]?_0xea7b21[_0x6163('0x4a')]:_0x293928[_0x6163('0x46')];if(!_0x35bf22[_0x6163('0x48')][_0x6163('0x4d')]('nolimit')){_0xea7b21[_0x6163('0x26')]=qs[_0x6163('0x26')](_0x35bf22['query'][_0x6163('0x26')]);_0xea7b21['offset']=qs[_0x6163('0x24')](_0x35bf22[_0x6163('0x48')][_0x6163('0x24')]);}_0xea7b21['order']=qs['sort'](_0x35bf22[_0x6163('0x48')][_0x6163('0x4e')]);_0xea7b21['where']=qs[_0x6163('0x4f')](_[_0x6163('0x50')](_0x35bf22[_0x6163('0x48')],_0x293928[_0x6163('0x4f')]),_0x544409);var _0x5224f2=[];var _0x2063a5=squel[_0x6163('0x51')]()[_0x6163('0x52')]('id')[_0x6163('0x52')](_0x6163('0x47'))[_0x6163('0x52')]('color')[_0x6163('0x53')](_0x6163('0x54'));var _0xddeaf=squel[_0x6163('0x51')]()[_0x6163('0x52')](_0x6163('0x55'))[_0x6163('0x52')](_0x6163('0x56'))[_0x6163('0x52')]('ui.OpenchannelInteractionId')[_0x6163('0x53')](_0x6163('0x57'),'ui')[_0x6163('0x58')](_0x6163('0x59'),'u',_0x6163('0x5a'));var _0x2d9d6b=squel['select']()[_0x6163('0x53')]('openchannel_interactions','i')[_0x6163('0x58')](_0x6163('0x5b'),'c',_0x6163('0x5c'))[_0x6163('0x58')](_0x6163('0x59'),'o','o.id\x20=\x20i.UserId')['left_join']('openchannel_accounts','a',_0x6163('0x5d'))[_0x6163('0x58')](_0x6163('0x5e'),'me',_0x6163('0x5f'))[_0x6163('0x58')](_0x6163('0x60'),'it',_0x6163('0x61'))['left_join'](_0x6163('0x54'),'t','t.id\x20=\x20it.TagId');var _0x4c32d8=squel[_0x6163('0x62')]();var _0x995bbd=[];var _0x371d18=squel['expr']();var _0x6a880c;if(_0x35bf22[_0x6163('0x48')][_0x6163('0x63')]){_0x6a880c=as[_0x6163('0x64')](_0x35bf22[_0x6163('0x48')][_0x6163('0x63')]);var _0x1f7352=_0x6a880c[_0x6163('0x65')];for(var _0xe5022c=0x0;_0xe5022c<_0x6a880c[_0x6163('0x66')]['length'];_0xe5022c++){var _0x3cdbf7=_0x6a880c[_0x6163('0x66')][_0xe5022c];var _0x5d64e3='i';var _0x4cdbac=_[_0x6163('0x67')](_0x544409,[_0x6163('0x47'),_0x3cdbf7[_0x6163('0x52')]]);if(!_0x4cdbac){switch(_0x3cdbf7[_0x6163('0x52')]){case'unreadMessages':if(_0x3cdbf7[_0x6163('0x68')]==0x1){_0x2d9d6b[_0x6163('0x69')]('`'+_0x3cdbf7[_0x6163('0x52')]+'`\x20=\x200');}else{_0x2d9d6b[_0x6163('0x69')]('`'+_0x3cdbf7[_0x6163('0x52')]+_0x6163('0x6a'));}break;case _0x6163('0x6b'):if(_0x3cdbf7[_0x6163('0x6c')]===_0x6163('0x6d')){if(_0x3cdbf7[_0x6163('0x68')]['split']('\x20')['length']>0x1){_0x4c32d8[_0x1f7352](_0x6163('0x6e'),qs['getFullTextValue'](_0x3cdbf7['value']),null);}else{var _0x3a29dc='%'+_0x3cdbf7[_0x6163('0x68')]+'%';_0x4c32d8[_0x1f7352](_0x6163('0x6f'),_0x3a29dc,_0x3a29dc,_0x3a29dc);}}else{_0x4cdbac=_['find'](_0x544409,[_0x6163('0x47'),_0x6163('0x70')]);_0x3cdbf7[_0x6163('0x52')]=_0x6163('0x70');_0x1b3168=as[_0x6163('0x71')](_0x5d64e3,_0x4cdbac[_0x6163('0x44')],_0x3cdbf7);_0x4c32d8[_0x1f7352](_0x1b3168[_0x6163('0x72')],_0x1b3168['value'][_0x6163('0x73')],_0x1b3168[_0x6163('0x68')][_0x6163('0x22')]);}break;case _0x6163('0x74'):var _0x2f2467=_0x3cdbf7[_0x6163('0x68')][_0x6163('0x36')](',')[_0x6163('0x33')](function(_0x57243d){return Number(_0x57243d);});_0x2f2467[_0x6163('0x37')](function(_0x299ece){_0x371d18['or'](_0x6163('0x75'),'%,'+_0x299ece+',%');});_0x995bbd=_['union'](_0x995bbd,_0x2f2467);break;case _0x6163('0x76'):if(_0x3cdbf7[_0x6163('0x6c')]===_0x6163('0x6d')){_0x4c32d8[_0x1f7352](_0x6163('0x77'),'%'+_0x3cdbf7[_0x6163('0x68')]+'%',null);}else{_0x4cdbac=_[_0x6163('0x67')](_0x544409,[_0x6163('0x47'),'UserId']);_0x3cdbf7[_0x6163('0x52')]=_0x6163('0x40');_0x1b3168=as[_0x6163('0x71')](_0x5d64e3,_0x4cdbac[_0x6163('0x44')],_0x3cdbf7);_0x4c32d8[_0x1f7352](_0x1b3168[_0x6163('0x72')],_0x1b3168[_0x6163('0x68')][_0x6163('0x73')],_0x1b3168[_0x6163('0x68')][_0x6163('0x22')]);}break;case'body':_0x1b3168=as[_0x6163('0x71')]('me',null,_0x3cdbf7);_0x4c32d8[_0x1f7352](_0x1b3168[_0x6163('0x72')],_0x1b3168['value'][_0x6163('0x73')],_0x1b3168[_0x6163('0x68')]['end']);break;}}else{var _0x1b3168=as[_0x6163('0x71')](_0x5d64e3,_0x4cdbac[_0x6163('0x44')],_0x3cdbf7);_0x4c32d8[_0x1f7352](_0x1b3168[_0x6163('0x72')],_0x1b3168[_0x6163('0x68')][_0x6163('0x73')],_0x1b3168['value'][_0x6163('0x22')]);}}}else{var _0x4e8874=_(_0x35bf22[_0x6163('0x48')])['keys']()[_0x6163('0x33')](function(_0x138693){return _[_0x6163('0x78')](_0x544409,[_0x6163('0x47'),_0x138693])?_0x138693:undefined;})[_0x6163('0x79')]()['value']();if(!_[_0x6163('0x7a')](_0x4e8874)){_0x4e8874[_0x6163('0x37')](function(_0x29e10d){if(_0x29e10d==='OpenchannelAccountId'){_0x2d9d6b[_0x6163('0x7b')](_0x6163('0x7c'),[]['concat'](_0x35bf22[_0x6163('0x48')][_0x29e10d]));}else if(_0x29e10d===_0x6163('0x7d')){var _0x34e737=JSON[_0x6163('0x7e')](_0x35bf22[_0x6163('0x48')][_0x29e10d])[_0x6163('0x7f')];var _0x5c0289=JSON[_0x6163('0x7e')](_0x35bf22[_0x6163('0x48')][_0x29e10d])[_0x6163('0x80')];_0x2d9d6b['where'](_0x6163('0x81'),_0x34e737,_0x5c0289);}else{if(_0x35bf22[_0x6163('0x48')][_0x29e10d]===_0x6163('0x82')){_0x2d9d6b['where']('i.'+_0x29e10d+_0x6163('0x83'));}else{_0x2d9d6b[_0x6163('0x7b')]('i.'+_0x29e10d+_0x6163('0x84'),_0x35bf22[_0x6163('0x48')][_0x29e10d]);}}});}if(_0x35bf22[_0x6163('0x48')][_0x6163('0x85')]){if(_0x35bf22[_0x6163('0x48')][_0x6163('0x85')]==0x1){_0x2d9d6b[_0x6163('0x69')](_0x6163('0x86'));}else{_0x2d9d6b[_0x6163('0x69')](_0x6163('0x87'));}}if(_0x35bf22[_0x6163('0x48')][_0x6163('0x88')]){_0x995bbd=_[_0x6163('0x89')](_0x35bf22[_0x6163('0x48')][_0x6163('0x88')])?_0x35bf22[_0x6163('0x48')][_0x6163('0x88')]:new Array(_0x35bf22['query'][_0x6163('0x88')]);_0x995bbd[_0x6163('0x37')](function(_0x41387b){_0x371d18['or'](_0x6163('0x75'),'%,'+_0x41387b+',%');});}if(_0x35bf22[_0x6163('0x48')][_0x6163('0x8a')]){var _0x44e675=_0x35bf22[_0x6163('0x48')][_0x6163('0x8a')]['replace']('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x6163('0x8b')](_0x44e675)){_0x4c32d8['or'](_0x6163('0x8c'),_0x44e675+'%');}else{_0x4c32d8['or'](_0x6163('0x8d'),qs['getFullTextValue'](_0x44e675))['or'](_0x6163('0x8e'),_0x44e675+'%')['or'](_0x6163('0x8f'),_0x44e675+'%');}}}_0x2d9d6b[_0x6163('0x7b')](_0x4c32d8);_0x2d9d6b['group'](_0x6163('0x90'));var _0x1866d1={'type':db[_0x6163('0x91')][_0x6163('0x92')][_0x6163('0x93')],'raw':!![]};var _0x4292b8=_0x2d9d6b[_0x6163('0x94')]();_0x4292b8['field'](_0x6163('0x90'));_0x4292b8['field'](_0x6163('0x95'),'unreadMessages');if(_0xea7b21[_0x6163('0x96')]){_0xea7b21['order'][_0x6163('0x37')](function(_0x2c045a){var _0x3f26bd=_0x2c045a[0x0]===_0x6163('0x97')?_0x2c045a[0x0]:'i.'+_0x2c045a[0x0];_0x2d9d6b[_0x6163('0x96')](_0x3f26bd,_0x2c045a[0x1]===_0x6163('0x98')?![]:!![]);});}if(!_['isEmpty'](_0x995bbd)){_0x2d9d6b['having'](_0x371d18);_0x4292b8[_0x6163('0x7b')](_0x6163('0x99'),_0x995bbd);}BPromise[_0x6163('0x9a')]()[_0x6163('0x2d')](function(){if(!_0x6a880c){if(_0x35bf22[_0x6163('0x48')][_0x6163('0x9b')])return;_0x4292b8[_0x6163('0x7b')](_0x6163('0x9c'));_0x2d9d6b[_0x6163('0x7b')](_0x6163('0x9c'));return;}if(_0x35bf22['user']['role']!==_0x6163('0x9d'))return;return _0x35bf22['user'][_0x6163('0x9e')]({'attributes':['id'],'raw':!![]})['then'](function(_0x49451c){if(_[_0x6163('0x7a')](_0x49451c)){_0x4292b8[_0x6163('0x7b')](_0x6163('0x9f'));_0x2d9d6b[_0x6163('0x7b')](_0x6163('0x9f'));}else{_0x4292b8[_0x6163('0x7b')](_0x6163('0x7c'),_['map'](_0x49451c,'id'));_0x2d9d6b[_0x6163('0x7b')](_0x6163('0x7c'),_[_0x6163('0x33')](_0x49451c,'id'));}});})[_0x6163('0x2d')](function(){if(_0x35bf22[_0x6163('0xa0')]['role']===_0x6163('0x9d')&&!_0x6a880c&&!_0x35bf22[_0x6163('0x48')]['OpenchannelAccountId'])return[];return db[_0x6163('0xa1')][_0x6163('0x48')](_0x4292b8[_0x6163('0xa2')](),_0x1866d1);})[_0x6163('0x2d')](function(_0x4e81ae){_0x144d2b['count']=_0x4e81ae[_0x6163('0x4c')];if(_0x144d2b[_0x6163('0x27')]===0x0)return[];return db[_0x6163('0xa1')][_0x6163('0x48')](_0x2063a5['toString'](),_0x1866d1)[_0x6163('0x2d')](function(_0x6892d8){_0x5224f2=_['keyBy'](_0x6892d8,'id');_0x1866d1=_['merge'](_0x1866d1,{'model':db['OpenchannelInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x35bf22[_0x6163('0x48')][_0x6163('0x4b')]){_0xea7b21[_0x6163('0x4a')][_0x6163('0x37')](function(_0x36ce3c){_0x2d9d6b[_0x6163('0x52')]('i.'+_0x36ce3c);});}else{_0x2d9d6b[_0x6163('0x52')](_0x6163('0x95'),'unreadMessages');_0x2d9d6b[_0x6163('0x52')](_0x6163('0xa3'),'Account.key');_0x2d9d6b['field'](_0x6163('0xa4'),_0x6163('0xa5'));_0x2d9d6b[_0x6163('0x52')](_0x6163('0xa6'),_0x6163('0x97'));_0x2d9d6b[_0x6163('0x52')](_0x6163('0xa7'));_0x2d9d6b[_0x6163('0x52')](_0x6163('0xa8'),'Contact.firstName');_0x2d9d6b[_0x6163('0x52')](_0x6163('0xa9'),'Contact.lastName');_0x2d9d6b[_0x6163('0x52')](_0x6163('0xaa'),_0x6163('0xab'));_0x2d9d6b[_0x6163('0x52')](_0x6163('0xac'),'Contact.phone');_0x2d9d6b[_0x6163('0x52')]('c.mobile',_0x6163('0xad'));_0x2d9d6b['field'](_0x6163('0xae'),_0x6163('0xaf'));_0x2d9d6b[_0x6163('0x52')](_0x6163('0xb0'),_0x6163('0xb1'));_0x2d9d6b[_0x6163('0x52')](_0x6163('0xb2'),'Owner.internal');_0x2d9d6b[_0x6163('0x52')](_0x6163('0xb3'),_0x6163('0x35'));}if(_0xea7b21[_0x6163('0x26')])_0x2d9d6b['limit'](_0xea7b21['limit']);if(_0xea7b21['offset'])_0x2d9d6b[_0x6163('0x24')](_0xea7b21['offset']);return db[_0x6163('0xa1')][_0x6163('0x48')](_0x2d9d6b['toString'](),_0x1866d1);})['then'](function(_0x104cc1){if(_0x104cc1[_0x6163('0x4c')]>0x0)_0xddeaf[_0x6163('0x7b')](_0x6163('0xb4'),_['map'](_0x104cc1,'id'));return db[_0x6163('0xa1')][_0x6163('0x48')](_0xddeaf[_0x6163('0xa2')](),_0x1866d1)[_0x6163('0x2d')](function(_0x2e195c){var _0x2d36bc=_[_0x6163('0xb5')](_0x2e195c,_0x6163('0xb6'));var _0x2f1d96=[];_0x104cc1[_0x6163('0x37')](function(_0x3139f1){_0x2f1d96['push'](updateOpenchannelInteraction(_0x3139f1,_0x5224f2,_0x2d36bc));});return BPromise[_0x6163('0xb7')](_0x2f1d96);});});})[_0x6163('0x2d')](function(_0x47e866){_0x144d2b['rows']=_0x47e866;return _0x144d2b;})[_0x6163('0x2d')](respondWithFilteredResult(_0x460744,_0xea7b21))[_0x6163('0xb8')](handleError(_0x460744,null));};exports[_0x6163('0xb9')]=function(_0x335879,_0x1009f3){var _0x30c05a={};if(_0x335879[_0x6163('0x48')][_0x6163('0x44')]&&_0x335879['query'][_0x6163('0x44')]===_0x6163('0x53')){_0x30c05a[_0x6163('0x53')]=_0x335879[_0x6163('0xba')]['id'];}else{_0x30c05a['id']=_0x335879['params']['id'];}var _0x5e2008={'raw':![],'where':_0x30c05a},_0x37dd9a={};_0x37dd9a['model']=_[_0x6163('0xbb')](db[_0x6163('0x42')][_0x6163('0x43')]);_0x37dd9a[_0x6163('0x48')]=_[_0x6163('0xbb')](_0x335879[_0x6163('0x48')]);_0x37dd9a[_0x6163('0x4f')]=_['intersection'](_0x37dd9a[_0x6163('0x46')],_0x37dd9a['query']);_0x5e2008[_0x6163('0x4a')]=_[_0x6163('0x49')](_0x37dd9a[_0x6163('0x46')],qs['fields'](_0x335879[_0x6163('0x48')][_0x6163('0x4b')]));_0x5e2008[_0x6163('0x4a')]=_0x5e2008[_0x6163('0x4a')][_0x6163('0x4c')]?_0x5e2008[_0x6163('0x4a')]:_0x37dd9a[_0x6163('0x46')];if(_0x335879['query'][_0x6163('0xbc')]){_0x5e2008[_0x6163('0xbd')]=[{'all':!![]}];}_0x5e2008=_[_0x6163('0xbe')]({},_0x5e2008,_0x335879[_0x6163('0xbf')]);return db[_0x6163('0x42')][_0x6163('0x67')](_0x5e2008)[_0x6163('0x2d')](handleEntityNotFound(_0x1009f3,null))[_0x6163('0x2d')](respondWithResult(_0x1009f3,null))[_0x6163('0xb8')](handleError(_0x1009f3,null));};exports[_0x6163('0xc0')]=function(_0x407d2c,_0x5ef281){return db[_0x6163('0x42')][_0x6163('0xc0')](_0x407d2c[_0x6163('0xc1')],{})['then'](respondWithResult(_0x5ef281,0xc9))[_0x6163('0xb8')](handleError(_0x5ef281,null));};exports[_0x6163('0xc2')]=function(_0x3a76a8,_0x52adfd){if(_0x3a76a8['body']['id']){delete _0x3a76a8[_0x6163('0xc1')]['id'];}return db[_0x6163('0x42')][_0x6163('0x67')]({'where':{'id':_0x3a76a8[_0x6163('0xba')]['id']}})[_0x6163('0x2d')](handleEntityNotFound(_0x52adfd,null))['then'](saveUpdates(_0x3a76a8[_0x6163('0xc1')],null))[_0x6163('0x2d')](respondWithResult(_0x52adfd,null))[_0x6163('0xb8')](handleError(_0x52adfd,null));};exports[_0x6163('0x2e')]=function(_0xd6c3b7,_0x667d){return db['OpenchannelInteraction']['find']({'where':{'id':_0xd6c3b7['params']['id']}})[_0x6163('0x2d')](handleEntityNotFound(_0x667d,null))['then'](removeEntity(_0x667d,null))['catch'](handleError(_0x667d,null));};exports['describe']=function(_0x11fd33,_0xee4223){return db['OpenchannelInteraction'][_0x6163('0xc3')]()[_0x6163('0x2d')](respondWithResult(_0xee4223,null))[_0x6163('0xb8')](handleError(_0xee4223,null));};exports[_0x6163('0xc4')]=function(_0x3aceb9,_0x246998,_0x3e48df){return db[_0x6163('0xc5')][_0x6163('0x67')]({'where':{'id':_0x3aceb9[_0x6163('0xba')]['id']}})[_0x6163('0x2d')](handleEntityNotFound(_0x246998,null))[_0x6163('0x2d')](function(_0x128ba4){if(_0x128ba4){return _0x128ba4[_0x6163('0xc4')](_0x3aceb9[_0x6163('0xc1')][_0x6163('0xc6')],_[_0x6163('0xc7')](_0x3aceb9[_0x6163('0xc1')],['ids','id'])||{});}})[_0x6163('0x2d')](respondWithResult(_0x246998,null))[_0x6163('0xb8')](handleError(_0x246998,null));};exports[_0x6163('0xc8')]=function(_0x43d124,_0x31a002,_0x40aca1){var _0x690f6e={'raw':![],'where':{}};var _0x31e789={};var _0x1946b1={'count':0x0,'rows':[]};return db[_0x6163('0x42')][_0x6163('0xc9')]({'where':{'id':_0x43d124['params']['id']}})[_0x6163('0x2d')](handleEntityNotFound(_0x31a002,null))[_0x6163('0x2d')](function(_0x11eabb){if(_0x11eabb){_0x31e789[_0x6163('0x46')]=_[_0x6163('0xbb')](db[_0x6163('0xc5')][_0x6163('0x43')]);_0x31e789[_0x6163('0x48')]=_['keys'](_0x43d124[_0x6163('0x48')]);_0x31e789['filters']=_[_0x6163('0x49')](_0x31e789[_0x6163('0x46')],_0x31e789[_0x6163('0x48')]);_0x690f6e[_0x6163('0x4a')]=_[_0x6163('0x49')](_0x31e789[_0x6163('0x46')],qs[_0x6163('0x4b')](_0x43d124[_0x6163('0x48')][_0x6163('0x4b')]));_0x690f6e['attributes']=_0x690f6e[_0x6163('0x4a')][_0x6163('0x4c')]?_0x690f6e[_0x6163('0x4a')]:_0x31e789[_0x6163('0x46')];if(!_0x43d124[_0x6163('0x48')][_0x6163('0x4d')](_0x6163('0xca'))){_0x690f6e[_0x6163('0x26')]=qs[_0x6163('0x26')](_0x43d124[_0x6163('0x48')][_0x6163('0x26')]);_0x690f6e[_0x6163('0x24')]=qs[_0x6163('0x24')](_0x43d124['query']['offset']);}_0x690f6e[_0x6163('0x96')]=qs[_0x6163('0x4e')](_0x43d124[_0x6163('0x48')][_0x6163('0x4e')]);_0x690f6e['where']=qs['filters'](_[_0x6163('0x50')](_0x43d124[_0x6163('0x48')],_0x31e789[_0x6163('0x4f')]));_0x690f6e['where']['OpenchannelInteractionId']=_0x11eabb['id'];if(_0x43d124[_0x6163('0x48')][_0x6163('0x8a')]){_0x690f6e[_0x6163('0x7b')]=_[_0x6163('0xbe')](_0x690f6e[_0x6163('0x7b')],{'$or':_[_0x6163('0x33')](_0x690f6e[_0x6163('0x4a')],function(_0x653592){var _0x50eefe={};_0x50eefe[_0x653592]={'$like':'%'+_0x43d124['query'][_0x6163('0x8a')]+'%'};return _0x50eefe;})});}if(_0x43d124[_0x6163('0x48')][_0x6163('0x7f')]){var _0x55868c=_0x43d124[_0x6163('0x48')][_0x6163('0x7f')]['split'](',');var _0x85f4ae={};_0x85f4ae[_0x55868c[0x0]]={'$gte':moment(_0x55868c[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x690f6e[_0x6163('0x7b')]=_[_0x6163('0xbe')](_0x690f6e[_0x6163('0x7b')],_0x85f4ae);}_0x690f6e=_[_0x6163('0xbe')]({},_0x690f6e,_0x43d124[_0x6163('0xbf')]);return db[_0x6163('0xc5')][_0x6163('0x27')]({'where':_0x690f6e['where']})[_0x6163('0x2d')](function(_0x406012){_0x1946b1[_0x6163('0x27')]=_0x406012;if(_0x43d124[_0x6163('0x48')][_0x6163('0xbc')]){_0x690f6e['include']=[{'all':!![]}];}return db[_0x6163('0xc5')][_0x6163('0xcb')](_0x690f6e);})[_0x6163('0x2d')](function(_0x10c9c9){_0x1946b1[_0x6163('0xcc')]=_0x10c9c9;return _0x1946b1;});}})['then'](respondWithFilteredResult(_0x31a002,_0x690f6e))['catch'](handleError(_0x31a002,null));};exports[_0x6163('0xcd')]=function(_0x1536b7,_0x41fffa,_0x386aa0){return db[_0x6163('0x42')][_0x6163('0x67')]({'where':{'id':_0x1536b7[_0x6163('0xba')]['id']}})[_0x6163('0x2d')](handleEntityNotFound(_0x41fffa,null))[_0x6163('0x2d')](function(_0x1902c4){if(_0x1902c4){return _0x1902c4[_0x6163('0xce')](_0x1536b7['body'][_0x6163('0xc6')],_['omit'](_0x1536b7[_0x6163('0xc1')],[_0x6163('0xc6'),'id'])||{})['spread'](function(){return db[_0x6163('0x74')]['findAll']({'attributes':['id',_0x6163('0x47'),_0x6163('0xcf')],'where':{'id':_0x1536b7['body'][_0x6163('0xc6')]}});})[_0x6163('0x2d')](function(_0x4af184){socket[_0x6163('0xd0')](_0x6163('0xd1'),{'id':Number(_0x1536b7[_0x6163('0xba')]['id']),'tags':_0x4af184||[]});return{'id':Number(_0x1536b7[_0x6163('0xba')]['id']),'tags':_0x4af184||[]};});}})[_0x6163('0x2d')](respondWithResult(_0x41fffa,null))[_0x6163('0xb8')](handleError(_0x41fffa,null));};exports[_0x6163('0xd2')]=function(_0xd2e9fd,_0x224416,_0x50ec25){return db[_0x6163('0x42')][_0x6163('0x67')]({'where':{'id':_0xd2e9fd[_0x6163('0xba')]['id']}})[_0x6163('0x2d')](handleEntityNotFound(_0x224416,null))['then'](function(_0x526839){if(_0x526839){return _0x526839['removeTags'](_0xd2e9fd[_0x6163('0x48')]['ids']);}})[_0x6163('0x2d')](respondWithStatusCode(_0x224416,null))[_0x6163('0xb8')](handleError(_0x224416,null));};exports[_0x6163('0xd3')]=function(_0x188d5c,_0x45511f){var _0x2ac3d4=moment()[_0x6163('0xd4')]()[_0x6163('0xa2')]();var _0x5044a1=path[_0x6163('0xd5')](config[_0x6163('0xd6')],'server','files','tmp');var _0x1d7e93=path[_0x6163('0xd5')](config[_0x6163('0xd6')],_0x6163('0xd7'),_0x6163('0xd8'),_0x6163('0xd9'));var _0x3f4547=path[_0x6163('0xd5')](_0x5044a1,_0x2ac3d4);var _0x5dcb0f=util['format'](_0x6163('0xda'),_0x188d5c[_0x6163('0xba')]['id'],_0x2ac3d4);var _0x2d190e=path[_0x6163('0xd5')](_0x5044a1,_0x5dcb0f);var _0x218ed9=[];_0x218ed9['push']({'model':db[_0x6163('0x76')],'as':'User','attributes':['id',_0x6163('0x34')],'raw':!![]});_0x218ed9[_0x6163('0x39')]({'model':db['CmContact'],'as':_0x6163('0x6b'),'attributes':['id',_0x6163('0xdb'),_0x6163('0xdc')],'raw':!![]});if(_0x188d5c[_0x6163('0x48')][_0x6163('0xd9')]){_0x218ed9[_0x6163('0x39')]({'model':db[_0x6163('0xdd')],'as':'Attachment','raw':!![]});}var _0x39cdfe=[{'model':db[_0x6163('0xc5')],'as':'Messages','attributes':['id','body','createdAt',_0x6163('0xde'),'secret',_0x6163('0x85')],'include':_0x218ed9}];_0x39cdfe[_0x6163('0x39')]({'model':db[_0x6163('0xdf')],'as':_0x6163('0xe0'),'attributes':['id',_0x6163('0x47')]});_0x39cdfe['push']({'model':db['User'],'as':_0x6163('0xe1'),'attributes':['id',_0x6163('0x34')]});return db[_0x6163('0x42')][_0x6163('0x67')]({'where':{'id':_0x188d5c[_0x6163('0xba')]['id']},'include':_0x39cdfe})['then'](handleEntityNotFound(_0x45511f,null))['then'](function(_0x57a69c){if(_0x57a69c){var _0x5dde94=_0x57a69c[_0x6163('0xe2')]({'plain':!![]});fs[_0x6163('0xe3')](_0x3f4547);var _0x4c5f59={'channel':'Openchannel','account':_0x5dde94['Account']['name'],'agent':_0x5dde94[_0x6163('0xe1')]?_0x5dde94['Owner']['fullname']:_0x6163('0xe4'),'createdAt':moment(_0x5dde94[_0x6163('0x7d')])[_0x6163('0xe5')](_0x6163('0xe6'))[_0x6163('0xa2')](),'closedAt':_0x5dde94[_0x6163('0x3f')]?moment(_0x5dde94[_0x6163('0xe7')])[_0x6163('0xe5')](_0x6163('0xe6'))[_0x6163('0xa2')]():'','disposition':_0x5dde94[_0x6163('0xe8')],'visibility':_0x5dde94[_0x6163('0xe9')]?'Public':_0x6163('0xea'),'messages':_(_0x5dde94[_0x6163('0xeb')])[_0x6163('0x8a')]({'secret':![]})[_0x6163('0x33')](function(_0x4e1c0f){if(_0x4e1c0f[_0x6163('0xdd')]){var _0x514cd2=path[_0x6163('0xd5')](_0x1d7e93,_0x4e1c0f[_0x6163('0xdd')][_0x6163('0xec')]);if(fs[_0x6163('0xed')](_0x514cd2)){fs[_0x6163('0xee')](_0x514cd2)[_0x6163('0xef')](fs['createWriteStream'](path[_0x6163('0xd5')](_0x3f4547,_0x4e1c0f[_0x6163('0xdd')][_0x6163('0xec')])));}}return{'date':moment(_0x4e1c0f[_0x6163('0x7d')])['format'](_0x6163('0xe6'))[_0x6163('0xa2')](),'sender':_0x4e1c0f[_0x6163('0xde')]==='out'?_0x4e1c0f['User']?_0x4e1c0f[_0x6163('0x76')][_0x6163('0x34')]:_0x6163('0xf0'):_0x4e1c0f[_0x6163('0x6b')][_0x6163('0xdb')]+(_0x4e1c0f[_0x6163('0x6b')][_0x6163('0xdc')]?'\x20'+_0x4e1c0f[_0x6163('0x6b')][_0x6163('0xdc')]:''),'body':_0x4e1c0f[_0x6163('0xdd')]?_0x4e1c0f['Attachment'][_0x6163('0xec')]:_0x4e1c0f[_0x6163('0xc1')],'direction':_0x4e1c0f[_0x6163('0xde')]===_0x6163('0xf1')?'A':'C','secret':_0x4e1c0f[_0x6163('0xf2')],'read':_0x4e1c0f['read'],'attachment':_0x4e1c0f['Attachment']};})[_0x6163('0x68')]()};return ejs['renderFile'](path[_0x6163('0xd5')](config[_0x6163('0xd6')],'server',_0x6163('0xf3'),_0x6163('0xf4')),{'interaction':_0x4c5f59})[_0x6163('0x2d')](function(_0x31bb03){var _0x49ed3d=path['join'](_0x3f4547,_0x6163('0xf5')+_0x5dde94['id']+'-'+_0x2ac3d4+_0x6163('0xf6'));var _0x4e80d8={'path':_0x49ed3d,'channel':_0x6163('0xf7'),'interactionId':_0x5dde94['id']};return pdf['createPdfFromHTML'](_0x31bb03,_0x4e80d8);})[_0x6163('0x2d')](function(){return new BPromise(function(_0x1080f9,_0x477b60){zipdir(_0x3f4547,{'saveTo':_0x2d190e},function(_0x2dc716,_0x53d66c){if(_0x2dc716)return _0x477b60(_0x2dc716);return _0x1080f9(_0x53d66c);});})[_0x6163('0x2d')](function(){return new BPromise(function(_0x35e555,_0x459234){rimraf(_0x3f4547,function(_0x1f6b5d){if(_0x1f6b5d)_0x459234(_0x1f6b5d);return _0x35e555();});});})[_0x6163('0x2d')](function(){return _0x45511f['download'](_0x2d190e,_0x5dcb0f,function(_0x2b134a){if(_0x2b134a){console[_0x6163('0xf8')](_0x6163('0xf9'),_0x2b134a);}else{fs[_0x6163('0xfa')](_0x2d190e);}});});});}else{return _0x45511f[_0x6163('0x20')](0xc8);}})[_0x6163('0xb8')](handleError(_0x45511f,null));};