e22607a36c225fdcd0e864825d717663bcfcbf31
[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 _0x25fa=['stringify','error','code','message','sendStatus','end','status','count','offset','limit','set','Content-Range','json','reject','save','update','stack','name','send','Users','map','TagIds','Tags','forEach','push','index','ChatInteraction','rawAttributes','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.id','u.fullname','user_has_chat_interactions','left_join','users','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','chat_websites','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','search','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','operator','$substring','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','start','body','some','compact','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','\x27\x27\x27\x27','isNumeric','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','i.id','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','c.mobile','Contact.mobile','Contact.fax','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','ChatInteractionId','all','rows','show','params','includeAll','options','catch','create','destroy','describe','customUpdate','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','Interaction\x20already\x20assigned','closed','disposition','attachmentUpload','file','originalname','basename','filename','mimetype','Attachment','Unauthorized','findOne','download','join','close','root','format','transcript-%s.txt','pathTranscript','ChatMessage','Messages','User','ChatWebsite','CmContact','agentAlias','System','customer','%s%d','agentIdentifier','agent_alias','fullname','agent_fullname','[%s]\x20%s:\x20%s\x0a','secret','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','auth','user','pass','SendMail','sendMail','email','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','getMessages','hasOwnProperty','YYYY-MM-DD\x20HH:mm:ss','include','getMyMessages','includeAgent','alias','findAll','addTags','setTags','spread','emit','chatInteractionTags:save','removeTags','unix','server','tmp','files','attachments','transcript-%d-%s.zip','lastName','direction','Account','get','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','Owner','closedAt','browserName','osName','referer','customerIp','customerPort','N.A.','tail','existsSync','createReadStream','pipe','createWriteStream','out','Contact','firstName','renderFile','views','downloadInteraction.html','toFile','.pdf','log','unlinkSync','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','http','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s'];(function(_0x4c1eb3,_0x2cf3f7){var _0x5f34e8=function(_0x326607){while(--_0x326607){_0x4c1eb3['push'](_0x4c1eb3['shift']());}};_0x5f34e8(++_0x2cf3f7);}(_0x25fa,0x109));var _0xa25f=function(_0xa6f87e,_0x2c7c2e){_0xa6f87e=_0xa6f87e-0x0;var _0x5413d5=_0x25fa[_0xa6f87e];return _0x5413d5;};'use strict';var pdf=require(_0xa25f('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xa25f('0x1'));var zipdir=require(_0xa25f('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa25f('0x3'));var moment=require(_0xa25f('0x4'));var BPromise=require(_0xa25f('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xa25f('0x6'));var sox=require('sox');var csv=require(_0xa25f('0x7'));var ejs=require(_0xa25f('0x8'));var fs=require('fs');var _=require(_0xa25f('0x9'));var squel=require(_0xa25f('0xa'));var crypto=require(_0xa25f('0xb'));var jsforce=require(_0xa25f('0xc'));var deskjs=require(_0xa25f('0xd'));var toCsv=require(_0xa25f('0x7'));var querystring=require(_0xa25f('0xe'));var Papa=require('papaparse');var Redis=require(_0xa25f('0xf'));var authService=require(_0xa25f('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xa25f('0x11'));var hardwareService=require(_0xa25f('0x12'));var logger=require(_0xa25f('0x13'))(_0xa25f('0x14'));var utils=require('../../config/utils');var config=require(_0xa25f('0x15'));var db=require(_0xa25f('0x16'))['db'];config['redis']=_[_0xa25f('0x17')](config[_0xa25f('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0xa25f('0x19'))(new Redis(config[_0xa25f('0x18')]));require(_0xa25f('0x1a'))[_0xa25f('0x1b')](socket);var jayson=require(_0xa25f('0x1c'));var client=jayson[_0xa25f('0x1d')][_0xa25f('0x1e')]({'port':0x232b});var client9004=jayson[_0xa25f('0x1d')][_0xa25f('0x1e')]({'port':0x232c});function checkPasswordPattern(_0x2d2417,_0x1e5836,_0x1859ba){if(_0x1859ba){var _0x57ada6=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x57ada6[_0xa25f('0x1f')](_0x1e5836)){return _0x2d2417;}else{throw new db[(_0xa25f('0x20'))][(_0xa25f('0x21'))](_0xa25f('0x22'));}}else{return _0x2d2417;}}function respondWithRpcPromise(_0x18705c,_0x427105,_0x4a4805,_0x292171){return new BPromise(function(_0x5a2d5c,_0x32b868){var _0x562573=_0x292171||client;return _0x562573['request'](_0x18705c,_0x4a4805)[_0xa25f('0x23')](function(_0x489c83){logger[_0xa25f('0x24')](_0xa25f('0x25'),_0x427105,_0xa25f('0x26'));logger[_0xa25f('0x27')](_0xa25f('0x28'),_0x427105,'request\x20sent',JSON[_0xa25f('0x29')](_0x489c83));if(_0x489c83[_0xa25f('0x2a')]){if(_0x489c83[_0xa25f('0x2a')][_0xa25f('0x2b')]===0x1f4){logger['error'](_0xa25f('0x25'),_0x427105,_0x489c83[_0xa25f('0x2a')][_0xa25f('0x2c')]);return _0x32b868(_0x489c83[_0xa25f('0x2a')]['message']);}logger[_0xa25f('0x2a')](_0xa25f('0x25'),_0x427105,_0x489c83[_0xa25f('0x2a')][_0xa25f('0x2c')]);return _0x5a2d5c(_0x489c83['error'][_0xa25f('0x2c')]);}else{logger[_0xa25f('0x24')]('ChatInteraction,\x20%s,\x20%s',_0x427105,_0xa25f('0x26'));_0x5a2d5c(_0x489c83['result'][_0xa25f('0x2c')]);}})['catch'](function(_0x1e1fbd){logger[_0xa25f('0x2a')]('ChatInteraction,\x20%s,\x20%s',_0x427105,_0x1e1fbd);_0x32b868(_0x1e1fbd);});});}function respondWithStatusCode(_0xf6c928,_0x1412b6){_0x1412b6=_0x1412b6||0xcc;return function(_0x54d98c){if(_0x54d98c){return _0xf6c928[_0xa25f('0x2d')](_0x1412b6);}return _0xf6c928['status'](_0x1412b6)[_0xa25f('0x2e')]();};}function respondWithResult(_0x41a847,_0x472114){_0x472114=_0x472114||0xc8;return function(_0x208518){if(_0x208518){return _0x41a847[_0xa25f('0x2f')](_0x472114)['json'](_0x208518);}};}function respondWithFilteredResult(_0x24e358,_0x28d84e){return function(_0x119ffc){if(_0x119ffc){var _0x245684=_0x119ffc[_0xa25f('0x30')],_0x3bdde0=_0x28d84e[_0xa25f('0x31')],_0x501372=_0x28d84e[_0xa25f('0x31')]+_0x28d84e[_0xa25f('0x32')],_0x1ca4a3;if(_0x501372>=_0x245684){_0x501372=_0x245684;_0x1ca4a3=0xc8;}else{_0x1ca4a3=0xce;}_0x24e358[_0xa25f('0x2f')](_0x1ca4a3);return _0x24e358[_0xa25f('0x33')](_0xa25f('0x34'),_0x3bdde0+'-'+_0x501372+'/'+_0x245684)[_0xa25f('0x35')](_0x119ffc);}return null;};}function patchUpdates(_0x5621ab){return function(_0x597233){try{jsonpatch['apply'](_0x597233,_0x5621ab,!![]);}catch(_0x41093d){return BPromise[_0xa25f('0x36')](_0x41093d);}return _0x597233[_0xa25f('0x37')]();};}function saveUpdates(_0x370759,_0x311ba8){return function(_0xaefd9){if(_0xaefd9){return _0xaefd9[_0xa25f('0x38')](_0x370759)[_0xa25f('0x23')](function(_0x3ef65f){return _0x3ef65f;});}return null;};}function removeEntity(_0x291351,_0x3c0561){return function(_0x574149){if(_0x574149){return _0x574149['destroy']()[_0xa25f('0x23')](function(){_0x291351[_0xa25f('0x2f')](0xcc)[_0xa25f('0x2e')]();});}};}function handleEntityNotFound(_0x5d3103,_0x5a558d){return function(_0x4aadc1){if(!_0x4aadc1){_0x5d3103[_0xa25f('0x2d')](0x194);}return _0x4aadc1;};}function handleError(_0x25952d,_0x1078c4){_0x1078c4=_0x1078c4||0x1f4;return function(_0x4a334b){logger['error'](_0x4a334b[_0xa25f('0x39')]);if(_0x4a334b[_0xa25f('0x3a')]){delete _0x4a334b['name'];}_0x25952d['status'](_0x1078c4)[_0xa25f('0x3b')](_0x4a334b);};}function getInteractionUsers(_0x33ad7a,_0x8c753){return new BPromise(function(_0x494e4c,_0x151c4b){try{if(_0x8c753[_0x33ad7a['id']]){_0x33ad7a[_0xa25f('0x3c')]=_[_0xa25f('0x3d')](_0x8c753[_0x33ad7a['id']],function(_0x49556e){return{'id':_0x49556e['id'],'fullname':_0x49556e['fullname']};});}}catch(_0x3108bb){_0x151c4b(_0x3108bb);}_0x494e4c(_0x33ad7a);});}function getInteractionTags(_0x44c9c8,_0xe6cb75){return new BPromise(function(_0x32c745,_0x4649a7){try{if(_0x44c9c8[_0xa25f('0x3e')]){_0x44c9c8[_0xa25f('0x3f')]=[];_0x44c9c8[_0xa25f('0x3e')]['split'](',')[_0xa25f('0x40')](function(_0x773d41){_0x44c9c8[_0xa25f('0x3f')][_0xa25f('0x41')](_0xe6cb75[_0x773d41]);});}delete _0x44c9c8[_0xa25f('0x3e')];}catch(_0xd285eb){_0x4649a7(_0xd285eb);}_0x32c745(_0x44c9c8);});}function updateChatInteraction(_0x38bacd,_0x4603a9,_0x3f052f){return new BPromise(function(_0x370375,_0xd91854){return getInteractionUsers(_0x38bacd,_0x3f052f)[_0xa25f('0x23')](function(_0x82ddbf){return getInteractionTags(_0x82ddbf,_0x4603a9);})['then'](function(_0x20400d){_0x370375(_0x20400d);})['catch'](function(_0xace015){_0xd91854(_0xace015);});});}exports[_0xa25f('0x42')]=function(_0x36afe4,_0x559874){var _0x9f2276={},_0x1eaa67={},_0x37d94d={'count':0x0,'rows':[]};var _0x19724c=_['map'](db[_0xa25f('0x43')][_0xa25f('0x44')],function(_0x25123c){return{'name':_0x25123c[_0xa25f('0x45')],'type':_0x25123c[_0xa25f('0x46')][_0xa25f('0x47')]};});_0x1eaa67['model']=_[_0xa25f('0x3d')](_0x19724c,_0xa25f('0x3a'));_0x1eaa67['query']=_[_0xa25f('0x48')](_0x36afe4[_0xa25f('0x49')]);_0x1eaa67[_0xa25f('0x4a')]=_[_0xa25f('0x4b')](_0x1eaa67[_0xa25f('0x4c')],_0x1eaa67[_0xa25f('0x49')]);_0x9f2276[_0xa25f('0x4d')]=_[_0xa25f('0x4b')](_0x1eaa67[_0xa25f('0x4c')],qs[_0xa25f('0x4e')](_0x36afe4[_0xa25f('0x49')][_0xa25f('0x4e')]));_0x9f2276[_0xa25f('0x4d')]=_0x9f2276['attributes'][_0xa25f('0x4f')]?_0x9f2276[_0xa25f('0x4d')]:_0x1eaa67[_0xa25f('0x4c')];if(!_0x36afe4[_0xa25f('0x49')]['hasOwnProperty'](_0xa25f('0x50'))){_0x9f2276[_0xa25f('0x32')]=qs[_0xa25f('0x32')](_0x36afe4['query'][_0xa25f('0x32')]);_0x9f2276[_0xa25f('0x31')]=qs[_0xa25f('0x31')](_0x36afe4[_0xa25f('0x49')][_0xa25f('0x31')]);}_0x9f2276[_0xa25f('0x51')]=qs[_0xa25f('0x52')](_0x36afe4[_0xa25f('0x49')]['sort']);_0x9f2276[_0xa25f('0x53')]=qs[_0xa25f('0x4a')](_[_0xa25f('0x54')](_0x36afe4[_0xa25f('0x49')],_0x1eaa67[_0xa25f('0x4a')]));var _0x37ebf2=[];var _0x3057a5=squel[_0xa25f('0x55')]()[_0xa25f('0x56')]('id')[_0xa25f('0x56')](_0xa25f('0x3a'))[_0xa25f('0x56')](_0xa25f('0x57'))[_0xa25f('0x58')](_0xa25f('0x59'));var _0x22ab7f=squel[_0xa25f('0x55')]()[_0xa25f('0x56')](_0xa25f('0x5a'))[_0xa25f('0x56')](_0xa25f('0x5b'))[_0xa25f('0x56')]('ui.ChatInteractionId')[_0xa25f('0x58')](_0xa25f('0x5c'),'ui')[_0xa25f('0x5d')](_0xa25f('0x5e'),'u','u.id\x20=\x20ui.UserId');var _0x34cb3b=squel['select']()[_0xa25f('0x58')]('chat_interactions','i')['left_join'](_0xa25f('0x5f'),'c',_0xa25f('0x60'))[_0xa25f('0x5d')](_0xa25f('0x5e'),'o',_0xa25f('0x61'))[_0xa25f('0x5d')](_0xa25f('0x62'),'a',_0xa25f('0x63'))[_0xa25f('0x5d')](_0xa25f('0x64'),'me',_0xa25f('0x65'))[_0xa25f('0x5d')]('chat_interaction_has_tags','it',_0xa25f('0x66'))[_0xa25f('0x5d')](_0xa25f('0x59'),'t',_0xa25f('0x67'));var _0x50dd10=squel[_0xa25f('0x68')]();var _0x5c7d08=[];var _0x19b74a=squel[_0xa25f('0x68')]();var _0x36d202;if(_0x36afe4[_0xa25f('0x49')]['search']){_0x36d202=as[_0xa25f('0x69')](_0x36afe4[_0xa25f('0x49')][_0xa25f('0x6a')]);var _0x56c6bf=_0x36d202[_0xa25f('0x6b')];for(var _0x5094e5=0x0;_0x5094e5<_0x36d202[_0xa25f('0x6c')]['length'];_0x5094e5++){var _0x40ab78=_0x36d202[_0xa25f('0x6c')][_0x5094e5];var _0x15073a='i';var _0x37aae1=_[_0xa25f('0x6d')](_0x19724c,[_0xa25f('0x3a'),_0x40ab78['field']]);if(!_0x37aae1){switch(_0x40ab78[_0xa25f('0x56')]){case _0xa25f('0x6e'):if(_0x40ab78[_0xa25f('0x6f')]==0x1){_0x34cb3b[_0xa25f('0x70')]('`'+_0x40ab78[_0xa25f('0x56')]+_0xa25f('0x71'));}else{_0x34cb3b[_0xa25f('0x70')]('`'+_0x40ab78['field']+'`\x20>\x200');}break;case'Contact':if(_0x40ab78[_0xa25f('0x72')]===_0xa25f('0x73')){if(_0x40ab78[_0xa25f('0x6f')][_0xa25f('0x74')]('\x20')[_0xa25f('0x4f')]>0x1){_0x50dd10[_0x56c6bf](_0xa25f('0x75'),qs[_0xa25f('0x76')](_0x40ab78[_0xa25f('0x6f')]),null);}else{var _0x3ffa53='%'+_0x40ab78[_0xa25f('0x6f')]+'%';_0x50dd10[_0x56c6bf](_0xa25f('0x77'),_0x3ffa53,_0x3ffa53,_0x3ffa53);}}else{_0x37aae1=_['find'](_0x19724c,[_0xa25f('0x3a'),_0xa25f('0x78')]);_0x40ab78[_0xa25f('0x56')]=_0xa25f('0x78');_0x73d61e=as[_0xa25f('0x79')](_0x15073a,_0x37aae1['type'],_0x40ab78);_0x50dd10[_0x56c6bf](_0x73d61e[_0xa25f('0x7a')],_0x73d61e[_0xa25f('0x6f')]['start'],_0x73d61e[_0xa25f('0x6f')][_0xa25f('0x2e')]);}break;case'Tag':var _0x381a01=_0x40ab78[_0xa25f('0x6f')][_0xa25f('0x74')](',')[_0xa25f('0x3d')](function(_0x380f61){return Number(_0x380f61);});_0x381a01['forEach'](function(_0xa3ddab){_0x19b74a['or'](_0xa25f('0x7b'),'%,'+_0xa3ddab+',%');});_0x5c7d08=_[_0xa25f('0x7c')](_0x5c7d08,_0x381a01);break;case'User':if(_0x40ab78[_0xa25f('0x72')]===_0xa25f('0x73')){_0x50dd10[_0x56c6bf](_0xa25f('0x7d'),'%'+_0x40ab78['value']+'%',null);}else{_0x37aae1=_[_0xa25f('0x6d')](_0x19724c,[_0xa25f('0x3a'),_0xa25f('0x7e')]);_0x40ab78[_0xa25f('0x56')]='UserId';_0x73d61e=as['buildExpression'](_0x15073a,_0x37aae1[_0xa25f('0x46')],_0x40ab78);_0x50dd10[_0x56c6bf](_0x73d61e[_0xa25f('0x7a')],_0x73d61e[_0xa25f('0x6f')][_0xa25f('0x7f')],_0x73d61e[_0xa25f('0x6f')][_0xa25f('0x2e')]);}break;case _0xa25f('0x80'):_0x73d61e=as['buildExpression']('me',null,_0x40ab78);_0x50dd10[_0x56c6bf](_0x73d61e['text'],_0x73d61e[_0xa25f('0x6f')]['start'],_0x73d61e[_0xa25f('0x6f')][_0xa25f('0x2e')]);break;}}else{var _0x73d61e=as[_0xa25f('0x79')](_0x15073a,_0x37aae1[_0xa25f('0x46')],_0x40ab78);_0x50dd10[_0x56c6bf](_0x73d61e[_0xa25f('0x7a')],_0x73d61e[_0xa25f('0x6f')]['start'],_0x73d61e[_0xa25f('0x6f')]['end']);}}}else{var _0x44de55=_(_0x36afe4[_0xa25f('0x49')])[_0xa25f('0x48')]()[_0xa25f('0x3d')](function(_0x34dd3d){return _[_0xa25f('0x81')](_0x19724c,[_0xa25f('0x3a'),_0x34dd3d])?_0x34dd3d:undefined;})[_0xa25f('0x82')]()[_0xa25f('0x6f')]();if(!_[_0xa25f('0x83')](_0x44de55)){_0x44de55[_0xa25f('0x40')](function(_0x1023e9){if(_0x1023e9===_0xa25f('0x84')){_0x34cb3b[_0xa25f('0x53')](_0xa25f('0x85'),[][_0xa25f('0x86')](_0x36afe4[_0xa25f('0x49')][_0x1023e9]));}else if(_0x1023e9===_0xa25f('0x87')){var _0xe32668=JSON[_0xa25f('0x88')](_0x36afe4['query'][_0x1023e9])[_0xa25f('0x89')];var _0x5c8c87=JSON[_0xa25f('0x88')](_0x36afe4[_0xa25f('0x49')][_0x1023e9])[_0xa25f('0x8a')];_0x34cb3b[_0xa25f('0x53')](_0xa25f('0x8b'),_0xe32668,_0x5c8c87);}else{if(_0x36afe4[_0xa25f('0x49')][_0x1023e9]===_0xa25f('0x8c')){_0x34cb3b['where']('i.'+_0x1023e9+_0xa25f('0x8d'));}else{_0x34cb3b[_0xa25f('0x53')]('i.'+_0x1023e9+_0xa25f('0x8e'),_0x36afe4[_0xa25f('0x49')][_0x1023e9]);}}});}if(_0x36afe4[_0xa25f('0x49')][_0xa25f('0x8f')]){if(_0x36afe4[_0xa25f('0x49')][_0xa25f('0x8f')]==0x1){_0x34cb3b[_0xa25f('0x70')](_0xa25f('0x90'));}else{_0x34cb3b['having'](_0xa25f('0x91'));}}if(_0x36afe4[_0xa25f('0x49')][_0xa25f('0x92')]){_0x5c7d08=_[_0xa25f('0x93')](_0x36afe4['query'][_0xa25f('0x92')])?_0x36afe4[_0xa25f('0x49')][_0xa25f('0x92')]:new Array(_0x36afe4[_0xa25f('0x49')][_0xa25f('0x92')]);_0x5c7d08[_0xa25f('0x40')](function(_0x4dc03c){_0x19b74a['or'](_0xa25f('0x7b'),'%,'+_0x4dc03c+',%');});}if(_0x36afe4['query'][_0xa25f('0x94')]){var _0x1b2e63=_0x36afe4[_0xa25f('0x49')]['filter'][_0xa25f('0x95')]('\x5c','\x5c\x5c')[_0xa25f('0x95')]('\x27\x27',_0xa25f('0x96'));if(qs[_0xa25f('0x97')](_0x1b2e63)){_0x50dd10['or']('i.id\x20LIKE\x20?',_0x1b2e63+'%');}else{_0x50dd10['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xa25f('0x76')](_0x1b2e63))['or'](_0xa25f('0x98'),_0x1b2e63+'%');}}}_0x34cb3b[_0xa25f('0x53')](_0x50dd10);_0x34cb3b['group'](_0xa25f('0x99'));var _0x299e8c={'type':db['Sequelize'][_0xa25f('0x9a')][_0xa25f('0x9b')],'raw':!![]};var _0x5e1fe2=_0x34cb3b[_0xa25f('0x9c')]();_0x5e1fe2[_0xa25f('0x56')](_0xa25f('0x99'));_0x5e1fe2['field'](_0xa25f('0x9d'),_0xa25f('0x6e'));if(_0x9f2276['order']){_0x9f2276[_0xa25f('0x51')][_0xa25f('0x40')](function(_0x4561b5){_0x34cb3b[_0xa25f('0x51')]('i.'+_0x4561b5[0x0],_0x4561b5[0x1]===_0xa25f('0x9e')?![]:!![]);});}if(!_[_0xa25f('0x83')](_0x5c7d08)){_0x34cb3b[_0xa25f('0x70')](_0x19b74a);_0x5e1fe2['where']('t.id\x20IN\x20?',_0x5c7d08);}BPromise[_0xa25f('0x9f')]()[_0xa25f('0x23')](function(){if(!_0x36d202){if(_0x36afe4[_0xa25f('0x49')][_0xa25f('0x84')]||_0x36afe4[_0xa25f('0x49')]['journey'])return;_0x5e1fe2[_0xa25f('0x53')](_0xa25f('0xa0'));_0x34cb3b['where']('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}return _0x36afe4['user']['getChatWebsites']({'attributes':['id'],'raw':!![]})[_0xa25f('0x23')](function(_0x5d07b0){if(_[_0xa25f('0x83')](_0x5d07b0)){_0x5e1fe2[_0xa25f('0x53')]('i.ChatWebsiteId\x20IS\x20NULL');_0x34cb3b['where'](_0xa25f('0xa1'));}else{_0x5e1fe2[_0xa25f('0x53')](_0xa25f('0x85'),_['map'](_0x5d07b0,'id'));_0x34cb3b[_0xa25f('0x53')](_0xa25f('0x85'),_[_0xa25f('0x3d')](_0x5d07b0,'id'));}});})[_0xa25f('0x23')](function(){db[_0xa25f('0xa2')][_0xa25f('0x49')](_0x5e1fe2['toString'](),_0x299e8c)['then'](function(_0x65d748){_0x37d94d[_0xa25f('0x30')]=_0x65d748[_0xa25f('0x4f')];if(_0x37d94d['count']===0x0)return[];return db[_0xa25f('0xa2')][_0xa25f('0x49')](_0x3057a5[_0xa25f('0xa3')](),_0x299e8c)[_0xa25f('0x23')](function(_0x23b561){_0x37ebf2=_['keyBy'](_0x23b561,'id');_0x299e8c=_[_0xa25f('0xa4')](_0x299e8c,{'model':db['ChatInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x36afe4[_0xa25f('0x49')][_0xa25f('0x4e')]){_0x9f2276[_0xa25f('0x4d')][_0xa25f('0x40')](function(_0x287151){_0x34cb3b[_0xa25f('0x56')]('i.'+_0x287151);});}else{_0x34cb3b[_0xa25f('0x56')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xa25f('0x6e'));_0x34cb3b['field'](_0xa25f('0xa5'),_0xa25f('0xa6'));_0x34cb3b[_0xa25f('0x56')](_0xa25f('0xa7'),_0xa25f('0xa8'));_0x34cb3b[_0xa25f('0x56')](_0xa25f('0xa9'));_0x34cb3b['field'](_0xa25f('0xaa'),_0xa25f('0xab'));_0x34cb3b[_0xa25f('0x56')](_0xa25f('0xac'),_0xa25f('0xad'));_0x34cb3b[_0xa25f('0x56')](_0xa25f('0xae'),_0xa25f('0xaf'));_0x34cb3b[_0xa25f('0x56')](_0xa25f('0xb0'),'Contact.phone');_0x34cb3b['field'](_0xa25f('0xb1'),_0xa25f('0xb2'));_0x34cb3b[_0xa25f('0x56')]('c.fax',_0xa25f('0xb3'));_0x34cb3b[_0xa25f('0x56')]('o.fullname',_0xa25f('0xb4'));_0x34cb3b[_0xa25f('0x56')](_0xa25f('0xb5'),'Owner.internal');_0x34cb3b[_0xa25f('0x56')](_0xa25f('0xb6'),_0xa25f('0x3e'));}_0x34cb3b[_0xa25f('0x32')](_0x9f2276[_0xa25f('0x32')]);_0x34cb3b[_0xa25f('0x31')](_0x9f2276[_0xa25f('0x31')]);return db['sequelize'][_0xa25f('0x49')](_0x34cb3b[_0xa25f('0xa3')](),_0x299e8c);})[_0xa25f('0x23')](function(_0x1f1a8b){_0x22ab7f['where'](_0xa25f('0xb7'),_[_0xa25f('0x3d')](_0x1f1a8b,'id'));return db['sequelize']['query'](_0x22ab7f['toString'](),_0x299e8c)['then'](function(_0x181617){var _0x2d975a=_['groupBy'](_0x181617,_0xa25f('0xb8'));var _0x2b88b5=[];_0x1f1a8b[_0xa25f('0x40')](function(_0x5bb31e){_0x2b88b5[_0xa25f('0x41')](updateChatInteraction(_0x5bb31e,_0x37ebf2,_0x2d975a));});return BPromise[_0xa25f('0xb9')](_0x2b88b5);});});})[_0xa25f('0x23')](function(_0x36f702){_0x37d94d[_0xa25f('0xba')]=_0x36f702;return _0x37d94d;})[_0xa25f('0x23')](respondWithFilteredResult(_0x559874,_0x9f2276));})['catch'](handleError(_0x559874,null));};exports[_0xa25f('0xbb')]=function(_0x53fd94,_0x45924d){var _0x19a399={'raw':![],'where':{'id':_0x53fd94[_0xa25f('0xbc')]['id']}},_0x269c50={};_0x269c50[_0xa25f('0x4c')]=_[_0xa25f('0x48')](db[_0xa25f('0x43')]['rawAttributes']);_0x269c50[_0xa25f('0x49')]=_[_0xa25f('0x48')](_0x53fd94[_0xa25f('0x49')]);_0x269c50[_0xa25f('0x4a')]=_[_0xa25f('0x4b')](_0x269c50[_0xa25f('0x4c')],_0x269c50[_0xa25f('0x49')]);_0x19a399['attributes']=_[_0xa25f('0x4b')](_0x269c50[_0xa25f('0x4c')],qs[_0xa25f('0x4e')](_0x53fd94[_0xa25f('0x49')][_0xa25f('0x4e')]));_0x19a399[_0xa25f('0x4d')]=_0x19a399['attributes'][_0xa25f('0x4f')]?_0x19a399[_0xa25f('0x4d')]:_0x269c50[_0xa25f('0x4c')];if(_0x53fd94[_0xa25f('0x49')][_0xa25f('0xbd')]){_0x19a399['include']=[{'all':!![]}];}_0x19a399=_[_0xa25f('0xa4')]({},_0x19a399,_0x53fd94[_0xa25f('0xbe')]);return db['ChatInteraction'][_0xa25f('0x6d')](_0x19a399)[_0xa25f('0x23')](handleEntityNotFound(_0x45924d,null))[_0xa25f('0x23')](respondWithResult(_0x45924d,null))[_0xa25f('0xbf')](handleError(_0x45924d,null));};exports[_0xa25f('0xc0')]=function(_0x45a7ae,_0x426693){return db[_0xa25f('0x43')]['create'](_0x45a7ae['body'],{})['then'](respondWithResult(_0x426693,0xc9))[_0xa25f('0xbf')](handleError(_0x426693,null));};exports[_0xa25f('0x38')]=function(_0x120156,_0x585a7c){if(_0x120156[_0xa25f('0x80')]['id']){delete _0x120156[_0xa25f('0x80')]['id'];}return db[_0xa25f('0x43')][_0xa25f('0x6d')]({'where':{'id':_0x120156[_0xa25f('0xbc')]['id']}})[_0xa25f('0x23')](handleEntityNotFound(_0x585a7c,null))[_0xa25f('0x23')](saveUpdates(_0x120156[_0xa25f('0x80')],null))[_0xa25f('0x23')](respondWithResult(_0x585a7c,null))[_0xa25f('0xbf')](handleError(_0x585a7c,null));};exports[_0xa25f('0xc1')]=function(_0xab44b9,_0x4f83d2){return db[_0xa25f('0x43')][_0xa25f('0x6d')]({'where':{'id':_0xab44b9[_0xa25f('0xbc')]['id']}})[_0xa25f('0x23')](handleEntityNotFound(_0x4f83d2,null))[_0xa25f('0x23')](removeEntity(_0x4f83d2,null))[_0xa25f('0xbf')](handleError(_0x4f83d2,null));};exports[_0xa25f('0xc2')]=function(_0x8a1f2f,_0x2eaabc){return db['ChatInteraction'][_0xa25f('0xc2')]()[_0xa25f('0x23')](respondWithResult(_0x2eaabc,null))['catch'](handleError(_0x2eaabc,null));};exports[_0xa25f('0xc3')]=function(_0x225b70,_0x3be85f){if(_0x225b70[_0xa25f('0x80')]['id']){delete _0x225b70[_0xa25f('0x80')]['id'];}return db[_0xa25f('0x43')][_0xa25f('0x6d')]({'where':{'id':_0x225b70[_0xa25f('0xbc')]['id']}})[_0xa25f('0x23')](handleEntityNotFound(_0x3be85f,null))[_0xa25f('0x23')](saveUpdates(_0x225b70['body'],null))[_0xa25f('0x23')](respondWithResult(_0x3be85f,null))[_0xa25f('0xbf')](handleError(_0x3be85f,null));};exports[_0xa25f('0xc4')]=function(_0x1dbb44,_0x41cc3f,_0x5e7f1e){if(_0x1dbb44[_0xa25f('0x80')]['id']){delete _0x1dbb44[_0xa25f('0x80')]['id'];}return db['ChatInteraction'][_0xa25f('0x6d')]({'where':{'id':_0x1dbb44['params']['id']}})[_0xa25f('0x23')](function(_0x122f79){if(!_0x122f79){logger[_0xa25f('0x2a')](_0xa25f('0xc5'),'abandon',0x194,_0xa25f('0xc6'));_0x41cc3f['sendStatus'](0x194);}else{if(_0x122f79[_0xa25f('0x7e')]){throw new db['Sequelize'][(_0xa25f('0x21'))](_0xa25f('0xc7'));}}return _0x122f79;})[_0xa25f('0x23')](function(_0x3ed00e){if(_0x3ed00e){return _0x3ed00e[_0xa25f('0x38')]({'closed':_0x1dbb44[_0xa25f('0x80')][_0xa25f('0xc8')],'disposition':_0x1dbb44['body'][_0xa25f('0xc9')]})[_0xa25f('0x23')](function(_0x14b4f3){return _0x14b4f3;});}})[_0xa25f('0x23')](function(_0x37cf51){return respondWithRpcPromise('AbandonInteraction',_0xa25f('0xc4'),_0x1dbb44['body'],client9004);})[_0xa25f('0x23')](respondWithResult(_0x41cc3f,null))[_0xa25f('0xbf')](handleError(_0x41cc3f,null));};exports[_0xa25f('0xca')]=function(_0x1849ea,_0x253ce8,_0x138f6c){_0x1849ea[_0xa25f('0x80')][_0xa25f('0x3a')]=_0x1849ea[_0xa25f('0xcb')][_0xa25f('0xcc')];_0x1849ea[_0xa25f('0x80')][_0xa25f('0xcd')]=_0x1849ea['file'][_0xa25f('0xce')];_0x1849ea[_0xa25f('0x80')][_0xa25f('0x46')]=_0x1849ea['file'][_0xa25f('0xcf')];return db[_0xa25f('0xd0')]['create'](_0x1849ea[_0xa25f('0x80')])[_0xa25f('0x23')](respondWithResult(_0x253ce8,0xc9))[_0xa25f('0xbf')](handleError(_0x253ce8,null));};exports['attachmentDownload']=function(_0x31be73,_0x47228a,_0x23ca04){return db[_0xa25f('0x43')]['findOne']({'where':{'id':_0x31be73['params']['id']},'raw':!![]})[_0xa25f('0x23')](handleEntityNotFound(_0x47228a,null))['then'](function(_0x4ae936){if(_0x4ae936){if(_0x4ae936[_0xa25f('0xc8')]){return _0x47228a[_0xa25f('0x2f')](0x193)['json']({'status':0x193,'message':_0xa25f('0xd1')});}return db[_0xa25f('0xd0')][_0xa25f('0xd2')]({'where':{'id':_0x31be73['query']['attachId']},'raw':!![]})[_0xa25f('0x23')](handleEntityNotFound(_0x47228a,null));}})[_0xa25f('0x23')](function(_0x6ba1cc){if(_0x6ba1cc){return _0x47228a[_0xa25f('0xd3')](path[_0xa25f('0xd4')](config['root'],'server/files/attachments/',_0x6ba1cc['basename']));}})[_0xa25f('0xbf')](handleError(_0x47228a,null));};exports[_0xa25f('0xd5')]=function(_0x5e910d,_0x26bf41){var _0x3fa53f=null;var _0x4c388a=null;var _0x40ac08=null;var _0x5a8258=null;if(_0x5e910d['body']['id']){delete _0x5e910d[_0xa25f('0x80')]['id'];}if(_0x5e910d[_0xa25f('0x80')]['mailTranscript']){_0x5a8258=path[_0xa25f('0xd4')](config[_0xa25f('0xd6')],'server/files/chat/upload/',util[_0xa25f('0xd7')](_0xa25f('0xd8'),Date['now']()));_0x5e910d[_0xa25f('0x80')][_0xa25f('0xd9')]=_0x5a8258;}return db[_0xa25f('0x43')][_0xa25f('0x6d')]({'where':{'id':_0x5e910d[_0xa25f('0xbc')]['id']},'include':[{'model':db[_0xa25f('0xda')],'as':_0xa25f('0xdb'),'include':[{'model':db[_0xa25f('0xdc')],'as':_0xa25f('0xdc')}]}]})[_0xa25f('0x23')](handleEntityNotFound(_0x26bf41,null))[_0xa25f('0x23')](saveUpdates(_0x5e910d[_0xa25f('0x80')],null))[_0xa25f('0x23')](function(_0x228c6a){if(_0x228c6a){_0x3fa53f=_0x228c6a;return db[_0xa25f('0xdd')][_0xa25f('0x6d')]({'where':{'id':_0x3fa53f[_0xa25f('0x84')]}});}})[_0xa25f('0x23')](function(_0x12ef8b){if(_0x12ef8b){_0x40ac08=_0x12ef8b;return db[_0xa25f('0xde')]['find']({'where':{'id':_0x3fa53f['ContactId']}});}})[_0xa25f('0x23')](function(_0x4c34f0){if(_0x4c34f0){_0x4c388a=_0x4c34f0;if(_0x5a8258){var _0x4eeb5d=null;for(var _0x5257ae=0x1;_0x5257ae<_0x3fa53f[_0xa25f('0xdb')]['length'];++_0x5257ae){_0x4eeb5d=_0x3fa53f[_0xa25f('0xdb')][_0x5257ae];var _0x5009cd=_0x4eeb5d[_0xa25f('0x7e')]?util[_0xa25f('0xd7')]('%s%d',_0x40ac08[_0xa25f('0xdf')],_0x4eeb5d['UserId']):_0xa25f('0xe0');var _0x4243e0=_0x5e910d[_0xa25f('0x80')][_0xa25f('0xe1')]||util[_0xa25f('0xd7')](_0xa25f('0xe2'),'Visitor',_0x4eeb5d[_0xa25f('0x78')]);switch(_0x40ac08[_0xa25f('0xe3')]){case'website_alias':_0x5009cd=_0x4eeb5d['UserId']?util[_0xa25f('0xd7')](_0xa25f('0xe2'),_0x40ac08[_0xa25f('0xdf')],_0x4eeb5d[_0xa25f('0x7e')]):_0xa25f('0xe0');break;case _0xa25f('0xe4'):_0x5009cd=_0x4eeb5d[_0xa25f('0x7e')]?_0x4eeb5d[_0xa25f('0xdc')]['alias']||_0x4eeb5d['User'][_0xa25f('0xe5')]:_0xa25f('0xe0');break;case _0xa25f('0xe6'):_0x5009cd=_0x4eeb5d[_0xa25f('0x7e')]?_0x4eeb5d[_0xa25f('0xdc')][_0xa25f('0xe5')]:_0xa25f('0xe0');break;default:_0x5009cd=_0x4eeb5d[_0xa25f('0x7e')]?util[_0xa25f('0xd7')](_0xa25f('0xe2'),_0x40ac08[_0xa25f('0xdf')],_0x4eeb5d[_0xa25f('0x7e')]):_0xa25f('0xe0');}var _0xa41acd=util[_0xa25f('0xd7')](_0xa25f('0xe7'),moment(_0x4eeb5d[_0xa25f('0x87')])['format']('MM/DD/YYYY\x20HH:mm:ss'),_0x4eeb5d['direction']==='in'?_0x4243e0:_0x5009cd,_0x4eeb5d[_0xa25f('0x80')]);if(!_0x4eeb5d[_0xa25f('0xe8')]){fs['appendFileSync'](_0x5a8258,_0xa41acd);}}return db[_0xa25f('0xe9')][_0xa25f('0xd2')]({'where':{'service':!![]},'include':[{'model':db[_0xa25f('0xea')],'as':_0xa25f('0xeb'),'raw':!![]}]});}}})['then'](function(_0x3080a0){if(_0x3080a0&&_0x3080a0[_0xa25f('0xeb')]&&_0x5e910d[_0xa25f('0x80')]){var _0x4d9215={'tls':{'rejectUnauthorized':![]}};if(_0x3080a0[_0xa25f('0xeb')][_0xa25f('0xec')]){_0x4d9215[_0xa25f('0xec')]=_0x3080a0[_0xa25f('0xeb')][_0xa25f('0xec')];}else{_0x4d9215[_0xa25f('0xed')]=_0x3080a0[_0xa25f('0xeb')]['host'];_0x4d9215[_0xa25f('0xee')]=_0x3080a0[_0xa25f('0xeb')]['port'];_0x4d9215[_0xa25f('0xef')]=_0x3080a0[_0xa25f('0xeb')][_0xa25f('0xef')];}if(_0x3080a0[_0xa25f('0xeb')][_0xa25f('0xf0')]){_0x4d9215[_0xa25f('0xf1')]={'user':_0x3080a0[_0xa25f('0xeb')][_0xa25f('0xf2')],'pass':_0x3080a0[_0xa25f('0xeb')][_0xa25f('0xf3')]};}return respondWithRpcPromise(_0xa25f('0xf4'),_0xa25f('0xf5'),{'account':_0x4d9215,'message':{'from':util['format']('\x22%s\x22\x20<%s>',_0x3080a0[_0xa25f('0x3a')],_0x3080a0[_0xa25f('0xf6')]||_0x3080a0['Smtp']['user']),'to':_0x5e910d[_0xa25f('0x80')]['mailTranscript'],'subject':_0xa25f('0xf7'),'text':util[_0xa25f('0xd7')](_0xa25f('0xf8'),_0x5e910d[_0xa25f('0x80')]['mailTranscript']),'attachments':[{'path':_0x5a8258}]}})[_0xa25f('0x23')](function(){return _0x3fa53f;})[_0xa25f('0xbf')](function(_0x472698){console[_0xa25f('0x2a')](_0x472698);});}else{return _0x3fa53f;}})[_0xa25f('0x23')](respondWithStatusCode(_0x26bf41,0xc8))[_0xa25f('0xbf')](handleError(_0x26bf41,null));};exports[_0xa25f('0xf9')]=function(_0x4c28a4,_0x21eacb,_0x29779c){return db[_0xa25f('0xda')][_0xa25f('0x6d')]({'where':{'id':_0x4c28a4[_0xa25f('0xbc')]['id']}})[_0xa25f('0x23')](handleEntityNotFound(_0x21eacb,null))[_0xa25f('0x23')](function(_0x16eb64){if(_0x16eb64){return _0x16eb64['addMessage'](_0x4c28a4[_0xa25f('0x80')][_0xa25f('0xfa')],_[_0xa25f('0xfb')](_0x4c28a4[_0xa25f('0x80')],[_0xa25f('0xfa'),'id'])||{});}})['then'](respondWithResult(_0x21eacb,null))[_0xa25f('0xbf')](handleError(_0x21eacb,null));};exports[_0xa25f('0xfc')]=function(_0x5a64da,_0x33fcbe,_0x10993a){var _0xa489ca={'raw':![],'where':{}};var _0x1ed641={};var _0x30d7cc={'count':0x0,'rows':[]};return db[_0xa25f('0x43')][_0xa25f('0xd2')]({'where':{'id':_0x5a64da['params']['id']}})[_0xa25f('0x23')](handleEntityNotFound(_0x33fcbe,null))[_0xa25f('0x23')](function(_0x3f239d){if(_0x3f239d){_0x1ed641['model']=_[_0xa25f('0x48')](db[_0xa25f('0xda')][_0xa25f('0x44')]);_0x1ed641[_0xa25f('0x49')]=_[_0xa25f('0x48')](_0x5a64da[_0xa25f('0x49')]);_0x1ed641[_0xa25f('0x4a')]=_[_0xa25f('0x4b')](_0x1ed641[_0xa25f('0x4c')],_0x1ed641['query']);_0xa489ca[_0xa25f('0x4d')]=_[_0xa25f('0x4b')](_0x1ed641[_0xa25f('0x4c')],qs[_0xa25f('0x4e')](_0x5a64da[_0xa25f('0x49')]['fields']));_0xa489ca['attributes']=_0xa489ca['attributes'][_0xa25f('0x4f')]?_0xa489ca[_0xa25f('0x4d')]:_0x1ed641[_0xa25f('0x4c')];if(!_0x5a64da[_0xa25f('0x49')][_0xa25f('0xfd')](_0xa25f('0x50'))){_0xa489ca[_0xa25f('0x32')]=qs[_0xa25f('0x32')](_0x5a64da[_0xa25f('0x49')][_0xa25f('0x32')]);_0xa489ca[_0xa25f('0x31')]=qs[_0xa25f('0x31')](_0x5a64da['query'][_0xa25f('0x31')]);}_0xa489ca['order']=qs['sort'](_0x5a64da[_0xa25f('0x49')]['sort']);_0xa489ca['where']=qs[_0xa25f('0x4a')](_[_0xa25f('0x54')](_0x5a64da[_0xa25f('0x49')],_0x1ed641[_0xa25f('0x4a')]));_0xa489ca[_0xa25f('0x53')][_0xa25f('0xb8')]=_0x3f239d['id'];if(_0x5a64da[_0xa25f('0x49')]['filter']){_0xa489ca['where']=_[_0xa25f('0xa4')](_0xa489ca[_0xa25f('0x53')],{'$or':_[_0xa25f('0x3d')](_0xa489ca['attributes'],function(_0x9d43ce){var _0x461bbe={};_0x461bbe[_0x9d43ce]={'$like':'%'+_0x5a64da[_0xa25f('0x49')][_0xa25f('0x94')]+'%'};return _0x461bbe;})});}if(_0x5a64da[_0xa25f('0x49')][_0xa25f('0x89')]){var _0x1006bd=_0x5a64da['query']['$gte'][_0xa25f('0x74')](',');var _0x750e9e={};_0x750e9e[_0x1006bd[0x0]]={'$gte':moment(_0x1006bd[0x1])[_0xa25f('0xd7')](_0xa25f('0xfe'))};_0xa489ca[_0xa25f('0x53')]=_[_0xa25f('0xa4')](_0xa489ca['where'],_0x750e9e);}_0xa489ca=_['merge']({},_0xa489ca,_0x5a64da[_0xa25f('0xbe')]);return db[_0xa25f('0xda')][_0xa25f('0x30')]({'where':_0xa489ca[_0xa25f('0x53')]})['then'](function(_0x166b26){_0x30d7cc['count']=_0x166b26;if(_0x5a64da['query']['includeAll']){_0xa489ca[_0xa25f('0xff')]=[{'all':!![]}];}return db['ChatMessage']['findAll'](_0xa489ca);})['then'](function(_0x121da3){_0x30d7cc[_0xa25f('0xba')]=_0x121da3;return _0x30d7cc;});}})['then'](respondWithFilteredResult(_0x33fcbe,_0xa489ca))[_0xa25f('0xbf')](handleError(_0x33fcbe,null));};exports[_0xa25f('0x100')]=function(_0xcabf2e,_0x39711b,_0x3512e5){var _0x14c03b={'where':{}},_0x1988bb={},_0x1b9b9a={'count':0x0,'rows':[]};return db[_0xa25f('0x43')][_0xa25f('0xd2')]({'where':{'id':_0xcabf2e['params']['id']}})['then'](handleEntityNotFound(_0x39711b,null))[_0xa25f('0x23')](function(_0x107c84){if(_0x107c84){_0x1988bb[_0xa25f('0x4c')]=_['keys'](db[_0xa25f('0xda')][_0xa25f('0x44')]);_0x1988bb[_0xa25f('0x49')]=_[_0xa25f('0x48')](_0xcabf2e['query']);_0x1988bb[_0xa25f('0x4a')]=_['intersection'](_0x1988bb[_0xa25f('0x4c')],_0x1988bb[_0xa25f('0x49')]);_0x14c03b['attributes']=_[_0xa25f('0x4b')](_0x1988bb[_0xa25f('0x4c')],qs[_0xa25f('0x4e')](_0xcabf2e[_0xa25f('0x49')][_0xa25f('0x4e')]));_0x14c03b[_0xa25f('0x4d')]=_0x14c03b[_0xa25f('0x4d')][_0xa25f('0x4f')]?_0x14c03b[_0xa25f('0x4d')]:_0x1988bb[_0xa25f('0x4c')];if(!_0xcabf2e[_0xa25f('0x49')][_0xa25f('0xfd')](_0xa25f('0x50'))){_0x14c03b[_0xa25f('0x32')]=qs[_0xa25f('0x32')](_0xcabf2e[_0xa25f('0x49')][_0xa25f('0x32')]);_0x14c03b[_0xa25f('0x31')]=qs['offset'](_0xcabf2e[_0xa25f('0x49')]['offset']);}_0x14c03b[_0xa25f('0x51')]=qs['sort'](_0xcabf2e['query'][_0xa25f('0x52')]);_0x14c03b[_0xa25f('0x53')]=qs['filters'](_['pick'](_0xcabf2e[_0xa25f('0x49')],_0x1988bb[_0xa25f('0x4a')]));_0x14c03b[_0xa25f('0x53')][_0xa25f('0xb8')]=_0x107c84['id'];if(_0xcabf2e['query'][_0xa25f('0x94')]){_0x14c03b[_0xa25f('0x53')]=_['merge'](_0x14c03b[_0xa25f('0x53')],{'$or':_['map'](_0x14c03b[_0xa25f('0x4d')],function(_0x4de4aa){var _0x4f945a={};_0x4f945a[_0x4de4aa]={'$like':'%'+_0xcabf2e[_0xa25f('0x49')][_0xa25f('0x94')]+'%'};return _0x4f945a;})});}_0x14c03b[_0xa25f('0x53')][_0xa25f('0xe8')]=![];if(_0xcabf2e[_0xa25f('0x49')]['id']){_0x14c03b['where']['id']={'$gt':_0xcabf2e[_0xa25f('0x49')]['id']};}_0x14c03b=_['merge']({},_0x14c03b,_0xcabf2e[_0xa25f('0xbe')]);return db[_0xa25f('0xda')][_0xa25f('0x30')]({'where':_0x14c03b[_0xa25f('0x53')]})['then'](function(_0x217642){_0x1b9b9a['count']=_0x217642;_0x14c03b[_0xa25f('0xff')]=[];if(_0xcabf2e['query'][_0xa25f('0x101')]){_0x14c03b[_0xa25f('0xff')]['push']({'model':db['User'],'as':_0xa25f('0xdc'),'attributes':['id',_0xa25f('0xe5'),_0xa25f('0x102')]});}if(_0xcabf2e[_0xa25f('0x49')]['includeAll']){_0x14c03b[_0xa25f('0xff')]=[{'all':!![]}];}return db['ChatMessage'][_0xa25f('0x103')](_0x14c03b);})['then'](function(_0xdb4e26){_0x1b9b9a[_0xa25f('0xba')]=_0xdb4e26;return _0x1b9b9a;});}})['then'](respondWithFilteredResult(_0x39711b,_0x14c03b))[_0xa25f('0xbf')](handleError(_0x39711b,null));};exports[_0xa25f('0x104')]=function(_0x96e5d8,_0x19928a,_0x8c84d3){return db[_0xa25f('0x43')][_0xa25f('0x6d')]({'where':{'id':_0x96e5d8[_0xa25f('0xbc')]['id']}})[_0xa25f('0x23')](handleEntityNotFound(_0x19928a,null))[_0xa25f('0x23')](function(_0xf37871){if(_0xf37871){return _0xf37871[_0xa25f('0x105')](_0x96e5d8[_0xa25f('0x80')][_0xa25f('0xfa')],_[_0xa25f('0xfb')](_0x96e5d8['body'],[_0xa25f('0xfa'),'id'])||{})[_0xa25f('0x106')](function(){return db['Tag'][_0xa25f('0x103')]({'attributes':['id','name',_0xa25f('0x57')],'where':{'id':_0x96e5d8[_0xa25f('0x80')][_0xa25f('0xfa')]}});})['then'](function(_0x5e2ab2){socket[_0xa25f('0x107')](_0xa25f('0x108'),{'id':Number(_0x96e5d8['params']['id']),'tags':_0x5e2ab2||[]});return{'id':Number(_0x96e5d8[_0xa25f('0xbc')]['id']),'tags':_0x5e2ab2||[]};});}})['then'](respondWithResult(_0x19928a,null))[_0xa25f('0xbf')](handleError(_0x19928a,null));};exports[_0xa25f('0x109')]=function(_0x1254d0,_0x5c42c5,_0x76b84){return db[_0xa25f('0x43')][_0xa25f('0x6d')]({'where':{'id':_0x1254d0[_0xa25f('0xbc')]['id']}})[_0xa25f('0x23')](handleEntityNotFound(_0x5c42c5,null))[_0xa25f('0x23')](function(_0x1e6eb4){if(_0x1e6eb4){return _0x1e6eb4[_0xa25f('0x109')](_0x1254d0['query']['ids']);}})[_0xa25f('0x23')](respondWithStatusCode(_0x5c42c5,null))[_0xa25f('0xbf')](handleError(_0x5c42c5,null));};exports[_0xa25f('0xd3')]=function(_0x19f6b2,_0x96648d){var _0x2c7359=moment()[_0xa25f('0x10a')]()[_0xa25f('0xa3')]();var _0x226a28=path[_0xa25f('0xd4')](config['root'],_0xa25f('0x10b'),'files',_0xa25f('0x10c'));var _0x46a2be=path[_0xa25f('0xd4')](config['root'],_0xa25f('0x10b'),_0xa25f('0x10d'),_0xa25f('0x10e'));var _0x41fc1d=path[_0xa25f('0xd4')](_0x226a28,_0x2c7359);var _0x9547cf=util[_0xa25f('0xd7')](_0xa25f('0x10f'),_0x19f6b2[_0xa25f('0xbc')]['id'],_0x2c7359);var _0xc6d3fd=path[_0xa25f('0xd4')](_0x226a28,_0x9547cf);var _0x3799dc=[];_0x3799dc[_0xa25f('0x41')]({'model':db[_0xa25f('0xdc')],'as':_0xa25f('0xdc'),'attributes':['id','fullname'],'raw':!![]});_0x3799dc[_0xa25f('0x41')]({'model':db[_0xa25f('0xde')],'as':'Contact','attributes':['id','firstName',_0xa25f('0x110')],'raw':!![]});if(_0x19f6b2['query'][_0xa25f('0x10e')]){_0x3799dc['push']({'model':db['Attachment'],'as':_0xa25f('0xd0'),'raw':!![]});}var _0xeb16af=[{'model':db[_0xa25f('0xda')],'as':'Messages','attributes':['id',_0xa25f('0x80'),_0xa25f('0x87'),_0xa25f('0x111'),_0xa25f('0xe8'),_0xa25f('0x8f')],'include':_0x3799dc}];_0xeb16af[_0xa25f('0x41')]({'model':db['ChatWebsite'],'as':_0xa25f('0x112'),'attributes':['id',_0xa25f('0x3a')]});_0xeb16af[_0xa25f('0x41')]({'model':db[_0xa25f('0xdc')],'as':'Owner','attributes':['id',_0xa25f('0xe5')]});return db[_0xa25f('0x43')]['find']({'where':{'id':_0x19f6b2['params']['id']},'include':_0xeb16af})[_0xa25f('0x23')](handleEntityNotFound(_0x96648d,null))['then'](function(_0x191004){if(_0x191004){var _0x10c910=_0x191004[_0xa25f('0x113')]({'plain':!![]});fs['mkdirSync'](_0x41fc1d);var _0x14f32a={'format':'A4','border':'10px','header':{'height':_0xa25f('0x114'),'contents':{'first':_0xa25f('0x115')}},'footer':{'height':_0xa25f('0x116'),'contents':{'default':util['format'](_0xa25f('0x117'),util[_0xa25f('0xd7')](_0xa25f('0x118'),_0xa25f('0x119'),_0x10c910['id']),moment()['format'](_0xa25f('0x11a'))['toString']())}}};var _0x3f29e4={'channel':_0xa25f('0x119'),'account':_0x10c910[_0xa25f('0x112')]['name'],'agent':_0x10c910[_0xa25f('0x11b')]?_0x10c910[_0xa25f('0x11b')][_0xa25f('0xe5')]:'N.A.','createdAt':moment(_0x10c910[_0xa25f('0x87')])[_0xa25f('0xd7')]('YYYY-MM-DD\x20HH:mm:ss')[_0xa25f('0xa3')](),'closedAt':_0x10c910[_0xa25f('0xc8')]?moment(_0x10c910[_0xa25f('0x11c')])[_0xa25f('0xd7')](_0xa25f('0xfe'))[_0xa25f('0xa3')]():'','disposition':_0x10c910[_0xa25f('0xc9')],'chatInfo':{'browser':_0x10c910[_0xa25f('0x11d')],'os':_0x10c910[_0xa25f('0x11e')],'referer':_0x10c910[_0xa25f('0x11f')],'customerIp':_0x10c910[_0xa25f('0x120')],'customerPort':_0x10c910[_0xa25f('0x121')]?_0x10c910[_0xa25f('0x121')]:_0xa25f('0x122')},'messages':_(_0x10c910[_0xa25f('0xdb')])[_0xa25f('0x123')]()[_0xa25f('0x94')]({'secret':![]})[_0xa25f('0x3d')](function(_0x2f3650){if(_0x2f3650[_0xa25f('0xd0')]){var _0x1a3d5d=path[_0xa25f('0xd4')](_0x46a2be,_0x2f3650[_0xa25f('0xd0')][_0xa25f('0xcd')]);if(fs[_0xa25f('0x124')](_0x1a3d5d)){fs[_0xa25f('0x125')](_0x1a3d5d)[_0xa25f('0x126')](fs[_0xa25f('0x127')](path[_0xa25f('0xd4')](_0x41fc1d,_0x2f3650[_0xa25f('0xd0')][_0xa25f('0xcd')])));}}return{'date':moment(_0x2f3650[_0xa25f('0x87')])[_0xa25f('0xd7')](_0xa25f('0xfe'))[_0xa25f('0xa3')](),'sender':_0x2f3650['direction']===_0xa25f('0x128')?_0x2f3650[_0xa25f('0xdc')]?_0x2f3650[_0xa25f('0xdc')][_0xa25f('0xe5')]:_0xa25f('0xe0'):_0x2f3650[_0xa25f('0x129')][_0xa25f('0x12a')]+(_0x2f3650[_0xa25f('0x129')][_0xa25f('0x110')]?'\x20'+_0x2f3650[_0xa25f('0x129')][_0xa25f('0x110')]:''),'body':_0x2f3650['Attachment']?_0x2f3650['Attachment'][_0xa25f('0xcd')]:_0x2f3650['body'],'direction':_0x2f3650[_0xa25f('0x111')]===_0xa25f('0x128')?'A':'C','secret':_0x2f3650[_0xa25f('0xe8')],'read':_0x2f3650[_0xa25f('0x8f')],'attachment':_0x2f3650['Attachment']};})['value']()};return ejs[_0xa25f('0x12b')](path[_0xa25f('0xd4')](config['root'],'server',_0xa25f('0x12c'),_0xa25f('0x12d')),{'interaction':_0x3f29e4})[_0xa25f('0x23')](function(_0x424cca){return new BPromise(function(_0x405909,_0x2e9d8){pdf[_0xa25f('0xc0')](_0x424cca,_0x14f32a)[_0xa25f('0x12e')](path[_0xa25f('0xd4')](_0x41fc1d,'transcript-'+_0x10c910['id']+'-'+_0x2c7359+_0xa25f('0x12f')),function(_0x4e544a,_0x21e921){if(_0x4e544a)return _0x2e9d8(_0x4e544a);_0x405909(_0x21e921);});});})[_0xa25f('0x23')](function(){return new BPromise(function(_0x293b5d,_0x10f89a){zipdir(_0x41fc1d,{'saveTo':_0xc6d3fd},function(_0x1d8e74,_0x5f246d){if(_0x1d8e74)return _0x10f89a(_0x1d8e74);return _0x293b5d(_0x5f246d);});})['then'](function(){return new BPromise(function(_0xf669d5,_0x530bd5){rimraf(_0x41fc1d,function(_0x34e62a){if(_0x34e62a)_0x530bd5(_0x34e62a);return _0xf669d5();});});})[_0xa25f('0x23')](function(){return _0x96648d['download'](_0xc6d3fd,_0x9547cf,function(_0x1f4c57){if(_0x1f4c57){console[_0xa25f('0x130')]('err',_0x1f4c57);}else{fs[_0xa25f('0x131')](_0xc6d3fd);}});});});}else{return _0x96648d[_0xa25f('0x2d')](0xc8);}})[_0xa25f('0xbf')](handleError(_0x96648d,null));};