Built motion from commit (unavailable).|2.5.8
[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 _0xc6c7=['Contact.firstName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','all','rows','show','params','include','options','create','update','describe','createVidaooSession','ChatWebsite','findOne','vidaooApiKey','vidaooEscalation','POST','MotionCWB:','follow','ValidationError','Error\x20in\x20Vidaoo\x20configuration','join_url','out','user','ChatMessage','updateAttributes','customUpdate','abandon','entity\x20not\x20found','Interaction\x20already\x20assigned','closed','disposition','AbandonInteraction','attachmentUpload','file','originalname','basename','filename','mimetype','Attachment','Unauthorized','attachId','download','root','close','join','server/files/chat/upload/','format','transcript-%s.txt','pathTranscript','Messages','agentAlias','System','customer','%s%d','Visitor','agentIdentifier','website_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','createdAt','MM/DD/YYYY\x20HH:mm:ss','secret','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','pass','SendMail','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','omit','getMessages','nolimit','sort','pick','ChatInteractionId','YYYY-MM-DD\x20HH:mm:ss','findAll','getMyMessages','includeAgent','includeAll','setTags','spread','chatInteractionTags:save','removeTags','server','tmp','attachments','CmContact','firstName','lastName','direction','Account','Owner','get','mkdirSync','10px','40px','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','YYYY-MM-DD','Chat','N.A.','closedAt','osName','referer','customerIp','customerPort','existsSync','createReadStream','pipe','renderFile','views','downloadInteraction.html','transcript-','.pdf','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','ejs','squel','crypto','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','api','redis','localhost','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','http','request','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','status','end','count','offset','limit','set','Content-Range','json','apply','reject','destroy','sendStatus','name','send','fullname','Tags','TagIds','split','forEach','push','index','map','ChatInteraction','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','select','field','color','from','tools_tags','ui.ChatInteractionId','user_has_chat_interactions','left_join','u.id\x20=\x20ui.UserId','chat_interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','chat_interaction_has_tags','t.id\x20=\x20it.TagId','sqlOperator','conditions','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)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','type','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','find','UserId','start','body','some','where','i.ChatWebsiteId\x20IN\x20?','concat','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','isEmpty','t.id\x20IN\x20?','resolve','ChatWebsiteId','journey','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','toString','sequelize','keyBy','merge','Account.key','Account.mandatoryDisposition','i.*','c.firstName'];(function(_0x5dafaf,_0x2838c1){var _0x876287=function(_0x36c930){while(--_0x36c930){_0x5dafaf['push'](_0x5dafaf['shift']());}};_0x876287(++_0x2838c1);}(_0xc6c7,0x1b6));var _0x7c6c=function(_0x2aefb6,_0x1bd384){_0x2aefb6=_0x2aefb6-0x0;var _0x202772=_0xc6c7[_0x2aefb6];return _0x202772;};'use strict';var pdf=require(_0x7c6c('0x0'));var emlformat=require(_0x7c6c('0x1'));var rimraf=require(_0x7c6c('0x2'));var zipdir=require(_0x7c6c('0x3'));var jsonpatch=require(_0x7c6c('0x4'));var rp=require('request-promise');var moment=require(_0x7c6c('0x5'));var BPromise=require(_0x7c6c('0x6'));var Mustache=require('mustache');var util=require(_0x7c6c('0x7'));var path=require(_0x7c6c('0x8'));var sox=require(_0x7c6c('0x9'));var csv=require('to-csv');var ejs=require(_0x7c6c('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x7c6c('0xb'));var crypto=require(_0x7c6c('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x7c6c('0xd'));var querystring=require(_0x7c6c('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x7c6c('0xf'));var qs=require(_0x7c6c('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x7c6c('0x11'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x7c6c('0x12')]=_['defaults'](config[_0x7c6c('0x12')],{'host':_0x7c6c('0x13'),'port':0x18eb});var socket=require(_0x7c6c('0x14'))(new Redis(config[_0x7c6c('0x12')]));require(_0x7c6c('0x15'))[_0x7c6c('0x16')](socket);var jayson=require(_0x7c6c('0x17'));var client=jayson[_0x7c6c('0x18')][_0x7c6c('0x19')]({'port':0x232b});var client9004=jayson[_0x7c6c('0x18')][_0x7c6c('0x19')]({'port':0x232c});function respondWithRpcPromise(_0x546271,_0x2870ba,_0x23d9bf,_0x57085e){return new BPromise(function(_0x44c0d9,_0x56b52a){var _0xa46c2e=_0x57085e||client;return _0xa46c2e[_0x7c6c('0x1a')](_0x546271,_0x23d9bf)[_0x7c6c('0x1b')](function(_0x3a3420){logger[_0x7c6c('0x1c')](_0x7c6c('0x1d'),_0x2870ba,_0x7c6c('0x1e'));logger[_0x7c6c('0x1f')](_0x7c6c('0x20'),_0x2870ba,_0x7c6c('0x1e'),JSON['stringify'](_0x3a3420));if(_0x3a3420[_0x7c6c('0x21')]){if(_0x3a3420[_0x7c6c('0x21')][_0x7c6c('0x22')]===0x1f4){logger[_0x7c6c('0x21')](_0x7c6c('0x1d'),_0x2870ba,_0x3a3420['error'][_0x7c6c('0x23')]);return _0x56b52a(_0x3a3420['error'][_0x7c6c('0x23')]);}logger['error'](_0x7c6c('0x1d'),_0x2870ba,_0x3a3420['error'][_0x7c6c('0x23')]);return _0x44c0d9(_0x3a3420[_0x7c6c('0x21')][_0x7c6c('0x23')]);}else{logger[_0x7c6c('0x1c')](_0x7c6c('0x1d'),_0x2870ba,_0x7c6c('0x1e'));_0x44c0d9(_0x3a3420[_0x7c6c('0x24')][_0x7c6c('0x23')]);}})[_0x7c6c('0x25')](function(_0x5810d9){logger[_0x7c6c('0x21')]('ChatInteraction,\x20%s,\x20%s',_0x2870ba,_0x5810d9);_0x56b52a(_0x5810d9);});});}function respondWithStatusCode(_0x23d6bf,_0x5744b6){_0x5744b6=_0x5744b6||0xcc;return function(_0x2af475){if(_0x2af475){return _0x23d6bf['sendStatus'](_0x5744b6);}return _0x23d6bf[_0x7c6c('0x26')](_0x5744b6)[_0x7c6c('0x27')]();};}function respondWithResult(_0x93e372,_0x179737){_0x179737=_0x179737||0xc8;return function(_0x5198d1){if(_0x5198d1){return _0x93e372['status'](_0x179737)['json'](_0x5198d1);}};}function respondWithFilteredResult(_0x41cf1d,_0x498294){return function(_0x4dcfc6){if(_0x4dcfc6){var _0x58771c=_0x4dcfc6[_0x7c6c('0x28')],_0x27f821=_0x498294[_0x7c6c('0x29')],_0x239cd2=_0x498294[_0x7c6c('0x29')]+_0x498294[_0x7c6c('0x2a')],_0x354397;if(_0x239cd2>=_0x58771c){_0x239cd2=_0x58771c;_0x354397=0xc8;}else{_0x354397=0xce;}_0x41cf1d['status'](_0x354397);return _0x41cf1d[_0x7c6c('0x2b')](_0x7c6c('0x2c'),_0x27f821+'-'+_0x239cd2+'/'+_0x58771c)[_0x7c6c('0x2d')](_0x4dcfc6);}return null;};}function patchUpdates(_0x39d5e2){return function(_0x3fae59){try{jsonpatch[_0x7c6c('0x2e')](_0x3fae59,_0x39d5e2,!![]);}catch(_0x27e89b){return BPromise[_0x7c6c('0x2f')](_0x27e89b);}return _0x3fae59['save']();};}function saveUpdates(_0xba56b1,_0x2c6f6b){return function(_0x3c2105){if(_0x3c2105){return _0x3c2105['update'](_0xba56b1)[_0x7c6c('0x1b')](function(_0x3fcabe){return _0x3fcabe;});}return null;};}function removeEntity(_0x284288,_0x377e3b){return function(_0x3fad5b){if(_0x3fad5b){return _0x3fad5b[_0x7c6c('0x30')]()[_0x7c6c('0x1b')](function(){_0x284288['status'](0xcc)[_0x7c6c('0x27')]();});}};}function handleEntityNotFound(_0x3a5ef6,_0x10bf2b){return function(_0x339686){if(!_0x339686){_0x3a5ef6[_0x7c6c('0x31')](0x194);}return _0x339686;};}function handleError(_0xcd853e,_0x3e9649){_0x3e9649=_0x3e9649||0x1f4;return function(_0x2d70c8){logger['error'](_0x2d70c8['stack']);if(_0x2d70c8[_0x7c6c('0x32')]){delete _0x2d70c8[_0x7c6c('0x32')];}_0xcd853e[_0x7c6c('0x26')](_0x3e9649)[_0x7c6c('0x33')](_0x2d70c8);};}function getInteractionUsers(_0x3ea0d0,_0x162a32){return new BPromise(function(_0x577d84,_0x49bd1c){try{if(_0x162a32[_0x3ea0d0['id']]){_0x3ea0d0['Users']=_['map'](_0x162a32[_0x3ea0d0['id']],function(_0xb5da3a){return{'id':_0xb5da3a['id'],'fullname':_0xb5da3a[_0x7c6c('0x34')]};});}}catch(_0x25d8bd){_0x49bd1c(_0x25d8bd);}_0x577d84(_0x3ea0d0);});}function getInteractionTags(_0x44a3ba,_0x2075d6){return new BPromise(function(_0x55dea1,_0x5ca0ae){try{if(_0x44a3ba['TagIds']){_0x44a3ba[_0x7c6c('0x35')]=[];_0x44a3ba[_0x7c6c('0x36')][_0x7c6c('0x37')](',')[_0x7c6c('0x38')](function(_0x2869a1){_0x44a3ba[_0x7c6c('0x35')][_0x7c6c('0x39')](_0x2075d6[_0x2869a1]);});}delete _0x44a3ba[_0x7c6c('0x36')];}catch(_0x550832){_0x5ca0ae(_0x550832);}_0x55dea1(_0x44a3ba);});}function updateChatInteraction(_0x44b193,_0x50e319,_0x3bb7c6){return new BPromise(function(_0xb7167d,_0x337e7c){return getInteractionUsers(_0x44b193,_0x3bb7c6)['then'](function(_0x574d6f){return getInteractionTags(_0x574d6f,_0x50e319);})[_0x7c6c('0x1b')](function(_0x9b83ae){_0xb7167d(_0x9b83ae);})['catch'](function(_0x8d931c){_0x337e7c(_0x8d931c);});});}exports[_0x7c6c('0x3a')]=function(_0x1fefe2,_0x3da1d1){var _0x588935={},_0x86fefe={},_0xc7b4f6={'count':0x0,'rows':[]};var _0x5703d6=_[_0x7c6c('0x3b')](db[_0x7c6c('0x3c')][_0x7c6c('0x3d')],function(_0x931a22){return{'name':_0x931a22[_0x7c6c('0x3e')],'type':_0x931a22['type'][_0x7c6c('0x3f')]};});_0x86fefe[_0x7c6c('0x40')]=_['map'](_0x5703d6,_0x7c6c('0x32'));_0x86fefe[_0x7c6c('0x41')]=_[_0x7c6c('0x42')](_0x1fefe2['query']);_0x86fefe[_0x7c6c('0x43')]=_[_0x7c6c('0x44')](_0x86fefe[_0x7c6c('0x40')],_0x86fefe[_0x7c6c('0x41')]);_0x588935['attributes']=_[_0x7c6c('0x44')](_0x86fefe[_0x7c6c('0x40')],qs[_0x7c6c('0x45')](_0x1fefe2[_0x7c6c('0x41')][_0x7c6c('0x45')]));_0x588935[_0x7c6c('0x46')]=_0x588935[_0x7c6c('0x46')][_0x7c6c('0x47')]?_0x588935[_0x7c6c('0x46')]:_0x86fefe[_0x7c6c('0x40')];if(!_0x1fefe2[_0x7c6c('0x41')][_0x7c6c('0x48')]('nolimit')){_0x588935[_0x7c6c('0x2a')]=qs[_0x7c6c('0x2a')](_0x1fefe2['query'][_0x7c6c('0x2a')]);_0x588935[_0x7c6c('0x29')]=qs['offset'](_0x1fefe2[_0x7c6c('0x41')][_0x7c6c('0x29')]);}_0x588935[_0x7c6c('0x49')]=qs['sort'](_0x1fefe2[_0x7c6c('0x41')]['sort']);_0x588935['where']=qs[_0x7c6c('0x43')](_['pick'](_0x1fefe2[_0x7c6c('0x41')],_0x86fefe['filters']),_0x5703d6);var _0x4e1100=[];var _0x384676=squel[_0x7c6c('0x4a')]()[_0x7c6c('0x4b')]('id')['field'](_0x7c6c('0x32'))[_0x7c6c('0x4b')](_0x7c6c('0x4c'))[_0x7c6c('0x4d')](_0x7c6c('0x4e'));var _0xd7a93c=squel[_0x7c6c('0x4a')]()[_0x7c6c('0x4b')]('u.id')[_0x7c6c('0x4b')]('u.fullname')['field'](_0x7c6c('0x4f'))['from'](_0x7c6c('0x50'),'ui')[_0x7c6c('0x51')]('users','u',_0x7c6c('0x52'));var _0x10b034=squel['select']()[_0x7c6c('0x4d')](_0x7c6c('0x53'),'i')['left_join']('cm_contacts','c',_0x7c6c('0x54'))[_0x7c6c('0x51')](_0x7c6c('0x55'),'o','o.id\x20=\x20i.UserId')['left_join'](_0x7c6c('0x56'),'a',_0x7c6c('0x57'))[_0x7c6c('0x51')](_0x7c6c('0x58'),'me','me.ChatInteractionId\x20=\x20i.id')[_0x7c6c('0x51')](_0x7c6c('0x59'),'it','it.ChatInteractionId\x20=\x20i.id')[_0x7c6c('0x51')](_0x7c6c('0x4e'),'t',_0x7c6c('0x5a'));var _0x10f5bb=squel['expr']();var _0x17092c=[];var _0x443271=squel['expr']();var _0x1c543d;if(_0x1fefe2['query']['search']){_0x1c543d=as['parseSearch'](_0x1fefe2[_0x7c6c('0x41')]['search']);var _0x9439eb=_0x1c543d[_0x7c6c('0x5b')];for(var _0x502cb8=0x0;_0x502cb8<_0x1c543d[_0x7c6c('0x5c')][_0x7c6c('0x47')];_0x502cb8++){var _0x54df28=_0x1c543d['conditions'][_0x502cb8];var _0x888964='i';var _0x197b47=_['find'](_0x5703d6,[_0x7c6c('0x32'),_0x54df28[_0x7c6c('0x4b')]]);if(!_0x197b47){switch(_0x54df28[_0x7c6c('0x4b')]){case _0x7c6c('0x5d'):if(_0x54df28[_0x7c6c('0x5e')]==0x1){_0x10b034[_0x7c6c('0x5f')]('`'+_0x54df28[_0x7c6c('0x4b')]+_0x7c6c('0x60'));}else{_0x10b034['having']('`'+_0x54df28[_0x7c6c('0x4b')]+'`\x20>\x200');}break;case _0x7c6c('0x61'):if(_0x54df28[_0x7c6c('0x62')]===_0x7c6c('0x63')){if(_0x54df28[_0x7c6c('0x5e')]['split']('\x20')[_0x7c6c('0x47')]>0x1){_0x10f5bb[_0x9439eb](_0x7c6c('0x64'),qs['getFullTextValue'](_0x54df28[_0x7c6c('0x5e')]),null);}else{var _0x382b1f='%'+_0x54df28[_0x7c6c('0x5e')]+'%';_0x10f5bb[_0x9439eb](_0x7c6c('0x65'),_0x382b1f,_0x382b1f,_0x382b1f);}}else{_0x197b47=_['find'](_0x5703d6,[_0x7c6c('0x32'),_0x7c6c('0x66')]);_0x54df28[_0x7c6c('0x4b')]=_0x7c6c('0x66');_0x14a0d5=as[_0x7c6c('0x67')](_0x888964,_0x197b47[_0x7c6c('0x68')],_0x54df28);_0x10f5bb[_0x9439eb](_0x14a0d5[_0x7c6c('0x69')],_0x14a0d5['value']['start'],_0x14a0d5[_0x7c6c('0x5e')][_0x7c6c('0x27')]);}break;case _0x7c6c('0x6a'):var _0x376e66=_0x54df28['value']['split'](',')[_0x7c6c('0x3b')](function(_0x279b09){return Number(_0x279b09);});_0x376e66[_0x7c6c('0x38')](function(_0x45098d){_0x443271['or'](_0x7c6c('0x6b'),'%,'+_0x45098d+',%');});_0x17092c=_['union'](_0x17092c,_0x376e66);break;case _0x7c6c('0x6c'):if(_0x54df28['operator']===_0x7c6c('0x63')){_0x10f5bb[_0x9439eb]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x54df28['value']+'%',null);}else{_0x197b47=_[_0x7c6c('0x6d')](_0x5703d6,[_0x7c6c('0x32'),_0x7c6c('0x6e')]);_0x54df28['field']=_0x7c6c('0x6e');_0x14a0d5=as['buildExpression'](_0x888964,_0x197b47[_0x7c6c('0x68')],_0x54df28);_0x10f5bb[_0x9439eb](_0x14a0d5['text'],_0x14a0d5[_0x7c6c('0x5e')][_0x7c6c('0x6f')],_0x14a0d5['value']['end']);}break;case _0x7c6c('0x70'):_0x14a0d5=as[_0x7c6c('0x67')]('me',null,_0x54df28);_0x10f5bb[_0x9439eb](_0x14a0d5[_0x7c6c('0x69')],_0x14a0d5['value'][_0x7c6c('0x6f')],_0x14a0d5[_0x7c6c('0x5e')][_0x7c6c('0x27')]);break;}}else{var _0x14a0d5=as[_0x7c6c('0x67')](_0x888964,_0x197b47[_0x7c6c('0x68')],_0x54df28);_0x10f5bb[_0x9439eb](_0x14a0d5[_0x7c6c('0x69')],_0x14a0d5[_0x7c6c('0x5e')][_0x7c6c('0x6f')],_0x14a0d5[_0x7c6c('0x5e')][_0x7c6c('0x27')]);}}}else{var _0x14f20e=_(_0x1fefe2['query'])['keys']()[_0x7c6c('0x3b')](function(_0x58e91a){return _[_0x7c6c('0x71')](_0x5703d6,['name',_0x58e91a])?_0x58e91a:undefined;})['compact']()['value']();if(!_['isEmpty'](_0x14f20e)){_0x14f20e[_0x7c6c('0x38')](function(_0x544917){if(_0x544917==='ChatWebsiteId'){_0x10b034[_0x7c6c('0x72')](_0x7c6c('0x73'),[][_0x7c6c('0x74')](_0x1fefe2[_0x7c6c('0x41')][_0x544917]));}else if(_0x544917==='createdAt'){var _0x2a641c=JSON[_0x7c6c('0x75')](_0x1fefe2[_0x7c6c('0x41')][_0x544917])[_0x7c6c('0x76')];var _0x8d50d=JSON[_0x7c6c('0x75')](_0x1fefe2[_0x7c6c('0x41')][_0x544917])[_0x7c6c('0x77')];_0x10b034['where'](_0x7c6c('0x78'),_0x2a641c,_0x8d50d);}else{if(_0x1fefe2[_0x7c6c('0x41')][_0x544917]==='null'){_0x10b034[_0x7c6c('0x72')]('i.'+_0x544917+'\x20IS\x20NULL');}else{_0x10b034[_0x7c6c('0x72')]('i.'+_0x544917+_0x7c6c('0x79'),_0x1fefe2[_0x7c6c('0x41')][_0x544917]);}}});}if(_0x1fefe2['query'][_0x7c6c('0x7a')]){if(_0x1fefe2[_0x7c6c('0x41')][_0x7c6c('0x7a')]==0x1){_0x10b034[_0x7c6c('0x5f')](_0x7c6c('0x7b'));}else{_0x10b034['having'](_0x7c6c('0x7c'));}}if(_0x1fefe2['query']['tag']){_0x17092c=_[_0x7c6c('0x7d')](_0x1fefe2[_0x7c6c('0x41')][_0x7c6c('0x7e')])?_0x1fefe2[_0x7c6c('0x41')][_0x7c6c('0x7e')]:new Array(_0x1fefe2[_0x7c6c('0x41')][_0x7c6c('0x7e')]);_0x17092c['forEach'](function(_0x51b73d){_0x443271['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x51b73d+',%');});}if(_0x1fefe2[_0x7c6c('0x41')][_0x7c6c('0x7f')]){var _0x34d405=_0x1fefe2[_0x7c6c('0x41')]['filter'][_0x7c6c('0x80')]('\x5c','\x5c\x5c')[_0x7c6c('0x80')](/'/g,'\x27\x27');if(qs[_0x7c6c('0x81')](_0x34d405)){_0x10f5bb['or']('i.id\x20LIKE\x20?',_0x34d405+'%');}else{_0x10f5bb['or'](_0x7c6c('0x82'),qs[_0x7c6c('0x83')](_0x34d405))['or'](_0x7c6c('0x84'),_0x34d405+'%');}}}_0x10b034[_0x7c6c('0x72')](_0x10f5bb);_0x10b034[_0x7c6c('0x85')]('i.id');var _0x1cfd4f={'type':db[_0x7c6c('0x86')]['QueryTypes'][_0x7c6c('0x87')],'raw':!![]};var _0x3125d5=_0x10b034[_0x7c6c('0x88')]();_0x3125d5['field'](_0x7c6c('0x89'));_0x3125d5[_0x7c6c('0x4b')](_0x7c6c('0x8a'),_0x7c6c('0x5d'));if(_0x588935[_0x7c6c('0x49')]){_0x588935[_0x7c6c('0x49')][_0x7c6c('0x38')](function(_0x1e391f){_0x10b034[_0x7c6c('0x49')]('i.'+_0x1e391f[0x0],_0x1e391f[0x1]===_0x7c6c('0x8b')?![]:!![]);});}if(!_[_0x7c6c('0x8c')](_0x17092c)){_0x10b034[_0x7c6c('0x5f')](_0x443271);_0x3125d5['where'](_0x7c6c('0x8d'),_0x17092c);}BPromise[_0x7c6c('0x8e')]()[_0x7c6c('0x1b')](function(){if(!_0x1c543d){if(_0x1fefe2[_0x7c6c('0x41')][_0x7c6c('0x8f')]||_0x1fefe2[_0x7c6c('0x41')][_0x7c6c('0x90')])return;_0x3125d5[_0x7c6c('0x72')](_0x7c6c('0x91'));_0x10b034[_0x7c6c('0x72')](_0x7c6c('0x91'));return;}return _0x1fefe2['user'][_0x7c6c('0x92')]({'attributes':['id'],'raw':!![]})['then'](function(_0x5ee819){if(_[_0x7c6c('0x8c')](_0x5ee819)){_0x3125d5['where'](_0x7c6c('0x93'));_0x10b034[_0x7c6c('0x72')](_0x7c6c('0x93'));}else{_0x3125d5[_0x7c6c('0x72')](_0x7c6c('0x73'),_['map'](_0x5ee819,'id'));_0x10b034[_0x7c6c('0x72')](_0x7c6c('0x73'),_['map'](_0x5ee819,'id'));}});})[_0x7c6c('0x1b')](function(){db['sequelize'][_0x7c6c('0x41')](_0x3125d5[_0x7c6c('0x94')](),_0x1cfd4f)[_0x7c6c('0x1b')](function(_0x582aea){_0xc7b4f6['count']=_0x582aea[_0x7c6c('0x47')];if(_0xc7b4f6['count']===0x0)return[];return db[_0x7c6c('0x95')][_0x7c6c('0x41')](_0x384676[_0x7c6c('0x94')](),_0x1cfd4f)[_0x7c6c('0x1b')](function(_0x8c3323){_0x4e1100=_[_0x7c6c('0x96')](_0x8c3323,'id');_0x1cfd4f=_[_0x7c6c('0x97')](_0x1cfd4f,{'model':db[_0x7c6c('0x3c')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1fefe2[_0x7c6c('0x41')][_0x7c6c('0x45')]){_0x588935[_0x7c6c('0x46')][_0x7c6c('0x38')](function(_0x478c81){_0x10b034[_0x7c6c('0x4b')]('i.'+_0x478c81);});}else{_0x10b034[_0x7c6c('0x4b')](_0x7c6c('0x8a'),_0x7c6c('0x5d'));_0x10b034[_0x7c6c('0x4b')]('a.key',_0x7c6c('0x98'));_0x10b034[_0x7c6c('0x4b')]('a.mandatoryDisposition',_0x7c6c('0x99'));_0x10b034[_0x7c6c('0x4b')](_0x7c6c('0x9a'));_0x10b034[_0x7c6c('0x4b')](_0x7c6c('0x9b'),_0x7c6c('0x9c'));_0x10b034[_0x7c6c('0x4b')]('c.lastName',_0x7c6c('0x9d'));_0x10b034[_0x7c6c('0x4b')](_0x7c6c('0x9e'),_0x7c6c('0x9f'));_0x10b034['field'](_0x7c6c('0xa0'),_0x7c6c('0xa1'));_0x10b034[_0x7c6c('0x4b')](_0x7c6c('0xa2'),'Contact.mobile');_0x10b034[_0x7c6c('0x4b')](_0x7c6c('0xa3'),_0x7c6c('0xa4'));_0x10b034[_0x7c6c('0x4b')](_0x7c6c('0xa5'),_0x7c6c('0xa6'));_0x10b034[_0x7c6c('0x4b')](_0x7c6c('0xa7'),'Owner.internal');_0x10b034['field'](_0x7c6c('0xa8'),_0x7c6c('0x36'));}if(_0x588935['limit'])_0x10b034[_0x7c6c('0x2a')](_0x588935[_0x7c6c('0x2a')]);if(_0x588935[_0x7c6c('0x29')])_0x10b034[_0x7c6c('0x29')](_0x588935['offset']);return db[_0x7c6c('0x95')][_0x7c6c('0x41')](_0x10b034[_0x7c6c('0x94')](),_0x1cfd4f);})[_0x7c6c('0x1b')](function(_0x4fed01){_0xd7a93c[_0x7c6c('0x72')]('ui.ChatInteractionId\x20IN\x20?',_['map'](_0x4fed01,'id'));return db[_0x7c6c('0x95')]['query'](_0xd7a93c['toString'](),_0x1cfd4f)[_0x7c6c('0x1b')](function(_0x124a14){var _0x2d7b02=_['groupBy'](_0x124a14,'ChatInteractionId');var _0xc7943a=[];_0x4fed01[_0x7c6c('0x38')](function(_0x1353a3){_0xc7943a[_0x7c6c('0x39')](updateChatInteraction(_0x1353a3,_0x4e1100,_0x2d7b02));});return BPromise[_0x7c6c('0xa9')](_0xc7943a);});});})[_0x7c6c('0x1b')](function(_0x47915c){_0xc7b4f6[_0x7c6c('0xaa')]=_0x47915c;return _0xc7b4f6;})['then'](respondWithFilteredResult(_0x3da1d1,_0x588935));})[_0x7c6c('0x25')](handleError(_0x3da1d1,null));};exports[_0x7c6c('0xab')]=function(_0x444c3b,_0xc0296d){var _0x530bc7={'raw':![],'where':{'id':_0x444c3b[_0x7c6c('0xac')]['id']}},_0x235f6f={};_0x235f6f[_0x7c6c('0x40')]=_['keys'](db[_0x7c6c('0x3c')]['rawAttributes']);_0x235f6f[_0x7c6c('0x41')]=_[_0x7c6c('0x42')](_0x444c3b[_0x7c6c('0x41')]);_0x235f6f['filters']=_[_0x7c6c('0x44')](_0x235f6f['model'],_0x235f6f['query']);_0x530bc7['attributes']=_[_0x7c6c('0x44')](_0x235f6f['model'],qs[_0x7c6c('0x45')](_0x444c3b['query'][_0x7c6c('0x45')]));_0x530bc7[_0x7c6c('0x46')]=_0x530bc7[_0x7c6c('0x46')]['length']?_0x530bc7[_0x7c6c('0x46')]:_0x235f6f[_0x7c6c('0x40')];if(_0x444c3b[_0x7c6c('0x41')]['includeAll']){_0x530bc7[_0x7c6c('0xad')]=[{'all':!![]}];}_0x530bc7=_[_0x7c6c('0x97')]({},_0x530bc7,_0x444c3b[_0x7c6c('0xae')]);return db['ChatInteraction'][_0x7c6c('0x6d')](_0x530bc7)[_0x7c6c('0x1b')](handleEntityNotFound(_0xc0296d,null))[_0x7c6c('0x1b')](respondWithResult(_0xc0296d,null))['catch'](handleError(_0xc0296d,null));};exports[_0x7c6c('0xaf')]=function(_0x3ebbd2,_0x48dee1){return db[_0x7c6c('0x3c')][_0x7c6c('0xaf')](_0x3ebbd2['body'],{})['then'](respondWithResult(_0x48dee1,0xc9))[_0x7c6c('0x25')](handleError(_0x48dee1,null));};exports[_0x7c6c('0xb0')]=function(_0x5cc480,_0x900f7a){if(_0x5cc480[_0x7c6c('0x70')]['id']){delete _0x5cc480[_0x7c6c('0x70')]['id'];}return db[_0x7c6c('0x3c')][_0x7c6c('0x6d')]({'where':{'id':_0x5cc480[_0x7c6c('0xac')]['id']}})[_0x7c6c('0x1b')](handleEntityNotFound(_0x900f7a,null))[_0x7c6c('0x1b')](saveUpdates(_0x5cc480[_0x7c6c('0x70')],null))[_0x7c6c('0x1b')](respondWithResult(_0x900f7a,null))['catch'](handleError(_0x900f7a,null));};exports['destroy']=function(_0x3f4308,_0x10c6bb){return db[_0x7c6c('0x3c')][_0x7c6c('0x6d')]({'where':{'id':_0x3f4308[_0x7c6c('0xac')]['id']}})[_0x7c6c('0x1b')](handleEntityNotFound(_0x10c6bb,null))['then'](removeEntity(_0x10c6bb,null))['catch'](handleError(_0x10c6bb,null));};exports[_0x7c6c('0xb1')]=function(_0x6f944d,_0x558b6d){return db[_0x7c6c('0x3c')]['describe']()['then'](respondWithResult(_0x558b6d,null))[_0x7c6c('0x25')](handleError(_0x558b6d,null));};exports[_0x7c6c('0xb2')]=function(_0x3b9110,_0x2c7349){var _0x1f3c67=_0x3b9110['params']['id'];var _0x1204c1;var _0x42cacc;var _0x425f65;return db[_0x7c6c('0x3c')]['findOne']({'where':{'id':_0x1f3c67}})[_0x7c6c('0x1b')](function(_0x587488){_0x1204c1=_0x587488;return db[_0x7c6c('0xb3')][_0x7c6c('0xb4')]({'where':{'id':_0x587488['ChatWebsiteId']},'attributes':['id',_0x7c6c('0xb5'),_0x7c6c('0xb6')],'raw':!![]});})['then'](function(_0x20b36e){if(_0x20b36e&&_0x20b36e[_0x7c6c('0xb5')]&&_0x20b36e[_0x7c6c('0xb6')]){_0x42cacc=_0x20b36e;var _0x5d5b18={'rejectUnauthorized':![],'method':_0x7c6c('0xb7'),'uri':'https://api-vidaoo.xcally.com/api/v1/sessions','headers':{'X-APIKEY':_0x20b36e[_0x7c6c('0xb5')]},'body':{'name':_0x7c6c('0xb8')+_0x1f3c67},'redirect':_0x7c6c('0xb9'),'json':!![]};return rp(_0x5d5b18);}else{throw new db['Sequelize'][(_0x7c6c('0xba'))](_0x7c6c('0xbb'));}})[_0x7c6c('0x1b')](function(_0x1722f6){_0x425f65=_0x1722f6;if(_0x425f65['id']){var _0xc11055={'body':_0x425f65[_0x7c6c('0xbc')],'ChatWebsiteId':_0x42cacc['id'],'ChatInteractionId':_0x1204c1['id'],'direction':_0x7c6c('0xbd'),'UserId':_0x3b9110[_0x7c6c('0xbe')]['id']};return db[_0x7c6c('0xbf')][_0x7c6c('0xaf')](_0xc11055,{});}else{throw new db[(_0x7c6c('0x86'))]['ValidationError']('Unable\x20to\x20create\x20Vidaoo\x20session');}})[_0x7c6c('0x1b')](function(){return _0x1204c1[_0x7c6c('0xc0')]({'vidaooSessionId':_0x425f65['id']});})[_0x7c6c('0x1b')](respondWithResult(_0x2c7349,null))['catch'](handleError(_0x2c7349,null));};exports[_0x7c6c('0xc1')]=function(_0x354850,_0x412173){if(_0x354850[_0x7c6c('0x70')]['id']){delete _0x354850[_0x7c6c('0x70')]['id'];}return db[_0x7c6c('0x3c')][_0x7c6c('0x6d')]({'where':{'id':_0x354850[_0x7c6c('0xac')]['id']}})[_0x7c6c('0x1b')](handleEntityNotFound(_0x412173,null))[_0x7c6c('0x1b')](saveUpdates(_0x354850[_0x7c6c('0x70')],null))[_0x7c6c('0x1b')](respondWithResult(_0x412173,null))['catch'](handleError(_0x412173,null));};exports[_0x7c6c('0xc2')]=function(_0x4082b6,_0x1e27a3,_0xb4f163){if(_0x4082b6[_0x7c6c('0x70')]['id']){delete _0x4082b6[_0x7c6c('0x70')]['id'];}return db['ChatInteraction']['find']({'where':{'id':_0x4082b6[_0x7c6c('0xac')]['id']}})[_0x7c6c('0x1b')](function(_0xf6d7c4){if(!_0xf6d7c4){logger['error']('abandonInteraction,\x20%s,\x20%s,\x20%s',_0x7c6c('0xc2'),0x194,_0x7c6c('0xc3'));_0x1e27a3['sendStatus'](0x194);}else{if(_0xf6d7c4[_0x7c6c('0x6e')]){throw new db[(_0x7c6c('0x86'))]['ValidationError'](_0x7c6c('0xc4'));}}return _0xf6d7c4;})[_0x7c6c('0x1b')](function(_0x10f94d){if(_0x10f94d){return _0x10f94d[_0x7c6c('0xb0')]({'closed':_0x4082b6[_0x7c6c('0x70')][_0x7c6c('0xc5')],'disposition':_0x4082b6['body'][_0x7c6c('0xc6')]})['then'](function(_0x2476d7){return _0x2476d7;});}})[_0x7c6c('0x1b')](function(_0x54c3c0){return respondWithRpcPromise(_0x7c6c('0xc7'),_0x7c6c('0xc2'),_0x4082b6[_0x7c6c('0x70')],client9004);})[_0x7c6c('0x1b')](respondWithResult(_0x1e27a3,null))[_0x7c6c('0x25')](handleError(_0x1e27a3,null));};exports[_0x7c6c('0xc8')]=function(_0x1900ec,_0x148916,_0x4faf85){_0x1900ec[_0x7c6c('0x70')][_0x7c6c('0x32')]=_0x1900ec[_0x7c6c('0xc9')][_0x7c6c('0xca')];_0x1900ec[_0x7c6c('0x70')][_0x7c6c('0xcb')]=_0x1900ec[_0x7c6c('0xc9')][_0x7c6c('0xcc')];_0x1900ec['body'][_0x7c6c('0x68')]=_0x1900ec[_0x7c6c('0xc9')][_0x7c6c('0xcd')];return db[_0x7c6c('0xce')][_0x7c6c('0xaf')](_0x1900ec[_0x7c6c('0x70')])[_0x7c6c('0x1b')](respondWithResult(_0x148916,0xc9))[_0x7c6c('0x25')](handleError(_0x148916,null));};exports['attachmentDownload']=function(_0x10b5f6,_0x4f35d3,_0x41b29e){return db['ChatInteraction'][_0x7c6c('0xb4')]({'where':{'id':_0x10b5f6[_0x7c6c('0xac')]['id']},'raw':!![]})[_0x7c6c('0x1b')](handleEntityNotFound(_0x4f35d3,null))[_0x7c6c('0x1b')](function(_0x584c11){if(_0x584c11){if(_0x584c11['closed']){return _0x4f35d3[_0x7c6c('0x26')](0x193)[_0x7c6c('0x2d')]({'status':0x193,'message':_0x7c6c('0xcf')});}return db[_0x7c6c('0xce')]['findOne']({'where':{'id':_0x10b5f6[_0x7c6c('0x41')][_0x7c6c('0xd0')]},'raw':!![]})['then'](handleEntityNotFound(_0x4f35d3,null));}})['then'](function(_0x360f8d){if(_0x360f8d){return _0x4f35d3[_0x7c6c('0xd1')](path['join'](config[_0x7c6c('0xd2')],'server/files/attachments/',_0x360f8d[_0x7c6c('0xcb')]));}})[_0x7c6c('0x25')](handleError(_0x4f35d3,null));};exports[_0x7c6c('0xd3')]=function(_0x52f347,_0x252493){var _0x379799=null;var _0xf10d9a=null;var _0x25e8a8=null;var _0x1a878a=null;if(_0x52f347[_0x7c6c('0x70')]['id']){delete _0x52f347[_0x7c6c('0x70')]['id'];}if(_0x52f347[_0x7c6c('0x70')]['mailTranscript']){_0x1a878a=path[_0x7c6c('0xd4')](config[_0x7c6c('0xd2')],_0x7c6c('0xd5'),util[_0x7c6c('0xd6')](_0x7c6c('0xd7'),Date['now']()));_0x52f347[_0x7c6c('0x70')][_0x7c6c('0xd8')]=_0x1a878a;}return db[_0x7c6c('0x3c')]['find']({'where':{'id':_0x52f347[_0x7c6c('0xac')]['id']},'include':[{'model':db['ChatMessage'],'as':'Messages','include':[{'model':db[_0x7c6c('0x6c')],'as':_0x7c6c('0x6c')}]}]})[_0x7c6c('0x1b')](handleEntityNotFound(_0x252493,null))[_0x7c6c('0x1b')](saveUpdates(_0x52f347[_0x7c6c('0x70')],null))[_0x7c6c('0x1b')](function(_0x2d9ef6){if(_0x2d9ef6){_0x379799=_0x2d9ef6;return db[_0x7c6c('0xb3')][_0x7c6c('0x6d')]({'where':{'id':_0x379799[_0x7c6c('0x8f')]}});}})[_0x7c6c('0x1b')](function(_0xfad4e0){if(_0xfad4e0){_0x25e8a8=_0xfad4e0;return db['CmContact'][_0x7c6c('0x6d')]({'where':{'id':_0x379799[_0x7c6c('0x66')]}});}})['then'](function(_0x1c2ef6){if(_0x1c2ef6){_0xf10d9a=_0x1c2ef6;if(_0x1a878a){var _0x3b0a02=null;for(var _0x9a4ce=0x1;_0x9a4ce<_0x379799[_0x7c6c('0xd9')][_0x7c6c('0x47')];++_0x9a4ce){_0x3b0a02=_0x379799['Messages'][_0x9a4ce];var _0x4f24bd=_0x3b0a02[_0x7c6c('0x6e')]?util[_0x7c6c('0xd6')]('%s%d',_0x25e8a8[_0x7c6c('0xda')],_0x3b0a02['UserId']):_0x7c6c('0xdb');var _0x3802a7=_0x52f347['body'][_0x7c6c('0xdc')]||util[_0x7c6c('0xd6')](_0x7c6c('0xdd'),_0x7c6c('0xde'),_0x3b0a02[_0x7c6c('0x66')]);switch(_0x25e8a8[_0x7c6c('0xdf')]){case _0x7c6c('0xe0'):_0x4f24bd=_0x3b0a02['UserId']?util[_0x7c6c('0xd6')]('%s%d',_0x25e8a8[_0x7c6c('0xda')],_0x3b0a02[_0x7c6c('0x6e')]):_0x7c6c('0xdb');break;case'agent_alias':_0x4f24bd=_0x3b0a02[_0x7c6c('0x6e')]?_0x3b0a02[_0x7c6c('0x6c')][_0x7c6c('0xe1')]||_0x3b0a02['User'][_0x7c6c('0x34')]:_0x7c6c('0xdb');break;case _0x7c6c('0xe2'):_0x4f24bd=_0x3b0a02[_0x7c6c('0x6e')]?_0x3b0a02['User'][_0x7c6c('0x34')]:'System';break;default:_0x4f24bd=_0x3b0a02[_0x7c6c('0x6e')]?util[_0x7c6c('0xd6')](_0x7c6c('0xdd'),_0x25e8a8[_0x7c6c('0xda')],_0x3b0a02['UserId']):_0x7c6c('0xdb');}var _0x44d6b2=util[_0x7c6c('0xd6')](_0x7c6c('0xe3'),moment(_0x3b0a02[_0x7c6c('0xe4')])[_0x7c6c('0xd6')](_0x7c6c('0xe5')),_0x3b0a02['direction']==='in'?_0x3802a7:_0x4f24bd,_0x3b0a02[_0x7c6c('0x70')]);if(!_0x3b0a02[_0x7c6c('0xe6')]){fs['appendFileSync'](_0x1a878a,_0x44d6b2);}}return db[_0x7c6c('0xe7')][_0x7c6c('0xb4')]({'where':{'service':!![]},'include':[{'model':db[_0x7c6c('0xe8')],'as':_0x7c6c('0xe9'),'raw':!![]}]});}}})[_0x7c6c('0x1b')](function(_0x22c7c2){if(_0x22c7c2&&_0x22c7c2[_0x7c6c('0xe9')]&&_0x52f347[_0x7c6c('0x70')]){var _0x3c1b21={'tls':{'rejectUnauthorized':![]}};if(_0x22c7c2[_0x7c6c('0xe9')][_0x7c6c('0xea')]){_0x3c1b21[_0x7c6c('0xea')]=_0x22c7c2[_0x7c6c('0xe9')][_0x7c6c('0xea')];}else{_0x3c1b21[_0x7c6c('0xeb')]=_0x22c7c2[_0x7c6c('0xe9')][_0x7c6c('0xeb')];_0x3c1b21[_0x7c6c('0xec')]=_0x22c7c2[_0x7c6c('0xe9')][_0x7c6c('0xec')];_0x3c1b21[_0x7c6c('0xed')]=_0x22c7c2[_0x7c6c('0xe9')][_0x7c6c('0xed')];}if(_0x22c7c2[_0x7c6c('0xe9')][_0x7c6c('0xee')]){_0x3c1b21['auth']={'user':_0x22c7c2[_0x7c6c('0xe9')]['user'],'pass':_0x22c7c2[_0x7c6c('0xe9')][_0x7c6c('0xef')]};}return respondWithRpcPromise(_0x7c6c('0xf0'),_0x7c6c('0xf1'),{'account':_0x3c1b21,'message':{'from':util[_0x7c6c('0xd6')](_0x7c6c('0xf2'),_0x22c7c2[_0x7c6c('0x32')],_0x22c7c2['email']||_0x22c7c2[_0x7c6c('0xe9')]['user']),'to':_0x52f347['body'][_0x7c6c('0xf3')],'subject':_0x7c6c('0xf4'),'text':util['format'](_0x7c6c('0xf5'),_0x52f347[_0x7c6c('0x70')][_0x7c6c('0xf3')]),'attachments':[{'path':_0x1a878a}]}})[_0x7c6c('0x1b')](function(){return _0x379799;})[_0x7c6c('0x25')](function(_0x3d120c){console[_0x7c6c('0x21')](_0x3d120c);});}else{return _0x379799;}})['then'](respondWithStatusCode(_0x252493,0xc8))[_0x7c6c('0x25')](handleError(_0x252493,null));};exports[_0x7c6c('0xf6')]=function(_0x45ac6b,_0x1f2fdf,_0x4b60a7){return db['ChatMessage'][_0x7c6c('0x6d')]({'where':{'id':_0x45ac6b[_0x7c6c('0xac')]['id']}})[_0x7c6c('0x1b')](handleEntityNotFound(_0x1f2fdf,null))[_0x7c6c('0x1b')](function(_0x5ef360){if(_0x5ef360){return _0x5ef360[_0x7c6c('0xf6')](_0x45ac6b[_0x7c6c('0x70')][_0x7c6c('0xf7')],_[_0x7c6c('0xf8')](_0x45ac6b[_0x7c6c('0x70')],[_0x7c6c('0xf7'),'id'])||{});}})[_0x7c6c('0x1b')](respondWithResult(_0x1f2fdf,null))[_0x7c6c('0x25')](handleError(_0x1f2fdf,null));};exports[_0x7c6c('0xf9')]=function(_0xc51356,_0x3caf31,_0x44b3d5){var _0x20bec1={'raw':![],'where':{}};var _0x578515={};var _0x572516={'count':0x0,'rows':[]};return db[_0x7c6c('0x3c')][_0x7c6c('0xb4')]({'where':{'id':_0xc51356[_0x7c6c('0xac')]['id']}})[_0x7c6c('0x1b')](handleEntityNotFound(_0x3caf31,null))[_0x7c6c('0x1b')](function(_0x3cfc01){if(_0x3cfc01){_0x578515[_0x7c6c('0x40')]=_[_0x7c6c('0x42')](db[_0x7c6c('0xbf')][_0x7c6c('0x3d')]);_0x578515[_0x7c6c('0x41')]=_[_0x7c6c('0x42')](_0xc51356[_0x7c6c('0x41')]);_0x578515[_0x7c6c('0x43')]=_[_0x7c6c('0x44')](_0x578515[_0x7c6c('0x40')],_0x578515[_0x7c6c('0x41')]);_0x20bec1['attributes']=_[_0x7c6c('0x44')](_0x578515[_0x7c6c('0x40')],qs[_0x7c6c('0x45')](_0xc51356[_0x7c6c('0x41')][_0x7c6c('0x45')]));_0x20bec1[_0x7c6c('0x46')]=_0x20bec1['attributes'][_0x7c6c('0x47')]?_0x20bec1[_0x7c6c('0x46')]:_0x578515[_0x7c6c('0x40')];if(!_0xc51356['query'][_0x7c6c('0x48')](_0x7c6c('0xfa'))){_0x20bec1['limit']=qs[_0x7c6c('0x2a')](_0xc51356[_0x7c6c('0x41')][_0x7c6c('0x2a')]);_0x20bec1[_0x7c6c('0x29')]=qs[_0x7c6c('0x29')](_0xc51356[_0x7c6c('0x41')][_0x7c6c('0x29')]);}_0x20bec1['order']=qs[_0x7c6c('0xfb')](_0xc51356['query']['sort']);_0x20bec1[_0x7c6c('0x72')]=qs[_0x7c6c('0x43')](_[_0x7c6c('0xfc')](_0xc51356[_0x7c6c('0x41')],_0x578515[_0x7c6c('0x43')]));_0x20bec1['where'][_0x7c6c('0xfd')]=_0x3cfc01['id'];if(_0xc51356[_0x7c6c('0x41')][_0x7c6c('0x7f')]){_0x20bec1[_0x7c6c('0x72')]=_[_0x7c6c('0x97')](_0x20bec1[_0x7c6c('0x72')],{'$or':_[_0x7c6c('0x3b')](_0x20bec1['attributes'],function(_0x18f7b5){var _0x7d4963={};_0x7d4963[_0x18f7b5]={'$like':'%'+_0xc51356[_0x7c6c('0x41')][_0x7c6c('0x7f')]+'%'};return _0x7d4963;})});}if(_0xc51356[_0x7c6c('0x41')][_0x7c6c('0x76')]){var _0x5a7038=_0xc51356['query']['$gte'][_0x7c6c('0x37')](',');var _0x54b029={};_0x54b029[_0x5a7038[0x0]]={'$gte':moment(_0x5a7038[0x1])[_0x7c6c('0xd6')](_0x7c6c('0xfe'))};_0x20bec1[_0x7c6c('0x72')]=_[_0x7c6c('0x97')](_0x20bec1['where'],_0x54b029);}_0x20bec1=_[_0x7c6c('0x97')]({},_0x20bec1,_0xc51356[_0x7c6c('0xae')]);return db[_0x7c6c('0xbf')]['count']({'where':_0x20bec1[_0x7c6c('0x72')]})[_0x7c6c('0x1b')](function(_0xe4f8ff){_0x572516[_0x7c6c('0x28')]=_0xe4f8ff;if(_0xc51356[_0x7c6c('0x41')]['includeAll']){_0x20bec1['include']=[{'all':!![]}];}return db[_0x7c6c('0xbf')][_0x7c6c('0xff')](_0x20bec1);})[_0x7c6c('0x1b')](function(_0xe80e06){_0x572516[_0x7c6c('0xaa')]=_0xe80e06;return _0x572516;});}})[_0x7c6c('0x1b')](respondWithFilteredResult(_0x3caf31,_0x20bec1))[_0x7c6c('0x25')](handleError(_0x3caf31,null));};exports[_0x7c6c('0x100')]=function(_0x3690a3,_0x12623c,_0x69394a){var _0x1698ef={'where':{}},_0x5276b7={},_0x55ee24={'count':0x0,'rows':[]};return db[_0x7c6c('0x3c')][_0x7c6c('0xb4')]({'where':{'id':_0x3690a3[_0x7c6c('0xac')]['id']}})[_0x7c6c('0x1b')](handleEntityNotFound(_0x12623c,null))[_0x7c6c('0x1b')](function(_0x27ca3b){if(_0x27ca3b){_0x5276b7['model']=_['keys'](db[_0x7c6c('0xbf')][_0x7c6c('0x3d')]);_0x5276b7['query']=_[_0x7c6c('0x42')](_0x3690a3[_0x7c6c('0x41')]);_0x5276b7[_0x7c6c('0x43')]=_[_0x7c6c('0x44')](_0x5276b7[_0x7c6c('0x40')],_0x5276b7['query']);_0x1698ef[_0x7c6c('0x46')]=_[_0x7c6c('0x44')](_0x5276b7[_0x7c6c('0x40')],qs[_0x7c6c('0x45')](_0x3690a3['query'][_0x7c6c('0x45')]));_0x1698ef['attributes']=_0x1698ef[_0x7c6c('0x46')][_0x7c6c('0x47')]?_0x1698ef[_0x7c6c('0x46')]:_0x5276b7[_0x7c6c('0x40')];if(!_0x3690a3['query'][_0x7c6c('0x48')](_0x7c6c('0xfa'))){_0x1698ef[_0x7c6c('0x2a')]=qs['limit'](_0x3690a3[_0x7c6c('0x41')][_0x7c6c('0x2a')]);_0x1698ef[_0x7c6c('0x29')]=qs[_0x7c6c('0x29')](_0x3690a3[_0x7c6c('0x41')]['offset']);}_0x1698ef['order']=qs[_0x7c6c('0xfb')](_0x3690a3['query'][_0x7c6c('0xfb')]);_0x1698ef['where']=qs['filters'](_['pick'](_0x3690a3[_0x7c6c('0x41')],_0x5276b7[_0x7c6c('0x43')]));_0x1698ef[_0x7c6c('0x72')]['ChatInteractionId']=_0x27ca3b['id'];if(_0x3690a3[_0x7c6c('0x41')][_0x7c6c('0x7f')]){_0x1698ef['where']=_[_0x7c6c('0x97')](_0x1698ef[_0x7c6c('0x72')],{'$or':_[_0x7c6c('0x3b')](_0x1698ef[_0x7c6c('0x46')],function(_0x2a747a){var _0x44ced8={};_0x44ced8[_0x2a747a]={'$like':'%'+_0x3690a3[_0x7c6c('0x41')][_0x7c6c('0x7f')]+'%'};return _0x44ced8;})});}_0x1698ef['where'][_0x7c6c('0xe6')]=![];if(_0x3690a3[_0x7c6c('0x41')]['id']){_0x1698ef[_0x7c6c('0x72')]['id']={'$gt':_0x3690a3['query']['id']};}_0x1698ef=_[_0x7c6c('0x97')]({},_0x1698ef,_0x3690a3['options']);return db[_0x7c6c('0xbf')][_0x7c6c('0x28')]({'where':_0x1698ef[_0x7c6c('0x72')]})['then'](function(_0x12d5a6){_0x55ee24[_0x7c6c('0x28')]=_0x12d5a6;_0x1698ef[_0x7c6c('0xad')]=[];if(_0x3690a3['query'][_0x7c6c('0x101')]){_0x1698ef[_0x7c6c('0xad')]['push']({'model':db[_0x7c6c('0x6c')],'as':'User','attributes':['id','fullname',_0x7c6c('0xe1')]});}if(_0x3690a3[_0x7c6c('0x41')][_0x7c6c('0x102')]){_0x1698ef[_0x7c6c('0xad')]=[{'all':!![]}];}return db[_0x7c6c('0xbf')]['findAll'](_0x1698ef);})['then'](function(_0x578be5){_0x55ee24[_0x7c6c('0xaa')]=_0x578be5;return _0x55ee24;});}})[_0x7c6c('0x1b')](respondWithFilteredResult(_0x12623c,_0x1698ef))[_0x7c6c('0x25')](handleError(_0x12623c,null));};exports['addTags']=function(_0x386f4c,_0x4916b2,_0x594a32){return db[_0x7c6c('0x3c')][_0x7c6c('0x6d')]({'where':{'id':_0x386f4c['params']['id']}})[_0x7c6c('0x1b')](handleEntityNotFound(_0x4916b2,null))[_0x7c6c('0x1b')](function(_0x38ef2c){if(_0x38ef2c){return _0x38ef2c[_0x7c6c('0x103')](_0x386f4c[_0x7c6c('0x70')][_0x7c6c('0xf7')],_['omit'](_0x386f4c['body'],['ids','id'])||{})[_0x7c6c('0x104')](function(){return db[_0x7c6c('0x6a')][_0x7c6c('0xff')]({'attributes':['id',_0x7c6c('0x32'),_0x7c6c('0x4c')],'where':{'id':_0x386f4c[_0x7c6c('0x70')][_0x7c6c('0xf7')]}});})[_0x7c6c('0x1b')](function(_0x4dcae1){socket['emit'](_0x7c6c('0x105'),{'id':Number(_0x386f4c[_0x7c6c('0xac')]['id']),'tags':_0x4dcae1||[]});return{'id':Number(_0x386f4c[_0x7c6c('0xac')]['id']),'tags':_0x4dcae1||[]};});}})[_0x7c6c('0x1b')](respondWithResult(_0x4916b2,null))[_0x7c6c('0x25')](handleError(_0x4916b2,null));};exports[_0x7c6c('0x106')]=function(_0x8351bc,_0x1e04a7,_0x19208c){return db[_0x7c6c('0x3c')]['find']({'where':{'id':_0x8351bc[_0x7c6c('0xac')]['id']}})['then'](handleEntityNotFound(_0x1e04a7,null))[_0x7c6c('0x1b')](function(_0x1061bd){if(_0x1061bd){return _0x1061bd[_0x7c6c('0x106')](_0x8351bc[_0x7c6c('0x41')][_0x7c6c('0xf7')]);}})[_0x7c6c('0x1b')](respondWithStatusCode(_0x1e04a7,null))['catch'](handleError(_0x1e04a7,null));};exports[_0x7c6c('0xd1')]=function(_0x1887be,_0x161fec){var _0x1f8dbb=moment()['unix']()[_0x7c6c('0x94')]();var _0x18ec7b=path[_0x7c6c('0xd4')](config[_0x7c6c('0xd2')],_0x7c6c('0x107'),'files',_0x7c6c('0x108'));var _0x5a3e80=path[_0x7c6c('0xd4')](config[_0x7c6c('0xd2')],_0x7c6c('0x107'),'files',_0x7c6c('0x109'));var _0x279791=path[_0x7c6c('0xd4')](_0x18ec7b,_0x1f8dbb);var _0x2abdb5=util[_0x7c6c('0xd6')]('transcript-%d-%s.zip',_0x1887be[_0x7c6c('0xac')]['id'],_0x1f8dbb);var _0x1d3781=path[_0x7c6c('0xd4')](_0x18ec7b,_0x2abdb5);var _0x1cfe9b=[];_0x1cfe9b[_0x7c6c('0x39')]({'model':db[_0x7c6c('0x6c')],'as':_0x7c6c('0x6c'),'attributes':['id',_0x7c6c('0x34')],'raw':!![]});_0x1cfe9b['push']({'model':db[_0x7c6c('0x10a')],'as':_0x7c6c('0x61'),'attributes':['id',_0x7c6c('0x10b'),_0x7c6c('0x10c')],'raw':!![]});if(_0x1887be[_0x7c6c('0x41')]['attachments']){_0x1cfe9b[_0x7c6c('0x39')]({'model':db[_0x7c6c('0xce')],'as':_0x7c6c('0xce'),'raw':!![]});}var _0x54d608=[{'model':db[_0x7c6c('0xbf')],'as':_0x7c6c('0xd9'),'attributes':['id',_0x7c6c('0x70'),_0x7c6c('0xe4'),_0x7c6c('0x10d'),_0x7c6c('0xe6'),_0x7c6c('0x7a')],'include':_0x1cfe9b}];_0x54d608['push']({'model':db[_0x7c6c('0xb3')],'as':_0x7c6c('0x10e'),'attributes':['id','name']});_0x54d608[_0x7c6c('0x39')]({'model':db[_0x7c6c('0x6c')],'as':_0x7c6c('0x10f'),'attributes':['id','fullname']});return db[_0x7c6c('0x3c')][_0x7c6c('0x6d')]({'where':{'id':_0x1887be[_0x7c6c('0xac')]['id']},'include':_0x54d608})[_0x7c6c('0x1b')](handleEntityNotFound(_0x161fec,null))[_0x7c6c('0x1b')](function(_0x4e55fe){if(_0x4e55fe){var _0x225338=_0x4e55fe[_0x7c6c('0x110')]({'plain':!![]});fs[_0x7c6c('0x111')](_0x279791);var _0x2ced3e={'format':'A4','border':_0x7c6c('0x112'),'header':{'height':_0x7c6c('0x113'),'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':_0x7c6c('0x114'),'contents':{'default':util[_0x7c6c('0xd6')](_0x7c6c('0x115'),util[_0x7c6c('0xd6')](_0x7c6c('0x116'),'Chat',_0x225338['id']),moment()[_0x7c6c('0xd6')](_0x7c6c('0x117'))[_0x7c6c('0x94')]())}}};var _0x44efb7={'channel':_0x7c6c('0x118'),'account':_0x225338['Account'][_0x7c6c('0x32')],'agent':_0x225338[_0x7c6c('0x10f')]?_0x225338[_0x7c6c('0x10f')]['fullname']:_0x7c6c('0x119'),'createdAt':moment(_0x225338[_0x7c6c('0xe4')])[_0x7c6c('0xd6')](_0x7c6c('0xfe'))[_0x7c6c('0x94')](),'closedAt':_0x225338[_0x7c6c('0xc5')]?moment(_0x225338[_0x7c6c('0x11a')])[_0x7c6c('0xd6')]('YYYY-MM-DD\x20HH:mm:ss')['toString']():'','disposition':_0x225338[_0x7c6c('0xc6')],'chatInfo':{'browser':_0x225338['browserName'],'os':_0x225338[_0x7c6c('0x11b')],'referer':_0x225338[_0x7c6c('0x11c')],'customerIp':_0x225338[_0x7c6c('0x11d')],'customerPort':_0x225338[_0x7c6c('0x11e')]?_0x225338[_0x7c6c('0x11e')]:_0x7c6c('0x119')},'messages':_(_0x225338[_0x7c6c('0xd9')])['tail']()[_0x7c6c('0x7f')]({'secret':![]})['map'](function(_0x3a198e){if(_0x3a198e['Attachment']){var _0x290592=path[_0x7c6c('0xd4')](_0x5a3e80,_0x3a198e[_0x7c6c('0xce')][_0x7c6c('0xcb')]);if(fs[_0x7c6c('0x11f')](_0x290592)){fs[_0x7c6c('0x120')](_0x290592)[_0x7c6c('0x121')](fs['createWriteStream'](path[_0x7c6c('0xd4')](_0x279791,_0x3a198e['Attachment'][_0x7c6c('0xcb')])));}}return{'date':moment(_0x3a198e['createdAt'])['format'](_0x7c6c('0xfe'))[_0x7c6c('0x94')](),'sender':_0x3a198e[_0x7c6c('0x10d')]===_0x7c6c('0xbd')?_0x3a198e[_0x7c6c('0x6c')]?_0x3a198e[_0x7c6c('0x6c')][_0x7c6c('0x34')]:_0x7c6c('0xdb'):_0x3a198e['Contact'][_0x7c6c('0x10b')]+(_0x3a198e[_0x7c6c('0x61')][_0x7c6c('0x10c')]?'\x20'+_0x3a198e[_0x7c6c('0x61')][_0x7c6c('0x10c')]:''),'body':_0x3a198e[_0x7c6c('0xce')]?_0x3a198e[_0x7c6c('0xce')][_0x7c6c('0xcb')]:_0x3a198e[_0x7c6c('0x70')],'direction':_0x3a198e[_0x7c6c('0x10d')]==='out'?'A':'C','secret':_0x3a198e['secret'],'read':_0x3a198e[_0x7c6c('0x7a')],'attachment':_0x3a198e[_0x7c6c('0xce')]};})[_0x7c6c('0x5e')]()};return ejs[_0x7c6c('0x122')](path[_0x7c6c('0xd4')](config[_0x7c6c('0xd2')],_0x7c6c('0x107'),_0x7c6c('0x123'),_0x7c6c('0x124')),{'interaction':_0x44efb7})[_0x7c6c('0x1b')](function(_0x2d4270){return new BPromise(function(_0x528fb7,_0x28c2a4){pdf[_0x7c6c('0xaf')](_0x2d4270,_0x2ced3e)['toFile'](path[_0x7c6c('0xd4')](_0x279791,_0x7c6c('0x125')+_0x225338['id']+'-'+_0x1f8dbb+_0x7c6c('0x126')),function(_0x1ffc36,_0x1c0aac){if(_0x1ffc36)return _0x28c2a4(_0x1ffc36);_0x528fb7(_0x1c0aac);});});})['then'](function(){return new BPromise(function(_0x45ad0f,_0x32ce38){zipdir(_0x279791,{'saveTo':_0x1d3781},function(_0x5944f1,_0x55a4f3){if(_0x5944f1)return _0x32ce38(_0x5944f1);return _0x45ad0f(_0x55a4f3);});})[_0x7c6c('0x1b')](function(){return new BPromise(function(_0x2b7cb6,_0xe0e36){rimraf(_0x279791,function(_0x37504f){if(_0x37504f)_0xe0e36(_0x37504f);return _0x2b7cb6();});});})['then'](function(){return _0x161fec[_0x7c6c('0xd1')](_0x1d3781,_0x2abdb5,function(_0xf6b16d){if(_0xf6b16d){console['log'](_0x7c6c('0x127'),_0xf6b16d);}else{fs[_0x7c6c('0x128')](_0x1d3781);}});});});}else{return _0x161fec[_0x7c6c('0x31')](0xc8);}})['catch'](handleError(_0x161fec,null));};