7c22f192d36212ac65cfa2a5eb5eee1d23b17c22
[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 _0xeff8=['root','server/files/attachments/','close','mailTranscript','server/files/chat/upload/','format','transcript-%s.txt','now','pathTranscript','ChatMessage','Messages','User','%s%d','agentAlias','System','customer','Visitor','agentIdentifier','website_alias','agent_alias','alias','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','secret','appendFileSync','MailAccount','MailServerOut','Smtp','service','host','port','secure','SendMail','sendMail','\x22%s\x22\x20<%s>','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','options','findAll','getMyMessages','include','includeAgent','spread','emit','chatInteractionTags:save','removeTags','join','server','tmp','files','attachments','transcript-%d-%s.zip','CmContact','firstName','lastName','ChatWebsite','Owner','get','mkdirSync','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','Chat','YYYY-MM-DD','N.A.','YYYY-MM-DD\x20HH:mm:ss','disposition','osName','referer','customerIp','customerPort','tail','existsSync','pipe','createWriteStream','out','renderFile','views','downloadInteraction.html','toFile','transcript-','.pdf','err','unlinkSync','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./chatInteraction.socket','jayson/promise','client','http','test','Sequelize','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','json','count','offset','limit','set','Content-Range','apply','destroy','status','end','stack','name','send','Users','map','fullname','Tags','TagIds','split','forEach','push','rawAttributes','fieldName','type','model','query','filters','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.id','ui.ChatInteractionId','user_has_chat_interactions','left_join','users','u.id\x20=\x20ui.UserId','chat_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','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','value','having','`\x20=\x200','Contact','$substring','length','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','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','text','keys','some','compact','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','\x27\x27\x27\x27','isNumeric','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)','unreadMessages','DESC','t.id\x20IN\x20?','resolve','journey','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','keyBy','merge','attributes','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','c.firstName','Contact.firstName','c.lastName','c.email','Contact.email','Contact.phone','c.mobile','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','all','rows','params','includeAll','ChatInteraction','create','update','describe','abandon','entity\x20not\x20found','ValidationError','closed','AbandonInteraction','attachmentUpload','originalname','basename','file','filename','mimetype','Attachment','attachmentDownload','findOne','attachId','download'];(function(_0x3b8dd9,_0x9d3b7c){var _0x11de4b=function(_0x3d13bf){while(--_0x3d13bf){_0x3b8dd9['push'](_0x3b8dd9['shift']());}};_0x11de4b(++_0x9d3b7c);}(_0xeff8,0x186));var _0x8eff=function(_0x424501,_0x42096d){_0x424501=_0x424501-0x0;var _0xb719af=_0xeff8[_0x424501];return _0xb719af;};'use strict';var pdf=require(_0x8eff('0x0'));var emlformat=require(_0x8eff('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x8eff('0x2'));var jsonpatch=require(_0x8eff('0x3'));var rp=require(_0x8eff('0x4'));var moment=require('moment');var BPromise=require(_0x8eff('0x5'));var Mustache=require(_0x8eff('0x6'));var util=require(_0x8eff('0x7'));var path=require(_0x8eff('0x8'));var sox=require('sox');var csv=require(_0x8eff('0x9'));var ejs=require(_0x8eff('0xa'));var fs=require('fs');var _=require(_0x8eff('0xb'));var squel=require(_0x8eff('0xc'));var crypto=require('crypto');var jsforce=require(_0x8eff('0xd'));var deskjs=require(_0x8eff('0xe'));var toCsv=require(_0x8eff('0x9'));var querystring=require(_0x8eff('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x8eff('0x10'));var qs=require(_0x8eff('0x11'));var as=require(_0x8eff('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8eff('0x13'))(_0x8eff('0x14'));var utils=require('../../config/utils');var config=require(_0x8eff('0x15'));var db=require(_0x8eff('0x16'))['db'];config['redis']=_['defaults'](config[_0x8eff('0x17')],{'host':_0x8eff('0x18'),'port':0x18eb});var socket=require(_0x8eff('0x19'))(new Redis(config[_0x8eff('0x17')]));require(_0x8eff('0x1a'))['register'](socket);var jayson=require(_0x8eff('0x1b'));var client=jayson[_0x8eff('0x1c')][_0x8eff('0x1d')]({'port':0x232b});var client9004=jayson[_0x8eff('0x1c')][_0x8eff('0x1d')]({'port':0x232c});function checkPasswordPattern(_0x4cfc91,_0x16202e,_0xdbb753){if(_0xdbb753){var _0x16a4eb=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x16a4eb[_0x8eff('0x1e')](_0x16202e)){return _0x4cfc91;}else{throw new db[(_0x8eff('0x1f'))]['ValidationError'](_0x8eff('0x20'));}}else{return _0x4cfc91;}}function respondWithRpcPromise(_0x38fb15,_0x3cd1dc,_0x20ec2a,_0x2cd7c5){return new BPromise(function(_0x3c800b,_0x38f5ee){var _0x399d96=_0x2cd7c5||client;return _0x399d96[_0x8eff('0x21')](_0x38fb15,_0x20ec2a)[_0x8eff('0x22')](function(_0x453c7a){logger[_0x8eff('0x23')](_0x8eff('0x24'),_0x3cd1dc,_0x8eff('0x25'));logger[_0x8eff('0x26')](_0x8eff('0x27'),_0x3cd1dc,'request\x20sent',JSON[_0x8eff('0x28')](_0x453c7a));if(_0x453c7a[_0x8eff('0x29')]){if(_0x453c7a['error'][_0x8eff('0x2a')]===0x1f4){logger['error'](_0x8eff('0x24'),_0x3cd1dc,_0x453c7a[_0x8eff('0x29')][_0x8eff('0x2b')]);return _0x38f5ee(_0x453c7a[_0x8eff('0x29')][_0x8eff('0x2b')]);}logger['error'](_0x8eff('0x24'),_0x3cd1dc,_0x453c7a[_0x8eff('0x29')]['message']);return _0x3c800b(_0x453c7a[_0x8eff('0x29')][_0x8eff('0x2b')]);}else{logger[_0x8eff('0x23')](_0x8eff('0x24'),_0x3cd1dc,_0x8eff('0x25'));_0x3c800b(_0x453c7a[_0x8eff('0x2c')][_0x8eff('0x2b')]);}})[_0x8eff('0x2d')](function(_0x516173){logger[_0x8eff('0x29')](_0x8eff('0x24'),_0x3cd1dc,_0x516173);_0x38f5ee(_0x516173);});});}function respondWithStatusCode(_0x15083c,_0xb88ce9){_0xb88ce9=_0xb88ce9||0xcc;return function(_0x45803c){if(_0x45803c){return _0x15083c[_0x8eff('0x2e')](_0xb88ce9);}return _0x15083c['status'](_0xb88ce9)['end']();};}function respondWithResult(_0x44dcdb,_0x472b19){_0x472b19=_0x472b19||0xc8;return function(_0x17ff3f){if(_0x17ff3f){return _0x44dcdb['status'](_0x472b19)[_0x8eff('0x2f')](_0x17ff3f);}};}function respondWithFilteredResult(_0x2f8ad9,_0x229e0d){return function(_0x1da0fa){if(_0x1da0fa){var _0x25b98e=_0x1da0fa[_0x8eff('0x30')],_0x2c5727=_0x229e0d[_0x8eff('0x31')],_0x141bd7=_0x229e0d[_0x8eff('0x31')]+_0x229e0d[_0x8eff('0x32')],_0x1c6efa;if(_0x141bd7>=_0x25b98e){_0x141bd7=_0x25b98e;_0x1c6efa=0xc8;}else{_0x1c6efa=0xce;}_0x2f8ad9['status'](_0x1c6efa);return _0x2f8ad9[_0x8eff('0x33')](_0x8eff('0x34'),_0x2c5727+'-'+_0x141bd7+'/'+_0x25b98e)[_0x8eff('0x2f')](_0x1da0fa);}return null;};}function patchUpdates(_0x7da1fb){return function(_0x50f211){try{jsonpatch[_0x8eff('0x35')](_0x50f211,_0x7da1fb,!![]);}catch(_0x32fd3c){return BPromise['reject'](_0x32fd3c);}return _0x50f211['save']();};}function saveUpdates(_0x40ed09,_0x271d64){return function(_0x565b83){if(_0x565b83){return _0x565b83['update'](_0x40ed09)['then'](function(_0x315691){return _0x315691;});}return null;};}function removeEntity(_0x5f5b79,_0x45d9d4){return function(_0x59c9cc){if(_0x59c9cc){return _0x59c9cc[_0x8eff('0x36')]()[_0x8eff('0x22')](function(){_0x5f5b79[_0x8eff('0x37')](0xcc)[_0x8eff('0x38')]();});}};}function handleEntityNotFound(_0x3e53a2,_0x37e474){return function(_0x5ed3f3){if(!_0x5ed3f3){_0x3e53a2[_0x8eff('0x2e')](0x194);}return _0x5ed3f3;};}function handleError(_0x5907e0,_0xba48d8){_0xba48d8=_0xba48d8||0x1f4;return function(_0x5beed4){logger[_0x8eff('0x29')](_0x5beed4[_0x8eff('0x39')]);if(_0x5beed4[_0x8eff('0x3a')]){delete _0x5beed4[_0x8eff('0x3a')];}_0x5907e0['status'](_0xba48d8)[_0x8eff('0x3b')](_0x5beed4);};}function getInteractionUsers(_0x170a33,_0x18c42c){return new BPromise(function(_0x5360b7,_0x475213){try{if(_0x18c42c[_0x170a33['id']]){_0x170a33[_0x8eff('0x3c')]=_[_0x8eff('0x3d')](_0x18c42c[_0x170a33['id']],function(_0x345bc7){return{'id':_0x345bc7['id'],'fullname':_0x345bc7[_0x8eff('0x3e')]};});}}catch(_0xd2a915){_0x475213(_0xd2a915);}_0x5360b7(_0x170a33);});}function getInteractionTags(_0x29f68e,_0x26da7a){return new BPromise(function(_0x661c36,_0x5c1277){try{if(_0x29f68e['TagIds']){_0x29f68e[_0x8eff('0x3f')]=[];_0x29f68e[_0x8eff('0x40')][_0x8eff('0x41')](',')[_0x8eff('0x42')](function(_0x429c31){_0x29f68e[_0x8eff('0x3f')][_0x8eff('0x43')](_0x26da7a[_0x429c31]);});}delete _0x29f68e['TagIds'];}catch(_0x14cf6e){_0x5c1277(_0x14cf6e);}_0x661c36(_0x29f68e);});}function updateChatInteraction(_0x1c7332,_0x478e09,_0x411a1c){return new BPromise(function(_0x1ad6b3,_0x241b33){return getInteractionUsers(_0x1c7332,_0x411a1c)[_0x8eff('0x22')](function(_0xdc5e2f){return getInteractionTags(_0xdc5e2f,_0x478e09);})[_0x8eff('0x22')](function(_0x194195){_0x1ad6b3(_0x194195);})[_0x8eff('0x2d')](function(_0x6d0568){_0x241b33(_0x6d0568);});});}exports['index']=function(_0x37f376,_0x27a8c9){var _0x3f8a85={},_0x2fa131={},_0x1a5460={'count':0x0,'rows':[]};var _0x55d15c=_[_0x8eff('0x3d')](db['ChatInteraction'][_0x8eff('0x44')],function(_0x42b444){return{'name':_0x42b444[_0x8eff('0x45')],'type':_0x42b444[_0x8eff('0x46')]['key']};});_0x2fa131[_0x8eff('0x47')]=_[_0x8eff('0x3d')](_0x55d15c,_0x8eff('0x3a'));_0x2fa131['query']=_['keys'](_0x37f376[_0x8eff('0x48')]);_0x2fa131[_0x8eff('0x49')]=_[_0x8eff('0x4a')](_0x2fa131[_0x8eff('0x47')],_0x2fa131[_0x8eff('0x48')]);_0x3f8a85['attributes']=_[_0x8eff('0x4a')](_0x2fa131['model'],qs[_0x8eff('0x4b')](_0x37f376[_0x8eff('0x48')]['fields']));_0x3f8a85['attributes']=_0x3f8a85['attributes']['length']?_0x3f8a85['attributes']:_0x2fa131['model'];if(!_0x37f376[_0x8eff('0x48')][_0x8eff('0x4c')](_0x8eff('0x4d'))){_0x3f8a85[_0x8eff('0x32')]=qs[_0x8eff('0x32')](_0x37f376[_0x8eff('0x48')][_0x8eff('0x32')]);_0x3f8a85[_0x8eff('0x31')]=qs[_0x8eff('0x31')](_0x37f376[_0x8eff('0x48')]['offset']);}_0x3f8a85[_0x8eff('0x4e')]=qs['sort'](_0x37f376[_0x8eff('0x48')][_0x8eff('0x4f')]);_0x3f8a85[_0x8eff('0x50')]=qs[_0x8eff('0x49')](_[_0x8eff('0x51')](_0x37f376[_0x8eff('0x48')],_0x2fa131[_0x8eff('0x49')]));var _0x3a4c31=[];var _0x16078f=squel[_0x8eff('0x52')]()[_0x8eff('0x53')]('id')[_0x8eff('0x53')]('name')[_0x8eff('0x53')](_0x8eff('0x54'))[_0x8eff('0x55')](_0x8eff('0x56'));var _0x3de247=squel[_0x8eff('0x52')]()[_0x8eff('0x53')](_0x8eff('0x57'))[_0x8eff('0x53')]('u.fullname')['field'](_0x8eff('0x58'))[_0x8eff('0x55')](_0x8eff('0x59'),'ui')[_0x8eff('0x5a')](_0x8eff('0x5b'),'u',_0x8eff('0x5c'));var _0x4b92ae=squel[_0x8eff('0x52')]()[_0x8eff('0x55')](_0x8eff('0x5d'),'i')['left_join'](_0x8eff('0x5e'),'c',_0x8eff('0x5f'))[_0x8eff('0x5a')](_0x8eff('0x5b'),'o','o.id\x20=\x20i.UserId')[_0x8eff('0x5a')](_0x8eff('0x60'),'a',_0x8eff('0x61'))[_0x8eff('0x5a')](_0x8eff('0x62'),'me',_0x8eff('0x63'))[_0x8eff('0x5a')]('chat_interaction_has_tags','it',_0x8eff('0x64'))[_0x8eff('0x5a')](_0x8eff('0x56'),'t',_0x8eff('0x65'));var _0x2079f6=squel['expr']();var _0x13c2e6=[];var _0x16b968=squel[_0x8eff('0x66')]();var _0x4b05b3;if(_0x37f376[_0x8eff('0x48')]['search']){_0x4b05b3=as[_0x8eff('0x67')](_0x37f376[_0x8eff('0x48')][_0x8eff('0x68')]);var _0xfecdd8=_0x4b05b3[_0x8eff('0x69')];for(var _0xa6355e=0x0;_0xa6355e<_0x4b05b3[_0x8eff('0x6a')]['length'];_0xa6355e++){var _0x48a414=_0x4b05b3[_0x8eff('0x6a')][_0xa6355e];var _0x4cf5db='i';var _0x3bfeac=_[_0x8eff('0x6b')](_0x55d15c,[_0x8eff('0x3a'),_0x48a414[_0x8eff('0x53')]]);if(!_0x3bfeac){switch(_0x48a414[_0x8eff('0x53')]){case'unreadMessages':if(_0x48a414[_0x8eff('0x6c')]==0x1){_0x4b92ae[_0x8eff('0x6d')]('`'+_0x48a414[_0x8eff('0x53')]+_0x8eff('0x6e'));}else{_0x4b92ae[_0x8eff('0x6d')]('`'+_0x48a414[_0x8eff('0x53')]+'`\x20>\x200');}break;case _0x8eff('0x6f'):if(_0x48a414['operator']===_0x8eff('0x70')){if(_0x48a414[_0x8eff('0x6c')]['split']('\x20')[_0x8eff('0x71')]>0x1){_0x2079f6[_0xfecdd8](_0x8eff('0x72'),qs[_0x8eff('0x73')](_0x48a414[_0x8eff('0x6c')]),null);}else{var _0x26ce78='%'+_0x48a414[_0x8eff('0x6c')]+'%';_0x2079f6[_0xfecdd8](_0x8eff('0x74'),_0x26ce78,_0x26ce78,_0x26ce78);}}else{_0x3bfeac=_[_0x8eff('0x6b')](_0x55d15c,['name',_0x8eff('0x75')]);_0x48a414['field']='ContactId';_0x5492df=as[_0x8eff('0x76')](_0x4cf5db,_0x3bfeac[_0x8eff('0x46')],_0x48a414);_0x2079f6[_0xfecdd8](_0x5492df['text'],_0x5492df[_0x8eff('0x6c')][_0x8eff('0x77')],_0x5492df['value'][_0x8eff('0x38')]);}break;case _0x8eff('0x78'):var _0x56c996=_0x48a414[_0x8eff('0x6c')][_0x8eff('0x41')](',')[_0x8eff('0x3d')](function(_0x29390c){return Number(_0x29390c);});_0x56c996[_0x8eff('0x42')](function(_0x41e395){_0x16b968['or'](_0x8eff('0x79'),'%,'+_0x41e395+',%');});_0x13c2e6=_['union'](_0x13c2e6,_0x56c996);break;case'User':if(_0x48a414[_0x8eff('0x7a')]===_0x8eff('0x70')){_0x2079f6[_0xfecdd8](_0x8eff('0x7b'),'%'+_0x48a414[_0x8eff('0x6c')]+'%',null);}else{_0x3bfeac=_[_0x8eff('0x6b')](_0x55d15c,[_0x8eff('0x3a'),_0x8eff('0x7c')]);_0x48a414['field']='UserId';_0x5492df=as[_0x8eff('0x76')](_0x4cf5db,_0x3bfeac['type'],_0x48a414);_0x2079f6[_0xfecdd8](_0x5492df['text'],_0x5492df['value'][_0x8eff('0x77')],_0x5492df[_0x8eff('0x6c')][_0x8eff('0x38')]);}break;case _0x8eff('0x7d'):_0x5492df=as[_0x8eff('0x76')]('me',null,_0x48a414);_0x2079f6[_0xfecdd8](_0x5492df[_0x8eff('0x7e')],_0x5492df[_0x8eff('0x6c')][_0x8eff('0x77')],_0x5492df['value'][_0x8eff('0x38')]);break;}}else{var _0x5492df=as[_0x8eff('0x76')](_0x4cf5db,_0x3bfeac[_0x8eff('0x46')],_0x48a414);_0x2079f6[_0xfecdd8](_0x5492df[_0x8eff('0x7e')],_0x5492df[_0x8eff('0x6c')][_0x8eff('0x77')],_0x5492df[_0x8eff('0x6c')]['end']);}}}else{var _0x3db0d8=_(_0x37f376['query'])[_0x8eff('0x7f')]()[_0x8eff('0x3d')](function(_0x3057f7){return _[_0x8eff('0x80')](_0x55d15c,[_0x8eff('0x3a'),_0x3057f7])?_0x3057f7:undefined;})[_0x8eff('0x81')]()[_0x8eff('0x6c')]();if(!_[_0x8eff('0x82')](_0x3db0d8)){_0x3db0d8[_0x8eff('0x42')](function(_0x592ae5){if(_0x592ae5===_0x8eff('0x83')){_0x4b92ae[_0x8eff('0x50')](_0x8eff('0x84'),[][_0x8eff('0x85')](_0x37f376[_0x8eff('0x48')][_0x592ae5]));}else if(_0x592ae5===_0x8eff('0x86')){var _0x22d462=JSON[_0x8eff('0x87')](_0x37f376[_0x8eff('0x48')][_0x592ae5])[_0x8eff('0x88')];var _0x4ef11d=JSON['parse'](_0x37f376['query'][_0x592ae5])['$lte'];_0x4b92ae[_0x8eff('0x50')](_0x8eff('0x89'),_0x22d462,_0x4ef11d);}else{if(_0x37f376[_0x8eff('0x48')][_0x592ae5]===_0x8eff('0x8a')){_0x4b92ae[_0x8eff('0x50')]('i.'+_0x592ae5+_0x8eff('0x8b'));}else{_0x4b92ae[_0x8eff('0x50')]('i.'+_0x592ae5+'\x20=\x20?',_0x37f376[_0x8eff('0x48')][_0x592ae5]);}}});}if(_0x37f376[_0x8eff('0x48')][_0x8eff('0x8c')]){if(_0x37f376[_0x8eff('0x48')]['read']==0x1){_0x4b92ae[_0x8eff('0x6d')](_0x8eff('0x8d'));}else{_0x4b92ae['having'](_0x8eff('0x8e'));}}if(_0x37f376[_0x8eff('0x48')][_0x8eff('0x8f')]){_0x13c2e6=_['isArray'](_0x37f376['query']['tag'])?_0x37f376[_0x8eff('0x48')][_0x8eff('0x8f')]:new Array(_0x37f376[_0x8eff('0x48')][_0x8eff('0x8f')]);_0x13c2e6[_0x8eff('0x42')](function(_0x10d22d){_0x16b968['or'](_0x8eff('0x79'),'%,'+_0x10d22d+',%');});}if(_0x37f376[_0x8eff('0x48')][_0x8eff('0x90')]){var _0x103a50=_0x37f376[_0x8eff('0x48')]['filter'][_0x8eff('0x91')]('\x5c','\x5c\x5c')['replace']('\x27\x27',_0x8eff('0x92'));if(qs[_0x8eff('0x93')](_0x103a50)){_0x2079f6['or']('i.id\x20LIKE\x20?',_0x103a50+'%');}else{_0x2079f6['or'](_0x8eff('0x94'),qs['getFullTextValue'](_0x103a50))['or'](_0x8eff('0x95'),_0x103a50+'%');}}}_0x4b92ae[_0x8eff('0x50')](_0x2079f6);_0x4b92ae[_0x8eff('0x96')](_0x8eff('0x97'));var _0x29e358={'type':db['Sequelize'][_0x8eff('0x98')][_0x8eff('0x99')],'raw':!![]};var _0xd5edc5=_0x4b92ae[_0x8eff('0x9a')]();_0xd5edc5[_0x8eff('0x53')](_0x8eff('0x97'));_0xd5edc5[_0x8eff('0x53')](_0x8eff('0x9b'),_0x8eff('0x9c'));if(_0x3f8a85[_0x8eff('0x4e')]){_0x3f8a85[_0x8eff('0x4e')]['forEach'](function(_0x41710c){_0x4b92ae[_0x8eff('0x4e')]('i.'+_0x41710c[0x0],_0x41710c[0x1]===_0x8eff('0x9d')?![]:!![]);});}if(!_[_0x8eff('0x82')](_0x13c2e6)){_0x4b92ae[_0x8eff('0x6d')](_0x16b968);_0xd5edc5['where'](_0x8eff('0x9e'),_0x13c2e6);}BPromise[_0x8eff('0x9f')]()['then'](function(){if(!_0x4b05b3){if(_0x37f376['query'][_0x8eff('0x83')]||_0x37f376[_0x8eff('0x48')][_0x8eff('0xa0')])return;_0xd5edc5[_0x8eff('0x50')](_0x8eff('0xa1'));_0x4b92ae[_0x8eff('0x50')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}return _0x37f376[_0x8eff('0xa2')]['getChatWebsites']({'attributes':['id'],'raw':!![]})[_0x8eff('0x22')](function(_0x262b68){if(_['isEmpty'](_0x262b68)){_0xd5edc5[_0x8eff('0x50')]('i.ChatWebsiteId\x20IS\x20NULL');_0x4b92ae['where'](_0x8eff('0xa3'));}else{_0xd5edc5['where'](_0x8eff('0x84'),_[_0x8eff('0x3d')](_0x262b68,'id'));_0x4b92ae['where'](_0x8eff('0x84'),_[_0x8eff('0x3d')](_0x262b68,'id'));}});})['then'](function(){db[_0x8eff('0xa4')][_0x8eff('0x48')](_0xd5edc5[_0x8eff('0xa5')](),_0x29e358)[_0x8eff('0x22')](function(_0x22abc5){_0x1a5460[_0x8eff('0x30')]=_0x22abc5[_0x8eff('0x71')];if(_0x1a5460[_0x8eff('0x30')]===0x0)return[];return db[_0x8eff('0xa4')]['query'](_0x16078f['toString'](),_0x29e358)['then'](function(_0x338269){_0x3a4c31=_[_0x8eff('0xa6')](_0x338269,'id');_0x29e358=_[_0x8eff('0xa7')](_0x29e358,{'model':db['ChatInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x37f376[_0x8eff('0x48')][_0x8eff('0x4b')]){_0x3f8a85[_0x8eff('0xa8')][_0x8eff('0x42')](function(_0x2c9646){_0x4b92ae[_0x8eff('0x53')]('i.'+_0x2c9646);});}else{_0x4b92ae['field'](_0x8eff('0x9b'),'unreadMessages');_0x4b92ae[_0x8eff('0x53')](_0x8eff('0xa9'),_0x8eff('0xaa'));_0x4b92ae[_0x8eff('0x53')](_0x8eff('0xab'),_0x8eff('0xac'));_0x4b92ae[_0x8eff('0x53')]('i.*');_0x4b92ae[_0x8eff('0x53')](_0x8eff('0xad'),_0x8eff('0xae'));_0x4b92ae[_0x8eff('0x53')](_0x8eff('0xaf'),'Contact.lastName');_0x4b92ae[_0x8eff('0x53')](_0x8eff('0xb0'),_0x8eff('0xb1'));_0x4b92ae['field']('c.phone',_0x8eff('0xb2'));_0x4b92ae[_0x8eff('0x53')](_0x8eff('0xb3'),'Contact.mobile');_0x4b92ae[_0x8eff('0x53')]('c.fax','Contact.fax');_0x4b92ae[_0x8eff('0x53')](_0x8eff('0xb4'),_0x8eff('0xb5'));_0x4b92ae[_0x8eff('0x53')](_0x8eff('0xb6'),_0x8eff('0xb7'));_0x4b92ae[_0x8eff('0x53')](_0x8eff('0xb8'),_0x8eff('0x40'));}_0x4b92ae[_0x8eff('0x32')](_0x3f8a85[_0x8eff('0x32')]);_0x4b92ae[_0x8eff('0x31')](_0x3f8a85['offset']);return db[_0x8eff('0xa4')][_0x8eff('0x48')](_0x4b92ae[_0x8eff('0xa5')](),_0x29e358);})[_0x8eff('0x22')](function(_0x134946){_0x3de247['where'](_0x8eff('0xb9'),_[_0x8eff('0x3d')](_0x134946,'id'));return db[_0x8eff('0xa4')][_0x8eff('0x48')](_0x3de247['toString'](),_0x29e358)['then'](function(_0x339451){var _0x111056=_[_0x8eff('0xba')](_0x339451,_0x8eff('0xbb'));var _0x4944af=[];_0x134946[_0x8eff('0x42')](function(_0xb283a6){_0x4944af[_0x8eff('0x43')](updateChatInteraction(_0xb283a6,_0x3a4c31,_0x111056));});return BPromise[_0x8eff('0xbc')](_0x4944af);});});})[_0x8eff('0x22')](function(_0x44e68a){_0x1a5460[_0x8eff('0xbd')]=_0x44e68a;return _0x1a5460;})[_0x8eff('0x22')](respondWithFilteredResult(_0x27a8c9,_0x3f8a85));})[_0x8eff('0x2d')](handleError(_0x27a8c9,null));};exports['show']=function(_0xe873eb,_0x54a472){var _0x22051e={'raw':![],'where':{'id':_0xe873eb[_0x8eff('0xbe')]['id']}},_0x16367d={};_0x16367d['model']=_[_0x8eff('0x7f')](db['ChatInteraction'][_0x8eff('0x44')]);_0x16367d[_0x8eff('0x48')]=_['keys'](_0xe873eb[_0x8eff('0x48')]);_0x16367d[_0x8eff('0x49')]=_[_0x8eff('0x4a')](_0x16367d[_0x8eff('0x47')],_0x16367d[_0x8eff('0x48')]);_0x22051e[_0x8eff('0xa8')]=_['intersection'](_0x16367d[_0x8eff('0x47')],qs[_0x8eff('0x4b')](_0xe873eb[_0x8eff('0x48')]['fields']));_0x22051e[_0x8eff('0xa8')]=_0x22051e[_0x8eff('0xa8')]['length']?_0x22051e[_0x8eff('0xa8')]:_0x16367d[_0x8eff('0x47')];if(_0xe873eb[_0x8eff('0x48')][_0x8eff('0xbf')]){_0x22051e['include']=[{'all':!![]}];}_0x22051e=_[_0x8eff('0xa7')]({},_0x22051e,_0xe873eb['options']);return db[_0x8eff('0xc0')][_0x8eff('0x6b')](_0x22051e)[_0x8eff('0x22')](handleEntityNotFound(_0x54a472,null))[_0x8eff('0x22')](respondWithResult(_0x54a472,null))['catch'](handleError(_0x54a472,null));};exports[_0x8eff('0xc1')]=function(_0x4d343e,_0x3e755b){return db[_0x8eff('0xc0')][_0x8eff('0xc1')](_0x4d343e[_0x8eff('0x7d')],{})[_0x8eff('0x22')](respondWithResult(_0x3e755b,0xc9))['catch'](handleError(_0x3e755b,null));};exports[_0x8eff('0xc2')]=function(_0x36712f,_0x3665ab){if(_0x36712f[_0x8eff('0x7d')]['id']){delete _0x36712f[_0x8eff('0x7d')]['id'];}return db[_0x8eff('0xc0')][_0x8eff('0x6b')]({'where':{'id':_0x36712f[_0x8eff('0xbe')]['id']}})['then'](handleEntityNotFound(_0x3665ab,null))[_0x8eff('0x22')](saveUpdates(_0x36712f[_0x8eff('0x7d')],null))['then'](respondWithResult(_0x3665ab,null))['catch'](handleError(_0x3665ab,null));};exports[_0x8eff('0x36')]=function(_0x5d9fc3,_0x534862){return db[_0x8eff('0xc0')][_0x8eff('0x6b')]({'where':{'id':_0x5d9fc3['params']['id']}})[_0x8eff('0x22')](handleEntityNotFound(_0x534862,null))[_0x8eff('0x22')](removeEntity(_0x534862,null))[_0x8eff('0x2d')](handleError(_0x534862,null));};exports['describe']=function(_0x3f5c47,_0x35be0a){return db['ChatInteraction'][_0x8eff('0xc3')]()[_0x8eff('0x22')](respondWithResult(_0x35be0a,null))[_0x8eff('0x2d')](handleError(_0x35be0a,null));};exports['customUpdate']=function(_0x5477c0,_0x52f9b2){if(_0x5477c0[_0x8eff('0x7d')]['id']){delete _0x5477c0[_0x8eff('0x7d')]['id'];}return db[_0x8eff('0xc0')][_0x8eff('0x6b')]({'where':{'id':_0x5477c0[_0x8eff('0xbe')]['id']}})[_0x8eff('0x22')](handleEntityNotFound(_0x52f9b2,null))[_0x8eff('0x22')](saveUpdates(_0x5477c0[_0x8eff('0x7d')],null))[_0x8eff('0x22')](respondWithResult(_0x52f9b2,null))[_0x8eff('0x2d')](handleError(_0x52f9b2,null));};exports[_0x8eff('0xc4')]=function(_0x4d7417,_0x56d0ed,_0x20d135){if(_0x4d7417[_0x8eff('0x7d')]['id']){delete _0x4d7417[_0x8eff('0x7d')]['id'];}return db[_0x8eff('0xc0')][_0x8eff('0x6b')]({'where':{'id':_0x4d7417[_0x8eff('0xbe')]['id']}})[_0x8eff('0x22')](function(_0x2d1c0b){if(!_0x2d1c0b){logger[_0x8eff('0x29')]('abandonInteraction,\x20%s,\x20%s,\x20%s',_0x8eff('0xc4'),0x194,_0x8eff('0xc5'));_0x56d0ed[_0x8eff('0x2e')](0x194);}else{if(_0x2d1c0b[_0x8eff('0x7c')]){throw new db[(_0x8eff('0x1f'))][(_0x8eff('0xc6'))]('Interaction\x20already\x20assigned');}}return _0x2d1c0b;})['then'](function(_0x41e975){if(_0x41e975){return _0x41e975[_0x8eff('0xc2')]({'closed':_0x4d7417[_0x8eff('0x7d')][_0x8eff('0xc7')],'disposition':_0x4d7417[_0x8eff('0x7d')]['disposition']})[_0x8eff('0x22')](function(_0x4e1313){return _0x4e1313;});}})['then'](function(_0x422796){return respondWithRpcPromise(_0x8eff('0xc8'),_0x8eff('0xc4'),_0x4d7417['body'],client9004);})[_0x8eff('0x22')](respondWithResult(_0x56d0ed,null))[_0x8eff('0x2d')](handleError(_0x56d0ed,null));};exports[_0x8eff('0xc9')]=function(_0x41f188,_0x27a3be,_0x2902f0){_0x41f188['body'][_0x8eff('0x3a')]=_0x41f188['file'][_0x8eff('0xca')];_0x41f188[_0x8eff('0x7d')][_0x8eff('0xcb')]=_0x41f188[_0x8eff('0xcc')][_0x8eff('0xcd')];_0x41f188[_0x8eff('0x7d')]['type']=_0x41f188['file'][_0x8eff('0xce')];return db[_0x8eff('0xcf')][_0x8eff('0xc1')](_0x41f188[_0x8eff('0x7d')])[_0x8eff('0x22')](respondWithResult(_0x27a3be,0xc9))['catch'](handleError(_0x27a3be,null));};exports[_0x8eff('0xd0')]=function(_0x1818ff,_0x3414c1,_0x51a066){return db['ChatInteraction'][_0x8eff('0xd1')]({'where':{'id':_0x1818ff[_0x8eff('0xbe')]['id']},'raw':!![]})[_0x8eff('0x22')](handleEntityNotFound(_0x3414c1,null))[_0x8eff('0x22')](function(_0x210ae8){if(_0x210ae8){if(_0x210ae8[_0x8eff('0xc7')]){return _0x3414c1[_0x8eff('0x37')](0x193)[_0x8eff('0x2f')]({'status':0x193,'message':'Unauthorized'});}return db['Attachment'][_0x8eff('0xd1')]({'where':{'id':_0x1818ff[_0x8eff('0x48')][_0x8eff('0xd2')]},'raw':!![]})[_0x8eff('0x22')](handleEntityNotFound(_0x3414c1,null));}})[_0x8eff('0x22')](function(_0x1f62a5){if(_0x1f62a5){return _0x3414c1[_0x8eff('0xd3')](path['join'](config[_0x8eff('0xd4')],_0x8eff('0xd5'),_0x1f62a5[_0x8eff('0xcb')]));}})[_0x8eff('0x2d')](handleError(_0x3414c1,null));};exports[_0x8eff('0xd6')]=function(_0x2ed342,_0x5c64ef){var _0x51cef3=null;var _0x59b7d2=null;var _0xae8a5e=null;var _0x374b82=null;if(_0x2ed342[_0x8eff('0x7d')]['id']){delete _0x2ed342[_0x8eff('0x7d')]['id'];}if(_0x2ed342[_0x8eff('0x7d')][_0x8eff('0xd7')]){_0x374b82=path['join'](config[_0x8eff('0xd4')],_0x8eff('0xd8'),util[_0x8eff('0xd9')](_0x8eff('0xda'),Date[_0x8eff('0xdb')]()));_0x2ed342[_0x8eff('0x7d')][_0x8eff('0xdc')]=_0x374b82;}return db[_0x8eff('0xc0')][_0x8eff('0x6b')]({'where':{'id':_0x2ed342[_0x8eff('0xbe')]['id']},'include':[{'model':db[_0x8eff('0xdd')],'as':_0x8eff('0xde'),'include':[{'model':db['User'],'as':_0x8eff('0xdf')}]}]})[_0x8eff('0x22')](handleEntityNotFound(_0x5c64ef,null))[_0x8eff('0x22')](saveUpdates(_0x2ed342[_0x8eff('0x7d')],null))[_0x8eff('0x22')](function(_0x3dc53c){if(_0x3dc53c){_0x51cef3=_0x3dc53c;return db['ChatWebsite'][_0x8eff('0x6b')]({'where':{'id':_0x51cef3[_0x8eff('0x83')]}});}})[_0x8eff('0x22')](function(_0x5398e8){if(_0x5398e8){_0xae8a5e=_0x5398e8;return db['CmContact'][_0x8eff('0x6b')]({'where':{'id':_0x51cef3['ContactId']}});}})['then'](function(_0x23d355){if(_0x23d355){_0x59b7d2=_0x23d355;if(_0x374b82){var _0x28abb9=null;for(var _0x270798=0x1;_0x270798<_0x51cef3[_0x8eff('0xde')][_0x8eff('0x71')];++_0x270798){_0x28abb9=_0x51cef3[_0x8eff('0xde')][_0x270798];var _0x1d9e31=_0x28abb9[_0x8eff('0x7c')]?util['format'](_0x8eff('0xe0'),_0xae8a5e[_0x8eff('0xe1')],_0x28abb9[_0x8eff('0x7c')]):_0x8eff('0xe2');var _0x4df919=_0x2ed342[_0x8eff('0x7d')][_0x8eff('0xe3')]||util[_0x8eff('0xd9')](_0x8eff('0xe0'),_0x8eff('0xe4'),_0x28abb9[_0x8eff('0x75')]);switch(_0xae8a5e[_0x8eff('0xe5')]){case _0x8eff('0xe6'):_0x1d9e31=_0x28abb9[_0x8eff('0x7c')]?util[_0x8eff('0xd9')](_0x8eff('0xe0'),_0xae8a5e[_0x8eff('0xe1')],_0x28abb9[_0x8eff('0x7c')]):_0x8eff('0xe2');break;case _0x8eff('0xe7'):_0x1d9e31=_0x28abb9[_0x8eff('0x7c')]?_0x28abb9[_0x8eff('0xdf')][_0x8eff('0xe8')]||_0x28abb9[_0x8eff('0xdf')][_0x8eff('0x3e')]:'System';break;case'agent_fullname':_0x1d9e31=_0x28abb9[_0x8eff('0x7c')]?_0x28abb9[_0x8eff('0xdf')][_0x8eff('0x3e')]:_0x8eff('0xe2');break;default:_0x1d9e31=_0x28abb9[_0x8eff('0x7c')]?util['format'](_0x8eff('0xe0'),_0xae8a5e[_0x8eff('0xe1')],_0x28abb9[_0x8eff('0x7c')]):_0x8eff('0xe2');}var _0x354882=util[_0x8eff('0xd9')](_0x8eff('0xe9'),moment(_0x28abb9['createdAt'])[_0x8eff('0xd9')](_0x8eff('0xea')),_0x28abb9[_0x8eff('0xeb')]==='in'?_0x4df919:_0x1d9e31,_0x28abb9[_0x8eff('0x7d')]);if(!_0x28abb9[_0x8eff('0xec')]){fs[_0x8eff('0xed')](_0x374b82,_0x354882);}}return db[_0x8eff('0xee')]['findOne']({'where':{'service':!![]},'include':[{'model':db[_0x8eff('0xef')],'as':'Smtp','raw':!![]}]});}}})[_0x8eff('0x22')](function(_0x45cf10){if(_0x45cf10&&_0x45cf10['Smtp']&&_0x2ed342[_0x8eff('0x7d')]){var _0x51c2a8={'tls':{'rejectUnauthorized':![]}};if(_0x45cf10[_0x8eff('0xf0')][_0x8eff('0xf1')]){_0x51c2a8[_0x8eff('0xf1')]=_0x45cf10[_0x8eff('0xf0')]['service'];}else{_0x51c2a8[_0x8eff('0xf2')]=_0x45cf10[_0x8eff('0xf0')]['host'];_0x51c2a8[_0x8eff('0xf3')]=_0x45cf10[_0x8eff('0xf0')][_0x8eff('0xf3')];_0x51c2a8['secure']=_0x45cf10['Smtp'][_0x8eff('0xf4')];}if(_0x45cf10[_0x8eff('0xf0')]['authentication']){_0x51c2a8['auth']={'user':_0x45cf10[_0x8eff('0xf0')][_0x8eff('0xa2')],'pass':_0x45cf10[_0x8eff('0xf0')]['pass']};}return respondWithRpcPromise(_0x8eff('0xf5'),_0x8eff('0xf6'),{'account':_0x51c2a8,'message':{'from':util[_0x8eff('0xd9')](_0x8eff('0xf7'),_0x45cf10[_0x8eff('0x3a')],_0x45cf10['email']||_0x45cf10[_0x8eff('0xf0')][_0x8eff('0xa2')]),'to':_0x2ed342[_0x8eff('0x7d')]['mailTranscript'],'subject':_0x8eff('0xf8'),'text':util[_0x8eff('0xd9')](_0x8eff('0xf9'),_0x2ed342[_0x8eff('0x7d')][_0x8eff('0xd7')]),'attachments':[{'path':_0x374b82}]}})[_0x8eff('0x22')](function(){return _0x51cef3;})[_0x8eff('0x2d')](function(_0x51f22e){console[_0x8eff('0x29')](_0x51f22e);});}else{return _0x51cef3;}})['then'](respondWithStatusCode(_0x5c64ef,0xc8))[_0x8eff('0x2d')](handleError(_0x5c64ef,null));};exports[_0x8eff('0xfa')]=function(_0x4fe183,_0x912eb8,_0x1ae192){return db[_0x8eff('0xdd')][_0x8eff('0x6b')]({'where':{'id':_0x4fe183[_0x8eff('0xbe')]['id']}})[_0x8eff('0x22')](handleEntityNotFound(_0x912eb8,null))[_0x8eff('0x22')](function(_0xe9351c){if(_0xe9351c){return _0xe9351c[_0x8eff('0xfa')](_0x4fe183[_0x8eff('0x7d')][_0x8eff('0xfb')],_[_0x8eff('0xfc')](_0x4fe183[_0x8eff('0x7d')],['ids','id'])||{});}})[_0x8eff('0x22')](respondWithResult(_0x912eb8,null))[_0x8eff('0x2d')](handleError(_0x912eb8,null));};exports['getMessages']=function(_0x428adc,_0x4c5d80,_0x27da0a){var _0x4cd219={'raw':![],'where':{}};var _0xf37a97={};var _0x3bd4f7={'count':0x0,'rows':[]};return db['ChatInteraction'][_0x8eff('0xd1')]({'where':{'id':_0x428adc['params']['id']}})[_0x8eff('0x22')](handleEntityNotFound(_0x4c5d80,null))[_0x8eff('0x22')](function(_0x22d3bb){if(_0x22d3bb){_0xf37a97[_0x8eff('0x47')]=_[_0x8eff('0x7f')](db[_0x8eff('0xdd')][_0x8eff('0x44')]);_0xf37a97[_0x8eff('0x48')]=_[_0x8eff('0x7f')](_0x428adc[_0x8eff('0x48')]);_0xf37a97[_0x8eff('0x49')]=_['intersection'](_0xf37a97[_0x8eff('0x47')],_0xf37a97['query']);_0x4cd219['attributes']=_['intersection'](_0xf37a97[_0x8eff('0x47')],qs[_0x8eff('0x4b')](_0x428adc[_0x8eff('0x48')][_0x8eff('0x4b')]));_0x4cd219[_0x8eff('0xa8')]=_0x4cd219[_0x8eff('0xa8')][_0x8eff('0x71')]?_0x4cd219['attributes']:_0xf37a97[_0x8eff('0x47')];if(!_0x428adc['query'][_0x8eff('0x4c')](_0x8eff('0x4d'))){_0x4cd219[_0x8eff('0x32')]=qs[_0x8eff('0x32')](_0x428adc['query'][_0x8eff('0x32')]);_0x4cd219[_0x8eff('0x31')]=qs[_0x8eff('0x31')](_0x428adc[_0x8eff('0x48')]['offset']);}_0x4cd219[_0x8eff('0x4e')]=qs['sort'](_0x428adc[_0x8eff('0x48')][_0x8eff('0x4f')]);_0x4cd219[_0x8eff('0x50')]=qs[_0x8eff('0x49')](_['pick'](_0x428adc[_0x8eff('0x48')],_0xf37a97[_0x8eff('0x49')]));_0x4cd219[_0x8eff('0x50')][_0x8eff('0xbb')]=_0x22d3bb['id'];if(_0x428adc['query'][_0x8eff('0x90')]){_0x4cd219[_0x8eff('0x50')]=_['merge'](_0x4cd219[_0x8eff('0x50')],{'$or':_[_0x8eff('0x3d')](_0x4cd219['attributes'],function(_0x1b6463){var _0x310ae9={};_0x310ae9[_0x1b6463]={'$like':'%'+_0x428adc[_0x8eff('0x48')][_0x8eff('0x90')]+'%'};return _0x310ae9;})});}if(_0x428adc[_0x8eff('0x48')][_0x8eff('0x88')]){var _0x1b8f75=_0x428adc[_0x8eff('0x48')][_0x8eff('0x88')]['split'](',');var _0xa9ca7a={};_0xa9ca7a[_0x1b8f75[0x0]]={'$gte':moment(_0x1b8f75[0x1])[_0x8eff('0xd9')]('YYYY-MM-DD\x20HH:mm:ss')};_0x4cd219[_0x8eff('0x50')]=_[_0x8eff('0xa7')](_0x4cd219['where'],_0xa9ca7a);}_0x4cd219=_[_0x8eff('0xa7')]({},_0x4cd219,_0x428adc[_0x8eff('0xfd')]);return db[_0x8eff('0xdd')][_0x8eff('0x30')]({'where':_0x4cd219[_0x8eff('0x50')]})[_0x8eff('0x22')](function(_0x4af3b){_0x3bd4f7[_0x8eff('0x30')]=_0x4af3b;if(_0x428adc[_0x8eff('0x48')][_0x8eff('0xbf')]){_0x4cd219['include']=[{'all':!![]}];}return db['ChatMessage'][_0x8eff('0xfe')](_0x4cd219);})['then'](function(_0x44e1eb){_0x3bd4f7['rows']=_0x44e1eb;return _0x3bd4f7;});}})[_0x8eff('0x22')](respondWithFilteredResult(_0x4c5d80,_0x4cd219))['catch'](handleError(_0x4c5d80,null));};exports[_0x8eff('0xff')]=function(_0x36257a,_0x3626d0,_0x4819fe){var _0x47b8d9={'where':{}},_0x1d5567={},_0x3ec2fc={'count':0x0,'rows':[]};return db['ChatInteraction'][_0x8eff('0xd1')]({'where':{'id':_0x36257a[_0x8eff('0xbe')]['id']}})[_0x8eff('0x22')](handleEntityNotFound(_0x3626d0,null))[_0x8eff('0x22')](function(_0x3b7733){if(_0x3b7733){_0x1d5567[_0x8eff('0x47')]=_[_0x8eff('0x7f')](db['ChatMessage'][_0x8eff('0x44')]);_0x1d5567['query']=_['keys'](_0x36257a[_0x8eff('0x48')]);_0x1d5567['filters']=_[_0x8eff('0x4a')](_0x1d5567[_0x8eff('0x47')],_0x1d5567[_0x8eff('0x48')]);_0x47b8d9['attributes']=_[_0x8eff('0x4a')](_0x1d5567[_0x8eff('0x47')],qs[_0x8eff('0x4b')](_0x36257a[_0x8eff('0x48')]['fields']));_0x47b8d9[_0x8eff('0xa8')]=_0x47b8d9[_0x8eff('0xa8')][_0x8eff('0x71')]?_0x47b8d9[_0x8eff('0xa8')]:_0x1d5567[_0x8eff('0x47')];if(!_0x36257a[_0x8eff('0x48')]['hasOwnProperty'](_0x8eff('0x4d'))){_0x47b8d9[_0x8eff('0x32')]=qs[_0x8eff('0x32')](_0x36257a[_0x8eff('0x48')][_0x8eff('0x32')]);_0x47b8d9[_0x8eff('0x31')]=qs[_0x8eff('0x31')](_0x36257a['query'][_0x8eff('0x31')]);}_0x47b8d9[_0x8eff('0x4e')]=qs[_0x8eff('0x4f')](_0x36257a[_0x8eff('0x48')][_0x8eff('0x4f')]);_0x47b8d9[_0x8eff('0x50')]=qs[_0x8eff('0x49')](_[_0x8eff('0x51')](_0x36257a[_0x8eff('0x48')],_0x1d5567[_0x8eff('0x49')]));_0x47b8d9[_0x8eff('0x50')][_0x8eff('0xbb')]=_0x3b7733['id'];if(_0x36257a[_0x8eff('0x48')][_0x8eff('0x90')]){_0x47b8d9[_0x8eff('0x50')]=_['merge'](_0x47b8d9[_0x8eff('0x50')],{'$or':_['map'](_0x47b8d9['attributes'],function(_0x1502d2){var _0x35d931={};_0x35d931[_0x1502d2]={'$like':'%'+_0x36257a[_0x8eff('0x48')]['filter']+'%'};return _0x35d931;})});}_0x47b8d9['where']['secret']=![];if(_0x36257a[_0x8eff('0x48')]['id']){_0x47b8d9[_0x8eff('0x50')]['id']={'$gt':_0x36257a[_0x8eff('0x48')]['id']};}_0x47b8d9=_[_0x8eff('0xa7')]({},_0x47b8d9,_0x36257a[_0x8eff('0xfd')]);return db[_0x8eff('0xdd')][_0x8eff('0x30')]({'where':_0x47b8d9[_0x8eff('0x50')]})['then'](function(_0x3b6bdf){_0x3ec2fc[_0x8eff('0x30')]=_0x3b6bdf;_0x47b8d9[_0x8eff('0x100')]=[];if(_0x36257a[_0x8eff('0x48')][_0x8eff('0x101')]){_0x47b8d9[_0x8eff('0x100')][_0x8eff('0x43')]({'model':db['User'],'as':_0x8eff('0xdf'),'attributes':['id',_0x8eff('0x3e'),_0x8eff('0xe8')]});}if(_0x36257a[_0x8eff('0x48')][_0x8eff('0xbf')]){_0x47b8d9[_0x8eff('0x100')]=[{'all':!![]}];}return db['ChatMessage']['findAll'](_0x47b8d9);})['then'](function(_0xd03bcb){_0x3ec2fc['rows']=_0xd03bcb;return _0x3ec2fc;});}})[_0x8eff('0x22')](respondWithFilteredResult(_0x3626d0,_0x47b8d9))[_0x8eff('0x2d')](handleError(_0x3626d0,null));};exports['addTags']=function(_0x57b56a,_0x52ef48,_0x418c9e){return db[_0x8eff('0xc0')][_0x8eff('0x6b')]({'where':{'id':_0x57b56a[_0x8eff('0xbe')]['id']}})[_0x8eff('0x22')](handleEntityNotFound(_0x52ef48,null))[_0x8eff('0x22')](function(_0x2ed550){if(_0x2ed550){return _0x2ed550['setTags'](_0x57b56a[_0x8eff('0x7d')][_0x8eff('0xfb')],_[_0x8eff('0xfc')](_0x57b56a[_0x8eff('0x7d')],[_0x8eff('0xfb'),'id'])||{})[_0x8eff('0x102')](function(){return db[_0x8eff('0x78')][_0x8eff('0xfe')]({'attributes':['id',_0x8eff('0x3a'),_0x8eff('0x54')],'where':{'id':_0x57b56a[_0x8eff('0x7d')][_0x8eff('0xfb')]}});})[_0x8eff('0x22')](function(_0x3781aa){socket[_0x8eff('0x103')](_0x8eff('0x104'),{'id':Number(_0x57b56a[_0x8eff('0xbe')]['id']),'tags':_0x3781aa||[]});return{'id':Number(_0x57b56a['params']['id']),'tags':_0x3781aa||[]};});}})[_0x8eff('0x22')](respondWithResult(_0x52ef48,null))[_0x8eff('0x2d')](handleError(_0x52ef48,null));};exports[_0x8eff('0x105')]=function(_0x4df5d5,_0x4f7608,_0x16abf6){return db[_0x8eff('0xc0')]['find']({'where':{'id':_0x4df5d5[_0x8eff('0xbe')]['id']}})[_0x8eff('0x22')](handleEntityNotFound(_0x4f7608,null))[_0x8eff('0x22')](function(_0x1ca0a5){if(_0x1ca0a5){return _0x1ca0a5[_0x8eff('0x105')](_0x4df5d5[_0x8eff('0x48')][_0x8eff('0xfb')]);}})['then'](respondWithStatusCode(_0x4f7608,null))['catch'](handleError(_0x4f7608,null));};exports[_0x8eff('0xd3')]=function(_0x2bfd90,_0x17767c){var _0x29419b=moment()['unix']()[_0x8eff('0xa5')]();var _0x555ff7=path[_0x8eff('0x106')](config['root'],_0x8eff('0x107'),'files',_0x8eff('0x108'));var _0xcd9723=path['join'](config[_0x8eff('0xd4')],_0x8eff('0x107'),_0x8eff('0x109'),_0x8eff('0x10a'));var _0x28594b=path[_0x8eff('0x106')](_0x555ff7,_0x29419b);var _0x3bdad7=util[_0x8eff('0xd9')](_0x8eff('0x10b'),_0x2bfd90['params']['id'],_0x29419b);var _0x248cde=path['join'](_0x555ff7,_0x3bdad7);var _0x32ba69=[];_0x32ba69[_0x8eff('0x43')]({'model':db['User'],'as':_0x8eff('0xdf'),'attributes':['id','fullname'],'raw':!![]});_0x32ba69[_0x8eff('0x43')]({'model':db[_0x8eff('0x10c')],'as':_0x8eff('0x6f'),'attributes':['id',_0x8eff('0x10d'),_0x8eff('0x10e')],'raw':!![]});if(_0x2bfd90['query']['attachments']){_0x32ba69[_0x8eff('0x43')]({'model':db['Attachment'],'as':'Attachment','raw':!![]});}var _0x92c5be=[{'model':db['ChatMessage'],'as':_0x8eff('0xde'),'attributes':['id',_0x8eff('0x7d'),'createdAt',_0x8eff('0xeb'),_0x8eff('0xec'),_0x8eff('0x8c')],'include':_0x32ba69}];_0x92c5be['push']({'model':db[_0x8eff('0x10f')],'as':'Account','attributes':['id',_0x8eff('0x3a')]});_0x92c5be[_0x8eff('0x43')]({'model':db['User'],'as':_0x8eff('0x110'),'attributes':['id',_0x8eff('0x3e')]});return db[_0x8eff('0xc0')]['find']({'where':{'id':_0x2bfd90[_0x8eff('0xbe')]['id']},'include':_0x92c5be})['then'](handleEntityNotFound(_0x17767c,null))[_0x8eff('0x22')](function(_0x462412){if(_0x462412){var _0x395581=_0x462412[_0x8eff('0x111')]({'plain':!![]});fs[_0x8eff('0x112')](_0x28594b);var _0x1f2ae8={'format':'A4','border':'10px','header':{'height':_0x8eff('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':_0x8eff('0x114'),'contents':{'default':util[_0x8eff('0xd9')](_0x8eff('0x115'),util[_0x8eff('0xd9')](_0x8eff('0x116'),_0x8eff('0x117'),_0x395581['id']),moment()[_0x8eff('0xd9')](_0x8eff('0x118'))[_0x8eff('0xa5')]())}}};var _0x4e20f5={'channel':_0x8eff('0x117'),'account':_0x395581['Account'][_0x8eff('0x3a')],'agent':_0x395581['Owner']?_0x395581[_0x8eff('0x110')]['fullname']:_0x8eff('0x119'),'createdAt':moment(_0x395581[_0x8eff('0x86')])[_0x8eff('0xd9')](_0x8eff('0x11a'))[_0x8eff('0xa5')](),'closedAt':_0x395581[_0x8eff('0xc7')]?moment(_0x395581['closedAt'])[_0x8eff('0xd9')]('YYYY-MM-DD\x20HH:mm:ss')[_0x8eff('0xa5')]():'','disposition':_0x395581[_0x8eff('0x11b')],'chatInfo':{'browser':_0x395581['browserName'],'os':_0x395581[_0x8eff('0x11c')],'referer':_0x395581[_0x8eff('0x11d')],'customerIp':_0x395581[_0x8eff('0x11e')],'customerPort':_0x395581['customerPort']?_0x395581[_0x8eff('0x11f')]:_0x8eff('0x119')},'messages':_(_0x395581[_0x8eff('0xde')])[_0x8eff('0x120')]()[_0x8eff('0x90')]({'secret':![]})[_0x8eff('0x3d')](function(_0x5e1cc7){if(_0x5e1cc7[_0x8eff('0xcf')]){var _0x99f3dd=path[_0x8eff('0x106')](_0xcd9723,_0x5e1cc7[_0x8eff('0xcf')][_0x8eff('0xcb')]);if(fs[_0x8eff('0x121')](_0x99f3dd)){fs['createReadStream'](_0x99f3dd)[_0x8eff('0x122')](fs[_0x8eff('0x123')](path[_0x8eff('0x106')](_0x28594b,_0x5e1cc7[_0x8eff('0xcf')][_0x8eff('0xcb')])));}}return{'date':moment(_0x5e1cc7[_0x8eff('0x86')])[_0x8eff('0xd9')](_0x8eff('0x11a'))['toString'](),'sender':_0x5e1cc7['direction']===_0x8eff('0x124')?_0x5e1cc7[_0x8eff('0xdf')]?_0x5e1cc7[_0x8eff('0xdf')][_0x8eff('0x3e')]:_0x8eff('0xe2'):_0x5e1cc7[_0x8eff('0x6f')][_0x8eff('0x10d')]+(_0x5e1cc7[_0x8eff('0x6f')][_0x8eff('0x10e')]?'\x20'+_0x5e1cc7[_0x8eff('0x6f')]['lastName']:''),'body':_0x5e1cc7['Attachment']?_0x5e1cc7[_0x8eff('0xcf')][_0x8eff('0xcb')]:_0x5e1cc7[_0x8eff('0x7d')],'direction':_0x5e1cc7[_0x8eff('0xeb')]==='out'?'A':'C','secret':_0x5e1cc7['secret'],'read':_0x5e1cc7[_0x8eff('0x8c')],'attachment':_0x5e1cc7['Attachment']};})[_0x8eff('0x6c')]()};return ejs[_0x8eff('0x125')](path[_0x8eff('0x106')](config[_0x8eff('0xd4')],_0x8eff('0x107'),_0x8eff('0x126'),_0x8eff('0x127')),{'interaction':_0x4e20f5})[_0x8eff('0x22')](function(_0x34f5d8){return new BPromise(function(_0x2a88bb,_0x3ec815){pdf[_0x8eff('0xc1')](_0x34f5d8,_0x1f2ae8)[_0x8eff('0x128')](path[_0x8eff('0x106')](_0x28594b,_0x8eff('0x129')+_0x395581['id']+'-'+_0x29419b+_0x8eff('0x12a')),function(_0x5f3f16,_0x4bc36){if(_0x5f3f16)return _0x3ec815(_0x5f3f16);_0x2a88bb(_0x4bc36);});});})[_0x8eff('0x22')](function(){return new BPromise(function(_0x348fed,_0x354d74){zipdir(_0x28594b,{'saveTo':_0x248cde},function(_0x596150,_0x36665f){if(_0x596150)return _0x354d74(_0x596150);return _0x348fed(_0x36665f);});})[_0x8eff('0x22')](function(){return new BPromise(function(_0x662c1b,_0x5c0e8d){rimraf(_0x28594b,function(_0x3dede3){if(_0x3dede3)_0x5c0e8d(_0x3dede3);return _0x662c1b();});});})['then'](function(){return _0x17767c[_0x8eff('0xd3')](_0x248cde,_0x3bdad7,function(_0x303d97){if(_0x303d97){console['log'](_0x8eff('0x12b'),_0x303d97);}else{fs[_0x8eff('0x12c')](_0x248cde);}});});});}else{return _0x17767c['sendStatus'](0xc8);}})['catch'](handleError(_0x17767c,null));};