Built motion from commit (unavailable).|2.6.0
[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 _0x1c71=['path','sox','ejs','fs-extra','lodash','crypto','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./openchannelInteraction.socket','status','json','offset','limit','undefined','count','set','apply','reject','save','update','destroy','then','end','sendStatus','stack','send','Users','map','TagIds','split','Tags','catch','OpenchannelInteraction','fieldName','type','model','name','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','select','field','color','from','u.id','u.fullname','ui.OpenchannelInteractionId','user_has_openchannel_interactions','left_join','users','u.id\x20=\x20ui.UserId','openchannel_interactions','cm_contacts','o.id\x20=\x20i.UserId','openchannel_accounts','a.id\x20=\x20i.OpenchannelAccountId','openchannel_messages','openchannel_interaction_has_tags','it.OpenchannelInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','buildExpression','text','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','$substring','UserId','start','body','some','compact','isEmpty','OpenchannelAccountId','i.OpenchannelAccountId\x20IN\x20?','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','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?','group','i.id','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','sequelize','toString','a.key','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','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','o.fullname','Owner.fullname','ui.OpenchannelInteractionId\x20IN\x20?','OpenchannelInteractionId','push','all','rows','show','params','rawAttributes','includeAll','merge','create','describe','addMessage','OpenchannelMessage','ids','omit','getMessages','findOne','nolimit','format','YYYY-MM-DD\x20HH:mm:ss','options','include','findAll','addTags','setTags','spread','emit','openchannelInteractionTags:save','removeTags','unix','join','root','server','files','tmp','transcript-%d-%s.zip','fullname','CmContact','firstName','lastName','Messages','direction','secret','read','Account','Owner','get','mkdirSync','Openchannel','N.A.','closed','closedAt','disposition','threadId','Public','Private','Attachment','basename','out','renderFile','downloadInteraction.html','createPdfFromHTML','download','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util'];(function(_0x5d12e6,_0x5a2819){var _0x15fc1a=function(_0x36b927){while(--_0x36b927){_0x5d12e6['push'](_0x5d12e6['shift']());}};_0x15fc1a(++_0x5a2819);}(_0x1c71,0xe4));var _0x11c7=function(_0x35ce8b,_0x2c8329){_0x35ce8b=_0x35ce8b-0x0;var _0x5f0282=_0x1c71[_0x35ce8b];return _0x5f0282;};'use strict';var emlformat=require(_0x11c7('0x0'));var rimraf=require(_0x11c7('0x1'));var zipdir=require(_0x11c7('0x2'));var jsonpatch=require(_0x11c7('0x3'));var rp=require(_0x11c7('0x4'));var moment=require(_0x11c7('0x5'));var BPromise=require(_0x11c7('0x6'));var Mustache=require(_0x11c7('0x7'));var util=require(_0x11c7('0x8'));var path=require(_0x11c7('0x9'));var sox=require(_0x11c7('0xa'));var csv=require('to-csv');var ejs=require(_0x11c7('0xb'));var fs=require('fs');var fs_extra=require(_0x11c7('0xc'));var _=require(_0x11c7('0xd'));var squel=require('squel');var crypto=require(_0x11c7('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x11c7('0xf'));var toCsv=require(_0x11c7('0x10'));var querystring=require(_0x11c7('0x11'));var Papa=require(_0x11c7('0x12'));var Redis=require('ioredis');var authService=require(_0x11c7('0x13'));var qs=require(_0x11c7('0x14'));var as=require(_0x11c7('0x15'));var pdf=require(_0x11c7('0x16'));var hardwareService=require(_0x11c7('0x17'));var logger=require(_0x11c7('0x18'))(_0x11c7('0x19'));var utils=require(_0x11c7('0x1a'));var config=require(_0x11c7('0x1b'));var licenseUtil=require('../../config/license/util');var db=require(_0x11c7('0x1c'))['db'];config['redis']=_[_0x11c7('0x1d')](config[_0x11c7('0x1e')],{'host':_0x11c7('0x1f'),'port':0x18eb});var socket=require(_0x11c7('0x20'))(new Redis(config['redis']));require(_0x11c7('0x21'))['register'](socket);function respondWithStatusCode(_0x3ec0df,_0x1f896d){_0x1f896d=_0x1f896d||0xcc;return function(_0x596827){if(_0x596827){return _0x3ec0df['sendStatus'](_0x1f896d);}return _0x3ec0df[_0x11c7('0x22')](_0x1f896d)['end']();};}function respondWithResult(_0x5ccdb0,_0xd7833c){_0xd7833c=_0xd7833c||0xc8;return function(_0x204b2d){if(_0x204b2d){return _0x5ccdb0[_0x11c7('0x22')](_0xd7833c)[_0x11c7('0x23')](_0x204b2d);}};}function respondWithFilteredResult(_0x5aa3a5,_0x1ac209){return function(_0x45e946){if(_0x45e946){var _0x1a38e6=typeof _0x1ac209[_0x11c7('0x24')]==='undefined'&&typeof _0x1ac209[_0x11c7('0x25')]===_0x11c7('0x26');var _0x55e220=_0x45e946[_0x11c7('0x27')];var _0x422c2a=_0x1a38e6?0x0:_0x1ac209[_0x11c7('0x24')];var _0x4da148=_0x1a38e6?_0x45e946['count']:_0x1ac209[_0x11c7('0x24')]+_0x1ac209['limit'];var _0x1876a6;if(_0x4da148>=_0x55e220){_0x4da148=_0x55e220;_0x1876a6=0xc8;}else{_0x1876a6=0xce;}_0x5aa3a5['status'](_0x1876a6);return _0x5aa3a5[_0x11c7('0x28')]('Content-Range',_0x422c2a+'-'+_0x4da148+'/'+_0x55e220)['json'](_0x45e946);}return null;};}function patchUpdates(_0x4266d9){return function(_0x28bc7b){try{jsonpatch[_0x11c7('0x29')](_0x28bc7b,_0x4266d9,!![]);}catch(_0x3a37c7){return BPromise[_0x11c7('0x2a')](_0x3a37c7);}return _0x28bc7b[_0x11c7('0x2b')]();};}function saveUpdates(_0x525adb,_0x509fb0){return function(_0x1ad892){if(_0x1ad892){return _0x1ad892[_0x11c7('0x2c')](_0x525adb)['then'](function(_0x1d1f97){return _0x1d1f97;});}return null;};}function removeEntity(_0x62905b,_0x4a0492){return function(_0x100738){if(_0x100738){return _0x100738[_0x11c7('0x2d')]()[_0x11c7('0x2e')](function(){_0x62905b[_0x11c7('0x22')](0xcc)[_0x11c7('0x2f')]();});}};}function handleEntityNotFound(_0x2eda55,_0x5505e8){return function(_0x3f4018){if(!_0x3f4018){_0x2eda55[_0x11c7('0x30')](0x194);}return _0x3f4018;};}function handleError(_0x31a656,_0x26a3d4){_0x26a3d4=_0x26a3d4||0x1f4;return function(_0x4564b7){logger['error'](_0x4564b7[_0x11c7('0x31')]);if(_0x4564b7['name']){delete _0x4564b7['name'];}_0x31a656[_0x11c7('0x22')](_0x26a3d4)[_0x11c7('0x32')](_0x4564b7);};}function getInteractionUsers(_0x737ed8,_0x328d7d){return new BPromise(function(_0xddf4c,_0x3e45d){try{if(_0x328d7d[_0x737ed8['id']]){_0x737ed8[_0x11c7('0x33')]=_[_0x11c7('0x34')](_0x328d7d[_0x737ed8['id']],function(_0xb09456){return{'id':_0xb09456['id'],'fullname':_0xb09456['fullname']};});}}catch(_0x43dbfe){_0x3e45d(_0x43dbfe);}_0xddf4c(_0x737ed8);});}function getInteractionTags(_0x1b8b37,_0x148867){return new BPromise(function(_0x3d02af,_0x4720f9){try{if(_0x1b8b37[_0x11c7('0x35')]){_0x1b8b37['Tags']=[];_0x1b8b37[_0x11c7('0x35')][_0x11c7('0x36')](',')['forEach'](function(_0x30a8c4){_0x1b8b37[_0x11c7('0x37')]['push'](_0x148867[_0x30a8c4]);});}delete _0x1b8b37['TagIds'];}catch(_0x352687){_0x4720f9(_0x352687);}_0x3d02af(_0x1b8b37);});}function updateOpenchannelInteraction(_0x218308,_0x12f3f9,_0x36bdaf){return new BPromise(function(_0x59d60a,_0x2b3d80){return getInteractionUsers(_0x218308,_0x36bdaf)[_0x11c7('0x2e')](function(_0x5a5e3d){return getInteractionTags(_0x5a5e3d,_0x12f3f9);})[_0x11c7('0x2e')](function(_0x1a63e8){_0x59d60a(_0x1a63e8);})[_0x11c7('0x38')](function(_0x431897){_0x2b3d80(_0x431897);});});}exports['index']=function(_0x2e4a7c,_0x453236){var _0xfeeb0a={},_0x25d376={},_0x2c4a4f={'count':0x0,'rows':[]};var _0x40025f=_['map'](db[_0x11c7('0x39')]['rawAttributes'],function(_0x108d77){return{'name':_0x108d77[_0x11c7('0x3a')],'type':_0x108d77[_0x11c7('0x3b')]['key']};});_0x25d376[_0x11c7('0x3c')]=_[_0x11c7('0x34')](_0x40025f,_0x11c7('0x3d'));_0x25d376[_0x11c7('0x3e')]=_[_0x11c7('0x3f')](_0x2e4a7c[_0x11c7('0x3e')]);_0x25d376[_0x11c7('0x40')]=_['intersection'](_0x25d376[_0x11c7('0x3c')],_0x25d376[_0x11c7('0x3e')]);_0xfeeb0a[_0x11c7('0x41')]=_[_0x11c7('0x42')](_0x25d376[_0x11c7('0x3c')],qs[_0x11c7('0x43')](_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x43')]));_0xfeeb0a['attributes']=_0xfeeb0a[_0x11c7('0x41')][_0x11c7('0x44')]?_0xfeeb0a['attributes']:_0x25d376['model'];if(!_0x2e4a7c['query'][_0x11c7('0x45')]('nolimit')){_0xfeeb0a['limit']=qs[_0x11c7('0x25')](_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x25')]);_0xfeeb0a['offset']=qs['offset'](_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x24')]);}_0xfeeb0a[_0x11c7('0x46')]=qs[_0x11c7('0x47')](_0x2e4a7c['query'][_0x11c7('0x47')]);_0xfeeb0a[_0x11c7('0x48')]=qs[_0x11c7('0x40')](_[_0x11c7('0x49')](_0x2e4a7c['query'],_0x25d376[_0x11c7('0x40')]),_0x40025f);var _0x4f08dd=[];var _0x311809=squel[_0x11c7('0x4a')]()[_0x11c7('0x4b')]('id')[_0x11c7('0x4b')](_0x11c7('0x3d'))[_0x11c7('0x4b')](_0x11c7('0x4c'))[_0x11c7('0x4d')]('tools_tags');var _0x6c5f5=squel[_0x11c7('0x4a')]()[_0x11c7('0x4b')](_0x11c7('0x4e'))['field'](_0x11c7('0x4f'))[_0x11c7('0x4b')](_0x11c7('0x50'))[_0x11c7('0x4d')](_0x11c7('0x51'),'ui')[_0x11c7('0x52')](_0x11c7('0x53'),'u',_0x11c7('0x54'));var _0x29ba76=squel[_0x11c7('0x4a')]()[_0x11c7('0x4d')](_0x11c7('0x55'),'i')[_0x11c7('0x52')](_0x11c7('0x56'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join']('users','o',_0x11c7('0x57'))['left_join'](_0x11c7('0x58'),'a',_0x11c7('0x59'))[_0x11c7('0x52')](_0x11c7('0x5a'),'me','me.OpenchannelInteractionId\x20=\x20i.id')[_0x11c7('0x52')](_0x11c7('0x5b'),'it',_0x11c7('0x5c'))[_0x11c7('0x52')](_0x11c7('0x5d'),'t',_0x11c7('0x5e'));var _0x4dc593=squel[_0x11c7('0x5f')]();var _0x5bab81=[];var _0x3c9dd8=squel[_0x11c7('0x5f')]();var _0x1086f4;if(_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x60')]){_0x1086f4=as[_0x11c7('0x61')](_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x60')]);var _0x3308c9=_0x1086f4[_0x11c7('0x62')];for(var _0x4ef125=0x0;_0x4ef125<_0x1086f4[_0x11c7('0x63')][_0x11c7('0x44')];_0x4ef125++){var _0x175264=_0x1086f4[_0x11c7('0x63')][_0x4ef125];var _0x1f7344='i';var _0x350a17=_[_0x11c7('0x64')](_0x40025f,[_0x11c7('0x3d'),_0x175264[_0x11c7('0x4b')]]);if(!_0x350a17){switch(_0x175264[_0x11c7('0x4b')]){case _0x11c7('0x65'):if(_0x175264[_0x11c7('0x66')]==0x1){_0x29ba76[_0x11c7('0x67')]('`'+_0x175264['field']+_0x11c7('0x68'));}else{_0x29ba76[_0x11c7('0x67')]('`'+_0x175264['field']+_0x11c7('0x69'));}break;case _0x11c7('0x6a'):if(_0x175264[_0x11c7('0x6b')]==='$substring'){if(_0x175264[_0x11c7('0x66')][_0x11c7('0x36')]('\x20')[_0x11c7('0x44')]>0x1){_0x4dc593[_0x3308c9](_0x11c7('0x6c'),qs[_0x11c7('0x6d')](_0x175264[_0x11c7('0x66')]),null);}else{var _0x231cf7='%'+_0x175264[_0x11c7('0x66')]+'%';_0x4dc593[_0x3308c9]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x231cf7,_0x231cf7,_0x231cf7);}}else{_0x350a17=_[_0x11c7('0x64')](_0x40025f,['name','ContactId']);_0x175264['field']='ContactId';_0x59407f=as[_0x11c7('0x6e')](_0x1f7344,_0x350a17[_0x11c7('0x3b')],_0x175264);_0x4dc593[_0x3308c9](_0x59407f[_0x11c7('0x6f')],_0x59407f['value']['start'],_0x59407f['value'][_0x11c7('0x2f')]);}break;case _0x11c7('0x70'):var _0x3bcd0d=_0x175264['value'][_0x11c7('0x36')](',')['map'](function(_0x37c29a){return Number(_0x37c29a);});_0x3bcd0d[_0x11c7('0x71')](function(_0xd4e79e){_0x3c9dd8['or'](_0x11c7('0x72'),'%,'+_0xd4e79e+',%');});_0x5bab81=_['union'](_0x5bab81,_0x3bcd0d);break;case _0x11c7('0x73'):if(_0x175264['operator']===_0x11c7('0x74')){_0x4dc593[_0x3308c9]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x175264[_0x11c7('0x66')]+'%',null);}else{_0x350a17=_[_0x11c7('0x64')](_0x40025f,[_0x11c7('0x3d'),'UserId']);_0x175264[_0x11c7('0x4b')]=_0x11c7('0x75');_0x59407f=as[_0x11c7('0x6e')](_0x1f7344,_0x350a17[_0x11c7('0x3b')],_0x175264);_0x4dc593[_0x3308c9](_0x59407f[_0x11c7('0x6f')],_0x59407f[_0x11c7('0x66')][_0x11c7('0x76')],_0x59407f[_0x11c7('0x66')]['end']);}break;case _0x11c7('0x77'):_0x59407f=as['buildExpression']('me',null,_0x175264);_0x4dc593[_0x3308c9](_0x59407f[_0x11c7('0x6f')],_0x59407f[_0x11c7('0x66')][_0x11c7('0x76')],_0x59407f[_0x11c7('0x66')]['end']);break;}}else{var _0x59407f=as[_0x11c7('0x6e')](_0x1f7344,_0x350a17[_0x11c7('0x3b')],_0x175264);_0x4dc593[_0x3308c9](_0x59407f['text'],_0x59407f[_0x11c7('0x66')][_0x11c7('0x76')],_0x59407f[_0x11c7('0x66')]['end']);}}}else{var _0x249151=_(_0x2e4a7c[_0x11c7('0x3e')])[_0x11c7('0x3f')]()[_0x11c7('0x34')](function(_0x5155a6){return _[_0x11c7('0x78')](_0x40025f,[_0x11c7('0x3d'),_0x5155a6])?_0x5155a6:undefined;})[_0x11c7('0x79')]()[_0x11c7('0x66')]();if(!_[_0x11c7('0x7a')](_0x249151)){_0x249151[_0x11c7('0x71')](function(_0x236a30){if(_0x236a30===_0x11c7('0x7b')){_0x29ba76['where'](_0x11c7('0x7c'),[]['concat'](_0x2e4a7c[_0x11c7('0x3e')][_0x236a30]));}else if(_0x236a30===_0x11c7('0x7d')){var _0x544de6=JSON[_0x11c7('0x7e')](_0x2e4a7c[_0x11c7('0x3e')][_0x236a30])[_0x11c7('0x7f')];var _0x348a44=JSON['parse'](_0x2e4a7c[_0x11c7('0x3e')][_0x236a30])[_0x11c7('0x80')];_0x29ba76[_0x11c7('0x48')](_0x11c7('0x81'),_0x544de6,_0x348a44);}else{if(_0x2e4a7c['query'][_0x236a30]==='null'){_0x29ba76[_0x11c7('0x48')]('i.'+_0x236a30+'\x20IS\x20NULL');}else{_0x29ba76['where']('i.'+_0x236a30+'\x20=\x20?',_0x2e4a7c[_0x11c7('0x3e')][_0x236a30]);}}});}if(_0x2e4a7c[_0x11c7('0x3e')]['read']){if(_0x2e4a7c['query']['read']==0x1){_0x29ba76['having'](_0x11c7('0x82'));}else{_0x29ba76[_0x11c7('0x67')]('`unreadMessages`\x20>\x200');}}if(_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x83')]){_0x5bab81=_[_0x11c7('0x84')](_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x83')])?_0x2e4a7c['query'][_0x11c7('0x83')]:new Array(_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x83')]);_0x5bab81['forEach'](function(_0x8c5edd){_0x3c9dd8['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x8c5edd+',%');});}if(_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x85')]){var _0x35962a=_0x2e4a7c['query'][_0x11c7('0x85')][_0x11c7('0x86')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x11c7('0x87')](_0x35962a)){_0x4dc593['or'](_0x11c7('0x88'),_0x35962a+'%');}else{_0x4dc593['or'](_0x11c7('0x89'),qs[_0x11c7('0x6d')](_0x35962a))['or'](_0x11c7('0x8a'),_0x35962a+'%')['or'](_0x11c7('0x8b'),_0x35962a+'%');}}}_0x29ba76[_0x11c7('0x48')](_0x4dc593);_0x29ba76[_0x11c7('0x8c')](_0x11c7('0x8d'));var _0x4716bc={'type':db['Sequelize'][_0x11c7('0x8e')][_0x11c7('0x8f')],'raw':!![]};var _0x4f5a47=_0x29ba76['clone']();_0x4f5a47[_0x11c7('0x4b')](_0x11c7('0x8d'));_0x4f5a47[_0x11c7('0x4b')](_0x11c7('0x90'),_0x11c7('0x65'));if(_0xfeeb0a[_0x11c7('0x46')]){_0xfeeb0a[_0x11c7('0x46')][_0x11c7('0x71')](function(_0x1f92b1){var _0x4a130d=_0x1f92b1[0x0]===_0x11c7('0x91')?_0x1f92b1[0x0]:'i.'+_0x1f92b1[0x0];_0x29ba76[_0x11c7('0x46')](_0x4a130d,_0x1f92b1[0x1]===_0x11c7('0x92')?![]:!![]);});}if(!_[_0x11c7('0x7a')](_0x5bab81)){_0x29ba76[_0x11c7('0x67')](_0x3c9dd8);_0x4f5a47['where'](_0x11c7('0x93'),_0x5bab81);}BPromise[_0x11c7('0x94')]()[_0x11c7('0x2e')](function(){if(!_0x1086f4){if(_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x7b')])return;_0x4f5a47[_0x11c7('0x48')](_0x11c7('0x95'));_0x29ba76[_0x11c7('0x48')](_0x11c7('0x95'));return;}if(_0x2e4a7c[_0x11c7('0x96')][_0x11c7('0x97')]!==_0x11c7('0x98'))return;return _0x2e4a7c[_0x11c7('0x96')][_0x11c7('0x99')]({'attributes':['id'],'raw':!![]})['then'](function(_0x13d73b){if(_[_0x11c7('0x7a')](_0x13d73b)){_0x4f5a47[_0x11c7('0x48')](_0x11c7('0x9a'));_0x29ba76['where'](_0x11c7('0x9a'));}else{_0x4f5a47[_0x11c7('0x48')](_0x11c7('0x7c'),_[_0x11c7('0x34')](_0x13d73b,'id'));_0x29ba76[_0x11c7('0x48')](_0x11c7('0x7c'),_[_0x11c7('0x34')](_0x13d73b,'id'));}});})[_0x11c7('0x2e')](function(){if(_0x2e4a7c[_0x11c7('0x96')][_0x11c7('0x97')]===_0x11c7('0x98')&&!_0x1086f4&&!_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x7b')])return[];return db[_0x11c7('0x9b')][_0x11c7('0x3e')](_0x4f5a47['toString'](),_0x4716bc);})[_0x11c7('0x2e')](function(_0x415478){_0x2c4a4f[_0x11c7('0x27')]=_0x415478[_0x11c7('0x44')];if(_0x2c4a4f[_0x11c7('0x27')]===0x0)return[];return db[_0x11c7('0x9b')][_0x11c7('0x3e')](_0x311809[_0x11c7('0x9c')](),_0x4716bc)['then'](function(_0x520474){_0x4f08dd=_['keyBy'](_0x520474,'id');_0x4716bc=_['merge'](_0x4716bc,{'model':db[_0x11c7('0x39')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2e4a7c[_0x11c7('0x3e')][_0x11c7('0x43')]){_0xfeeb0a[_0x11c7('0x41')]['forEach'](function(_0xc15cf9){_0x29ba76[_0x11c7('0x4b')]('i.'+_0xc15cf9);});}else{_0x29ba76[_0x11c7('0x4b')](_0x11c7('0x90'),_0x11c7('0x65'));_0x29ba76[_0x11c7('0x4b')](_0x11c7('0x9d'),'Account.key');_0x29ba76[_0x11c7('0x4b')]('a.mandatoryDisposition',_0x11c7('0x9e'));_0x29ba76[_0x11c7('0x4b')](_0x11c7('0x9f'),_0x11c7('0x91'));_0x29ba76['field'](_0x11c7('0xa0'));_0x29ba76['field'](_0x11c7('0xa1'),_0x11c7('0xa2'));_0x29ba76[_0x11c7('0x4b')](_0x11c7('0xa3'),_0x11c7('0xa4'));_0x29ba76['field']('c.email',_0x11c7('0xa5'));_0x29ba76[_0x11c7('0x4b')](_0x11c7('0xa6'),_0x11c7('0xa7'));_0x29ba76[_0x11c7('0x4b')](_0x11c7('0xa8'),'Contact.mobile');_0x29ba76['field'](_0x11c7('0xa9'),'Contact.fax');_0x29ba76[_0x11c7('0x4b')](_0x11c7('0xaa'),_0x11c7('0xab'));_0x29ba76[_0x11c7('0x4b')]('o.internal','Owner.internal');_0x29ba76[_0x11c7('0x4b')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x11c7('0x35'));}if(_0xfeeb0a[_0x11c7('0x25')])_0x29ba76[_0x11c7('0x25')](_0xfeeb0a[_0x11c7('0x25')]);if(_0xfeeb0a[_0x11c7('0x24')])_0x29ba76[_0x11c7('0x24')](_0xfeeb0a[_0x11c7('0x24')]);return db[_0x11c7('0x9b')][_0x11c7('0x3e')](_0x29ba76['toString'](),_0x4716bc);})[_0x11c7('0x2e')](function(_0x574e5f){if(_0x574e5f[_0x11c7('0x44')]>0x0)_0x6c5f5[_0x11c7('0x48')](_0x11c7('0xac'),_[_0x11c7('0x34')](_0x574e5f,'id'));return db[_0x11c7('0x9b')][_0x11c7('0x3e')](_0x6c5f5[_0x11c7('0x9c')](),_0x4716bc)['then'](function(_0x30a269){var _0x1ed3b6=_['groupBy'](_0x30a269,_0x11c7('0xad'));var _0xb4c426=[];_0x574e5f[_0x11c7('0x71')](function(_0x192082){_0xb4c426[_0x11c7('0xae')](updateOpenchannelInteraction(_0x192082,_0x4f08dd,_0x1ed3b6));});return BPromise[_0x11c7('0xaf')](_0xb4c426);});});})[_0x11c7('0x2e')](function(_0x35e08d){_0x2c4a4f[_0x11c7('0xb0')]=_0x35e08d;return _0x2c4a4f;})[_0x11c7('0x2e')](respondWithFilteredResult(_0x453236,_0xfeeb0a))[_0x11c7('0x38')](handleError(_0x453236,null));};exports[_0x11c7('0xb1')]=function(_0x3d87fb,_0xa64e5b){var _0x6c217d={};if(_0x3d87fb[_0x11c7('0x3e')][_0x11c7('0x3b')]&&_0x3d87fb[_0x11c7('0x3e')]['type']===_0x11c7('0x4d')){_0x6c217d[_0x11c7('0x4d')]=_0x3d87fb[_0x11c7('0xb2')]['id'];}else{_0x6c217d['id']=_0x3d87fb[_0x11c7('0xb2')]['id'];}var _0x1823b9={'raw':![],'where':_0x6c217d},_0x505afc={};_0x505afc[_0x11c7('0x3c')]=_[_0x11c7('0x3f')](db[_0x11c7('0x39')][_0x11c7('0xb3')]);_0x505afc[_0x11c7('0x3e')]=_[_0x11c7('0x3f')](_0x3d87fb[_0x11c7('0x3e')]);_0x505afc[_0x11c7('0x40')]=_[_0x11c7('0x42')](_0x505afc['model'],_0x505afc['query']);_0x1823b9[_0x11c7('0x41')]=_[_0x11c7('0x42')](_0x505afc[_0x11c7('0x3c')],qs['fields'](_0x3d87fb[_0x11c7('0x3e')][_0x11c7('0x43')]));_0x1823b9[_0x11c7('0x41')]=_0x1823b9[_0x11c7('0x41')][_0x11c7('0x44')]?_0x1823b9[_0x11c7('0x41')]:_0x505afc[_0x11c7('0x3c')];if(_0x3d87fb[_0x11c7('0x3e')][_0x11c7('0xb4')]){_0x1823b9['include']=[{'all':!![]}];}_0x1823b9=_[_0x11c7('0xb5')]({},_0x1823b9,_0x3d87fb['options']);return db['OpenchannelInteraction']['find'](_0x1823b9)[_0x11c7('0x2e')](handleEntityNotFound(_0xa64e5b,null))['then'](respondWithResult(_0xa64e5b,null))[_0x11c7('0x38')](handleError(_0xa64e5b,null));};exports[_0x11c7('0xb6')]=function(_0x2a4bd6,_0x1e3525){return db[_0x11c7('0x39')][_0x11c7('0xb6')](_0x2a4bd6[_0x11c7('0x77')],{})[_0x11c7('0x2e')](respondWithResult(_0x1e3525,0xc9))[_0x11c7('0x38')](handleError(_0x1e3525,null));};exports[_0x11c7('0x2c')]=function(_0x38f8bf,_0x5175d5){if(_0x38f8bf[_0x11c7('0x77')]['id']){delete _0x38f8bf[_0x11c7('0x77')]['id'];}return db[_0x11c7('0x39')][_0x11c7('0x64')]({'where':{'id':_0x38f8bf[_0x11c7('0xb2')]['id']}})[_0x11c7('0x2e')](handleEntityNotFound(_0x5175d5,null))[_0x11c7('0x2e')](saveUpdates(_0x38f8bf[_0x11c7('0x77')],null))[_0x11c7('0x2e')](respondWithResult(_0x5175d5,null))[_0x11c7('0x38')](handleError(_0x5175d5,null));};exports['destroy']=function(_0x54611e,_0x1b73a7){return db[_0x11c7('0x39')][_0x11c7('0x64')]({'where':{'id':_0x54611e[_0x11c7('0xb2')]['id']}})[_0x11c7('0x2e')](handleEntityNotFound(_0x1b73a7,null))[_0x11c7('0x2e')](removeEntity(_0x1b73a7,null))['catch'](handleError(_0x1b73a7,null));};exports[_0x11c7('0xb7')]=function(_0x3befe2,_0x3ddba8){return db[_0x11c7('0x39')]['describe']()[_0x11c7('0x2e')](respondWithResult(_0x3ddba8,null))[_0x11c7('0x38')](handleError(_0x3ddba8,null));};exports[_0x11c7('0xb8')]=function(_0x147f07,_0x274277,_0x380de7){return db[_0x11c7('0xb9')][_0x11c7('0x64')]({'where':{'id':_0x147f07[_0x11c7('0xb2')]['id']}})[_0x11c7('0x2e')](handleEntityNotFound(_0x274277,null))[_0x11c7('0x2e')](function(_0x19037f){if(_0x19037f){return _0x19037f[_0x11c7('0xb8')](_0x147f07['body'][_0x11c7('0xba')],_[_0x11c7('0xbb')](_0x147f07[_0x11c7('0x77')],[_0x11c7('0xba'),'id'])||{});}})[_0x11c7('0x2e')](respondWithResult(_0x274277,null))[_0x11c7('0x38')](handleError(_0x274277,null));};exports[_0x11c7('0xbc')]=function(_0x1f8548,_0x521558,_0x4e9b9d){var _0x2d56ec={'raw':![],'where':{}};var _0x4a8b5c={};var _0x127722={'count':0x0,'rows':[]};return db[_0x11c7('0x39')][_0x11c7('0xbd')]({'where':{'id':_0x1f8548[_0x11c7('0xb2')]['id']}})['then'](handleEntityNotFound(_0x521558,null))[_0x11c7('0x2e')](function(_0x5bcd8e){if(_0x5bcd8e){_0x4a8b5c[_0x11c7('0x3c')]=_[_0x11c7('0x3f')](db[_0x11c7('0xb9')]['rawAttributes']);_0x4a8b5c[_0x11c7('0x3e')]=_[_0x11c7('0x3f')](_0x1f8548[_0x11c7('0x3e')]);_0x4a8b5c['filters']=_[_0x11c7('0x42')](_0x4a8b5c[_0x11c7('0x3c')],_0x4a8b5c['query']);_0x2d56ec['attributes']=_[_0x11c7('0x42')](_0x4a8b5c[_0x11c7('0x3c')],qs[_0x11c7('0x43')](_0x1f8548[_0x11c7('0x3e')][_0x11c7('0x43')]));_0x2d56ec[_0x11c7('0x41')]=_0x2d56ec['attributes'][_0x11c7('0x44')]?_0x2d56ec[_0x11c7('0x41')]:_0x4a8b5c[_0x11c7('0x3c')];if(!_0x1f8548[_0x11c7('0x3e')][_0x11c7('0x45')](_0x11c7('0xbe'))){_0x2d56ec['limit']=qs[_0x11c7('0x25')](_0x1f8548[_0x11c7('0x3e')][_0x11c7('0x25')]);_0x2d56ec[_0x11c7('0x24')]=qs[_0x11c7('0x24')](_0x1f8548[_0x11c7('0x3e')][_0x11c7('0x24')]);}_0x2d56ec[_0x11c7('0x46')]=qs['sort'](_0x1f8548['query'][_0x11c7('0x47')]);_0x2d56ec[_0x11c7('0x48')]=qs[_0x11c7('0x40')](_[_0x11c7('0x49')](_0x1f8548[_0x11c7('0x3e')],_0x4a8b5c['filters']));_0x2d56ec[_0x11c7('0x48')]['OpenchannelInteractionId']=_0x5bcd8e['id'];if(_0x1f8548['query'][_0x11c7('0x85')]){_0x2d56ec['where']=_['merge'](_0x2d56ec[_0x11c7('0x48')],{'$or':_[_0x11c7('0x34')](_0x2d56ec[_0x11c7('0x41')],function(_0x35707b){var _0xd7fd39={};_0xd7fd39[_0x35707b]={'$like':'%'+_0x1f8548['query'][_0x11c7('0x85')]+'%'};return _0xd7fd39;})});}if(_0x1f8548[_0x11c7('0x3e')][_0x11c7('0x7f')]){var _0x24b9e6=_0x1f8548['query'][_0x11c7('0x7f')][_0x11c7('0x36')](',');var _0x411c5b={};_0x411c5b[_0x24b9e6[0x0]]={'$gte':moment(_0x24b9e6[0x1])[_0x11c7('0xbf')](_0x11c7('0xc0'))};_0x2d56ec[_0x11c7('0x48')]=_[_0x11c7('0xb5')](_0x2d56ec[_0x11c7('0x48')],_0x411c5b);}_0x2d56ec=_[_0x11c7('0xb5')]({},_0x2d56ec,_0x1f8548[_0x11c7('0xc1')]);return db[_0x11c7('0xb9')][_0x11c7('0x27')]({'where':_0x2d56ec[_0x11c7('0x48')]})[_0x11c7('0x2e')](function(_0x3b4128){_0x127722[_0x11c7('0x27')]=_0x3b4128;if(_0x1f8548['query']['includeAll']){_0x2d56ec[_0x11c7('0xc2')]=[{'all':!![]}];}return db[_0x11c7('0xb9')][_0x11c7('0xc3')](_0x2d56ec);})[_0x11c7('0x2e')](function(_0x51069c){_0x127722['rows']=_0x51069c;return _0x127722;});}})['then'](respondWithFilteredResult(_0x521558,_0x2d56ec))['catch'](handleError(_0x521558,null));};exports[_0x11c7('0xc4')]=function(_0x34f0a7,_0x3fcff8,_0x56ee07){return db[_0x11c7('0x39')][_0x11c7('0x64')]({'where':{'id':_0x34f0a7[_0x11c7('0xb2')]['id']}})['then'](handleEntityNotFound(_0x3fcff8,null))[_0x11c7('0x2e')](function(_0x20e248){if(_0x20e248){return _0x20e248[_0x11c7('0xc5')](_0x34f0a7['body']['ids'],_[_0x11c7('0xbb')](_0x34f0a7[_0x11c7('0x77')],[_0x11c7('0xba'),'id'])||{})[_0x11c7('0xc6')](function(){return db['Tag'][_0x11c7('0xc3')]({'attributes':['id',_0x11c7('0x3d'),_0x11c7('0x4c')],'where':{'id':_0x34f0a7['body'][_0x11c7('0xba')]}});})[_0x11c7('0x2e')](function(_0x59e109){socket[_0x11c7('0xc7')](_0x11c7('0xc8'),{'id':Number(_0x34f0a7[_0x11c7('0xb2')]['id']),'tags':_0x59e109||[]});return{'id':Number(_0x34f0a7[_0x11c7('0xb2')]['id']),'tags':_0x59e109||[]};});}})['then'](respondWithResult(_0x3fcff8,null))[_0x11c7('0x38')](handleError(_0x3fcff8,null));};exports['removeTags']=function(_0x5824ae,_0x4fe591,_0x5a72c8){return db[_0x11c7('0x39')]['find']({'where':{'id':_0x5824ae[_0x11c7('0xb2')]['id']}})[_0x11c7('0x2e')](handleEntityNotFound(_0x4fe591,null))[_0x11c7('0x2e')](function(_0x3a66e7){if(_0x3a66e7){return _0x3a66e7[_0x11c7('0xc9')](_0x5824ae[_0x11c7('0x3e')]['ids']);}})['then'](respondWithStatusCode(_0x4fe591,null))[_0x11c7('0x38')](handleError(_0x4fe591,null));};exports['download']=function(_0x213dec,_0x3dee52){var _0x4646b6=moment()[_0x11c7('0xca')]()[_0x11c7('0x9c')]();var _0x414585=path[_0x11c7('0xcb')](config[_0x11c7('0xcc')],_0x11c7('0xcd'),_0x11c7('0xce'),_0x11c7('0xcf'));var _0x10c2c0=path[_0x11c7('0xcb')](config[_0x11c7('0xcc')],'server','files','attachments');var _0x2ea31c=path[_0x11c7('0xcb')](_0x414585,_0x4646b6);var _0x3bd9c2=util[_0x11c7('0xbf')](_0x11c7('0xd0'),_0x213dec[_0x11c7('0xb2')]['id'],_0x4646b6);var _0x4b592c=path[_0x11c7('0xcb')](_0x414585,_0x3bd9c2);var _0x3af73f=[];_0x3af73f[_0x11c7('0xae')]({'model':db[_0x11c7('0x73')],'as':_0x11c7('0x73'),'attributes':['id',_0x11c7('0xd1')],'raw':!![]});_0x3af73f['push']({'model':db[_0x11c7('0xd2')],'as':_0x11c7('0x6a'),'attributes':['id',_0x11c7('0xd3'),_0x11c7('0xd4')],'raw':!![]});if(_0x213dec[_0x11c7('0x3e')]['attachments']){_0x3af73f['push']({'model':db['Attachment'],'as':'Attachment','raw':!![]});}var _0x2394aa=[{'model':db[_0x11c7('0xb9')],'as':_0x11c7('0xd5'),'attributes':['id','body',_0x11c7('0x7d'),_0x11c7('0xd6'),_0x11c7('0xd7'),_0x11c7('0xd8')],'include':_0x3af73f}];_0x2394aa[_0x11c7('0xae')]({'model':db['OpenchannelAccount'],'as':_0x11c7('0xd9'),'attributes':['id','name']});_0x2394aa['push']({'model':db[_0x11c7('0x73')],'as':_0x11c7('0xda'),'attributes':['id',_0x11c7('0xd1')]});return db['OpenchannelInteraction']['find']({'where':{'id':_0x213dec[_0x11c7('0xb2')]['id']},'include':_0x2394aa})[_0x11c7('0x2e')](handleEntityNotFound(_0x3dee52,null))[_0x11c7('0x2e')](function(_0x43a4da){if(_0x43a4da){var _0x58f6bc=_0x43a4da[_0x11c7('0xdb')]({'plain':!![]});fs[_0x11c7('0xdc')](_0x2ea31c);var _0x1685d8={'channel':_0x11c7('0xdd'),'account':_0x58f6bc[_0x11c7('0xd9')][_0x11c7('0x3d')],'agent':_0x58f6bc[_0x11c7('0xda')]?_0x58f6bc[_0x11c7('0xda')][_0x11c7('0xd1')]:_0x11c7('0xde'),'createdAt':moment(_0x58f6bc[_0x11c7('0x7d')])[_0x11c7('0xbf')](_0x11c7('0xc0'))['toString'](),'closedAt':_0x58f6bc[_0x11c7('0xdf')]?moment(_0x58f6bc[_0x11c7('0xe0')])[_0x11c7('0xbf')](_0x11c7('0xc0'))[_0x11c7('0x9c')]():'','disposition':_0x58f6bc[_0x11c7('0xe1')],'visibility':_0x58f6bc[_0x11c7('0xe2')]?_0x11c7('0xe3'):_0x11c7('0xe4'),'messages':_(_0x58f6bc[_0x11c7('0xd5')])[_0x11c7('0x85')]({'secret':![]})[_0x11c7('0x34')](function(_0x18957b){if(_0x18957b[_0x11c7('0xe5')]){var _0x30dfe1=path[_0x11c7('0xcb')](_0x10c2c0,_0x18957b[_0x11c7('0xe5')][_0x11c7('0xe6')]);if(fs['existsSync'](_0x30dfe1)){fs['createReadStream'](_0x30dfe1)['pipe'](fs['createWriteStream'](path[_0x11c7('0xcb')](_0x2ea31c,_0x18957b[_0x11c7('0xe5')][_0x11c7('0xe6')])));}}return{'date':moment(_0x18957b[_0x11c7('0x7d')])[_0x11c7('0xbf')]('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'sender':_0x18957b[_0x11c7('0xd6')]===_0x11c7('0xe7')?_0x18957b['User']?_0x18957b[_0x11c7('0x73')][_0x11c7('0xd1')]:'System':_0x18957b[_0x11c7('0x6a')]['firstName']+(_0x18957b[_0x11c7('0x6a')][_0x11c7('0xd4')]?'\x20'+_0x18957b[_0x11c7('0x6a')][_0x11c7('0xd4')]:''),'body':_0x18957b[_0x11c7('0xe5')]?_0x18957b[_0x11c7('0xe5')][_0x11c7('0xe6')]:_0x18957b[_0x11c7('0x77')],'direction':_0x18957b[_0x11c7('0xd6')]===_0x11c7('0xe7')?'A':'C','secret':_0x18957b[_0x11c7('0xd7')],'read':_0x18957b['read'],'attachment':_0x18957b[_0x11c7('0xe5')]};})[_0x11c7('0x66')]()};return ejs[_0x11c7('0xe8')](path[_0x11c7('0xcb')](config[_0x11c7('0xcc')],'server','views',_0x11c7('0xe9')),{'interaction':_0x1685d8})['then'](function(_0xaa78c0){var _0x586bfd=path[_0x11c7('0xcb')](_0x2ea31c,'transcript-'+_0x58f6bc['id']+'-'+_0x4646b6+'.pdf');var _0x485003={'path':_0x586bfd,'channel':'Openchannel','interactionId':_0x58f6bc['id']};return pdf[_0x11c7('0xea')](_0xaa78c0,_0x485003);})[_0x11c7('0x2e')](function(){return new BPromise(function(_0x2e2b6d,_0x269568){zipdir(_0x2ea31c,{'saveTo':_0x4b592c},function(_0x35e724,_0x1e3595){if(_0x35e724)return _0x269568(_0x35e724);return _0x2e2b6d(_0x1e3595);});})['then'](function(){return new BPromise(function(_0x232852,_0x5ae723){rimraf(_0x2ea31c,function(_0x534e49){if(_0x534e49)_0x5ae723(_0x534e49);return _0x232852();});});})[_0x11c7('0x2e')](function(){return _0x3dee52[_0x11c7('0xeb')](_0x4b592c,_0x3bd9c2,function(_0x5df53a){if(_0x5df53a){console['log']('err',_0x5df53a);}else{fs[_0x11c7('0xec')](_0x4b592c);}});});});}else{return _0x3dee52[_0x11c7('0x30')](0xc8);}})[_0x11c7('0x38')](handleError(_0x3dee52,null));};