481b6a66d9918397ddb9d2496a1e937c570694f5
[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 _0x3946=['i.ChatWebsiteId\x20IS\x20NOT\x20NULL','role','agent','user','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','keyBy','merge','attributes','Account.key','a.mandatoryDisposition','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','contactName','i.*','c.lastName','Contact.lastName','Contact.email','c.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ChatInteractionId','rows','show','params','includeAll','include','create','destroy','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','POST','https://api-vidaoo.xcally.com/api/v1/sessions','MotionCWB:','follow','Sequelize','ValidationError','join_url','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','Interaction\x20already\x20assigned','update','disposition','AbandonInteraction','file','originalname','basename','Attachment','attachmentDownload','closed','Unauthorized','attachId','download','join','root','server/files/attachments/','close','transcript-%s.txt','now','pathTranscript','Messages','CmContact','format','%s%d','agentAlias','customer','Visitor','website_alias','System','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','secret','appendFileSync','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','auth','sendMail','\x22%s\x22\x20<%s>','email','Mail\x20Transcript','mailTranscript','addMessage','omit','ids','getMessages','YYYY-MM-DD\x20HH:mm:ss','options','findAll','includeAgent','addTags','setTags','spread','emit','chatInteractionTags:save','removeTags','unix','server','tmp','files','attachments','transcript-%d-%s.zip','firstName','lastName','read','Account','Owner','get','10px','40px','<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>','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','YYYY-MM-DD','closedAt','osName','referer','customerIp','customerPort','tail','pipe','out','renderFile','toFile','transcript-','.pdf','log','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','redis','defaults','socket.io-emitter','jayson/promise','client','http','request','then','info','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','error','code','ChatInteraction,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','json','count','offset','limit','set','apply','save','name','send','Users','map','fullname','TagIds','forEach','Tags','push','index','ChatInteraction','rawAttributes','fieldName','type','key','query','filters','intersection','model','fields','hasOwnProperty','nolimit','order','sort','where','pick','field','color','tools_tags','select','u.id','left_join','u.id\x20=\x20ui.UserId','from','chat_interactions','cm_contacts','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','chat_interaction_has_tags','expr','search','sqlOperator','conditions','length','unreadMessages','value','having','`\x20=\x200','Contact','operator','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','buildExpression','Tag','split','union','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','find','UserId','text','start','body','keys','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','createdAt','$gte','parse','$lte','null','\x20IS\x20NULL','\x20=\x20?','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','resolve','journey'];(function(_0x36ef2a,_0x2760b6){var _0x543a20=function(_0x5c2f87){while(--_0x5c2f87){_0x36ef2a['push'](_0x36ef2a['shift']());}};_0x543a20(++_0x2760b6);}(_0x3946,0x1d0));var _0x6394=function(_0x8b4e03,_0x500ba3){_0x8b4e03=_0x8b4e03-0x0;var _0x63f1a3=_0x3946[_0x8b4e03];return _0x63f1a3;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x6394('0x0'));var rimraf=require(_0x6394('0x1'));var zipdir=require(_0x6394('0x2'));var jsonpatch=require(_0x6394('0x3'));var rp=require(_0x6394('0x4'));var moment=require('moment');var BPromise=require(_0x6394('0x5'));var Mustache=require(_0x6394('0x6'));var util=require(_0x6394('0x7'));var path=require(_0x6394('0x8'));var sox=require('sox');var csv=require(_0x6394('0x9'));var ejs=require(_0x6394('0xa'));var fs=require('fs');var _=require(_0x6394('0xb'));var squel=require(_0x6394('0xc'));var crypto=require(_0x6394('0xd'));var jsforce=require(_0x6394('0xe'));var deskjs=require(_0x6394('0xf'));var toCsv=require(_0x6394('0x9'));var querystring=require('querystring');var Papa=require(_0x6394('0x10'));var Redis=require(_0x6394('0x11'));var authService=require(_0x6394('0x12'));var qs=require(_0x6394('0x13'));var as=require(_0x6394('0x14'));var hardwareService=require(_0x6394('0x15'));var logger=require(_0x6394('0x16'))(_0x6394('0x17'));var utils=require(_0x6394('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x6394('0x19'));var db=require('../../mysqldb')['db'];config[_0x6394('0x1a')]=_[_0x6394('0x1b')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x6394('0x1c'))(new Redis(config[_0x6394('0x1a')]));require('./chatInteraction.socket')['register'](socket);var jayson=require(_0x6394('0x1d'));var client=jayson[_0x6394('0x1e')][_0x6394('0x1f')]({'port':0x232b});var client9004=jayson['client'][_0x6394('0x1f')]({'port':0x232c});function respondWithRpcPromise(_0x2bf1f6,_0x293800,_0x5afba8,_0x12a1f5){return new BPromise(function(_0x4562fc,_0xde3ee7){var _0x2d4836=_0x12a1f5||client;return _0x2d4836[_0x6394('0x20')](_0x2bf1f6,_0x5afba8)[_0x6394('0x21')](function(_0x3672ba){logger[_0x6394('0x22')]('ChatInteraction,\x20%s,\x20%s',_0x293800,_0x6394('0x23'));logger[_0x6394('0x24')](_0x6394('0x25'),_0x293800,_0x6394('0x23'),JSON['stringify'](_0x3672ba));if(_0x3672ba[_0x6394('0x26')]){if(_0x3672ba['error'][_0x6394('0x27')]===0x1f4){logger[_0x6394('0x26')](_0x6394('0x28'),_0x293800,_0x3672ba[_0x6394('0x26')]['message']);return _0xde3ee7(_0x3672ba[_0x6394('0x26')][_0x6394('0x29')]);}logger['error'](_0x6394('0x28'),_0x293800,_0x3672ba[_0x6394('0x26')][_0x6394('0x29')]);return _0x4562fc(_0x3672ba['error'][_0x6394('0x29')]);}else{logger[_0x6394('0x22')](_0x6394('0x28'),_0x293800,'request\x20sent');_0x4562fc(_0x3672ba[_0x6394('0x2a')]['message']);}})[_0x6394('0x2b')](function(_0x5bc5fa){logger[_0x6394('0x26')](_0x6394('0x28'),_0x293800,_0x5bc5fa);_0xde3ee7(_0x5bc5fa);});});}function respondWithStatusCode(_0x1819e8,_0x2cafe6){_0x2cafe6=_0x2cafe6||0xcc;return function(_0x321d0f){if(_0x321d0f){return _0x1819e8[_0x6394('0x2c')](_0x2cafe6);}return _0x1819e8[_0x6394('0x2d')](_0x2cafe6)[_0x6394('0x2e')]();};}function respondWithResult(_0x4def67,_0x17ee58){_0x17ee58=_0x17ee58||0xc8;return function(_0x36b4c7){if(_0x36b4c7){return _0x4def67['status'](_0x17ee58)[_0x6394('0x2f')](_0x36b4c7);}};}function respondWithFilteredResult(_0x1cc266,_0xaf04b4){return function(_0x5b5fc3){if(_0x5b5fc3){var _0x4d8152=_0x5b5fc3[_0x6394('0x30')],_0x788938=_0xaf04b4[_0x6394('0x31')],_0x32223e=_0xaf04b4[_0x6394('0x31')]+_0xaf04b4[_0x6394('0x32')],_0x1c033e;if(_0x32223e>=_0x4d8152){_0x32223e=_0x4d8152;_0x1c033e=0xc8;}else{_0x1c033e=0xce;}_0x1cc266[_0x6394('0x2d')](_0x1c033e);return _0x1cc266[_0x6394('0x33')]('Content-Range',_0x788938+'-'+_0x32223e+'/'+_0x4d8152)[_0x6394('0x2f')](_0x5b5fc3);}return null;};}function patchUpdates(_0xf13ff7){return function(_0x54b434){try{jsonpatch[_0x6394('0x34')](_0x54b434,_0xf13ff7,!![]);}catch(_0x24fd98){return BPromise['reject'](_0x24fd98);}return _0x54b434[_0x6394('0x35')]();};}function saveUpdates(_0x16e3bc,_0x628435){return function(_0x534e73){if(_0x534e73){return _0x534e73['update'](_0x16e3bc)[_0x6394('0x21')](function(_0x4c880d){return _0x4c880d;});}return null;};}function removeEntity(_0xb62c79,_0x2df291){return function(_0x9a9eff){if(_0x9a9eff){return _0x9a9eff['destroy']()[_0x6394('0x21')](function(){_0xb62c79['status'](0xcc)[_0x6394('0x2e')]();});}};}function handleEntityNotFound(_0x1e05d5,_0x588ac9){return function(_0x5830f1){if(!_0x5830f1){_0x1e05d5['sendStatus'](0x194);}return _0x5830f1;};}function handleError(_0x2bde10,_0x3f48f6){_0x3f48f6=_0x3f48f6||0x1f4;return function(_0x13b2bc){logger[_0x6394('0x26')](_0x13b2bc['stack']);if(_0x13b2bc[_0x6394('0x36')]){delete _0x13b2bc['name'];}_0x2bde10['status'](_0x3f48f6)[_0x6394('0x37')](_0x13b2bc);};}function getInteractionUsers(_0x39e5d4,_0x31359a){return new BPromise(function(_0x19eae7,_0x2ccd25){try{if(_0x31359a[_0x39e5d4['id']]){_0x39e5d4[_0x6394('0x38')]=_[_0x6394('0x39')](_0x31359a[_0x39e5d4['id']],function(_0x7e1dd9){return{'id':_0x7e1dd9['id'],'fullname':_0x7e1dd9[_0x6394('0x3a')]};});}}catch(_0x285368){_0x2ccd25(_0x285368);}_0x19eae7(_0x39e5d4);});}function getInteractionTags(_0x4b13d8,_0x2eb4e2){return new BPromise(function(_0x2a9e8e,_0x3e5da0){try{if(_0x4b13d8[_0x6394('0x3b')]){_0x4b13d8['Tags']=[];_0x4b13d8[_0x6394('0x3b')]['split'](',')[_0x6394('0x3c')](function(_0x42f7a5){_0x4b13d8[_0x6394('0x3d')][_0x6394('0x3e')](_0x2eb4e2[_0x42f7a5]);});}delete _0x4b13d8['TagIds'];}catch(_0x496ee3){_0x3e5da0(_0x496ee3);}_0x2a9e8e(_0x4b13d8);});}function updateChatInteraction(_0x45aa0f,_0x103209,_0x293735){return new BPromise(function(_0x4a11f1,_0x2167ec){return getInteractionUsers(_0x45aa0f,_0x293735)[_0x6394('0x21')](function(_0x42ae0a){return getInteractionTags(_0x42ae0a,_0x103209);})['then'](function(_0x3ac334){_0x4a11f1(_0x3ac334);})[_0x6394('0x2b')](function(_0x478ff7){_0x2167ec(_0x478ff7);});});}exports[_0x6394('0x3f')]=function(_0x2d20a1,_0x114b6b){var _0x5e64c3={},_0x142e93={},_0x7fb6f7={'count':0x0,'rows':[]};var _0x5e40ed=_['map'](db[_0x6394('0x40')][_0x6394('0x41')],function(_0x374697){return{'name':_0x374697[_0x6394('0x42')],'type':_0x374697[_0x6394('0x43')][_0x6394('0x44')]};});_0x142e93['model']=_['map'](_0x5e40ed,_0x6394('0x36'));_0x142e93['query']=_['keys'](_0x2d20a1[_0x6394('0x45')]);_0x142e93[_0x6394('0x46')]=_[_0x6394('0x47')](_0x142e93['model'],_0x142e93[_0x6394('0x45')]);_0x5e64c3['attributes']=_[_0x6394('0x47')](_0x142e93[_0x6394('0x48')],qs['fields'](_0x2d20a1['query'][_0x6394('0x49')]));_0x5e64c3['attributes']=_0x5e64c3['attributes']['length']?_0x5e64c3['attributes']:_0x142e93[_0x6394('0x48')];if(!_0x2d20a1['query'][_0x6394('0x4a')](_0x6394('0x4b'))){_0x5e64c3[_0x6394('0x32')]=qs[_0x6394('0x32')](_0x2d20a1[_0x6394('0x45')]['limit']);_0x5e64c3[_0x6394('0x31')]=qs[_0x6394('0x31')](_0x2d20a1[_0x6394('0x45')][_0x6394('0x31')]);}_0x5e64c3[_0x6394('0x4c')]=qs[_0x6394('0x4d')](_0x2d20a1[_0x6394('0x45')][_0x6394('0x4d')]);_0x5e64c3[_0x6394('0x4e')]=qs[_0x6394('0x46')](_[_0x6394('0x4f')](_0x2d20a1[_0x6394('0x45')],_0x142e93[_0x6394('0x46')]),_0x5e40ed);var _0x39503f=[];var _0x1bdd4d=squel['select']()[_0x6394('0x50')]('id')[_0x6394('0x50')](_0x6394('0x36'))[_0x6394('0x50')](_0x6394('0x51'))['from'](_0x6394('0x52'));var _0x984b46=squel[_0x6394('0x53')]()[_0x6394('0x50')](_0x6394('0x54'))[_0x6394('0x50')]('u.fullname')['field']('ui.ChatInteractionId')['from']('user_has_chat_interactions','ui')[_0x6394('0x55')]('users','u',_0x6394('0x56'));var _0x53afb1=squel['select']()[_0x6394('0x57')](_0x6394('0x58'),'i')[_0x6394('0x55')](_0x6394('0x59'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x6394('0x55')]('users','o',_0x6394('0x5a'))[_0x6394('0x55')](_0x6394('0x5b'),'a',_0x6394('0x5c'))[_0x6394('0x55')](_0x6394('0x5d'),'me',_0x6394('0x5e'))['left_join'](_0x6394('0x5f'),'it','it.ChatInteractionId\x20=\x20i.id')[_0x6394('0x55')](_0x6394('0x52'),'t','t.id\x20=\x20it.TagId');var _0x3cc286=squel[_0x6394('0x60')]();var _0xb27fce=[];var _0x3537e6=squel[_0x6394('0x60')]();var _0x195766;if(_0x2d20a1[_0x6394('0x45')][_0x6394('0x61')]){_0x195766=as['parseSearch'](_0x2d20a1[_0x6394('0x45')][_0x6394('0x61')]);var _0x698ba7=_0x195766[_0x6394('0x62')];for(var _0x138a67=0x0;_0x138a67<_0x195766[_0x6394('0x63')][_0x6394('0x64')];_0x138a67++){var _0x15e9db=_0x195766['conditions'][_0x138a67];var _0x5ba028='i';var _0x191146=_['find'](_0x5e40ed,['name',_0x15e9db[_0x6394('0x50')]]);if(!_0x191146){switch(_0x15e9db[_0x6394('0x50')]){case _0x6394('0x65'):if(_0x15e9db[_0x6394('0x66')]==0x1){_0x53afb1[_0x6394('0x67')]('`'+_0x15e9db[_0x6394('0x50')]+_0x6394('0x68'));}else{_0x53afb1[_0x6394('0x67')]('`'+_0x15e9db[_0x6394('0x50')]+'`\x20>\x200');}break;case _0x6394('0x69'):if(_0x15e9db[_0x6394('0x6a')]==='$substring'){if(_0x15e9db[_0x6394('0x66')]['split']('\x20')[_0x6394('0x64')]>0x1){_0x3cc286[_0x698ba7](_0x6394('0x6b'),qs[_0x6394('0x6c')](_0x15e9db[_0x6394('0x66')]),null);}else{var _0x3d9f11='%'+_0x15e9db[_0x6394('0x66')]+'%';_0x3cc286[_0x698ba7]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x3d9f11,_0x3d9f11,_0x3d9f11);}}else{_0x191146=_['find'](_0x5e40ed,['name','ContactId']);_0x15e9db[_0x6394('0x50')]=_0x6394('0x6d');_0x3c4ae6=as[_0x6394('0x6e')](_0x5ba028,_0x191146['type'],_0x15e9db);_0x3cc286[_0x698ba7](_0x3c4ae6['text'],_0x3c4ae6[_0x6394('0x66')]['start'],_0x3c4ae6[_0x6394('0x66')][_0x6394('0x2e')]);}break;case _0x6394('0x6f'):var _0x2981e4=_0x15e9db['value'][_0x6394('0x70')](',')[_0x6394('0x39')](function(_0x57bc06){return Number(_0x57bc06);});_0x2981e4[_0x6394('0x3c')](function(_0x2f3a37){_0x3537e6['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x2f3a37+',%');});_0xb27fce=_[_0x6394('0x71')](_0xb27fce,_0x2981e4);break;case _0x6394('0x72'):if(_0x15e9db[_0x6394('0x6a')]===_0x6394('0x73')){_0x3cc286[_0x698ba7](_0x6394('0x74'),'%'+_0x15e9db['value']+'%',null);}else{_0x191146=_[_0x6394('0x75')](_0x5e40ed,[_0x6394('0x36'),_0x6394('0x76')]);_0x15e9db['field']='UserId';_0x3c4ae6=as['buildExpression'](_0x5ba028,_0x191146[_0x6394('0x43')],_0x15e9db);_0x3cc286[_0x698ba7](_0x3c4ae6[_0x6394('0x77')],_0x3c4ae6['value'][_0x6394('0x78')],_0x3c4ae6[_0x6394('0x66')][_0x6394('0x2e')]);}break;case _0x6394('0x79'):_0x3c4ae6=as['buildExpression']('me',null,_0x15e9db);_0x3cc286[_0x698ba7](_0x3c4ae6[_0x6394('0x77')],_0x3c4ae6[_0x6394('0x66')][_0x6394('0x78')],_0x3c4ae6[_0x6394('0x66')]['end']);break;}}else{var _0x3c4ae6=as[_0x6394('0x6e')](_0x5ba028,_0x191146[_0x6394('0x43')],_0x15e9db);_0x3cc286[_0x698ba7](_0x3c4ae6[_0x6394('0x77')],_0x3c4ae6['value'][_0x6394('0x78')],_0x3c4ae6['value'][_0x6394('0x2e')]);}}}else{var _0x45fdf6=_(_0x2d20a1[_0x6394('0x45')])[_0x6394('0x7a')]()[_0x6394('0x39')](function(_0x3dc4f5){return _['some'](_0x5e40ed,['name',_0x3dc4f5])?_0x3dc4f5:undefined;})['compact']()[_0x6394('0x66')]();if(!_[_0x6394('0x7b')](_0x45fdf6)){_0x45fdf6[_0x6394('0x3c')](function(_0x298c4e){if(_0x298c4e===_0x6394('0x7c')){_0x53afb1[_0x6394('0x4e')](_0x6394('0x7d'),[]['concat'](_0x2d20a1[_0x6394('0x45')][_0x298c4e]));}else if(_0x298c4e===_0x6394('0x7e')){var _0x198d8e=JSON['parse'](_0x2d20a1[_0x6394('0x45')][_0x298c4e])[_0x6394('0x7f')];var _0x195e02=JSON[_0x6394('0x80')](_0x2d20a1[_0x6394('0x45')][_0x298c4e])[_0x6394('0x81')];_0x53afb1[_0x6394('0x4e')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x198d8e,_0x195e02);}else{if(_0x2d20a1[_0x6394('0x45')][_0x298c4e]===_0x6394('0x82')){_0x53afb1[_0x6394('0x4e')]('i.'+_0x298c4e+_0x6394('0x83'));}else{_0x53afb1[_0x6394('0x4e')]('i.'+_0x298c4e+_0x6394('0x84'),_0x2d20a1[_0x6394('0x45')][_0x298c4e]);}}});}if(_0x2d20a1['query']['read']){if(_0x2d20a1['query']['read']==0x1){_0x53afb1['having'](_0x6394('0x85'));}else{_0x53afb1[_0x6394('0x67')](_0x6394('0x86'));}}if(_0x2d20a1[_0x6394('0x45')]['tag']){_0xb27fce=_[_0x6394('0x87')](_0x2d20a1['query'][_0x6394('0x88')])?_0x2d20a1[_0x6394('0x45')][_0x6394('0x88')]:new Array(_0x2d20a1['query'][_0x6394('0x88')]);_0xb27fce[_0x6394('0x3c')](function(_0x40eddd){_0x3537e6['or'](_0x6394('0x89'),'%,'+_0x40eddd+',%');});}if(_0x2d20a1[_0x6394('0x45')][_0x6394('0x8a')]){var _0x5035c1=_0x2d20a1[_0x6394('0x45')]['filter'][_0x6394('0x8b')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x6394('0x8c')](_0x5035c1)){_0x3cc286['or'](_0x6394('0x8d'),_0x5035c1+'%');}else{_0x3cc286['or'](_0x6394('0x8e'),qs[_0x6394('0x6c')](_0x5035c1))['or'](_0x6394('0x8f'),_0x5035c1+'%');}}}_0x53afb1[_0x6394('0x4e')](_0x3cc286);_0x53afb1[_0x6394('0x90')](_0x6394('0x91'));var _0x1d9f4f={'type':db['Sequelize'][_0x6394('0x92')][_0x6394('0x93')],'raw':!![]};var _0x3487da=_0x53afb1[_0x6394('0x94')]();_0x3487da['field'](_0x6394('0x91'));_0x3487da[_0x6394('0x50')](_0x6394('0x95'),_0x6394('0x65'));if(_0x5e64c3[_0x6394('0x4c')]){_0x5e64c3['order'][_0x6394('0x3c')](function(_0x4975de){var _0x5d9383=_0x4975de[0x0]==='contactName'?_0x4975de[0x0]:'i.'+_0x4975de[0x0];_0x53afb1[_0x6394('0x4c')](_0x5d9383,_0x4975de[0x1]===_0x6394('0x96')?![]:!![]);});}if(!_[_0x6394('0x7b')](_0xb27fce)){_0x53afb1['having'](_0x3537e6);_0x3487da['where'](_0x6394('0x97'),_0xb27fce);}BPromise[_0x6394('0x98')]()[_0x6394('0x21')](function(){if(!_0x195766){if(_0x2d20a1['query'][_0x6394('0x7c')]||_0x2d20a1['query'][_0x6394('0x99')])return;_0x3487da[_0x6394('0x4e')](_0x6394('0x9a'));_0x53afb1[_0x6394('0x4e')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}if(_0x2d20a1['user'][_0x6394('0x9b')]!==_0x6394('0x9c'))return;return _0x2d20a1[_0x6394('0x9d')]['getChatWebsites']({'attributes':['id'],'raw':!![]})[_0x6394('0x21')](function(_0x1f8bcf){if(_['isEmpty'](_0x1f8bcf)){_0x3487da[_0x6394('0x4e')](_0x6394('0x9e'));_0x53afb1['where']('i.ChatWebsiteId\x20IS\x20NULL');}else{_0x3487da[_0x6394('0x4e')](_0x6394('0x7d'),_['map'](_0x1f8bcf,'id'));_0x53afb1['where'](_0x6394('0x7d'),_[_0x6394('0x39')](_0x1f8bcf,'id'));}});})['then'](function(){if(_0x2d20a1['user'][_0x6394('0x9b')]==='agent'&&!_0x195766&&!_0x2d20a1[_0x6394('0x45')][_0x6394('0x7c')])return[];return db[_0x6394('0x9f')]['query'](_0x3487da[_0x6394('0xa0')](),_0x1d9f4f);})['then'](function(_0x46415c){_0x7fb6f7[_0x6394('0x30')]=_0x46415c[_0x6394('0x64')];if(_0x7fb6f7[_0x6394('0x30')]===0x0)return[];return db[_0x6394('0x9f')][_0x6394('0x45')](_0x1bdd4d[_0x6394('0xa0')](),_0x1d9f4f)['then'](function(_0x23363c){_0x39503f=_[_0x6394('0xa1')](_0x23363c,'id');_0x1d9f4f=_[_0x6394('0xa2')](_0x1d9f4f,{'model':db[_0x6394('0x40')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2d20a1[_0x6394('0x45')][_0x6394('0x49')]){_0x5e64c3[_0x6394('0xa3')][_0x6394('0x3c')](function(_0x198df5){_0x53afb1[_0x6394('0x50')]('i.'+_0x198df5);});}else{_0x53afb1[_0x6394('0x50')](_0x6394('0x95'),_0x6394('0x65'));_0x53afb1['field']('a.key',_0x6394('0xa4'));_0x53afb1[_0x6394('0x50')](_0x6394('0xa5'),_0x6394('0xa6'));_0x53afb1[_0x6394('0x50')](_0x6394('0xa7'),_0x6394('0xa8'));_0x53afb1[_0x6394('0x50')](_0x6394('0xa9'));_0x53afb1['field']('c.firstName','Contact.firstName');_0x53afb1[_0x6394('0x50')](_0x6394('0xaa'),_0x6394('0xab'));_0x53afb1[_0x6394('0x50')]('c.email',_0x6394('0xac'));_0x53afb1[_0x6394('0x50')](_0x6394('0xad'),'Contact.phone');_0x53afb1[_0x6394('0x50')](_0x6394('0xae'),_0x6394('0xaf'));_0x53afb1['field'](_0x6394('0xb0'),_0x6394('0xb1'));_0x53afb1[_0x6394('0x50')](_0x6394('0xb2'),_0x6394('0xb3'));_0x53afb1[_0x6394('0x50')](_0x6394('0xb4'),'Owner.internal');_0x53afb1[_0x6394('0x50')](_0x6394('0xb5'),_0x6394('0x3b'));}if(_0x5e64c3['limit'])_0x53afb1[_0x6394('0x32')](_0x5e64c3[_0x6394('0x32')]);if(_0x5e64c3[_0x6394('0x31')])_0x53afb1['offset'](_0x5e64c3[_0x6394('0x31')]);return db[_0x6394('0x9f')][_0x6394('0x45')](_0x53afb1[_0x6394('0xa0')](),_0x1d9f4f);})[_0x6394('0x21')](function(_0x932161){_0x984b46[_0x6394('0x4e')]('ui.ChatInteractionId\x20IN\x20?',_['map'](_0x932161,'id'));return db[_0x6394('0x9f')][_0x6394('0x45')](_0x984b46[_0x6394('0xa0')](),_0x1d9f4f)['then'](function(_0x58e5be){var _0x46f8c4=_['groupBy'](_0x58e5be,_0x6394('0xb6'));var _0x579bfb=[];_0x932161[_0x6394('0x3c')](function(_0x412c09){_0x579bfb[_0x6394('0x3e')](updateChatInteraction(_0x412c09,_0x39503f,_0x46f8c4));});return BPromise['all'](_0x579bfb);});});})[_0x6394('0x21')](function(_0xf871bb){_0x7fb6f7[_0x6394('0xb7')]=_0xf871bb;return _0x7fb6f7;})[_0x6394('0x21')](respondWithFilteredResult(_0x114b6b,_0x5e64c3))['catch'](handleError(_0x114b6b,null));};exports[_0x6394('0xb8')]=function(_0x194b86,_0x5bcfbc){var _0x8343b6={'raw':![],'where':{'id':_0x194b86[_0x6394('0xb9')]['id']}},_0x50b4c0={};_0x50b4c0['model']=_[_0x6394('0x7a')](db[_0x6394('0x40')][_0x6394('0x41')]);_0x50b4c0[_0x6394('0x45')]=_[_0x6394('0x7a')](_0x194b86[_0x6394('0x45')]);_0x50b4c0['filters']=_[_0x6394('0x47')](_0x50b4c0['model'],_0x50b4c0[_0x6394('0x45')]);_0x8343b6['attributes']=_[_0x6394('0x47')](_0x50b4c0[_0x6394('0x48')],qs[_0x6394('0x49')](_0x194b86['query']['fields']));_0x8343b6[_0x6394('0xa3')]=_0x8343b6[_0x6394('0xa3')][_0x6394('0x64')]?_0x8343b6[_0x6394('0xa3')]:_0x50b4c0['model'];if(_0x194b86[_0x6394('0x45')][_0x6394('0xba')]){_0x8343b6[_0x6394('0xbb')]=[{'all':!![]}];}_0x8343b6=_[_0x6394('0xa2')]({},_0x8343b6,_0x194b86['options']);return db[_0x6394('0x40')][_0x6394('0x75')](_0x8343b6)['then'](handleEntityNotFound(_0x5bcfbc,null))['then'](respondWithResult(_0x5bcfbc,null))[_0x6394('0x2b')](handleError(_0x5bcfbc,null));};exports[_0x6394('0xbc')]=function(_0xb90229,_0x2f8612){return db[_0x6394('0x40')][_0x6394('0xbc')](_0xb90229[_0x6394('0x79')],{})['then'](respondWithResult(_0x2f8612,0xc9))[_0x6394('0x2b')](handleError(_0x2f8612,null));};exports['update']=function(_0x2c8cb3,_0xf03746){if(_0x2c8cb3[_0x6394('0x79')]['id']){delete _0x2c8cb3[_0x6394('0x79')]['id'];}return db[_0x6394('0x40')][_0x6394('0x75')]({'where':{'id':_0x2c8cb3[_0x6394('0xb9')]['id']}})[_0x6394('0x21')](handleEntityNotFound(_0xf03746,null))[_0x6394('0x21')](saveUpdates(_0x2c8cb3[_0x6394('0x79')],null))[_0x6394('0x21')](respondWithResult(_0xf03746,null))[_0x6394('0x2b')](handleError(_0xf03746,null));};exports[_0x6394('0xbd')]=function(_0x20ce77,_0x3a997d){return db[_0x6394('0x40')][_0x6394('0x75')]({'where':{'id':_0x20ce77[_0x6394('0xb9')]['id']}})[_0x6394('0x21')](handleEntityNotFound(_0x3a997d,null))[_0x6394('0x21')](removeEntity(_0x3a997d,null))[_0x6394('0x2b')](handleError(_0x3a997d,null));};exports[_0x6394('0xbe')]=function(_0xf9dd73,_0x152a9f){return db[_0x6394('0x40')][_0x6394('0xbe')]()[_0x6394('0x21')](respondWithResult(_0x152a9f,null))[_0x6394('0x2b')](handleError(_0x152a9f,null));};exports[_0x6394('0xbf')]=function(_0x46b508,_0x2a5f6c){var _0x3c93f1=_0x46b508[_0x6394('0xb9')]['id'];var _0x9b7929;var _0x326363;var _0x3d0f2f;return db[_0x6394('0x40')][_0x6394('0xc0')]({'where':{'id':_0x3c93f1}})[_0x6394('0x21')](function(_0x352c96){_0x9b7929=_0x352c96;return db[_0x6394('0xc1')][_0x6394('0xc0')]({'where':{'id':_0x352c96[_0x6394('0x7c')]},'attributes':['id',_0x6394('0xc2'),'vidaooEscalation'],'raw':!![]});})['then'](function(_0x223e1b){if(_0x223e1b&&_0x223e1b[_0x6394('0xc2')]&&_0x223e1b[_0x6394('0xc3')]){_0x326363=_0x223e1b;var _0x5d2b05={'rejectUnauthorized':![],'method':_0x6394('0xc4'),'uri':_0x6394('0xc5'),'headers':{'X-APIKEY':_0x223e1b['vidaooApiKey']},'body':{'name':_0x6394('0xc6')+_0x3c93f1},'redirect':_0x6394('0xc7'),'json':!![]};return rp(_0x5d2b05);}else{throw new db[(_0x6394('0xc8'))][(_0x6394('0xc9'))]('Error\x20in\x20Vidaoo\x20configuration');}})[_0x6394('0x21')](function(_0x274b44){_0x3d0f2f=_0x274b44;if(_0x3d0f2f['id']){var _0x505d09={'body':_0x3d0f2f[_0x6394('0xca')],'ChatWebsiteId':_0x326363['id'],'ChatInteractionId':_0x9b7929['id'],'direction':'out','UserId':_0x46b508['user']['id']};return db[_0x6394('0xcb')][_0x6394('0xbc')](_0x505d09,{});}else{throw new db[(_0x6394('0xc8'))][(_0x6394('0xc9'))](_0x6394('0xcc'));}})[_0x6394('0x21')](function(){return _0x9b7929[_0x6394('0xcd')]({'vidaooSessionId':_0x3d0f2f['id']});})[_0x6394('0x21')](respondWithResult(_0x2a5f6c,null))['catch'](handleError(_0x2a5f6c,null));};exports[_0x6394('0xce')]=function(_0x5a25ef,_0x2486e6){if(_0x5a25ef[_0x6394('0x79')]['id']){delete _0x5a25ef[_0x6394('0x79')]['id'];}return db['ChatInteraction'][_0x6394('0x75')]({'where':{'id':_0x5a25ef[_0x6394('0xb9')]['id']}})[_0x6394('0x21')](handleEntityNotFound(_0x2486e6,null))[_0x6394('0x21')](saveUpdates(_0x5a25ef[_0x6394('0x79')],null))[_0x6394('0x21')](respondWithResult(_0x2486e6,null))[_0x6394('0x2b')](handleError(_0x2486e6,null));};exports[_0x6394('0xcf')]=function(_0x494aac,_0x33e77f,_0x2d5430){if(_0x494aac[_0x6394('0x79')]['id']){delete _0x494aac[_0x6394('0x79')]['id'];}return db['ChatInteraction']['find']({'where':{'id':_0x494aac['params']['id']}})[_0x6394('0x21')](function(_0x26e5ec){if(!_0x26e5ec){logger[_0x6394('0x26')](_0x6394('0xd0'),_0x6394('0xcf'),0x194,_0x6394('0xd1'));_0x33e77f[_0x6394('0x2c')](0x194);}else{if(_0x26e5ec[_0x6394('0x76')]){throw new db['Sequelize'][(_0x6394('0xc9'))](_0x6394('0xd2'));}}return _0x26e5ec;})[_0x6394('0x21')](function(_0x37dc60){if(_0x37dc60){return _0x37dc60[_0x6394('0xd3')]({'closed':_0x494aac[_0x6394('0x79')]['closed'],'disposition':_0x494aac[_0x6394('0x79')][_0x6394('0xd4')]})[_0x6394('0x21')](function(_0x425677){return _0x425677;});}})[_0x6394('0x21')](function(_0xde32b){return respondWithRpcPromise(_0x6394('0xd5'),_0x6394('0xcf'),_0x494aac[_0x6394('0x79')],client9004);})[_0x6394('0x21')](respondWithResult(_0x33e77f,null))[_0x6394('0x2b')](handleError(_0x33e77f,null));};exports['attachmentUpload']=function(_0x316fb7,_0x308a59,_0x40fbac){_0x316fb7[_0x6394('0x79')][_0x6394('0x36')]=_0x316fb7[_0x6394('0xd6')][_0x6394('0xd7')];_0x316fb7['body'][_0x6394('0xd8')]=_0x316fb7[_0x6394('0xd6')]['filename'];_0x316fb7[_0x6394('0x79')]['type']=_0x316fb7[_0x6394('0xd6')]['mimetype'];return db[_0x6394('0xd9')]['create'](_0x316fb7[_0x6394('0x79')])[_0x6394('0x21')](respondWithResult(_0x308a59,0xc9))[_0x6394('0x2b')](handleError(_0x308a59,null));};exports[_0x6394('0xda')]=function(_0x53fbfe,_0x3fd921,_0x1b6810){return db[_0x6394('0x40')][_0x6394('0xc0')]({'where':{'id':_0x53fbfe['params']['id']},'raw':!![]})[_0x6394('0x21')](handleEntityNotFound(_0x3fd921,null))[_0x6394('0x21')](function(_0x58fe2e){if(_0x58fe2e){if(_0x58fe2e[_0x6394('0xdb')]){return _0x3fd921[_0x6394('0x2d')](0x193)[_0x6394('0x2f')]({'status':0x193,'message':_0x6394('0xdc')});}return db[_0x6394('0xd9')][_0x6394('0xc0')]({'where':{'id':_0x53fbfe[_0x6394('0x45')][_0x6394('0xdd')]},'raw':!![]})['then'](handleEntityNotFound(_0x3fd921,null));}})[_0x6394('0x21')](function(_0x26ca80){if(_0x26ca80){return _0x3fd921[_0x6394('0xde')](path[_0x6394('0xdf')](config[_0x6394('0xe0')],_0x6394('0xe1'),_0x26ca80[_0x6394('0xd8')]));}})['catch'](handleError(_0x3fd921,null));};exports[_0x6394('0xe2')]=function(_0x39a8d9,_0x4c434d){var _0x9078e9=null;var _0x95364=null;var _0x43bc22=null;var _0x175845=null;if(_0x39a8d9[_0x6394('0x79')]['id']){delete _0x39a8d9['body']['id'];}if(_0x39a8d9['body']['mailTranscript']){_0x175845=path['join'](config['root'],'server/files/chat/upload/',util['format'](_0x6394('0xe3'),Date[_0x6394('0xe4')]()));_0x39a8d9[_0x6394('0x79')][_0x6394('0xe5')]=_0x175845;}return db['ChatInteraction'][_0x6394('0x75')]({'where':{'id':_0x39a8d9[_0x6394('0xb9')]['id']},'include':[{'model':db[_0x6394('0xcb')],'as':_0x6394('0xe6'),'include':[{'model':db['User'],'as':_0x6394('0x72')}]}]})['then'](handleEntityNotFound(_0x4c434d,null))['then'](saveUpdates(_0x39a8d9[_0x6394('0x79')],null))[_0x6394('0x21')](function(_0x325518){if(_0x325518){_0x9078e9=_0x325518;return db['ChatWebsite']['find']({'where':{'id':_0x9078e9[_0x6394('0x7c')]}});}})[_0x6394('0x21')](function(_0x4c6b10){if(_0x4c6b10){_0x43bc22=_0x4c6b10;return db[_0x6394('0xe7')]['find']({'where':{'id':_0x9078e9[_0x6394('0x6d')]}});}})[_0x6394('0x21')](function(_0x2d2b03){if(_0x2d2b03){_0x95364=_0x2d2b03;if(_0x175845){var _0x4b6d46=null;for(var _0x596654=0x1;_0x596654<_0x9078e9[_0x6394('0xe6')]['length'];++_0x596654){_0x4b6d46=_0x9078e9[_0x6394('0xe6')][_0x596654];var _0x112bbd=_0x4b6d46[_0x6394('0x76')]?util[_0x6394('0xe8')](_0x6394('0xe9'),_0x43bc22[_0x6394('0xea')],_0x4b6d46[_0x6394('0x76')]):'System';var _0x43b517=_0x39a8d9[_0x6394('0x79')][_0x6394('0xeb')]||util[_0x6394('0xe8')]('%s%d',_0x6394('0xec'),_0x4b6d46[_0x6394('0x6d')]);switch(_0x43bc22['agentIdentifier']){case _0x6394('0xed'):_0x112bbd=_0x4b6d46[_0x6394('0x76')]?util[_0x6394('0xe8')](_0x6394('0xe9'),_0x43bc22[_0x6394('0xea')],_0x4b6d46['UserId']):_0x6394('0xee');break;case _0x6394('0xef'):_0x112bbd=_0x4b6d46[_0x6394('0x76')]?_0x4b6d46['User'][_0x6394('0xf0')]||_0x4b6d46[_0x6394('0x72')][_0x6394('0x3a')]:_0x6394('0xee');break;case _0x6394('0xf1'):_0x112bbd=_0x4b6d46[_0x6394('0x76')]?_0x4b6d46[_0x6394('0x72')][_0x6394('0x3a')]:'System';break;default:_0x112bbd=_0x4b6d46['UserId']?util[_0x6394('0xe8')](_0x6394('0xe9'),_0x43bc22[_0x6394('0xea')],_0x4b6d46[_0x6394('0x76')]):_0x6394('0xee');}var _0x4d27d7=util[_0x6394('0xe8')](_0x6394('0xf2'),moment(_0x4b6d46[_0x6394('0x7e')])[_0x6394('0xe8')](_0x6394('0xf3')),_0x4b6d46[_0x6394('0xf4')]==='in'?_0x43b517:_0x112bbd,_0x4b6d46[_0x6394('0x79')]);if(!_0x4b6d46[_0x6394('0xf5')]){fs[_0x6394('0xf6')](_0x175845,_0x4d27d7);}}return db[_0x6394('0xf7')]['findOne']({'where':{'service':!![]},'include':[{'model':db[_0x6394('0xf8')],'as':'Smtp','raw':!![]}]});}}})[_0x6394('0x21')](function(_0x4750d6){if(_0x4750d6&&_0x4750d6['Smtp']&&_0x39a8d9[_0x6394('0x79')]){var _0x912abe={'tls':{'rejectUnauthorized':![]}};if(_0x4750d6[_0x6394('0xf9')][_0x6394('0xfa')]){_0x912abe[_0x6394('0xfa')]=_0x4750d6[_0x6394('0xf9')][_0x6394('0xfa')];}else{_0x912abe[_0x6394('0xfb')]=_0x4750d6[_0x6394('0xf9')]['host'];_0x912abe[_0x6394('0xfc')]=_0x4750d6[_0x6394('0xf9')][_0x6394('0xfc')];_0x912abe[_0x6394('0xfd')]=_0x4750d6[_0x6394('0xf9')][_0x6394('0xfd')];}if(_0x4750d6[_0x6394('0xf9')][_0x6394('0xfe')]){_0x912abe[_0x6394('0xff')]={'user':_0x4750d6[_0x6394('0xf9')][_0x6394('0x9d')],'pass':_0x4750d6[_0x6394('0xf9')]['pass']};}return respondWithRpcPromise('SendMail',_0x6394('0x100'),{'account':_0x912abe,'message':{'from':util[_0x6394('0xe8')](_0x6394('0x101'),_0x4750d6[_0x6394('0x36')],_0x4750d6[_0x6394('0x102')]||_0x4750d6[_0x6394('0xf9')][_0x6394('0x9d')]),'to':_0x39a8d9['body']['mailTranscript'],'subject':_0x6394('0x103'),'text':util[_0x6394('0xe8')]('Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a',_0x39a8d9[_0x6394('0x79')][_0x6394('0x104')]),'attachments':[{'path':_0x175845}]}})[_0x6394('0x21')](function(){return _0x9078e9;})[_0x6394('0x2b')](function(_0x9cd45d){console['error'](_0x9cd45d);});}else{return _0x9078e9;}})[_0x6394('0x21')](respondWithStatusCode(_0x4c434d,0xc8))[_0x6394('0x2b')](handleError(_0x4c434d,null));};exports[_0x6394('0x105')]=function(_0x223fc5,_0xd77ec,_0x3a3385){return db[_0x6394('0xcb')][_0x6394('0x75')]({'where':{'id':_0x223fc5[_0x6394('0xb9')]['id']}})[_0x6394('0x21')](handleEntityNotFound(_0xd77ec,null))[_0x6394('0x21')](function(_0x21d60c){if(_0x21d60c){return _0x21d60c[_0x6394('0x105')](_0x223fc5[_0x6394('0x79')]['ids'],_[_0x6394('0x106')](_0x223fc5[_0x6394('0x79')],[_0x6394('0x107'),'id'])||{});}})[_0x6394('0x21')](respondWithResult(_0xd77ec,null))[_0x6394('0x2b')](handleError(_0xd77ec,null));};exports[_0x6394('0x108')]=function(_0x362709,_0x44205a,_0x5258f5){var _0x5e9648={'raw':![],'where':{}};var _0x43cdc1={};var _0x2558cd={'count':0x0,'rows':[]};return db['ChatInteraction']['findOne']({'where':{'id':_0x362709[_0x6394('0xb9')]['id']}})[_0x6394('0x21')](handleEntityNotFound(_0x44205a,null))['then'](function(_0x1c9723){if(_0x1c9723){_0x43cdc1[_0x6394('0x48')]=_[_0x6394('0x7a')](db['ChatMessage'][_0x6394('0x41')]);_0x43cdc1[_0x6394('0x45')]=_[_0x6394('0x7a')](_0x362709[_0x6394('0x45')]);_0x43cdc1[_0x6394('0x46')]=_[_0x6394('0x47')](_0x43cdc1[_0x6394('0x48')],_0x43cdc1['query']);_0x5e9648[_0x6394('0xa3')]=_['intersection'](_0x43cdc1[_0x6394('0x48')],qs[_0x6394('0x49')](_0x362709[_0x6394('0x45')][_0x6394('0x49')]));_0x5e9648[_0x6394('0xa3')]=_0x5e9648[_0x6394('0xa3')][_0x6394('0x64')]?_0x5e9648['attributes']:_0x43cdc1[_0x6394('0x48')];if(!_0x362709['query'][_0x6394('0x4a')](_0x6394('0x4b'))){_0x5e9648[_0x6394('0x32')]=qs[_0x6394('0x32')](_0x362709[_0x6394('0x45')][_0x6394('0x32')]);_0x5e9648['offset']=qs[_0x6394('0x31')](_0x362709[_0x6394('0x45')]['offset']);}_0x5e9648[_0x6394('0x4c')]=qs[_0x6394('0x4d')](_0x362709[_0x6394('0x45')][_0x6394('0x4d')]);_0x5e9648[_0x6394('0x4e')]=qs[_0x6394('0x46')](_[_0x6394('0x4f')](_0x362709['query'],_0x43cdc1[_0x6394('0x46')]));_0x5e9648[_0x6394('0x4e')][_0x6394('0xb6')]=_0x1c9723['id'];if(_0x362709[_0x6394('0x45')]['filter']){_0x5e9648[_0x6394('0x4e')]=_[_0x6394('0xa2')](_0x5e9648['where'],{'$or':_['map'](_0x5e9648[_0x6394('0xa3')],function(_0x493676){var _0x4b24bd={};_0x4b24bd[_0x493676]={'$like':'%'+_0x362709[_0x6394('0x45')][_0x6394('0x8a')]+'%'};return _0x4b24bd;})});}if(_0x362709[_0x6394('0x45')][_0x6394('0x7f')]){var _0x374dad=_0x362709[_0x6394('0x45')][_0x6394('0x7f')]['split'](',');var _0x10619b={};_0x10619b[_0x374dad[0x0]]={'$gte':moment(_0x374dad[0x1])[_0x6394('0xe8')](_0x6394('0x109'))};_0x5e9648['where']=_[_0x6394('0xa2')](_0x5e9648[_0x6394('0x4e')],_0x10619b);}_0x5e9648=_[_0x6394('0xa2')]({},_0x5e9648,_0x362709[_0x6394('0x10a')]);return db[_0x6394('0xcb')]['count']({'where':_0x5e9648[_0x6394('0x4e')]})[_0x6394('0x21')](function(_0x473d4d){_0x2558cd[_0x6394('0x30')]=_0x473d4d;if(_0x362709[_0x6394('0x45')][_0x6394('0xba')]){_0x5e9648[_0x6394('0xbb')]=[{'all':!![]}];}return db[_0x6394('0xcb')][_0x6394('0x10b')](_0x5e9648);})['then'](function(_0x28e31c){_0x2558cd[_0x6394('0xb7')]=_0x28e31c;return _0x2558cd;});}})[_0x6394('0x21')](respondWithFilteredResult(_0x44205a,_0x5e9648))[_0x6394('0x2b')](handleError(_0x44205a,null));};exports['getMyMessages']=function(_0x4c8e88,_0x3123c8,_0x18e2f0){var _0xc7481f={'where':{}},_0x3d9a0a={},_0x4bdfee={'count':0x0,'rows':[]};return db[_0x6394('0x40')]['findOne']({'where':{'id':_0x4c8e88['params']['id']}})[_0x6394('0x21')](handleEntityNotFound(_0x3123c8,null))[_0x6394('0x21')](function(_0xc72d3c){if(_0xc72d3c){_0x3d9a0a[_0x6394('0x48')]=_['keys'](db[_0x6394('0xcb')]['rawAttributes']);_0x3d9a0a[_0x6394('0x45')]=_[_0x6394('0x7a')](_0x4c8e88[_0x6394('0x45')]);_0x3d9a0a['filters']=_['intersection'](_0x3d9a0a['model'],_0x3d9a0a['query']);_0xc7481f[_0x6394('0xa3')]=_[_0x6394('0x47')](_0x3d9a0a[_0x6394('0x48')],qs[_0x6394('0x49')](_0x4c8e88['query'][_0x6394('0x49')]));_0xc7481f[_0x6394('0xa3')]=_0xc7481f[_0x6394('0xa3')][_0x6394('0x64')]?_0xc7481f[_0x6394('0xa3')]:_0x3d9a0a[_0x6394('0x48')];if(!_0x4c8e88[_0x6394('0x45')][_0x6394('0x4a')]('nolimit')){_0xc7481f[_0x6394('0x32')]=qs[_0x6394('0x32')](_0x4c8e88['query'][_0x6394('0x32')]);_0xc7481f[_0x6394('0x31')]=qs[_0x6394('0x31')](_0x4c8e88[_0x6394('0x45')][_0x6394('0x31')]);}_0xc7481f[_0x6394('0x4c')]=qs[_0x6394('0x4d')](_0x4c8e88[_0x6394('0x45')][_0x6394('0x4d')]);_0xc7481f[_0x6394('0x4e')]=qs['filters'](_['pick'](_0x4c8e88[_0x6394('0x45')],_0x3d9a0a[_0x6394('0x46')]));_0xc7481f[_0x6394('0x4e')][_0x6394('0xb6')]=_0xc72d3c['id'];if(_0x4c8e88[_0x6394('0x45')][_0x6394('0x8a')]){_0xc7481f[_0x6394('0x4e')]=_[_0x6394('0xa2')](_0xc7481f[_0x6394('0x4e')],{'$or':_[_0x6394('0x39')](_0xc7481f[_0x6394('0xa3')],function(_0x1c3739){var _0x26316d={};_0x26316d[_0x1c3739]={'$like':'%'+_0x4c8e88[_0x6394('0x45')][_0x6394('0x8a')]+'%'};return _0x26316d;})});}_0xc7481f[_0x6394('0x4e')][_0x6394('0xf5')]=![];if(_0x4c8e88[_0x6394('0x45')]['id']){_0xc7481f[_0x6394('0x4e')]['id']={'$gt':_0x4c8e88[_0x6394('0x45')]['id']};}_0xc7481f=_[_0x6394('0xa2')]({},_0xc7481f,_0x4c8e88[_0x6394('0x10a')]);return db[_0x6394('0xcb')]['count']({'where':_0xc7481f[_0x6394('0x4e')]})[_0x6394('0x21')](function(_0x175651){_0x4bdfee[_0x6394('0x30')]=_0x175651;_0xc7481f['include']=[];if(_0x4c8e88[_0x6394('0x45')][_0x6394('0x10c')]){_0xc7481f[_0x6394('0xbb')][_0x6394('0x3e')]({'model':db['User'],'as':'User','attributes':['id',_0x6394('0x3a'),_0x6394('0xf0')]});}if(_0x4c8e88['query'][_0x6394('0xba')]){_0xc7481f[_0x6394('0xbb')]=[{'all':!![]}];}return db['ChatMessage'][_0x6394('0x10b')](_0xc7481f);})[_0x6394('0x21')](function(_0x5b6821){_0x4bdfee['rows']=_0x5b6821;return _0x4bdfee;});}})['then'](respondWithFilteredResult(_0x3123c8,_0xc7481f))[_0x6394('0x2b')](handleError(_0x3123c8,null));};exports[_0x6394('0x10d')]=function(_0x9bec29,_0x26a880,_0x249fe9){return db['ChatInteraction']['find']({'where':{'id':_0x9bec29[_0x6394('0xb9')]['id']}})[_0x6394('0x21')](handleEntityNotFound(_0x26a880,null))['then'](function(_0x2ae241){if(_0x2ae241){return _0x2ae241[_0x6394('0x10e')](_0x9bec29[_0x6394('0x79')][_0x6394('0x107')],_['omit'](_0x9bec29['body'],[_0x6394('0x107'),'id'])||{})[_0x6394('0x10f')](function(){return db[_0x6394('0x6f')]['findAll']({'attributes':['id',_0x6394('0x36'),_0x6394('0x51')],'where':{'id':_0x9bec29[_0x6394('0x79')]['ids']}});})[_0x6394('0x21')](function(_0x530f37){socket[_0x6394('0x110')](_0x6394('0x111'),{'id':Number(_0x9bec29['params']['id']),'tags':_0x530f37||[]});return{'id':Number(_0x9bec29[_0x6394('0xb9')]['id']),'tags':_0x530f37||[]};});}})['then'](respondWithResult(_0x26a880,null))[_0x6394('0x2b')](handleError(_0x26a880,null));};exports[_0x6394('0x112')]=function(_0x4ece44,_0x4e3e0f,_0xcd6e1f){return db['ChatInteraction'][_0x6394('0x75')]({'where':{'id':_0x4ece44['params']['id']}})[_0x6394('0x21')](handleEntityNotFound(_0x4e3e0f,null))[_0x6394('0x21')](function(_0x3377cf){if(_0x3377cf){return _0x3377cf[_0x6394('0x112')](_0x4ece44['query'][_0x6394('0x107')]);}})[_0x6394('0x21')](respondWithStatusCode(_0x4e3e0f,null))[_0x6394('0x2b')](handleError(_0x4e3e0f,null));};exports[_0x6394('0xde')]=function(_0x5206c0,_0x27ca2b){var _0x4cbddd=moment()[_0x6394('0x113')]()[_0x6394('0xa0')]();var _0x5c8ac1=path[_0x6394('0xdf')](config[_0x6394('0xe0')],_0x6394('0x114'),'files',_0x6394('0x115'));var _0x5b994d=path[_0x6394('0xdf')](config[_0x6394('0xe0')],_0x6394('0x114'),_0x6394('0x116'),_0x6394('0x117'));var _0x287841=path[_0x6394('0xdf')](_0x5c8ac1,_0x4cbddd);var _0x34c587=util[_0x6394('0xe8')](_0x6394('0x118'),_0x5206c0[_0x6394('0xb9')]['id'],_0x4cbddd);var _0x577fe9=path[_0x6394('0xdf')](_0x5c8ac1,_0x34c587);var _0x2bd933=[];_0x2bd933[_0x6394('0x3e')]({'model':db['User'],'as':_0x6394('0x72'),'attributes':['id',_0x6394('0x3a')],'raw':!![]});_0x2bd933[_0x6394('0x3e')]({'model':db['CmContact'],'as':_0x6394('0x69'),'attributes':['id',_0x6394('0x119'),_0x6394('0x11a')],'raw':!![]});if(_0x5206c0['query'][_0x6394('0x117')]){_0x2bd933[_0x6394('0x3e')]({'model':db[_0x6394('0xd9')],'as':_0x6394('0xd9'),'raw':!![]});}var _0x4f7ab8=[{'model':db['ChatMessage'],'as':'Messages','attributes':['id','body','createdAt','direction','secret',_0x6394('0x11b')],'include':_0x2bd933}];_0x4f7ab8[_0x6394('0x3e')]({'model':db[_0x6394('0xc1')],'as':_0x6394('0x11c'),'attributes':['id',_0x6394('0x36')]});_0x4f7ab8[_0x6394('0x3e')]({'model':db['User'],'as':_0x6394('0x11d'),'attributes':['id','fullname']});return db[_0x6394('0x40')][_0x6394('0x75')]({'where':{'id':_0x5206c0[_0x6394('0xb9')]['id']},'include':_0x4f7ab8})['then'](handleEntityNotFound(_0x27ca2b,null))[_0x6394('0x21')](function(_0x1cf0ae){if(_0x1cf0ae){var _0x45ec80=_0x1cf0ae[_0x6394('0x11e')]({'plain':!![]});fs['mkdirSync'](_0x287841);var _0x5a931c={'format':'A4','border':_0x6394('0x11f'),'header':{'height':_0x6394('0x120'),'contents':{'first':_0x6394('0x121')}},'footer':{'height':_0x6394('0x122'),'contents':{'default':util['format'](_0x6394('0x123'),util[_0x6394('0xe8')](_0x6394('0x124'),_0x6394('0x125'),_0x45ec80['id']),moment()[_0x6394('0xe8')](_0x6394('0x126'))[_0x6394('0xa0')]())}}};var _0x1d8889={'channel':_0x6394('0x125'),'account':_0x45ec80[_0x6394('0x11c')][_0x6394('0x36')],'agent':_0x45ec80[_0x6394('0x11d')]?_0x45ec80[_0x6394('0x11d')][_0x6394('0x3a')]:'N.A.','createdAt':moment(_0x45ec80[_0x6394('0x7e')])['format'](_0x6394('0x109'))[_0x6394('0xa0')](),'closedAt':_0x45ec80[_0x6394('0xdb')]?moment(_0x45ec80[_0x6394('0x127')])[_0x6394('0xe8')](_0x6394('0x109'))[_0x6394('0xa0')]():'','disposition':_0x45ec80[_0x6394('0xd4')],'chatInfo':{'browser':_0x45ec80['browserName'],'os':_0x45ec80[_0x6394('0x128')],'referer':_0x45ec80[_0x6394('0x129')],'customerIp':_0x45ec80[_0x6394('0x12a')],'customerPort':_0x45ec80[_0x6394('0x12b')]?_0x45ec80[_0x6394('0x12b')]:'N.A.'},'messages':_(_0x45ec80['Messages'])[_0x6394('0x12c')]()[_0x6394('0x8a')]({'secret':![]})[_0x6394('0x39')](function(_0x563eaf){if(_0x563eaf[_0x6394('0xd9')]){var _0x418d85=path[_0x6394('0xdf')](_0x5b994d,_0x563eaf[_0x6394('0xd9')][_0x6394('0xd8')]);if(fs['existsSync'](_0x418d85)){fs['createReadStream'](_0x418d85)[_0x6394('0x12d')](fs['createWriteStream'](path[_0x6394('0xdf')](_0x287841,_0x563eaf[_0x6394('0xd9')][_0x6394('0xd8')])));}}return{'date':moment(_0x563eaf['createdAt'])['format'](_0x6394('0x109'))[_0x6394('0xa0')](),'sender':_0x563eaf[_0x6394('0xf4')]===_0x6394('0x12e')?_0x563eaf[_0x6394('0x72')]?_0x563eaf[_0x6394('0x72')][_0x6394('0x3a')]:_0x6394('0xee'):_0x563eaf[_0x6394('0x69')][_0x6394('0x119')]+(_0x563eaf[_0x6394('0x69')][_0x6394('0x11a')]?'\x20'+_0x563eaf[_0x6394('0x69')][_0x6394('0x11a')]:''),'body':_0x563eaf[_0x6394('0xd9')]?_0x563eaf[_0x6394('0xd9')][_0x6394('0xd8')]:_0x563eaf[_0x6394('0x79')],'direction':_0x563eaf[_0x6394('0xf4')]===_0x6394('0x12e')?'A':'C','secret':_0x563eaf[_0x6394('0xf5')],'read':_0x563eaf[_0x6394('0x11b')],'attachment':_0x563eaf[_0x6394('0xd9')]};})[_0x6394('0x66')]()};return ejs[_0x6394('0x12f')](path[_0x6394('0xdf')](config[_0x6394('0xe0')],_0x6394('0x114'),'views','downloadInteraction.html'),{'interaction':_0x1d8889})['then'](function(_0x529a1a){return new BPromise(function(_0x4e32b6,_0x4be5fc){pdf[_0x6394('0xbc')](_0x529a1a,_0x5a931c)[_0x6394('0x130')](path[_0x6394('0xdf')](_0x287841,_0x6394('0x131')+_0x45ec80['id']+'-'+_0x4cbddd+_0x6394('0x132')),function(_0x11117e,_0x499ef4){if(_0x11117e)return _0x4be5fc(_0x11117e);_0x4e32b6(_0x499ef4);});});})[_0x6394('0x21')](function(){return new BPromise(function(_0x2c39ab,_0x54496e){zipdir(_0x287841,{'saveTo':_0x577fe9},function(_0x1737dd,_0x3fb1e8){if(_0x1737dd)return _0x54496e(_0x1737dd);return _0x2c39ab(_0x3fb1e8);});})[_0x6394('0x21')](function(){return new BPromise(function(_0xae6955,_0x50e917){rimraf(_0x287841,function(_0xc7f109){if(_0xc7f109)_0x50e917(_0xc7f109);return _0xae6955();});});})['then'](function(){return _0x27ca2b[_0x6394('0xde')](_0x577fe9,_0x34c587,function(_0x2ca185){if(_0x2ca185){console[_0x6394('0x133')]('err',_0x2ca185);}else{fs[_0x6394('0x134')](_0x577fe9);}});});});}else{return _0x27ca2b[_0x6394('0x2c')](0xc8);}})[_0x6394('0x2b')](handleError(_0x27ca2b,null));};