1dd781e1835e762f9bdcf16bce2624c509639b3a
[motion2.git] / server / api / chatInteraction / chatInteraction.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 _0x0dda=['\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','isEmpty','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','role','i.ChatWebsiteId\x20IS\x20NULL','i.ChatWebsiteId\x20IN\x20?','agent','sequelize','toString','keyBy','merge','a.key','Account.mandatoryDisposition','CASE\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','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','push','all','rows','show','params','rawAttributes','include','options','create','body','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','https://api-vidaoo.xcally.com/api/v1/sessions','follow','ValidationError','Error\x20in\x20Vidaoo\x20configuration','join_url','out','entity\x20not\x20found','Interaction\x20already\x20assigned','closed','disposition','AbandonInteraction','originalname','basename','file','filename','mimetype','Attachment','attachmentDownload','Unauthorized','attachId','download','root','close','join','server/files/chat/upload/','now','pathTranscript','ChatMessage','CmContact','format','%s%d','agentAlias','customer','Visitor','agentIdentifier','website_alias','System','agent_alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','secret','appendFileSync','MailAccount','Smtp','service','host','port','secure','pass','SendMail','\x22%s\x22\x20<%s>','mailTranscript','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','filter','YYYY-MM-DD\x20HH:mm:ss','includeAll','findAll','getMyMessages','pick','includeAgent','addTags','setTags','omit','spread','color','emit','removeTags','unix','server','files','transcript-%d-%s.zip','firstName','lastName','attachments','Account','Owner','mkdirSync','10px','30px','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','Chat','N.A.','closedAt','osName','referer','customerIp','customerPort','tail','existsSync','createReadStream','pipe','createWriteStream','direction','renderFile','toFile','transcript-','.pdf','log','err','unlinkSync','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','lodash','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','jayson/promise','client','http','request','info','ChatInteraction,\x20%s,\x20%s','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','stack','name','send','map','fullname','TagIds','Tags','split','forEach','then','index','ChatInteraction','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','field','from','u.id','ui.ChatInteractionId','user_has_chat_interactions','left_join','users','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','find','unreadMessages','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)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','UserId','start','ChatWebsiteId','concat','createdAt','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null'];(function(_0x430834,_0x100ccd){var _0x3be1a3=function(_0x35c17a){while(--_0x35c17a){_0x430834['push'](_0x430834['shift']());}};_0x3be1a3(++_0x100ccd);}(_0x0dda,0xa9));var _0xa0dd=function(_0x1336fb,_0x1bdb89){_0x1336fb=_0x1336fb-0x0;var _0x54acf8=_0x0dda[_0x1336fb];return _0x54acf8;};'use strict';var pdf=require(_0xa0dd('0x0'));var emlformat=require(_0xa0dd('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xa0dd('0x2'));var jsonpatch=require(_0xa0dd('0x3'));var rp=require(_0xa0dd('0x4'));var moment=require(_0xa0dd('0x5'));var BPromise=require(_0xa0dd('0x6'));var Mustache=require(_0xa0dd('0x7'));var util=require('util');var path=require('path');var sox=require(_0xa0dd('0x8'));var csv=require(_0xa0dd('0x9'));var ejs=require(_0xa0dd('0xa'));var fs=require('fs');var _=require(_0xa0dd('0xb'));var squel=require('squel');var crypto=require(_0xa0dd('0xc'));var jsforce=require(_0xa0dd('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xa0dd('0x9'));var querystring=require(_0xa0dd('0xe'));var Papa=require('papaparse');var Redis=require(_0xa0dd('0xf'));var authService=require(_0xa0dd('0x10'));var qs=require(_0xa0dd('0x11'));var as=require(_0xa0dd('0x12'));var hardwareService=require(_0xa0dd('0x13'));var logger=require(_0xa0dd('0x14'))(_0xa0dd('0x15'));var utils=require(_0xa0dd('0x16'));var config=require(_0xa0dd('0x17'));var licenseUtil=require(_0xa0dd('0x18'));var db=require(_0xa0dd('0x19'))['db'];config['redis']=_[_0xa0dd('0x1a')](config[_0xa0dd('0x1b')],{'host':_0xa0dd('0x1c'),'port':0x18eb});var socket=require(_0xa0dd('0x1d'))(new Redis(config['redis']));require('./chatInteraction.socket')['register'](socket);var jayson=require(_0xa0dd('0x1e'));var client=jayson[_0xa0dd('0x1f')][_0xa0dd('0x20')]({'port':0x232b});var client9004=jayson[_0xa0dd('0x1f')][_0xa0dd('0x20')]({'port':0x232c});function respondWithRpcPromise(_0xcb57d8,_0x38f021,_0x171272,_0x1929c4){return new BPromise(function(_0x144f96,_0x2ae2ea){var _0x42894f=_0x1929c4||client;return _0x42894f[_0xa0dd('0x21')](_0xcb57d8,_0x171272)['then'](function(_0x518498){logger[_0xa0dd('0x22')](_0xa0dd('0x23'),_0x38f021,'request\x20sent');logger[_0xa0dd('0x24')](_0xa0dd('0x25'),_0x38f021,'request\x20sent',JSON[_0xa0dd('0x26')](_0x518498));if(_0x518498[_0xa0dd('0x27')]){if(_0x518498['error'][_0xa0dd('0x28')]===0x1f4){logger[_0xa0dd('0x27')]('ChatInteraction,\x20%s,\x20%s',_0x38f021,_0x518498[_0xa0dd('0x27')][_0xa0dd('0x29')]);return _0x2ae2ea(_0x518498[_0xa0dd('0x27')]['message']);}logger['error'](_0xa0dd('0x23'),_0x38f021,_0x518498[_0xa0dd('0x27')][_0xa0dd('0x29')]);return _0x144f96(_0x518498['error']['message']);}else{logger['info'](_0xa0dd('0x23'),_0x38f021,'request\x20sent');_0x144f96(_0x518498['result'][_0xa0dd('0x29')]);}})[_0xa0dd('0x2a')](function(_0x36a495){logger[_0xa0dd('0x27')](_0xa0dd('0x23'),_0x38f021,_0x36a495);_0x2ae2ea(_0x36a495);});});}function respondWithStatusCode(_0x58ab58,_0x5d23f9){_0x5d23f9=_0x5d23f9||0xcc;return function(_0x2f16be){if(_0x2f16be){return _0x58ab58[_0xa0dd('0x2b')](_0x5d23f9);}return _0x58ab58['status'](_0x5d23f9)[_0xa0dd('0x2c')]();};}function respondWithResult(_0x5732df,_0xac237e){_0xac237e=_0xac237e||0xc8;return function(_0x4ae347){if(_0x4ae347){return _0x5732df[_0xa0dd('0x2d')](_0xac237e)[_0xa0dd('0x2e')](_0x4ae347);}};}function respondWithFilteredResult(_0x24718c,_0x4c1e2d){return function(_0x291b4d){if(_0x291b4d){var _0x3e3e7d=_0x291b4d[_0xa0dd('0x2f')],_0x1ff9e9=_0x4c1e2d[_0xa0dd('0x30')],_0x533970=_0x4c1e2d[_0xa0dd('0x30')]+_0x4c1e2d[_0xa0dd('0x31')],_0x500d0e;if(_0x533970>=_0x3e3e7d){_0x533970=_0x3e3e7d;_0x500d0e=0xc8;}else{_0x500d0e=0xce;}_0x24718c[_0xa0dd('0x2d')](_0x500d0e);return _0x24718c[_0xa0dd('0x32')](_0xa0dd('0x33'),_0x1ff9e9+'-'+_0x533970+'/'+_0x3e3e7d)[_0xa0dd('0x2e')](_0x291b4d);}return null;};}function patchUpdates(_0x467409){return function(_0x26f06c){try{jsonpatch[_0xa0dd('0x34')](_0x26f06c,_0x467409,!![]);}catch(_0x428b4e){return BPromise[_0xa0dd('0x35')](_0x428b4e);}return _0x26f06c[_0xa0dd('0x36')]();};}function saveUpdates(_0x454a48,_0x5d6a47){return function(_0x1e56ba){if(_0x1e56ba){return _0x1e56ba[_0xa0dd('0x37')](_0x454a48)['then'](function(_0x36b5d7){return _0x36b5d7;});}return null;};}function removeEntity(_0x25eaf3,_0x45497a){return function(_0x4cbbb2){if(_0x4cbbb2){return _0x4cbbb2[_0xa0dd('0x38')]()['then'](function(){_0x25eaf3[_0xa0dd('0x2d')](0xcc)[_0xa0dd('0x2c')]();});}};}function handleEntityNotFound(_0x46c6c2,_0x5f1dba){return function(_0xb3555b){if(!_0xb3555b){_0x46c6c2['sendStatus'](0x194);}return _0xb3555b;};}function handleError(_0x35abb7,_0x2f6297){_0x2f6297=_0x2f6297||0x1f4;return function(_0x435d91){logger[_0xa0dd('0x27')](_0x435d91[_0xa0dd('0x39')]);if(_0x435d91[_0xa0dd('0x3a')]){delete _0x435d91[_0xa0dd('0x3a')];}_0x35abb7[_0xa0dd('0x2d')](_0x2f6297)[_0xa0dd('0x3b')](_0x435d91);};}function getInteractionUsers(_0x324c8b,_0x20b8b5){return new BPromise(function(_0x543049,_0x115d9f){try{if(_0x20b8b5[_0x324c8b['id']]){_0x324c8b['Users']=_[_0xa0dd('0x3c')](_0x20b8b5[_0x324c8b['id']],function(_0x2c87c7){return{'id':_0x2c87c7['id'],'fullname':_0x2c87c7[_0xa0dd('0x3d')]};});}}catch(_0x13f576){_0x115d9f(_0x13f576);}_0x543049(_0x324c8b);});}function getInteractionTags(_0x48b400,_0x4c9ffe){return new BPromise(function(_0x313547,_0x3bf440){try{if(_0x48b400[_0xa0dd('0x3e')]){_0x48b400[_0xa0dd('0x3f')]=[];_0x48b400[_0xa0dd('0x3e')][_0xa0dd('0x40')](',')[_0xa0dd('0x41')](function(_0x4a0682){_0x48b400[_0xa0dd('0x3f')]['push'](_0x4c9ffe[_0x4a0682]);});}delete _0x48b400['TagIds'];}catch(_0x2945a3){_0x3bf440(_0x2945a3);}_0x313547(_0x48b400);});}function updateChatInteraction(_0x53a8cd,_0x4e8d1c,_0x57ab0b){return new BPromise(function(_0x55c0c7,_0x5824e8){return getInteractionUsers(_0x53a8cd,_0x57ab0b)[_0xa0dd('0x42')](function(_0x4135dd){return getInteractionTags(_0x4135dd,_0x4e8d1c);})[_0xa0dd('0x42')](function(_0x1b6db3){_0x55c0c7(_0x1b6db3);})[_0xa0dd('0x2a')](function(_0x345af6){_0x5824e8(_0x345af6);});});}exports[_0xa0dd('0x43')]=function(_0x1bc6f0,_0x48031d){var _0x42a245={},_0x11ddbf={},_0x13a699={'count':0x0,'rows':[]};var _0x4df7be=_[_0xa0dd('0x3c')](db[_0xa0dd('0x44')]['rawAttributes'],function(_0x3a0523){return{'name':_0x3a0523[_0xa0dd('0x45')],'type':_0x3a0523[_0xa0dd('0x46')][_0xa0dd('0x47')]};});_0x11ddbf[_0xa0dd('0x48')]=_[_0xa0dd('0x3c')](_0x4df7be,'name');_0x11ddbf[_0xa0dd('0x49')]=_[_0xa0dd('0x4a')](_0x1bc6f0[_0xa0dd('0x49')]);_0x11ddbf[_0xa0dd('0x4b')]=_[_0xa0dd('0x4c')](_0x11ddbf[_0xa0dd('0x48')],_0x11ddbf[_0xa0dd('0x49')]);_0x42a245[_0xa0dd('0x4d')]=_[_0xa0dd('0x4c')](_0x11ddbf[_0xa0dd('0x48')],qs[_0xa0dd('0x4e')](_0x1bc6f0[_0xa0dd('0x49')][_0xa0dd('0x4e')]));_0x42a245[_0xa0dd('0x4d')]=_0x42a245['attributes'][_0xa0dd('0x4f')]?_0x42a245[_0xa0dd('0x4d')]:_0x11ddbf['model'];if(!_0x1bc6f0[_0xa0dd('0x49')][_0xa0dd('0x50')](_0xa0dd('0x51'))){_0x42a245['limit']=qs[_0xa0dd('0x31')](_0x1bc6f0['query'][_0xa0dd('0x31')]);_0x42a245['offset']=qs[_0xa0dd('0x30')](_0x1bc6f0[_0xa0dd('0x49')][_0xa0dd('0x30')]);}_0x42a245[_0xa0dd('0x52')]=qs['sort'](_0x1bc6f0[_0xa0dd('0x49')][_0xa0dd('0x53')]);_0x42a245[_0xa0dd('0x54')]=qs[_0xa0dd('0x4b')](_['pick'](_0x1bc6f0['query'],_0x11ddbf['filters']),_0x4df7be);var _0x4b91ff=[];var _0x2fc60a=squel['select']()[_0xa0dd('0x55')]('id')[_0xa0dd('0x55')](_0xa0dd('0x3a'))[_0xa0dd('0x55')]('color')[_0xa0dd('0x56')]('tools_tags');var _0x222c86=squel['select']()['field'](_0xa0dd('0x57'))[_0xa0dd('0x55')]('u.fullname')[_0xa0dd('0x55')](_0xa0dd('0x58'))[_0xa0dd('0x56')](_0xa0dd('0x59'),'ui')[_0xa0dd('0x5a')](_0xa0dd('0x5b'),'u','u.id\x20=\x20ui.UserId');var _0x188d6c=squel['select']()[_0xa0dd('0x56')]('chat_interactions','i')['left_join'](_0xa0dd('0x5c'),'c',_0xa0dd('0x5d'))['left_join'](_0xa0dd('0x5b'),'o',_0xa0dd('0x5e'))[_0xa0dd('0x5a')](_0xa0dd('0x5f'),'a',_0xa0dd('0x60'))['left_join'](_0xa0dd('0x61'),'me',_0xa0dd('0x62'))['left_join'](_0xa0dd('0x63'),'it',_0xa0dd('0x64'))[_0xa0dd('0x5a')](_0xa0dd('0x65'),'t',_0xa0dd('0x66'));var _0x473fb3=squel[_0xa0dd('0x67')]();var _0x12ae94=[];var _0x255b20=squel[_0xa0dd('0x67')]();var _0x290a8f;if(_0x1bc6f0[_0xa0dd('0x49')][_0xa0dd('0x68')]){_0x290a8f=as[_0xa0dd('0x69')](_0x1bc6f0['query']['search']);var _0x11fca2=_0x290a8f[_0xa0dd('0x6a')];for(var _0xd635bd=0x0;_0xd635bd<_0x290a8f['conditions'][_0xa0dd('0x4f')];_0xd635bd++){var _0x45dcb7=_0x290a8f['conditions'][_0xd635bd];var _0x3a557b='i';var _0x54dc5a=_[_0xa0dd('0x6b')](_0x4df7be,[_0xa0dd('0x3a'),_0x45dcb7[_0xa0dd('0x55')]]);if(!_0x54dc5a){switch(_0x45dcb7['field']){case _0xa0dd('0x6c'):if(_0x45dcb7[_0xa0dd('0x6d')]==0x1){_0x188d6c[_0xa0dd('0x6e')]('`'+_0x45dcb7[_0xa0dd('0x55')]+_0xa0dd('0x6f'));}else{_0x188d6c[_0xa0dd('0x6e')]('`'+_0x45dcb7[_0xa0dd('0x55')]+'`\x20>\x200');}break;case _0xa0dd('0x70'):if(_0x45dcb7[_0xa0dd('0x71')]===_0xa0dd('0x72')){if(_0x45dcb7[_0xa0dd('0x6d')]['split']('\x20')[_0xa0dd('0x4f')]>0x1){_0x473fb3[_0x11fca2](_0xa0dd('0x73'),qs[_0xa0dd('0x74')](_0x45dcb7[_0xa0dd('0x6d')]),null);}else{var _0x2df68f='%'+_0x45dcb7[_0xa0dd('0x6d')]+'%';_0x473fb3[_0x11fca2](_0xa0dd('0x75'),_0x2df68f,_0x2df68f,_0x2df68f);}}else{_0x54dc5a=_[_0xa0dd('0x6b')](_0x4df7be,['name',_0xa0dd('0x76')]);_0x45dcb7[_0xa0dd('0x55')]=_0xa0dd('0x76');_0x8cfe9a=as[_0xa0dd('0x77')](_0x3a557b,_0x54dc5a[_0xa0dd('0x46')],_0x45dcb7);_0x473fb3[_0x11fca2](_0x8cfe9a[_0xa0dd('0x78')],_0x8cfe9a[_0xa0dd('0x6d')]['start'],_0x8cfe9a[_0xa0dd('0x6d')][_0xa0dd('0x2c')]);}break;case _0xa0dd('0x79'):var _0x361fd7=_0x45dcb7['value'][_0xa0dd('0x40')](',')['map'](function(_0x3ae84b){return Number(_0x3ae84b);});_0x361fd7[_0xa0dd('0x41')](function(_0x3df6c5){_0x255b20['or'](_0xa0dd('0x7a'),'%,'+_0x3df6c5+',%');});_0x12ae94=_['union'](_0x12ae94,_0x361fd7);break;case _0xa0dd('0x7b'):if(_0x45dcb7[_0xa0dd('0x71')]===_0xa0dd('0x72')){_0x473fb3[_0x11fca2]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x45dcb7[_0xa0dd('0x6d')]+'%',null);}else{_0x54dc5a=_[_0xa0dd('0x6b')](_0x4df7be,[_0xa0dd('0x3a'),'UserId']);_0x45dcb7[_0xa0dd('0x55')]=_0xa0dd('0x7c');_0x8cfe9a=as[_0xa0dd('0x77')](_0x3a557b,_0x54dc5a[_0xa0dd('0x46')],_0x45dcb7);_0x473fb3[_0x11fca2](_0x8cfe9a[_0xa0dd('0x78')],_0x8cfe9a[_0xa0dd('0x6d')]['start'],_0x8cfe9a[_0xa0dd('0x6d')][_0xa0dd('0x2c')]);}break;case'body':_0x8cfe9a=as[_0xa0dd('0x77')]('me',null,_0x45dcb7);_0x473fb3[_0x11fca2](_0x8cfe9a[_0xa0dd('0x78')],_0x8cfe9a['value'][_0xa0dd('0x7d')],_0x8cfe9a[_0xa0dd('0x6d')][_0xa0dd('0x2c')]);break;}}else{var _0x8cfe9a=as['buildExpression'](_0x3a557b,_0x54dc5a[_0xa0dd('0x46')],_0x45dcb7);_0x473fb3[_0x11fca2](_0x8cfe9a[_0xa0dd('0x78')],_0x8cfe9a[_0xa0dd('0x6d')][_0xa0dd('0x7d')],_0x8cfe9a[_0xa0dd('0x6d')][_0xa0dd('0x2c')]);}}}else{var _0x46d051=_(_0x1bc6f0[_0xa0dd('0x49')])[_0xa0dd('0x4a')]()['map'](function(_0x26be30){return _['some'](_0x4df7be,[_0xa0dd('0x3a'),_0x26be30])?_0x26be30:undefined;})['compact']()['value']();if(!_['isEmpty'](_0x46d051)){_0x46d051['forEach'](function(_0x26b965){if(_0x26b965===_0xa0dd('0x7e')){_0x188d6c[_0xa0dd('0x54')]('i.ChatWebsiteId\x20IN\x20?',[][_0xa0dd('0x7f')](_0x1bc6f0['query'][_0x26b965]));}else if(_0x26b965===_0xa0dd('0x80')){var _0x218521=JSON['parse'](_0x1bc6f0[_0xa0dd('0x49')][_0x26b965])[_0xa0dd('0x81')];var _0x4e5ef6=JSON['parse'](_0x1bc6f0[_0xa0dd('0x49')][_0x26b965])[_0xa0dd('0x82')];_0x188d6c['where'](_0xa0dd('0x83'),_0x218521,_0x4e5ef6);}else{if(_0x1bc6f0['query'][_0x26b965]===_0xa0dd('0x84')){_0x188d6c['where']('i.'+_0x26b965+_0xa0dd('0x85'));}else{_0x188d6c[_0xa0dd('0x54')]('i.'+_0x26b965+_0xa0dd('0x86'),_0x1bc6f0[_0xa0dd('0x49')][_0x26b965]);}}});}if(_0x1bc6f0[_0xa0dd('0x49')]['read']){if(_0x1bc6f0[_0xa0dd('0x49')][_0xa0dd('0x87')]==0x1){_0x188d6c[_0xa0dd('0x6e')](_0xa0dd('0x88'));}else{_0x188d6c[_0xa0dd('0x6e')]('`unreadMessages`\x20>\x200');}}if(_0x1bc6f0['query'][_0xa0dd('0x89')]){_0x12ae94=_['isArray'](_0x1bc6f0['query'][_0xa0dd('0x89')])?_0x1bc6f0[_0xa0dd('0x49')][_0xa0dd('0x89')]:new Array(_0x1bc6f0[_0xa0dd('0x49')][_0xa0dd('0x89')]);_0x12ae94[_0xa0dd('0x41')](function(_0x847a99){_0x255b20['or'](_0xa0dd('0x7a'),'%,'+_0x847a99+',%');});}if(_0x1bc6f0[_0xa0dd('0x49')]['filter']){var _0xd77ecf=_0x1bc6f0['query']['filter'][_0xa0dd('0x8a')]('\x5c','\x5c\x5c')[_0xa0dd('0x8a')](/'/g,'\x27\x27');if(qs[_0xa0dd('0x8b')](_0xd77ecf)){_0x473fb3['or']('i.id\x20LIKE\x20?',_0xd77ecf+'%');}else{_0x473fb3['or'](_0xa0dd('0x8c'),qs['getFullTextValue'](_0xd77ecf))['or'](_0xa0dd('0x8d'),_0xd77ecf+'%');}}}_0x188d6c['where'](_0x473fb3);_0x188d6c[_0xa0dd('0x8e')](_0xa0dd('0x8f'));var _0xd92da2={'type':db[_0xa0dd('0x90')]['QueryTypes']['SELECT'],'raw':!![]};var _0x3d2eba=_0x188d6c['clone']();_0x3d2eba[_0xa0dd('0x55')]('i.id');_0x3d2eba[_0xa0dd('0x55')](_0xa0dd('0x91'),_0xa0dd('0x6c'));if(_0x42a245[_0xa0dd('0x52')]){_0x42a245[_0xa0dd('0x52')][_0xa0dd('0x41')](function(_0x47728e){var _0x44116b=_0x47728e[0x0]===_0xa0dd('0x92')?_0x47728e[0x0]:'i.'+_0x47728e[0x0];_0x188d6c[_0xa0dd('0x52')](_0x44116b,_0x47728e[0x1]===_0xa0dd('0x93')?![]:!![]);});}if(!_[_0xa0dd('0x94')](_0x12ae94)){_0x188d6c['having'](_0x255b20);_0x3d2eba['where'](_0xa0dd('0x95'),_0x12ae94);}BPromise[_0xa0dd('0x96')]()[_0xa0dd('0x42')](function(){if(!_0x290a8f){if(_0x1bc6f0[_0xa0dd('0x49')]['ChatWebsiteId'])return;_0x3d2eba['where'](_0xa0dd('0x97'));_0x188d6c[_0xa0dd('0x54')](_0xa0dd('0x97'));return;}if(_0x1bc6f0[_0xa0dd('0x98')][_0xa0dd('0x99')]!=='agent')return;return _0x1bc6f0[_0xa0dd('0x98')]['getChatWebsites']({'attributes':['id'],'raw':!![]})[_0xa0dd('0x42')](function(_0x408473){if(_[_0xa0dd('0x94')](_0x408473)){_0x3d2eba['where'](_0xa0dd('0x9a'));_0x188d6c['where'](_0xa0dd('0x9a'));}else{_0x3d2eba[_0xa0dd('0x54')](_0xa0dd('0x9b'),_['map'](_0x408473,'id'));_0x188d6c[_0xa0dd('0x54')](_0xa0dd('0x9b'),_[_0xa0dd('0x3c')](_0x408473,'id'));}});})[_0xa0dd('0x42')](function(){if(_0x1bc6f0[_0xa0dd('0x98')][_0xa0dd('0x99')]===_0xa0dd('0x9c')&&!_0x290a8f&&!_0x1bc6f0[_0xa0dd('0x49')][_0xa0dd('0x7e')])return[];return db[_0xa0dd('0x9d')][_0xa0dd('0x49')](_0x3d2eba[_0xa0dd('0x9e')](),_0xd92da2);})['then'](function(_0x54fceb){_0x13a699[_0xa0dd('0x2f')]=_0x54fceb[_0xa0dd('0x4f')];if(_0x13a699[_0xa0dd('0x2f')]===0x0)return[];return db[_0xa0dd('0x9d')][_0xa0dd('0x49')](_0x2fc60a['toString'](),_0xd92da2)[_0xa0dd('0x42')](function(_0x23c174){_0x4b91ff=_[_0xa0dd('0x9f')](_0x23c174,'id');_0xd92da2=_[_0xa0dd('0xa0')](_0xd92da2,{'model':db['ChatInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1bc6f0[_0xa0dd('0x49')]['fields']){_0x42a245[_0xa0dd('0x4d')][_0xa0dd('0x41')](function(_0x21f91f){_0x188d6c[_0xa0dd('0x55')]('i.'+_0x21f91f);});}else{_0x188d6c[_0xa0dd('0x55')](_0xa0dd('0x91'),_0xa0dd('0x6c'));_0x188d6c['field'](_0xa0dd('0xa1'),'Account.key');_0x188d6c[_0xa0dd('0x55')]('a.mandatoryDisposition',_0xa0dd('0xa2'));_0x188d6c['field'](_0xa0dd('0xa3'),_0xa0dd('0x92'));_0x188d6c[_0xa0dd('0x55')]('i.*');_0x188d6c['field'](_0xa0dd('0xa4'),_0xa0dd('0xa5'));_0x188d6c['field'](_0xa0dd('0xa6'),_0xa0dd('0xa7'));_0x188d6c[_0xa0dd('0x55')](_0xa0dd('0xa8'),'Contact.email');_0x188d6c[_0xa0dd('0x55')](_0xa0dd('0xa9'),_0xa0dd('0xaa'));_0x188d6c[_0xa0dd('0x55')](_0xa0dd('0xab'),'Contact.mobile');_0x188d6c[_0xa0dd('0x55')](_0xa0dd('0xac'),_0xa0dd('0xad'));_0x188d6c[_0xa0dd('0x55')](_0xa0dd('0xae'),_0xa0dd('0xaf'));_0x188d6c[_0xa0dd('0x55')](_0xa0dd('0xb0'),'Owner.internal');_0x188d6c[_0xa0dd('0x55')](_0xa0dd('0xb1'),_0xa0dd('0x3e'));}if(_0x42a245[_0xa0dd('0x31')])_0x188d6c[_0xa0dd('0x31')](_0x42a245[_0xa0dd('0x31')]);if(_0x42a245[_0xa0dd('0x30')])_0x188d6c['offset'](_0x42a245[_0xa0dd('0x30')]);return db[_0xa0dd('0x9d')]['query'](_0x188d6c[_0xa0dd('0x9e')](),_0xd92da2);})[_0xa0dd('0x42')](function(_0x2c5c30){_0x222c86['where'](_0xa0dd('0xb2'),_['map'](_0x2c5c30,'id'));return db[_0xa0dd('0x9d')]['query'](_0x222c86[_0xa0dd('0x9e')](),_0xd92da2)[_0xa0dd('0x42')](function(_0x51e6fd){var _0x387882=_[_0xa0dd('0xb3')](_0x51e6fd,_0xa0dd('0xb4'));var _0x38e36e=[];_0x2c5c30[_0xa0dd('0x41')](function(_0x181888){_0x38e36e[_0xa0dd('0xb5')](updateChatInteraction(_0x181888,_0x4b91ff,_0x387882));});return BPromise[_0xa0dd('0xb6')](_0x38e36e);});});})['then'](function(_0x8aeecc){_0x13a699[_0xa0dd('0xb7')]=_0x8aeecc;return _0x13a699;})[_0xa0dd('0x42')](respondWithFilteredResult(_0x48031d,_0x42a245))[_0xa0dd('0x2a')](handleError(_0x48031d,null));};exports[_0xa0dd('0xb8')]=function(_0x4a7ac9,_0x177440){var _0x212367={'raw':![],'where':{'id':_0x4a7ac9[_0xa0dd('0xb9')]['id']}},_0x180dfc={};_0x180dfc[_0xa0dd('0x48')]=_[_0xa0dd('0x4a')](db[_0xa0dd('0x44')][_0xa0dd('0xba')]);_0x180dfc[_0xa0dd('0x49')]=_[_0xa0dd('0x4a')](_0x4a7ac9[_0xa0dd('0x49')]);_0x180dfc['filters']=_[_0xa0dd('0x4c')](_0x180dfc['model'],_0x180dfc[_0xa0dd('0x49')]);_0x212367['attributes']=_[_0xa0dd('0x4c')](_0x180dfc[_0xa0dd('0x48')],qs[_0xa0dd('0x4e')](_0x4a7ac9[_0xa0dd('0x49')][_0xa0dd('0x4e')]));_0x212367['attributes']=_0x212367[_0xa0dd('0x4d')]['length']?_0x212367[_0xa0dd('0x4d')]:_0x180dfc['model'];if(_0x4a7ac9[_0xa0dd('0x49')]['includeAll']){_0x212367[_0xa0dd('0xbb')]=[{'all':!![]}];}_0x212367=_['merge']({},_0x212367,_0x4a7ac9[_0xa0dd('0xbc')]);return db['ChatInteraction']['find'](_0x212367)[_0xa0dd('0x42')](handleEntityNotFound(_0x177440,null))[_0xa0dd('0x42')](respondWithResult(_0x177440,null))[_0xa0dd('0x2a')](handleError(_0x177440,null));};exports[_0xa0dd('0xbd')]=function(_0x2c4bb2,_0x3f0b17){return db[_0xa0dd('0x44')][_0xa0dd('0xbd')](_0x2c4bb2[_0xa0dd('0xbe')],{})['then'](respondWithResult(_0x3f0b17,0xc9))[_0xa0dd('0x2a')](handleError(_0x3f0b17,null));};exports['update']=function(_0x1d8144,_0xf15b3c){if(_0x1d8144[_0xa0dd('0xbe')]['id']){delete _0x1d8144[_0xa0dd('0xbe')]['id'];}return db['ChatInteraction'][_0xa0dd('0x6b')]({'where':{'id':_0x1d8144[_0xa0dd('0xb9')]['id']}})[_0xa0dd('0x42')](handleEntityNotFound(_0xf15b3c,null))['then'](saveUpdates(_0x1d8144[_0xa0dd('0xbe')],null))[_0xa0dd('0x42')](respondWithResult(_0xf15b3c,null))['catch'](handleError(_0xf15b3c,null));};exports[_0xa0dd('0x38')]=function(_0x81c378,_0x54cdb1){return db['ChatInteraction']['find']({'where':{'id':_0x81c378[_0xa0dd('0xb9')]['id']}})[_0xa0dd('0x42')](handleEntityNotFound(_0x54cdb1,null))[_0xa0dd('0x42')](removeEntity(_0x54cdb1,null))[_0xa0dd('0x2a')](handleError(_0x54cdb1,null));};exports['describe']=function(_0x280beb,_0x2019be){return db['ChatInteraction'][_0xa0dd('0xbf')]()[_0xa0dd('0x42')](respondWithResult(_0x2019be,null))[_0xa0dd('0x2a')](handleError(_0x2019be,null));};exports[_0xa0dd('0xc0')]=function(_0x38d3e6,_0x33a538){var _0x24acfc=_0x38d3e6[_0xa0dd('0xb9')]['id'];var _0x4bbdfe;var _0x2186aa;var _0x21c257;return db['ChatInteraction'][_0xa0dd('0xc1')]({'where':{'id':_0x24acfc}})[_0xa0dd('0x42')](function(_0x5d5651){_0x4bbdfe=_0x5d5651;return db[_0xa0dd('0xc2')][_0xa0dd('0xc1')]({'where':{'id':_0x5d5651['ChatWebsiteId']},'attributes':['id',_0xa0dd('0xc3'),_0xa0dd('0xc4')],'raw':!![]});})[_0xa0dd('0x42')](function(_0x163bbd){if(_0x163bbd&&_0x163bbd[_0xa0dd('0xc3')]&&_0x163bbd[_0xa0dd('0xc4')]){_0x2186aa=_0x163bbd;var _0x1ddbc5={'rejectUnauthorized':![],'method':'POST','uri':_0xa0dd('0xc5'),'headers':{'X-APIKEY':_0x163bbd[_0xa0dd('0xc3')]},'body':{'name':'MotionCWB:'+_0x24acfc},'redirect':_0xa0dd('0xc6'),'json':!![]};return rp(_0x1ddbc5);}else{throw new db[(_0xa0dd('0x90'))][(_0xa0dd('0xc7'))](_0xa0dd('0xc8'));}})[_0xa0dd('0x42')](function(_0x3803d1){_0x21c257=_0x3803d1;if(_0x21c257['id']){var _0x3455ab={'body':_0x21c257[_0xa0dd('0xc9')],'ChatWebsiteId':_0x2186aa['id'],'ChatInteractionId':_0x4bbdfe['id'],'direction':_0xa0dd('0xca'),'UserId':_0x38d3e6['user']['id']};return db['ChatMessage'][_0xa0dd('0xbd')](_0x3455ab,{});}else{throw new db[(_0xa0dd('0x90'))][(_0xa0dd('0xc7'))]('Unable\x20to\x20create\x20Vidaoo\x20session');}})[_0xa0dd('0x42')](function(){return _0x4bbdfe['updateAttributes']({'vidaooSessionId':_0x21c257['id']});})['then'](respondWithResult(_0x33a538,null))[_0xa0dd('0x2a')](handleError(_0x33a538,null));};exports['customUpdate']=function(_0x2a88eb,_0x22b263){if(_0x2a88eb[_0xa0dd('0xbe')]['id']){delete _0x2a88eb['body']['id'];}return db['ChatInteraction'][_0xa0dd('0x6b')]({'where':{'id':_0x2a88eb['params']['id']}})[_0xa0dd('0x42')](handleEntityNotFound(_0x22b263,null))[_0xa0dd('0x42')](saveUpdates(_0x2a88eb[_0xa0dd('0xbe')],null))[_0xa0dd('0x42')](respondWithResult(_0x22b263,null))[_0xa0dd('0x2a')](handleError(_0x22b263,null));};exports['abandon']=function(_0x4dac06,_0x4ced59,_0x240801){if(_0x4dac06[_0xa0dd('0xbe')]['id']){delete _0x4dac06['body']['id'];}return db[_0xa0dd('0x44')][_0xa0dd('0x6b')]({'where':{'id':_0x4dac06[_0xa0dd('0xb9')]['id']}})[_0xa0dd('0x42')](function(_0x37b030){if(!_0x37b030){logger[_0xa0dd('0x27')]('abandonInteraction,\x20%s,\x20%s,\x20%s','abandon',0x194,_0xa0dd('0xcb'));_0x4ced59[_0xa0dd('0x2b')](0x194);}else{if(_0x37b030[_0xa0dd('0x7c')]){throw new db[(_0xa0dd('0x90'))][(_0xa0dd('0xc7'))](_0xa0dd('0xcc'));}}return _0x37b030;})['then'](function(_0x57bb34){if(_0x57bb34){return _0x57bb34['update']({'closed':_0x4dac06[_0xa0dd('0xbe')][_0xa0dd('0xcd')],'disposition':_0x4dac06['body'][_0xa0dd('0xce')]})[_0xa0dd('0x42')](function(_0x4e411c){return _0x4e411c;});}})[_0xa0dd('0x42')](function(_0x429854){return respondWithRpcPromise(_0xa0dd('0xcf'),'abandon',_0x4dac06[_0xa0dd('0xbe')],client9004);})['then'](respondWithResult(_0x4ced59,null))[_0xa0dd('0x2a')](handleError(_0x4ced59,null));};exports['attachmentUpload']=function(_0x4703b1,_0x57c5df,_0x66ed76){_0x4703b1[_0xa0dd('0xbe')][_0xa0dd('0x3a')]=_0x4703b1['file'][_0xa0dd('0xd0')];_0x4703b1['body'][_0xa0dd('0xd1')]=_0x4703b1[_0xa0dd('0xd2')][_0xa0dd('0xd3')];_0x4703b1[_0xa0dd('0xbe')][_0xa0dd('0x46')]=_0x4703b1[_0xa0dd('0xd2')][_0xa0dd('0xd4')];return db[_0xa0dd('0xd5')][_0xa0dd('0xbd')](_0x4703b1[_0xa0dd('0xbe')])['then'](respondWithResult(_0x57c5df,0xc9))[_0xa0dd('0x2a')](handleError(_0x57c5df,null));};exports[_0xa0dd('0xd6')]=function(_0x1f8a6f,_0x11ecd7,_0x3a847c){return db[_0xa0dd('0x44')][_0xa0dd('0xc1')]({'where':{'id':_0x1f8a6f[_0xa0dd('0xb9')]['id']},'raw':!![]})[_0xa0dd('0x42')](handleEntityNotFound(_0x11ecd7,null))[_0xa0dd('0x42')](function(_0x39bf55){if(_0x39bf55){if(_0x39bf55[_0xa0dd('0xcd')]){return _0x11ecd7[_0xa0dd('0x2d')](0x193)[_0xa0dd('0x2e')]({'status':0x193,'message':_0xa0dd('0xd7')});}return db[_0xa0dd('0xd5')]['findOne']({'where':{'id':_0x1f8a6f[_0xa0dd('0x49')][_0xa0dd('0xd8')]},'raw':!![]})[_0xa0dd('0x42')](handleEntityNotFound(_0x11ecd7,null));}})[_0xa0dd('0x42')](function(_0x27a849){if(_0x27a849){return _0x11ecd7[_0xa0dd('0xd9')](path['join'](config[_0xa0dd('0xda')],'server/files/attachments/',_0x27a849[_0xa0dd('0xd1')]));}})[_0xa0dd('0x2a')](handleError(_0x11ecd7,null));};exports[_0xa0dd('0xdb')]=function(_0x461f97,_0x39f579){var _0x1e5c32=null;var _0x48ca0e=null;var _0x1db699=null;var _0x1f18b4=null;if(_0x461f97[_0xa0dd('0xbe')]['id']){delete _0x461f97[_0xa0dd('0xbe')]['id'];}if(_0x461f97[_0xa0dd('0xbe')]['mailTranscript']){_0x1f18b4=path[_0xa0dd('0xdc')](config['root'],_0xa0dd('0xdd'),util['format']('transcript-%s.txt',Date[_0xa0dd('0xde')]()));_0x461f97[_0xa0dd('0xbe')][_0xa0dd('0xdf')]=_0x1f18b4;}return db['ChatInteraction'][_0xa0dd('0x6b')]({'where':{'id':_0x461f97[_0xa0dd('0xb9')]['id']},'include':[{'model':db[_0xa0dd('0xe0')],'as':'Messages','include':[{'model':db[_0xa0dd('0x7b')],'as':_0xa0dd('0x7b')}]}]})['then'](handleEntityNotFound(_0x39f579,null))[_0xa0dd('0x42')](saveUpdates(_0x461f97[_0xa0dd('0xbe')],null))[_0xa0dd('0x42')](function(_0x17977c){if(_0x17977c){_0x1e5c32=_0x17977c;return db[_0xa0dd('0xc2')][_0xa0dd('0x6b')]({'where':{'id':_0x1e5c32[_0xa0dd('0x7e')]}});}})[_0xa0dd('0x42')](function(_0x2e04df){if(_0x2e04df){_0x1db699=_0x2e04df;return db[_0xa0dd('0xe1')][_0xa0dd('0x6b')]({'where':{'id':_0x1e5c32[_0xa0dd('0x76')]}});}})[_0xa0dd('0x42')](function(_0x4ae96f){if(_0x4ae96f){_0x48ca0e=_0x4ae96f;if(_0x1f18b4){var _0x22be60=null;for(var _0x5ac588=0x1;_0x5ac588<_0x1e5c32['Messages'][_0xa0dd('0x4f')];++_0x5ac588){_0x22be60=_0x1e5c32['Messages'][_0x5ac588];var _0x45a46d=_0x22be60[_0xa0dd('0x7c')]?util[_0xa0dd('0xe2')](_0xa0dd('0xe3'),_0x1db699[_0xa0dd('0xe4')],_0x22be60['UserId']):'System';var _0x22dba4=_0x461f97[_0xa0dd('0xbe')][_0xa0dd('0xe5')]||util[_0xa0dd('0xe2')](_0xa0dd('0xe3'),_0xa0dd('0xe6'),_0x22be60[_0xa0dd('0x76')]);switch(_0x1db699[_0xa0dd('0xe7')]){case _0xa0dd('0xe8'):_0x45a46d=_0x22be60[_0xa0dd('0x7c')]?util[_0xa0dd('0xe2')](_0xa0dd('0xe3'),_0x1db699[_0xa0dd('0xe4')],_0x22be60[_0xa0dd('0x7c')]):_0xa0dd('0xe9');break;case _0xa0dd('0xea'):_0x45a46d=_0x22be60[_0xa0dd('0x7c')]?_0x22be60[_0xa0dd('0x7b')]['alias']||_0x22be60[_0xa0dd('0x7b')][_0xa0dd('0x3d')]:_0xa0dd('0xe9');break;case _0xa0dd('0xeb'):_0x45a46d=_0x22be60['UserId']?_0x22be60[_0xa0dd('0x7b')][_0xa0dd('0x3d')]:_0xa0dd('0xe9');break;default:_0x45a46d=_0x22be60['UserId']?util[_0xa0dd('0xe2')](_0xa0dd('0xe3'),_0x1db699[_0xa0dd('0xe4')],_0x22be60['UserId']):_0xa0dd('0xe9');}var _0x52a846=util[_0xa0dd('0xe2')](_0xa0dd('0xec'),moment(_0x22be60['createdAt'])['format'](_0xa0dd('0xed')),_0x22be60['direction']==='in'?_0x22dba4:_0x45a46d,_0x22be60[_0xa0dd('0xbe')]);if(!_0x22be60[_0xa0dd('0xee')]){fs[_0xa0dd('0xef')](_0x1f18b4,_0x52a846);}}return db[_0xa0dd('0xf0')][_0xa0dd('0xc1')]({'where':{'service':!![]},'include':[{'model':db['MailServerOut'],'as':'Smtp','raw':!![]}]});}}})[_0xa0dd('0x42')](function(_0x5e4bb8){if(_0x5e4bb8&&_0x5e4bb8[_0xa0dd('0xf1')]&&_0x461f97[_0xa0dd('0xbe')]){var _0x2fcfa7={'tls':{'rejectUnauthorized':![]}};if(_0x5e4bb8[_0xa0dd('0xf1')][_0xa0dd('0xf2')]){_0x2fcfa7[_0xa0dd('0xf2')]=_0x5e4bb8[_0xa0dd('0xf1')][_0xa0dd('0xf2')];}else{_0x2fcfa7['host']=_0x5e4bb8['Smtp'][_0xa0dd('0xf3')];_0x2fcfa7[_0xa0dd('0xf4')]=_0x5e4bb8[_0xa0dd('0xf1')]['port'];_0x2fcfa7[_0xa0dd('0xf5')]=_0x5e4bb8[_0xa0dd('0xf1')][_0xa0dd('0xf5')];}if(_0x5e4bb8[_0xa0dd('0xf1')]['authentication']){_0x2fcfa7['auth']={'user':_0x5e4bb8['Smtp']['user'],'pass':_0x5e4bb8['Smtp'][_0xa0dd('0xf6')]};}return respondWithRpcPromise(_0xa0dd('0xf7'),'sendMail',{'account':_0x2fcfa7,'message':{'from':util[_0xa0dd('0xe2')](_0xa0dd('0xf8'),_0x5e4bb8[_0xa0dd('0x3a')],_0x5e4bb8['email']||_0x5e4bb8['Smtp'][_0xa0dd('0x98')]),'to':_0x461f97[_0xa0dd('0xbe')][_0xa0dd('0xf9')],'subject':_0xa0dd('0xfa'),'text':util[_0xa0dd('0xe2')](_0xa0dd('0xfb'),_0x461f97[_0xa0dd('0xbe')][_0xa0dd('0xf9')]),'attachments':[{'path':_0x1f18b4}]}})['then'](function(){return _0x1e5c32;})['catch'](function(_0xc86ba3){console[_0xa0dd('0x27')](_0xc86ba3);});}else{return _0x1e5c32;}})[_0xa0dd('0x42')](respondWithStatusCode(_0x39f579,0xc8))[_0xa0dd('0x2a')](handleError(_0x39f579,null));};exports[_0xa0dd('0xfc')]=function(_0x518381,_0x43a633,_0x5696b6){return db[_0xa0dd('0xe0')]['find']({'where':{'id':_0x518381[_0xa0dd('0xb9')]['id']}})[_0xa0dd('0x42')](handleEntityNotFound(_0x43a633,null))[_0xa0dd('0x42')](function(_0x2d75c6){if(_0x2d75c6){return _0x2d75c6['addMessage'](_0x518381['body'][_0xa0dd('0xfd')],_['omit'](_0x518381[_0xa0dd('0xbe')],[_0xa0dd('0xfd'),'id'])||{});}})[_0xa0dd('0x42')](respondWithResult(_0x43a633,null))[_0xa0dd('0x2a')](handleError(_0x43a633,null));};exports['getMessages']=function(_0x552e2c,_0x1658f9,_0x19af30){var _0x5cd0b4={'raw':![],'where':{}};var _0x24f003={};var _0x43d522={'count':0x0,'rows':[]};return db[_0xa0dd('0x44')][_0xa0dd('0xc1')]({'where':{'id':_0x552e2c[_0xa0dd('0xb9')]['id']}})['then'](handleEntityNotFound(_0x1658f9,null))[_0xa0dd('0x42')](function(_0x99f9be){if(_0x99f9be){_0x24f003[_0xa0dd('0x48')]=_[_0xa0dd('0x4a')](db[_0xa0dd('0xe0')]['rawAttributes']);_0x24f003[_0xa0dd('0x49')]=_[_0xa0dd('0x4a')](_0x552e2c[_0xa0dd('0x49')]);_0x24f003['filters']=_[_0xa0dd('0x4c')](_0x24f003[_0xa0dd('0x48')],_0x24f003[_0xa0dd('0x49')]);_0x5cd0b4[_0xa0dd('0x4d')]=_[_0xa0dd('0x4c')](_0x24f003['model'],qs[_0xa0dd('0x4e')](_0x552e2c[_0xa0dd('0x49')][_0xa0dd('0x4e')]));_0x5cd0b4[_0xa0dd('0x4d')]=_0x5cd0b4['attributes']['length']?_0x5cd0b4[_0xa0dd('0x4d')]:_0x24f003['model'];if(!_0x552e2c[_0xa0dd('0x49')][_0xa0dd('0x50')](_0xa0dd('0x51'))){_0x5cd0b4[_0xa0dd('0x31')]=qs[_0xa0dd('0x31')](_0x552e2c[_0xa0dd('0x49')][_0xa0dd('0x31')]);_0x5cd0b4[_0xa0dd('0x30')]=qs['offset'](_0x552e2c[_0xa0dd('0x49')]['offset']);}_0x5cd0b4[_0xa0dd('0x52')]=qs[_0xa0dd('0x53')](_0x552e2c[_0xa0dd('0x49')][_0xa0dd('0x53')]);_0x5cd0b4[_0xa0dd('0x54')]=qs[_0xa0dd('0x4b')](_['pick'](_0x552e2c[_0xa0dd('0x49')],_0x24f003[_0xa0dd('0x4b')]));_0x5cd0b4[_0xa0dd('0x54')][_0xa0dd('0xb4')]=_0x99f9be['id'];if(_0x552e2c['query'][_0xa0dd('0xfe')]){_0x5cd0b4[_0xa0dd('0x54')]=_['merge'](_0x5cd0b4[_0xa0dd('0x54')],{'$or':_[_0xa0dd('0x3c')](_0x5cd0b4[_0xa0dd('0x4d')],function(_0x22b1ae){var _0x1531a6={};_0x1531a6[_0x22b1ae]={'$like':'%'+_0x552e2c[_0xa0dd('0x49')][_0xa0dd('0xfe')]+'%'};return _0x1531a6;})});}if(_0x552e2c[_0xa0dd('0x49')][_0xa0dd('0x81')]){var _0x240462=_0x552e2c['query'][_0xa0dd('0x81')][_0xa0dd('0x40')](',');var _0x1a3b8e={};_0x1a3b8e[_0x240462[0x0]]={'$gte':moment(_0x240462[0x1])[_0xa0dd('0xe2')](_0xa0dd('0xff'))};_0x5cd0b4['where']=_[_0xa0dd('0xa0')](_0x5cd0b4[_0xa0dd('0x54')],_0x1a3b8e);}_0x5cd0b4=_[_0xa0dd('0xa0')]({},_0x5cd0b4,_0x552e2c[_0xa0dd('0xbc')]);return db[_0xa0dd('0xe0')][_0xa0dd('0x2f')]({'where':_0x5cd0b4['where']})[_0xa0dd('0x42')](function(_0x2d3690){_0x43d522[_0xa0dd('0x2f')]=_0x2d3690;if(_0x552e2c[_0xa0dd('0x49')][_0xa0dd('0x100')]){_0x5cd0b4[_0xa0dd('0xbb')]=[{'all':!![]}];}return db['ChatMessage'][_0xa0dd('0x101')](_0x5cd0b4);})[_0xa0dd('0x42')](function(_0x344d70){_0x43d522['rows']=_0x344d70;return _0x43d522;});}})[_0xa0dd('0x42')](respondWithFilteredResult(_0x1658f9,_0x5cd0b4))[_0xa0dd('0x2a')](handleError(_0x1658f9,null));};exports[_0xa0dd('0x102')]=function(_0x25ce86,_0x182a0b,_0x5056cf){var _0x3958b5={'where':{}},_0xe6deec={},_0x2fb4db={'count':0x0,'rows':[]};return db[_0xa0dd('0x44')][_0xa0dd('0xc1')]({'where':{'id':_0x25ce86[_0xa0dd('0xb9')]['id']}})[_0xa0dd('0x42')](handleEntityNotFound(_0x182a0b,null))[_0xa0dd('0x42')](function(_0x4a32cf){if(_0x4a32cf){_0xe6deec['model']=_[_0xa0dd('0x4a')](db[_0xa0dd('0xe0')][_0xa0dd('0xba')]);_0xe6deec[_0xa0dd('0x49')]=_[_0xa0dd('0x4a')](_0x25ce86['query']);_0xe6deec['filters']=_[_0xa0dd('0x4c')](_0xe6deec[_0xa0dd('0x48')],_0xe6deec[_0xa0dd('0x49')]);_0x3958b5[_0xa0dd('0x4d')]=_[_0xa0dd('0x4c')](_0xe6deec[_0xa0dd('0x48')],qs[_0xa0dd('0x4e')](_0x25ce86[_0xa0dd('0x49')][_0xa0dd('0x4e')]));_0x3958b5[_0xa0dd('0x4d')]=_0x3958b5[_0xa0dd('0x4d')][_0xa0dd('0x4f')]?_0x3958b5[_0xa0dd('0x4d')]:_0xe6deec['model'];if(!_0x25ce86[_0xa0dd('0x49')][_0xa0dd('0x50')]('nolimit')){_0x3958b5['limit']=qs[_0xa0dd('0x31')](_0x25ce86[_0xa0dd('0x49')][_0xa0dd('0x31')]);_0x3958b5[_0xa0dd('0x30')]=qs[_0xa0dd('0x30')](_0x25ce86[_0xa0dd('0x49')]['offset']);}_0x3958b5[_0xa0dd('0x52')]=qs[_0xa0dd('0x53')](_0x25ce86[_0xa0dd('0x49')][_0xa0dd('0x53')]);_0x3958b5[_0xa0dd('0x54')]=qs['filters'](_[_0xa0dd('0x103')](_0x25ce86[_0xa0dd('0x49')],_0xe6deec['filters']));_0x3958b5['where'][_0xa0dd('0xb4')]=_0x4a32cf['id'];if(_0x25ce86['query'][_0xa0dd('0xfe')]){_0x3958b5['where']=_[_0xa0dd('0xa0')](_0x3958b5[_0xa0dd('0x54')],{'$or':_[_0xa0dd('0x3c')](_0x3958b5[_0xa0dd('0x4d')],function(_0x4f83e6){var _0x270a0c={};_0x270a0c[_0x4f83e6]={'$like':'%'+_0x25ce86['query'][_0xa0dd('0xfe')]+'%'};return _0x270a0c;})});}_0x3958b5['where'][_0xa0dd('0xee')]=![];if(_0x25ce86[_0xa0dd('0x49')]['id']){_0x3958b5['where']['id']={'$gt':_0x25ce86['query']['id']};}_0x3958b5=_[_0xa0dd('0xa0')]({},_0x3958b5,_0x25ce86[_0xa0dd('0xbc')]);return db[_0xa0dd('0xe0')]['count']({'where':_0x3958b5['where']})[_0xa0dd('0x42')](function(_0x3b4d89){_0x2fb4db[_0xa0dd('0x2f')]=_0x3b4d89;_0x3958b5[_0xa0dd('0xbb')]=[];if(_0x25ce86[_0xa0dd('0x49')][_0xa0dd('0x104')]){_0x3958b5[_0xa0dd('0xbb')]['push']({'model':db[_0xa0dd('0x7b')],'as':_0xa0dd('0x7b'),'attributes':['id','fullname','alias']});}if(_0x25ce86['query'][_0xa0dd('0x100')]){_0x3958b5[_0xa0dd('0xbb')]=[{'all':!![]}];}return db[_0xa0dd('0xe0')][_0xa0dd('0x101')](_0x3958b5);})[_0xa0dd('0x42')](function(_0x1eae53){_0x2fb4db[_0xa0dd('0xb7')]=_0x1eae53;return _0x2fb4db;});}})[_0xa0dd('0x42')](respondWithFilteredResult(_0x182a0b,_0x3958b5))[_0xa0dd('0x2a')](handleError(_0x182a0b,null));};exports[_0xa0dd('0x105')]=function(_0x5260f6,_0x5dc4b7,_0x53cd19){return db[_0xa0dd('0x44')]['find']({'where':{'id':_0x5260f6[_0xa0dd('0xb9')]['id']}})[_0xa0dd('0x42')](handleEntityNotFound(_0x5dc4b7,null))['then'](function(_0x12a883){if(_0x12a883){return _0x12a883[_0xa0dd('0x106')](_0x5260f6[_0xa0dd('0xbe')][_0xa0dd('0xfd')],_[_0xa0dd('0x107')](_0x5260f6[_0xa0dd('0xbe')],[_0xa0dd('0xfd'),'id'])||{})[_0xa0dd('0x108')](function(){return db[_0xa0dd('0x79')][_0xa0dd('0x101')]({'attributes':['id',_0xa0dd('0x3a'),_0xa0dd('0x109')],'where':{'id':_0x5260f6[_0xa0dd('0xbe')][_0xa0dd('0xfd')]}});})[_0xa0dd('0x42')](function(_0x20d531){socket[_0xa0dd('0x10a')]('chatInteractionTags:save',{'id':Number(_0x5260f6[_0xa0dd('0xb9')]['id']),'tags':_0x20d531||[]});return{'id':Number(_0x5260f6['params']['id']),'tags':_0x20d531||[]};});}})['then'](respondWithResult(_0x5dc4b7,null))[_0xa0dd('0x2a')](handleError(_0x5dc4b7,null));};exports['removeTags']=function(_0x5487a1,_0x3c47a0,_0x35d8f4){return db[_0xa0dd('0x44')]['find']({'where':{'id':_0x5487a1[_0xa0dd('0xb9')]['id']}})[_0xa0dd('0x42')](handleEntityNotFound(_0x3c47a0,null))[_0xa0dd('0x42')](function(_0xbef8eb){if(_0xbef8eb){return _0xbef8eb[_0xa0dd('0x10b')](_0x5487a1[_0xa0dd('0x49')][_0xa0dd('0xfd')]);}})[_0xa0dd('0x42')](respondWithStatusCode(_0x3c47a0,null))[_0xa0dd('0x2a')](handleError(_0x3c47a0,null));};exports['download']=function(_0x50d8b1,_0x5f42ac){var _0x3af82d=moment()[_0xa0dd('0x10c')]()[_0xa0dd('0x9e')]();var _0x15b3bb=path[_0xa0dd('0xdc')](config[_0xa0dd('0xda')],_0xa0dd('0x10d'),_0xa0dd('0x10e'),'tmp');var _0x2b1c20=path[_0xa0dd('0xdc')](config['root'],_0xa0dd('0x10d'),_0xa0dd('0x10e'),'attachments');var _0x4dc9a4=path[_0xa0dd('0xdc')](_0x15b3bb,_0x3af82d);var _0x4bd77d=util['format'](_0xa0dd('0x10f'),_0x50d8b1[_0xa0dd('0xb9')]['id'],_0x3af82d);var _0x2bb455=path[_0xa0dd('0xdc')](_0x15b3bb,_0x4bd77d);var _0x4338b6=[];_0x4338b6[_0xa0dd('0xb5')]({'model':db[_0xa0dd('0x7b')],'as':_0xa0dd('0x7b'),'attributes':['id',_0xa0dd('0x3d')],'raw':!![]});_0x4338b6[_0xa0dd('0xb5')]({'model':db[_0xa0dd('0xe1')],'as':_0xa0dd('0x70'),'attributes':['id',_0xa0dd('0x110'),_0xa0dd('0x111')],'raw':!![]});if(_0x50d8b1[_0xa0dd('0x49')][_0xa0dd('0x112')]){_0x4338b6[_0xa0dd('0xb5')]({'model':db[_0xa0dd('0xd5')],'as':_0xa0dd('0xd5'),'raw':!![]});}var _0x5c4652=[{'model':db['ChatMessage'],'as':'Messages','attributes':['id',_0xa0dd('0xbe'),'createdAt','direction','secret',_0xa0dd('0x87')],'include':_0x4338b6}];_0x5c4652[_0xa0dd('0xb5')]({'model':db['ChatWebsite'],'as':_0xa0dd('0x113'),'attributes':['id','name']});_0x5c4652[_0xa0dd('0xb5')]({'model':db[_0xa0dd('0x7b')],'as':_0xa0dd('0x114'),'attributes':['id',_0xa0dd('0x3d')]});return db[_0xa0dd('0x44')][_0xa0dd('0x6b')]({'where':{'id':_0x50d8b1[_0xa0dd('0xb9')]['id']},'include':_0x5c4652})[_0xa0dd('0x42')](handleEntityNotFound(_0x5f42ac,null))['then'](function(_0x423b14){if(_0x423b14){var _0x31c8d7=_0x423b14['get']({'plain':!![]});fs[_0xa0dd('0x115')](_0x4dc9a4);var _0x44ab63={'format':'A4','border':_0xa0dd('0x116'),'header':{'height':'40px','contents':{'first':'<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>'}},'footer':{'height':_0xa0dd('0x117'),'contents':{'default':util[_0xa0dd('0xe2')](_0xa0dd('0x118'),util['format'](_0xa0dd('0x119'),_0xa0dd('0x11a'),_0x31c8d7['id']),moment()['format']('YYYY-MM-DD')['toString']())}}};var _0x5c7683={'channel':'Chat','account':_0x31c8d7['Account'][_0xa0dd('0x3a')],'agent':_0x31c8d7[_0xa0dd('0x114')]?_0x31c8d7[_0xa0dd('0x114')][_0xa0dd('0x3d')]:_0xa0dd('0x11b'),'createdAt':moment(_0x31c8d7['createdAt'])[_0xa0dd('0xe2')]('YYYY-MM-DD\x20HH:mm:ss')[_0xa0dd('0x9e')](),'closedAt':_0x31c8d7[_0xa0dd('0xcd')]?moment(_0x31c8d7[_0xa0dd('0x11c')])[_0xa0dd('0xe2')]('YYYY-MM-DD\x20HH:mm:ss')[_0xa0dd('0x9e')]():'','disposition':_0x31c8d7[_0xa0dd('0xce')],'chatInfo':{'browser':_0x31c8d7['browserName'],'os':_0x31c8d7[_0xa0dd('0x11d')],'referer':_0x31c8d7[_0xa0dd('0x11e')],'customerIp':_0x31c8d7[_0xa0dd('0x11f')],'customerPort':_0x31c8d7[_0xa0dd('0x120')]?_0x31c8d7['customerPort']:_0xa0dd('0x11b')},'messages':_(_0x31c8d7['Messages'])[_0xa0dd('0x121')]()[_0xa0dd('0xfe')]({'secret':![]})[_0xa0dd('0x3c')](function(_0x43a7de){if(_0x43a7de['Attachment']){var _0x6a77d7=path[_0xa0dd('0xdc')](_0x2b1c20,_0x43a7de[_0xa0dd('0xd5')][_0xa0dd('0xd1')]);if(fs[_0xa0dd('0x122')](_0x6a77d7)){fs[_0xa0dd('0x123')](_0x6a77d7)[_0xa0dd('0x124')](fs[_0xa0dd('0x125')](path['join'](_0x4dc9a4,_0x43a7de[_0xa0dd('0xd5')][_0xa0dd('0xd1')])));}}return{'date':moment(_0x43a7de[_0xa0dd('0x80')])['format'](_0xa0dd('0xff'))[_0xa0dd('0x9e')](),'sender':_0x43a7de['direction']==='out'?_0x43a7de[_0xa0dd('0x7b')]?_0x43a7de[_0xa0dd('0x7b')][_0xa0dd('0x3d')]:_0xa0dd('0xe9'):_0x43a7de[_0xa0dd('0x70')][_0xa0dd('0x110')]+(_0x43a7de[_0xa0dd('0x70')][_0xa0dd('0x111')]?'\x20'+_0x43a7de[_0xa0dd('0x70')][_0xa0dd('0x111')]:''),'body':_0x43a7de[_0xa0dd('0xd5')]?_0x43a7de[_0xa0dd('0xd5')][_0xa0dd('0xd1')]:_0x43a7de['body'],'direction':_0x43a7de[_0xa0dd('0x126')]==='out'?'A':'C','secret':_0x43a7de['secret'],'read':_0x43a7de[_0xa0dd('0x87')],'attachment':_0x43a7de[_0xa0dd('0xd5')]};})[_0xa0dd('0x6d')]()};return ejs[_0xa0dd('0x127')](path[_0xa0dd('0xdc')](config['root'],_0xa0dd('0x10d'),'views','downloadInteraction.html'),{'interaction':_0x5c7683})['then'](function(_0x5d86fc){return new BPromise(function(_0x192bbc,_0x5a80d4){pdf[_0xa0dd('0xbd')](_0x5d86fc,_0x44ab63)[_0xa0dd('0x128')](path[_0xa0dd('0xdc')](_0x4dc9a4,_0xa0dd('0x129')+_0x31c8d7['id']+'-'+_0x3af82d+_0xa0dd('0x12a')),function(_0x487d7e,_0x26bf3f){if(_0x487d7e)return _0x5a80d4(_0x487d7e);_0x192bbc(_0x26bf3f);});});})[_0xa0dd('0x42')](function(){return new BPromise(function(_0x3d7dc5,_0x12ab57){zipdir(_0x4dc9a4,{'saveTo':_0x2bb455},function(_0x5576f1,_0x2becf4){if(_0x5576f1)return _0x12ab57(_0x5576f1);return _0x3d7dc5(_0x2becf4);});})[_0xa0dd('0x42')](function(){return new BPromise(function(_0x503d4c,_0x33b887){rimraf(_0x4dc9a4,function(_0x164945){if(_0x164945)_0x33b887(_0x164945);return _0x503d4c();});});})[_0xa0dd('0x42')](function(){return _0x5f42ac[_0xa0dd('0xd9')](_0x2bb455,_0x4bd77d,function(_0x4117a0){if(_0x4117a0){console[_0xa0dd('0x12b')](_0xa0dd('0x12c'),_0x4117a0);}else{fs[_0xa0dd('0x12d')](_0x2bb455);}});});});}else{return _0x5f42ac['sendStatus'](0xc8);}})['catch'](handleError(_0x5f42ac,null));};