3a3f35bd1dc2d53e551ae1191ff894060604f30a
[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 _0x9ac3=['Error\x20in\x20Vidaoo\x20configuration','join_url','out','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','abandonInteraction,\x20%s,\x20%s,\x20%s','abandon','entity\x20not\x20found','Interaction\x20already\x20assigned','disposition','attachmentUpload','basename','file','filename','mimetype','Attachment','closed','attachId','download','join','root','server/files/attachments/','close','mailTranscript','server/files/chat/upload/','format','now','pathTranscript','Messages','User','CmContact','customer','%s%d','Visitor','agentIdentifier','agentAlias','System','agent_alias','alias','agent_fullname','MM/DD/YYYY\x20HH:mm:ss','direction','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','pass','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','ChatMessage','omit','ids','getMessages','$gte','YYYY-MM-DD\x20HH:mm:ss','findAll','getMyMessages','includeAgent','addTags','setTags','spread','Tag','emit','chatInteractionTags:save','removeTags','unix','server','files','tmp','Contact','firstName','attachments','secret','Account','Owner','get','mkdirSync','10px','40px','30px','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','Chat','YYYY-MM-DD','N.A.','closedAt','browserName','osName','referer','customerIp','customerPort','tail','createReadStream','createWriteStream','lastName','renderFile','views','toFile','transcript-','.pdf','log','err','unlinkSync','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','util','to-csv','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','redis','localhost','socket.io-emitter','jayson/promise','client','http','then','info','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','error','code','ChatInteraction,\x20%s,\x20%s','message','status','json','count','set','Content-Range','apply','reject','update','destroy','end','sendStatus','name','send','Users','map','fullname','TagIds','Tags','split','forEach','push','index','rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','limit','offset','order','sort','where','filters','pick','field','color','from','tools_tags','select','u.id','user_has_chat_interactions','left_join','users','u.id\x20=\x20ui.UserId','chat_interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','chat_messages','me.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','sqlOperator','length','conditions','unreadMessages','value','`\x20>\x200','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','ContactId','buildExpression','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','text','start','some','compact','isEmpty','ChatWebsiteId','concat','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','having','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','t.id\x20IN\x20?','resolve','journey','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','i.ChatWebsiteId\x20IN\x20?','sequelize','toString','keyBy','merge','ChatInteraction','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','Account.mandatoryDisposition','c.firstName','Contact.firstName','c.lastName','c.email','c.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','ChatInteractionId','all','rows','catch','show','params','filtears','includeAll','include','options','create','body','describe','findOne','ChatWebsite','vidaooApiKey','vidaooEscalation','https://api-vidaoo.xcally.com/api/v1/sessions','follow','ValidationError'];(function(_0x53820f,_0x53de7e){var _0x4b4438=function(_0x16efb7){while(--_0x16efb7){_0x53820f['push'](_0x53820f['shift']());}};_0x4b4438(++_0x53de7e);}(_0x9ac3,0x70));var _0x39ac=function(_0x29311d,_0x3f9e23){_0x29311d=_0x29311d-0x0;var _0xa29b8f=_0x9ac3[_0x29311d];return _0xa29b8f;};'use strict';var pdf=require(_0x39ac('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x39ac('0x1'));var zipdir=require(_0x39ac('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x39ac('0x3'));var moment=require(_0x39ac('0x4'));var BPromise=require(_0x39ac('0x5'));var Mustache=require('mustache');var util=require(_0x39ac('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x39ac('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x39ac('0x8'));var squel=require('squel');var crypto=require(_0x39ac('0x9'));var jsforce=require(_0x39ac('0xa'));var deskjs=require(_0x39ac('0xb'));var toCsv=require(_0x39ac('0x7'));var querystring=require(_0x39ac('0xc'));var Papa=require('papaparse');var Redis=require(_0x39ac('0xd'));var authService=require(_0x39ac('0xe'));var qs=require(_0x39ac('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x39ac('0x10'));var logger=require(_0x39ac('0x11'))(_0x39ac('0x12'));var utils=require('../../config/utils');var config=require(_0x39ac('0x13'));var licenseUtil=require(_0x39ac('0x14'));var db=require('../../mysqldb')['db'];config[_0x39ac('0x15')]=_['defaults'](config[_0x39ac('0x15')],{'host':_0x39ac('0x16'),'port':0x18eb});var socket=require(_0x39ac('0x17'))(new Redis(config[_0x39ac('0x15')]));require('./chatInteraction.socket')['register'](socket);var jayson=require(_0x39ac('0x18'));var client=jayson[_0x39ac('0x19')][_0x39ac('0x1a')]({'port':0x232b});var client9004=jayson[_0x39ac('0x19')]['http']({'port':0x232c});function respondWithRpcPromise(_0x106125,_0x129a3b,_0x5413d0,_0x385125){return new BPromise(function(_0x174f0d,_0xf78b70){var _0x2a2178=_0x385125||client;return _0x2a2178['request'](_0x106125,_0x5413d0)[_0x39ac('0x1b')](function(_0x491546){logger[_0x39ac('0x1c')]('ChatInteraction,\x20%s,\x20%s',_0x129a3b,_0x39ac('0x1d'));logger[_0x39ac('0x1e')](_0x39ac('0x1f'),_0x129a3b,'request\x20sent',JSON['stringify'](_0x491546));if(_0x491546['error']){if(_0x491546[_0x39ac('0x20')][_0x39ac('0x21')]===0x1f4){logger['error'](_0x39ac('0x22'),_0x129a3b,_0x491546[_0x39ac('0x20')]['message']);return _0xf78b70(_0x491546[_0x39ac('0x20')][_0x39ac('0x23')]);}logger[_0x39ac('0x20')](_0x39ac('0x22'),_0x129a3b,_0x491546[_0x39ac('0x20')][_0x39ac('0x23')]);return _0x174f0d(_0x491546['error'][_0x39ac('0x23')]);}else{logger[_0x39ac('0x1c')]('ChatInteraction,\x20%s,\x20%s',_0x129a3b,_0x39ac('0x1d'));_0x174f0d(_0x491546['result'][_0x39ac('0x23')]);}})['catch'](function(_0x26977b){logger[_0x39ac('0x20')](_0x39ac('0x22'),_0x129a3b,_0x26977b);_0xf78b70(_0x26977b);});});}function respondWithStatusCode(_0x89ee0,_0x3fb7fe){_0x3fb7fe=_0x3fb7fe||0xcc;return function(_0x17c507){if(_0x17c507){return _0x89ee0['sendStatus'](_0x3fb7fe);}return _0x89ee0[_0x39ac('0x24')](_0x3fb7fe)['end']();};}function respondWithResult(_0x460d67,_0x3ba555){_0x3ba555=_0x3ba555||0xc8;return function(_0x3fc0c6){if(_0x3fc0c6){return _0x460d67[_0x39ac('0x24')](_0x3ba555)[_0x39ac('0x25')](_0x3fc0c6);}};}function respondWithFilteredResult(_0x2d8185,_0xa54bc9){return function(_0x395b8d){if(_0x395b8d){var _0x1e3e88=_0x395b8d[_0x39ac('0x26')],_0x3ea0c=_0xa54bc9['offset'],_0x43e925=_0xa54bc9['offset']+_0xa54bc9['limit'],_0x1d1802;if(_0x43e925>=_0x1e3e88){_0x43e925=_0x1e3e88;_0x1d1802=0xc8;}else{_0x1d1802=0xce;}_0x2d8185[_0x39ac('0x24')](_0x1d1802);return _0x2d8185[_0x39ac('0x27')](_0x39ac('0x28'),_0x3ea0c+'-'+_0x43e925+'/'+_0x1e3e88)[_0x39ac('0x25')](_0x395b8d);}return null;};}function patchUpdates(_0x4b4154){return function(_0x16f964){try{jsonpatch[_0x39ac('0x29')](_0x16f964,_0x4b4154,!![]);}catch(_0x89dd9b){return BPromise[_0x39ac('0x2a')](_0x89dd9b);}return _0x16f964['save']();};}function saveUpdates(_0x6dcfce,_0x5811f0){return function(_0xac6f99){if(_0xac6f99){return _0xac6f99[_0x39ac('0x2b')](_0x6dcfce)['then'](function(_0x35d6f0){return _0x35d6f0;});}return null;};}function removeEntity(_0x53862a,_0x4bd5d2){return function(_0x137b3e){if(_0x137b3e){return _0x137b3e[_0x39ac('0x2c')]()[_0x39ac('0x1b')](function(){_0x53862a[_0x39ac('0x24')](0xcc)[_0x39ac('0x2d')]();});}};}function handleEntityNotFound(_0x241baf,_0x59411b){return function(_0x353c3d){if(!_0x353c3d){_0x241baf[_0x39ac('0x2e')](0x194);}return _0x353c3d;};}function handleError(_0x5ac7d5,_0x5ddace){_0x5ddace=_0x5ddace||0x1f4;return function(_0x864ace){logger[_0x39ac('0x20')](_0x864ace['stack']);if(_0x864ace[_0x39ac('0x2f')]){delete _0x864ace['name'];}_0x5ac7d5[_0x39ac('0x24')](_0x5ddace)[_0x39ac('0x30')](_0x864ace);};}function getInteractionUsers(_0x5a93da,_0x4eccf5){return new BPromise(function(_0x3820ca,_0x298970){try{if(_0x4eccf5[_0x5a93da['id']]){_0x5a93da[_0x39ac('0x31')]=_[_0x39ac('0x32')](_0x4eccf5[_0x5a93da['id']],function(_0xbc2533){return{'id':_0xbc2533['id'],'fullname':_0xbc2533[_0x39ac('0x33')]};});}}catch(_0x56ea99){_0x298970(_0x56ea99);}_0x3820ca(_0x5a93da);});}function getInteractionTags(_0xd20f4c,_0x4563a1){return new BPromise(function(_0x36925d,_0x204ce4){try{if(_0xd20f4c[_0x39ac('0x34')]){_0xd20f4c[_0x39ac('0x35')]=[];_0xd20f4c[_0x39ac('0x34')][_0x39ac('0x36')](',')[_0x39ac('0x37')](function(_0x49ef28){_0xd20f4c[_0x39ac('0x35')][_0x39ac('0x38')](_0x4563a1[_0x49ef28]);});}delete _0xd20f4c['TagIds'];}catch(_0x5225dd){_0x204ce4(_0x5225dd);}_0x36925d(_0xd20f4c);});}function updateChatInteraction(_0x1c6779,_0x5559b7,_0x17ed45){return new BPromise(function(_0xa75df6,_0x1467cc){return getInteractionUsers(_0x1c6779,_0x17ed45)[_0x39ac('0x1b')](function(_0x2a677a){return getInteractionTags(_0x2a677a,_0x5559b7);})[_0x39ac('0x1b')](function(_0x3b862b){_0xa75df6(_0x3b862b);})['catch'](function(_0x18a0cc){_0x1467cc(_0x18a0cc);});});}exports[_0x39ac('0x39')]=function(_0x3e5bd8,_0x2640fb){var _0xc90ed4={},_0x5297d3={},_0xce76dd={'count':0x0,'rows':[]};var _0x312032=_[_0x39ac('0x32')](db['ChatInteraction'][_0x39ac('0x3a')],function(_0x509b96){return{'name':_0x509b96[_0x39ac('0x3b')],'type':_0x509b96[_0x39ac('0x3c')][_0x39ac('0x3d')]};});_0x5297d3[_0x39ac('0x3e')]=_[_0x39ac('0x32')](_0x312032,_0x39ac('0x2f'));_0x5297d3[_0x39ac('0x3f')]=_[_0x39ac('0x40')](_0x3e5bd8['query']);_0x5297d3['filters']=_['intersection'](_0x5297d3['model'],_0x5297d3[_0x39ac('0x3f')]);_0xc90ed4[_0x39ac('0x41')]=_[_0x39ac('0x42')](_0x5297d3[_0x39ac('0x3e')],qs[_0x39ac('0x43')](_0x3e5bd8[_0x39ac('0x3f')][_0x39ac('0x43')]));_0xc90ed4[_0x39ac('0x41')]=_0xc90ed4['attributes']['length']?_0xc90ed4[_0x39ac('0x41')]:_0x5297d3[_0x39ac('0x3e')];if(!_0x3e5bd8[_0x39ac('0x3f')][_0x39ac('0x44')](_0x39ac('0x45'))){_0xc90ed4[_0x39ac('0x46')]=qs['limit'](_0x3e5bd8[_0x39ac('0x3f')]['limit']);_0xc90ed4['offset']=qs[_0x39ac('0x47')](_0x3e5bd8['query']['offset']);}_0xc90ed4[_0x39ac('0x48')]=qs[_0x39ac('0x49')](_0x3e5bd8[_0x39ac('0x3f')][_0x39ac('0x49')]);_0xc90ed4[_0x39ac('0x4a')]=qs[_0x39ac('0x4b')](_[_0x39ac('0x4c')](_0x3e5bd8[_0x39ac('0x3f')],_0x5297d3['filters']),_0x312032);var _0x178503=[];var _0x1bec74=squel['select']()[_0x39ac('0x4d')]('id')[_0x39ac('0x4d')](_0x39ac('0x2f'))['field'](_0x39ac('0x4e'))[_0x39ac('0x4f')](_0x39ac('0x50'));var _0x2307dc=squel[_0x39ac('0x51')]()[_0x39ac('0x4d')](_0x39ac('0x52'))[_0x39ac('0x4d')]('u.fullname')[_0x39ac('0x4d')]('ui.ChatInteractionId')[_0x39ac('0x4f')](_0x39ac('0x53'),'ui')[_0x39ac('0x54')](_0x39ac('0x55'),'u',_0x39ac('0x56'));var _0x5e61b7=squel[_0x39ac('0x51')]()['from'](_0x39ac('0x57'),'i')[_0x39ac('0x54')]('cm_contacts','c',_0x39ac('0x58'))[_0x39ac('0x54')]('users','o','o.id\x20=\x20i.UserId')[_0x39ac('0x54')]('chat_websites','a','a.id\x20=\x20i.ChatWebsiteId')[_0x39ac('0x54')](_0x39ac('0x59'),'me',_0x39ac('0x5a'))['left_join']('chat_interaction_has_tags','it','it.ChatInteractionId\x20=\x20i.id')[_0x39ac('0x54')]('tools_tags','t',_0x39ac('0x5b'));var _0x2fb9c8=squel['expr']();var _0x2eeaa4=[];var _0x1e1f55=squel[_0x39ac('0x5c')]();var _0x497437;if(_0x3e5bd8['query']['search']){_0x497437=as[_0x39ac('0x5d')](_0x3e5bd8[_0x39ac('0x3f')]['search']);var _0x3173e0=_0x497437[_0x39ac('0x5e')];for(var _0x3324b3=0x0;_0x3324b3<_0x497437['conditions'][_0x39ac('0x5f')];_0x3324b3++){var _0x1e95fc=_0x497437[_0x39ac('0x60')][_0x3324b3];var _0x597cdf='i';var _0x286fdd=_['find'](_0x312032,[_0x39ac('0x2f'),_0x1e95fc[_0x39ac('0x4d')]]);if(!_0x286fdd){switch(_0x1e95fc[_0x39ac('0x4d')]){case _0x39ac('0x61'):if(_0x1e95fc[_0x39ac('0x62')]==0x1){_0x5e61b7['having']('`'+_0x1e95fc['field']+'`\x20=\x200');}else{_0x5e61b7['having']('`'+_0x1e95fc[_0x39ac('0x4d')]+_0x39ac('0x63'));}break;case'Contact':if(_0x1e95fc[_0x39ac('0x64')]===_0x39ac('0x65')){if(_0x1e95fc[_0x39ac('0x62')]['split']('\x20')[_0x39ac('0x5f')]>0x1){_0x2fb9c8[_0x3173e0](_0x39ac('0x66'),qs[_0x39ac('0x67')](_0x1e95fc[_0x39ac('0x62')]),null);}else{var _0x3f7d4b='%'+_0x1e95fc[_0x39ac('0x62')]+'%';_0x2fb9c8[_0x3173e0](_0x39ac('0x68'),_0x3f7d4b,_0x3f7d4b,_0x3f7d4b);}}else{_0x286fdd=_[_0x39ac('0x69')](_0x312032,[_0x39ac('0x2f'),_0x39ac('0x6a')]);_0x1e95fc[_0x39ac('0x4d')]=_0x39ac('0x6a');_0x32f840=as[_0x39ac('0x6b')](_0x597cdf,_0x286fdd[_0x39ac('0x3c')],_0x1e95fc);_0x2fb9c8[_0x3173e0](_0x32f840['text'],_0x32f840['value']['start'],_0x32f840[_0x39ac('0x62')][_0x39ac('0x2d')]);}break;case'Tag':var _0x54a019=_0x1e95fc[_0x39ac('0x62')][_0x39ac('0x36')](',')[_0x39ac('0x32')](function(_0x587f43){return Number(_0x587f43);});_0x54a019[_0x39ac('0x37')](function(_0x1ea153){_0x1e1f55['or'](_0x39ac('0x6c'),'%,'+_0x1ea153+',%');});_0x2eeaa4=_[_0x39ac('0x6d')](_0x2eeaa4,_0x54a019);break;case'User':if(_0x1e95fc[_0x39ac('0x64')]===_0x39ac('0x65')){_0x2fb9c8[_0x3173e0](_0x39ac('0x6e'),'%'+_0x1e95fc[_0x39ac('0x62')]+'%',null);}else{_0x286fdd=_[_0x39ac('0x69')](_0x312032,[_0x39ac('0x2f'),'UserId']);_0x1e95fc['field']=_0x39ac('0x6f');_0x32f840=as[_0x39ac('0x6b')](_0x597cdf,_0x286fdd[_0x39ac('0x3c')],_0x1e95fc);_0x2fb9c8[_0x3173e0](_0x32f840[_0x39ac('0x70')],_0x32f840[_0x39ac('0x62')][_0x39ac('0x71')],_0x32f840[_0x39ac('0x62')][_0x39ac('0x2d')]);}break;case'body':_0x32f840=as[_0x39ac('0x6b')]('me',null,_0x1e95fc);_0x2fb9c8[_0x3173e0](_0x32f840[_0x39ac('0x70')],_0x32f840[_0x39ac('0x62')][_0x39ac('0x71')],_0x32f840[_0x39ac('0x62')][_0x39ac('0x2d')]);break;}}else{var _0x32f840=as[_0x39ac('0x6b')](_0x597cdf,_0x286fdd[_0x39ac('0x3c')],_0x1e95fc);_0x2fb9c8[_0x3173e0](_0x32f840[_0x39ac('0x70')],_0x32f840[_0x39ac('0x62')][_0x39ac('0x71')],_0x32f840[_0x39ac('0x62')][_0x39ac('0x2d')]);}}}else{var _0x3d8344=_(_0x3e5bd8[_0x39ac('0x3f')])[_0x39ac('0x40')]()[_0x39ac('0x32')](function(_0x24f6cb){return _[_0x39ac('0x72')](_0x312032,['name',_0x24f6cb])?_0x24f6cb:undefined;})[_0x39ac('0x73')]()[_0x39ac('0x62')]();if(!_[_0x39ac('0x74')](_0x3d8344)){_0x3d8344[_0x39ac('0x37')](function(_0x2dabf8){if(_0x2dabf8===_0x39ac('0x75')){_0x5e61b7['where']('i.ChatWebsiteId\x20IN\x20?',[][_0x39ac('0x76')](_0x3e5bd8[_0x39ac('0x3f')][_0x2dabf8]));}else if(_0x2dabf8===_0x39ac('0x77')){var _0x2995af=JSON[_0x39ac('0x78')](_0x3e5bd8[_0x39ac('0x3f')][_0x2dabf8])['$gte'];var _0x4629ca=JSON[_0x39ac('0x78')](_0x3e5bd8[_0x39ac('0x3f')][_0x2dabf8])[_0x39ac('0x79')];_0x5e61b7[_0x39ac('0x4a')](_0x39ac('0x7a'),_0x2995af,_0x4629ca);}else{if(_0x3e5bd8[_0x39ac('0x3f')][_0x2dabf8]===_0x39ac('0x7b')){_0x5e61b7[_0x39ac('0x4a')]('i.'+_0x2dabf8+_0x39ac('0x7c'));}else{_0x5e61b7[_0x39ac('0x4a')]('i.'+_0x2dabf8+_0x39ac('0x7d'),_0x3e5bd8[_0x39ac('0x3f')][_0x2dabf8]);}}});}if(_0x3e5bd8[_0x39ac('0x3f')][_0x39ac('0x7e')]){if(_0x3e5bd8[_0x39ac('0x3f')][_0x39ac('0x7e')]==0x1){_0x5e61b7['having']('`unreadMessages`\x20=\x200');}else{_0x5e61b7[_0x39ac('0x7f')](_0x39ac('0x80'));}}if(_0x3e5bd8[_0x39ac('0x3f')][_0x39ac('0x81')]){_0x2eeaa4=_[_0x39ac('0x82')](_0x3e5bd8[_0x39ac('0x3f')][_0x39ac('0x81')])?_0x3e5bd8[_0x39ac('0x3f')][_0x39ac('0x81')]:new Array(_0x3e5bd8['query'][_0x39ac('0x81')]);_0x2eeaa4[_0x39ac('0x37')](function(_0x5939f3){_0x1e1f55['or'](_0x39ac('0x6c'),'%,'+_0x5939f3+',%');});}if(_0x3e5bd8[_0x39ac('0x3f')][_0x39ac('0x83')]){var _0x27862a=_0x3e5bd8[_0x39ac('0x3f')][_0x39ac('0x83')][_0x39ac('0x84')]('\x5c','\x5c\x5c')['replace']('\x27\x27','\x27\x27\x27\x27');if(qs[_0x39ac('0x85')](_0x27862a)){_0x2fb9c8['or'](_0x39ac('0x86'),_0x27862a+'%');}else{_0x2fb9c8['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x39ac('0x67')](_0x27862a))['or'](_0x39ac('0x87'),_0x27862a+'%');}}}_0x5e61b7['where'](_0x2fb9c8);_0x5e61b7[_0x39ac('0x88')](_0x39ac('0x89'));var _0x5a1e92={'type':db[_0x39ac('0x8a')][_0x39ac('0x8b')][_0x39ac('0x8c')],'raw':!![]};var _0x56fe49=_0x5e61b7[_0x39ac('0x8d')]();_0x56fe49['field'](_0x39ac('0x89'));_0x56fe49[_0x39ac('0x4d')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x39ac('0x61'));if(_0xc90ed4[_0x39ac('0x48')]){_0xc90ed4[_0x39ac('0x48')][_0x39ac('0x37')](function(_0x885156){_0x5e61b7['order']('i.'+_0x885156[0x0],_0x885156[0x1]==='DESC'?![]:!![]);});}if(!_[_0x39ac('0x74')](_0x2eeaa4)){_0x5e61b7[_0x39ac('0x7f')](_0x1e1f55);_0x56fe49['where'](_0x39ac('0x8e'),_0x2eeaa4);}BPromise[_0x39ac('0x8f')]()[_0x39ac('0x1b')](function(){if(!_0x497437){if(_0x3e5bd8[_0x39ac('0x3f')]['ChatWebsiteId']||_0x3e5bd8[_0x39ac('0x3f')][_0x39ac('0x90')])return;_0x56fe49[_0x39ac('0x4a')](_0x39ac('0x91'));_0x5e61b7[_0x39ac('0x4a')](_0x39ac('0x91'));return;}return _0x3e5bd8[_0x39ac('0x92')][_0x39ac('0x93')]({'attributes':['id'],'raw':!![]})[_0x39ac('0x1b')](function(_0x3c9868){if(_[_0x39ac('0x74')](_0x3c9868)){_0x56fe49[_0x39ac('0x4a')](_0x39ac('0x94'));_0x5e61b7[_0x39ac('0x4a')](_0x39ac('0x94'));}else{_0x56fe49['where'](_0x39ac('0x95'),_[_0x39ac('0x32')](_0x3c9868,'id'));_0x5e61b7[_0x39ac('0x4a')](_0x39ac('0x95'),_[_0x39ac('0x32')](_0x3c9868,'id'));}});})[_0x39ac('0x1b')](function(){db[_0x39ac('0x96')][_0x39ac('0x3f')](_0x56fe49[_0x39ac('0x97')](),_0x5a1e92)[_0x39ac('0x1b')](function(_0x1c11dc){_0xce76dd[_0x39ac('0x26')]=_0x1c11dc[_0x39ac('0x5f')];if(_0xce76dd[_0x39ac('0x26')]===0x0)return[];return db['sequelize'][_0x39ac('0x3f')](_0x1bec74[_0x39ac('0x97')](),_0x5a1e92)['then'](function(_0x451231){_0x178503=_[_0x39ac('0x98')](_0x451231,'id');_0x5a1e92=_[_0x39ac('0x99')](_0x5a1e92,{'model':db[_0x39ac('0x9a')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x3e5bd8['query'][_0x39ac('0x43')]){_0xc90ed4[_0x39ac('0x41')][_0x39ac('0x37')](function(_0x435d95){_0x5e61b7[_0x39ac('0x4d')]('i.'+_0x435d95);});}else{_0x5e61b7[_0x39ac('0x4d')](_0x39ac('0x9b'),_0x39ac('0x61'));_0x5e61b7[_0x39ac('0x4d')](_0x39ac('0x9c'),_0x39ac('0x9d'));_0x5e61b7['field']('a.mandatoryDisposition',_0x39ac('0x9e'));_0x5e61b7[_0x39ac('0x4d')]('i.*');_0x5e61b7[_0x39ac('0x4d')](_0x39ac('0x9f'),_0x39ac('0xa0'));_0x5e61b7['field'](_0x39ac('0xa1'),'Contact.lastName');_0x5e61b7['field'](_0x39ac('0xa2'),'Contact.email');_0x5e61b7['field'](_0x39ac('0xa3'),'Contact.phone');_0x5e61b7['field'](_0x39ac('0xa4'),_0x39ac('0xa5'));_0x5e61b7[_0x39ac('0x4d')](_0x39ac('0xa6'),_0x39ac('0xa7'));_0x5e61b7['field'](_0x39ac('0xa8'),'Owner.fullname');_0x5e61b7[_0x39ac('0x4d')]('o.internal',_0x39ac('0xa9'));_0x5e61b7['field'](_0x39ac('0xaa'),_0x39ac('0x34'));}if(_0xc90ed4['limit'])_0x5e61b7[_0x39ac('0x46')](_0xc90ed4['limit']);if(_0xc90ed4[_0x39ac('0x47')])_0x5e61b7[_0x39ac('0x47')](_0xc90ed4[_0x39ac('0x47')]);return db[_0x39ac('0x96')][_0x39ac('0x3f')](_0x5e61b7['toString'](),_0x5a1e92);})[_0x39ac('0x1b')](function(_0x262076){_0x2307dc[_0x39ac('0x4a')](_0x39ac('0xab'),_[_0x39ac('0x32')](_0x262076,'id'));return db[_0x39ac('0x96')][_0x39ac('0x3f')](_0x2307dc[_0x39ac('0x97')](),_0x5a1e92)['then'](function(_0xbc23bd){var _0x18b93d=_['groupBy'](_0xbc23bd,_0x39ac('0xac'));var _0x2f77b2=[];_0x262076[_0x39ac('0x37')](function(_0x3ef4b9){_0x2f77b2[_0x39ac('0x38')](updateChatInteraction(_0x3ef4b9,_0x178503,_0x18b93d));});return BPromise[_0x39ac('0xad')](_0x2f77b2);});});})['then'](function(_0x2c5c8f){_0xce76dd[_0x39ac('0xae')]=_0x2c5c8f;return _0xce76dd;})['then'](respondWithFilteredResult(_0x2640fb,_0xc90ed4));})[_0x39ac('0xaf')](handleError(_0x2640fb,null));};exports[_0x39ac('0xb0')]=function(_0x8b69c,_0x49d68d){var _0x1aa9fe={'raw':![],'where':{'id':_0x8b69c[_0x39ac('0xb1')]['id']}},_0x370cb4={};_0x370cb4[_0x39ac('0x3e')]=_['keys'](db['ChatInteraction'][_0x39ac('0x3a')]);_0x370cb4[_0x39ac('0x3f')]=_[_0x39ac('0x40')](_0x8b69c[_0x39ac('0x3f')]);_0x370cb4[_0x39ac('0xb2')]=_[_0x39ac('0x42')](_0x370cb4[_0x39ac('0x3e')],_0x370cb4[_0x39ac('0x3f')]);_0x1aa9fe[_0x39ac('0x41')]=_['intersection'](_0x370cb4['model'],qs['fields'](_0x8b69c[_0x39ac('0x3f')][_0x39ac('0x43')]));_0x1aa9fe[_0x39ac('0x41')]=_0x1aa9fe[_0x39ac('0x41')]['length']?_0x1aa9fe[_0x39ac('0x41')]:_0x370cb4[_0x39ac('0x3e')];if(_0x8b69c[_0x39ac('0x3f')][_0x39ac('0xb3')]){_0x1aa9fe[_0x39ac('0xb4')]=[{'all':!![]}];}_0x1aa9fe=_[_0x39ac('0x99')]({},_0x1aa9fe,_0x8b69c[_0x39ac('0xb5')]);return db[_0x39ac('0x9a')][_0x39ac('0x69')](_0x1aa9fe)[_0x39ac('0x1b')](handleEntityNotFound(_0x49d68d,null))[_0x39ac('0x1b')](respondWithResult(_0x49d68d,null))['catch'](handleError(_0x49d68d,null));};exports[_0x39ac('0xb6')]=function(_0xab2d7a,_0x51ca11){return db[_0x39ac('0x9a')]['create'](_0xab2d7a[_0x39ac('0xb7')],{})[_0x39ac('0x1b')](respondWithResult(_0x51ca11,0xc9))[_0x39ac('0xaf')](handleError(_0x51ca11,null));};exports[_0x39ac('0x2b')]=function(_0x3efd7f,_0x4f6e91){if(_0x3efd7f[_0x39ac('0xb7')]['id']){delete _0x3efd7f[_0x39ac('0xb7')]['id'];}return db[_0x39ac('0x9a')][_0x39ac('0x69')]({'where':{'id':_0x3efd7f['params']['id']}})[_0x39ac('0x1b')](handleEntityNotFound(_0x4f6e91,null))['then'](saveUpdates(_0x3efd7f[_0x39ac('0xb7')],null))['then'](respondWithResult(_0x4f6e91,null))[_0x39ac('0xaf')](handleError(_0x4f6e91,null));};exports['destroy']=function(_0x4be70c,_0x2b8ba3){return db['ChatInteraction']['find']({'where':{'id':_0x4be70c[_0x39ac('0xb1')]['id']}})[_0x39ac('0x1b')](handleEntityNotFound(_0x2b8ba3,null))[_0x39ac('0x1b')](removeEntity(_0x2b8ba3,null))['catch'](handleError(_0x2b8ba3,null));};exports[_0x39ac('0xb8')]=function(_0x25ef19,_0x5bdb44){return db[_0x39ac('0x9a')][_0x39ac('0xb8')]()[_0x39ac('0x1b')](respondWithResult(_0x5bdb44,null))[_0x39ac('0xaf')](handleError(_0x5bdb44,null));};exports['createVidaooSession']=function(_0x598533,_0x488119){var _0x34c7b8=_0x598533[_0x39ac('0xb1')]['id'];var _0x205a3e;var _0x436538;var _0x4267a0;return db['ChatInteraction'][_0x39ac('0xb9')]({'where':{'id':_0x34c7b8}})[_0x39ac('0x1b')](function(_0x4e6be5){_0x205a3e=_0x4e6be5;return db[_0x39ac('0xba')][_0x39ac('0xb9')]({'where':{'id':_0x4e6be5[_0x39ac('0x75')]},'attributes':['id',_0x39ac('0xbb'),_0x39ac('0xbc')],'raw':!![]});})[_0x39ac('0x1b')](function(_0x3d30d8){if(_0x3d30d8&&_0x3d30d8[_0x39ac('0xbb')]&&_0x3d30d8[_0x39ac('0xbc')]){_0x436538=_0x3d30d8;var _0x5e0759={'rejectUnauthorized':![],'method':'POST','uri':_0x39ac('0xbd'),'headers':{'X-APIKEY':_0x3d30d8['vidaooApiKey']},'body':{'name':'MotionCWB:'+_0x34c7b8},'redirect':_0x39ac('0xbe'),'json':!![]};return rp(_0x5e0759);}else{throw new db[(_0x39ac('0x8a'))][(_0x39ac('0xbf'))](_0x39ac('0xc0'));}})[_0x39ac('0x1b')](function(_0x535fac){_0x4267a0=_0x535fac;if(_0x4267a0['id']){var _0x4406e3={'body':_0x4267a0[_0x39ac('0xc1')],'ChatWebsiteId':_0x436538['id'],'ChatInteractionId':_0x205a3e['id'],'direction':_0x39ac('0xc2'),'UserId':_0x598533[_0x39ac('0x92')]['id']};return db['ChatMessage'][_0x39ac('0xb6')](_0x4406e3,{});}else{throw new db[(_0x39ac('0x8a'))][(_0x39ac('0xbf'))](_0x39ac('0xc3'));}})[_0x39ac('0x1b')](function(){return _0x205a3e[_0x39ac('0xc4')]({'vidaooSessionId':_0x4267a0['id']});})[_0x39ac('0x1b')](respondWithResult(_0x488119,null))['catch'](handleError(_0x488119,null));};exports[_0x39ac('0xc5')]=function(_0x143d28,_0x59fea9){if(_0x143d28[_0x39ac('0xb7')]['id']){delete _0x143d28[_0x39ac('0xb7')]['id'];}return db['ChatInteraction'][_0x39ac('0x69')]({'where':{'id':_0x143d28['params']['id']}})[_0x39ac('0x1b')](handleEntityNotFound(_0x59fea9,null))[_0x39ac('0x1b')](saveUpdates(_0x143d28[_0x39ac('0xb7')],null))[_0x39ac('0x1b')](respondWithResult(_0x59fea9,null))[_0x39ac('0xaf')](handleError(_0x59fea9,null));};exports['abandon']=function(_0x3a44c5,_0x3b88a1,_0x1954cd){if(_0x3a44c5['body']['id']){delete _0x3a44c5[_0x39ac('0xb7')]['id'];}return db['ChatInteraction'][_0x39ac('0x69')]({'where':{'id':_0x3a44c5['params']['id']}})['then'](function(_0x5c6b76){if(!_0x5c6b76){logger[_0x39ac('0x20')](_0x39ac('0xc6'),_0x39ac('0xc7'),0x194,_0x39ac('0xc8'));_0x3b88a1[_0x39ac('0x2e')](0x194);}else{if(_0x5c6b76[_0x39ac('0x6f')]){throw new db['Sequelize'][(_0x39ac('0xbf'))](_0x39ac('0xc9'));}}return _0x5c6b76;})[_0x39ac('0x1b')](function(_0x3a4510){if(_0x3a4510){return _0x3a4510[_0x39ac('0x2b')]({'closed':_0x3a44c5[_0x39ac('0xb7')]['closed'],'disposition':_0x3a44c5['body'][_0x39ac('0xca')]})[_0x39ac('0x1b')](function(_0x449f2e){return _0x449f2e;});}})[_0x39ac('0x1b')](function(_0xd3dbb5){return respondWithRpcPromise('AbandonInteraction','abandon',_0x3a44c5['body'],client9004);})['then'](respondWithResult(_0x3b88a1,null))[_0x39ac('0xaf')](handleError(_0x3b88a1,null));};exports[_0x39ac('0xcb')]=function(_0x56a1c2,_0x25ef69,_0x157444){_0x56a1c2['body'][_0x39ac('0x2f')]=_0x56a1c2['file']['originalname'];_0x56a1c2[_0x39ac('0xb7')][_0x39ac('0xcc')]=_0x56a1c2[_0x39ac('0xcd')][_0x39ac('0xce')];_0x56a1c2[_0x39ac('0xb7')][_0x39ac('0x3c')]=_0x56a1c2['file'][_0x39ac('0xcf')];return db[_0x39ac('0xd0')][_0x39ac('0xb6')](_0x56a1c2[_0x39ac('0xb7')])[_0x39ac('0x1b')](respondWithResult(_0x25ef69,0xc9))[_0x39ac('0xaf')](handleError(_0x25ef69,null));};exports['attachmentDownload']=function(_0x5d62ee,_0x1d3f55,_0x14989a){return db[_0x39ac('0x9a')][_0x39ac('0xb9')]({'where':{'id':_0x5d62ee[_0x39ac('0xb1')]['id']},'raw':!![]})[_0x39ac('0x1b')](handleEntityNotFound(_0x1d3f55,null))[_0x39ac('0x1b')](function(_0x25f9f5){if(_0x25f9f5){if(_0x25f9f5[_0x39ac('0xd1')]){return _0x1d3f55[_0x39ac('0x24')](0x193)[_0x39ac('0x25')]({'status':0x193,'message':'Unauthorized'});}return db[_0x39ac('0xd0')][_0x39ac('0xb9')]({'where':{'id':_0x5d62ee[_0x39ac('0x3f')][_0x39ac('0xd2')]},'raw':!![]})[_0x39ac('0x1b')](handleEntityNotFound(_0x1d3f55,null));}})['then'](function(_0xd00dab){if(_0xd00dab){return _0x1d3f55[_0x39ac('0xd3')](path[_0x39ac('0xd4')](config[_0x39ac('0xd5')],_0x39ac('0xd6'),_0xd00dab[_0x39ac('0xcc')]));}})[_0x39ac('0xaf')](handleError(_0x1d3f55,null));};exports[_0x39ac('0xd7')]=function(_0x55f20a,_0x29dfc2){var _0x2d744a=null;var _0x32b21a=null;var _0x23ce3f=null;var _0x1db3ae=null;if(_0x55f20a[_0x39ac('0xb7')]['id']){delete _0x55f20a[_0x39ac('0xb7')]['id'];}if(_0x55f20a['body'][_0x39ac('0xd8')]){_0x1db3ae=path[_0x39ac('0xd4')](config[_0x39ac('0xd5')],_0x39ac('0xd9'),util[_0x39ac('0xda')]('transcript-%s.txt',Date[_0x39ac('0xdb')]()));_0x55f20a[_0x39ac('0xb7')][_0x39ac('0xdc')]=_0x1db3ae;}return db[_0x39ac('0x9a')][_0x39ac('0x69')]({'where':{'id':_0x55f20a['params']['id']},'include':[{'model':db['ChatMessage'],'as':_0x39ac('0xdd'),'include':[{'model':db['User'],'as':_0x39ac('0xde')}]}]})[_0x39ac('0x1b')](handleEntityNotFound(_0x29dfc2,null))[_0x39ac('0x1b')](saveUpdates(_0x55f20a[_0x39ac('0xb7')],null))[_0x39ac('0x1b')](function(_0x5d8a2d){if(_0x5d8a2d){_0x2d744a=_0x5d8a2d;return db[_0x39ac('0xba')][_0x39ac('0x69')]({'where':{'id':_0x2d744a['ChatWebsiteId']}});}})[_0x39ac('0x1b')](function(_0x52871e){if(_0x52871e){_0x23ce3f=_0x52871e;return db[_0x39ac('0xdf')][_0x39ac('0x69')]({'where':{'id':_0x2d744a[_0x39ac('0x6a')]}});}})[_0x39ac('0x1b')](function(_0x5b77f7){if(_0x5b77f7){_0x32b21a=_0x5b77f7;if(_0x1db3ae){var _0x799d2=null;for(var _0x381a60=0x1;_0x381a60<_0x2d744a['Messages'][_0x39ac('0x5f')];++_0x381a60){_0x799d2=_0x2d744a['Messages'][_0x381a60];var _0x3e638b=_0x799d2[_0x39ac('0x6f')]?util[_0x39ac('0xda')]('%s%d',_0x23ce3f['agentAlias'],_0x799d2['UserId']):'System';var _0xc9493c=_0x55f20a[_0x39ac('0xb7')][_0x39ac('0xe0')]||util[_0x39ac('0xda')](_0x39ac('0xe1'),_0x39ac('0xe2'),_0x799d2[_0x39ac('0x6a')]);switch(_0x23ce3f[_0x39ac('0xe3')]){case'website_alias':_0x3e638b=_0x799d2['UserId']?util['format']('%s%d',_0x23ce3f[_0x39ac('0xe4')],_0x799d2[_0x39ac('0x6f')]):_0x39ac('0xe5');break;case _0x39ac('0xe6'):_0x3e638b=_0x799d2[_0x39ac('0x6f')]?_0x799d2['User'][_0x39ac('0xe7')]||_0x799d2[_0x39ac('0xde')][_0x39ac('0x33')]:'System';break;case _0x39ac('0xe8'):_0x3e638b=_0x799d2[_0x39ac('0x6f')]?_0x799d2[_0x39ac('0xde')][_0x39ac('0x33')]:_0x39ac('0xe5');break;default:_0x3e638b=_0x799d2[_0x39ac('0x6f')]?util[_0x39ac('0xda')](_0x39ac('0xe1'),_0x23ce3f[_0x39ac('0xe4')],_0x799d2[_0x39ac('0x6f')]):_0x39ac('0xe5');}var _0x5a1be0=util[_0x39ac('0xda')]('[%s]\x20%s:\x20%s\x0a',moment(_0x799d2[_0x39ac('0x77')])['format'](_0x39ac('0xe9')),_0x799d2[_0x39ac('0xea')]==='in'?_0xc9493c:_0x3e638b,_0x799d2[_0x39ac('0xb7')]);if(!_0x799d2['secret']){fs['appendFileSync'](_0x1db3ae,_0x5a1be0);}}return db[_0x39ac('0xeb')][_0x39ac('0xb9')]({'where':{'service':!![]},'include':[{'model':db[_0x39ac('0xec')],'as':'Smtp','raw':!![]}]});}}})[_0x39ac('0x1b')](function(_0x53c721){if(_0x53c721&&_0x53c721['Smtp']&&_0x55f20a['body']){var _0x11830e={'tls':{'rejectUnauthorized':![]}};if(_0x53c721[_0x39ac('0xed')][_0x39ac('0xee')]){_0x11830e[_0x39ac('0xee')]=_0x53c721['Smtp'][_0x39ac('0xee')];}else{_0x11830e[_0x39ac('0xef')]=_0x53c721[_0x39ac('0xed')][_0x39ac('0xef')];_0x11830e[_0x39ac('0xf0')]=_0x53c721[_0x39ac('0xed')]['port'];_0x11830e[_0x39ac('0xf1')]=_0x53c721[_0x39ac('0xed')]['secure'];}if(_0x53c721['Smtp'][_0x39ac('0xf2')]){_0x11830e['auth']={'user':_0x53c721[_0x39ac('0xed')][_0x39ac('0x92')],'pass':_0x53c721[_0x39ac('0xed')][_0x39ac('0xf3')]};}return respondWithRpcPromise(_0x39ac('0xf4'),_0x39ac('0xf5'),{'account':_0x11830e,'message':{'from':util[_0x39ac('0xda')](_0x39ac('0xf6'),_0x53c721[_0x39ac('0x2f')],_0x53c721['email']||_0x53c721[_0x39ac('0xed')][_0x39ac('0x92')]),'to':_0x55f20a[_0x39ac('0xb7')][_0x39ac('0xd8')],'subject':_0x39ac('0xf7'),'text':util[_0x39ac('0xda')](_0x39ac('0xf8'),_0x55f20a['body'][_0x39ac('0xd8')]),'attachments':[{'path':_0x1db3ae}]}})[_0x39ac('0x1b')](function(){return _0x2d744a;})[_0x39ac('0xaf')](function(_0x2fc82e){console['error'](_0x2fc82e);});}else{return _0x2d744a;}})[_0x39ac('0x1b')](respondWithStatusCode(_0x29dfc2,0xc8))[_0x39ac('0xaf')](handleError(_0x29dfc2,null));};exports[_0x39ac('0xf9')]=function(_0x1af691,_0x3873c0,_0x500da5){return db[_0x39ac('0xfa')][_0x39ac('0x69')]({'where':{'id':_0x1af691[_0x39ac('0xb1')]['id']}})[_0x39ac('0x1b')](handleEntityNotFound(_0x3873c0,null))[_0x39ac('0x1b')](function(_0x1564be){if(_0x1564be){return _0x1564be[_0x39ac('0xf9')](_0x1af691[_0x39ac('0xb7')]['ids'],_[_0x39ac('0xfb')](_0x1af691['body'],[_0x39ac('0xfc'),'id'])||{});}})['then'](respondWithResult(_0x3873c0,null))['catch'](handleError(_0x3873c0,null));};exports[_0x39ac('0xfd')]=function(_0xd06076,_0x25c082,_0x225b66){var _0x1a5d18={'raw':![],'where':{}};var _0x47e249={};var _0x16563b={'count':0x0,'rows':[]};return db[_0x39ac('0x9a')][_0x39ac('0xb9')]({'where':{'id':_0xd06076[_0x39ac('0xb1')]['id']}})['then'](handleEntityNotFound(_0x25c082,null))[_0x39ac('0x1b')](function(_0x171365){if(_0x171365){_0x47e249['model']=_[_0x39ac('0x40')](db['ChatMessage'][_0x39ac('0x3a')]);_0x47e249['query']=_[_0x39ac('0x40')](_0xd06076[_0x39ac('0x3f')]);_0x47e249[_0x39ac('0x4b')]=_[_0x39ac('0x42')](_0x47e249['model'],_0x47e249[_0x39ac('0x3f')]);_0x1a5d18['attributes']=_[_0x39ac('0x42')](_0x47e249['model'],qs[_0x39ac('0x43')](_0xd06076[_0x39ac('0x3f')][_0x39ac('0x43')]));_0x1a5d18[_0x39ac('0x41')]=_0x1a5d18[_0x39ac('0x41')][_0x39ac('0x5f')]?_0x1a5d18['attributes']:_0x47e249[_0x39ac('0x3e')];if(!_0xd06076['query']['hasOwnProperty']('nolimit')){_0x1a5d18[_0x39ac('0x46')]=qs[_0x39ac('0x46')](_0xd06076['query'][_0x39ac('0x46')]);_0x1a5d18[_0x39ac('0x47')]=qs[_0x39ac('0x47')](_0xd06076[_0x39ac('0x3f')][_0x39ac('0x47')]);}_0x1a5d18[_0x39ac('0x48')]=qs[_0x39ac('0x49')](_0xd06076[_0x39ac('0x3f')][_0x39ac('0x49')]);_0x1a5d18['where']=qs[_0x39ac('0x4b')](_[_0x39ac('0x4c')](_0xd06076['query'],_0x47e249['filters']));_0x1a5d18[_0x39ac('0x4a')][_0x39ac('0xac')]=_0x171365['id'];if(_0xd06076['query'][_0x39ac('0x83')]){_0x1a5d18[_0x39ac('0x4a')]=_[_0x39ac('0x99')](_0x1a5d18[_0x39ac('0x4a')],{'$or':_['map'](_0x1a5d18['attributes'],function(_0x5a9b9e){var _0x271b72={};_0x271b72[_0x5a9b9e]={'$like':'%'+_0xd06076[_0x39ac('0x3f')][_0x39ac('0x83')]+'%'};return _0x271b72;})});}if(_0xd06076[_0x39ac('0x3f')]['$gte']){var _0x1d122d=_0xd06076['query'][_0x39ac('0xfe')][_0x39ac('0x36')](',');var _0x19f91b={};_0x19f91b[_0x1d122d[0x0]]={'$gte':moment(_0x1d122d[0x1])[_0x39ac('0xda')](_0x39ac('0xff'))};_0x1a5d18[_0x39ac('0x4a')]=_[_0x39ac('0x99')](_0x1a5d18['where'],_0x19f91b);}_0x1a5d18=_[_0x39ac('0x99')]({},_0x1a5d18,_0xd06076[_0x39ac('0xb5')]);return db[_0x39ac('0xfa')][_0x39ac('0x26')]({'where':_0x1a5d18[_0x39ac('0x4a')]})[_0x39ac('0x1b')](function(_0xe2840b){_0x16563b[_0x39ac('0x26')]=_0xe2840b;if(_0xd06076[_0x39ac('0x3f')]['includeAll']){_0x1a5d18['include']=[{'all':!![]}];}return db[_0x39ac('0xfa')][_0x39ac('0x100')](_0x1a5d18);})['then'](function(_0x1e819c){_0x16563b[_0x39ac('0xae')]=_0x1e819c;return _0x16563b;});}})[_0x39ac('0x1b')](respondWithFilteredResult(_0x25c082,_0x1a5d18))[_0x39ac('0xaf')](handleError(_0x25c082,null));};exports[_0x39ac('0x101')]=function(_0x51a2ee,_0x2344f0,_0x24012a){var _0x164d11={'where':{}},_0x131eca={},_0x195137={'count':0x0,'rows':[]};return db[_0x39ac('0x9a')][_0x39ac('0xb9')]({'where':{'id':_0x51a2ee[_0x39ac('0xb1')]['id']}})['then'](handleEntityNotFound(_0x2344f0,null))['then'](function(_0x1d20a5){if(_0x1d20a5){_0x131eca[_0x39ac('0x3e')]=_[_0x39ac('0x40')](db['ChatMessage']['rawAttributes']);_0x131eca[_0x39ac('0x3f')]=_[_0x39ac('0x40')](_0x51a2ee[_0x39ac('0x3f')]);_0x131eca[_0x39ac('0x4b')]=_[_0x39ac('0x42')](_0x131eca[_0x39ac('0x3e')],_0x131eca['query']);_0x164d11[_0x39ac('0x41')]=_[_0x39ac('0x42')](_0x131eca[_0x39ac('0x3e')],qs[_0x39ac('0x43')](_0x51a2ee[_0x39ac('0x3f')][_0x39ac('0x43')]));_0x164d11[_0x39ac('0x41')]=_0x164d11['attributes'][_0x39ac('0x5f')]?_0x164d11[_0x39ac('0x41')]:_0x131eca[_0x39ac('0x3e')];if(!_0x51a2ee['query'][_0x39ac('0x44')](_0x39ac('0x45'))){_0x164d11[_0x39ac('0x46')]=qs[_0x39ac('0x46')](_0x51a2ee['query'][_0x39ac('0x46')]);_0x164d11[_0x39ac('0x47')]=qs[_0x39ac('0x47')](_0x51a2ee[_0x39ac('0x3f')][_0x39ac('0x47')]);}_0x164d11[_0x39ac('0x48')]=qs[_0x39ac('0x49')](_0x51a2ee[_0x39ac('0x3f')][_0x39ac('0x49')]);_0x164d11[_0x39ac('0x4a')]=qs[_0x39ac('0x4b')](_['pick'](_0x51a2ee[_0x39ac('0x3f')],_0x131eca[_0x39ac('0x4b')]));_0x164d11['where'][_0x39ac('0xac')]=_0x1d20a5['id'];if(_0x51a2ee[_0x39ac('0x3f')][_0x39ac('0x83')]){_0x164d11[_0x39ac('0x4a')]=_[_0x39ac('0x99')](_0x164d11[_0x39ac('0x4a')],{'$or':_['map'](_0x164d11[_0x39ac('0x41')],function(_0x4e066e){var _0x28ab3f={};_0x28ab3f[_0x4e066e]={'$like':'%'+_0x51a2ee[_0x39ac('0x3f')]['filter']+'%'};return _0x28ab3f;})});}_0x164d11['where']['secret']=![];if(_0x51a2ee['query']['id']){_0x164d11['where']['id']={'$gt':_0x51a2ee['query']['id']};}_0x164d11=_['merge']({},_0x164d11,_0x51a2ee[_0x39ac('0xb5')]);return db[_0x39ac('0xfa')][_0x39ac('0x26')]({'where':_0x164d11[_0x39ac('0x4a')]})[_0x39ac('0x1b')](function(_0x3f1cc9){_0x195137[_0x39ac('0x26')]=_0x3f1cc9;_0x164d11[_0x39ac('0xb4')]=[];if(_0x51a2ee[_0x39ac('0x3f')][_0x39ac('0x102')]){_0x164d11[_0x39ac('0xb4')][_0x39ac('0x38')]({'model':db['User'],'as':_0x39ac('0xde'),'attributes':['id',_0x39ac('0x33'),_0x39ac('0xe7')]});}if(_0x51a2ee[_0x39ac('0x3f')]['includeAll']){_0x164d11[_0x39ac('0xb4')]=[{'all':!![]}];}return db[_0x39ac('0xfa')]['findAll'](_0x164d11);})[_0x39ac('0x1b')](function(_0x4be16c){_0x195137['rows']=_0x4be16c;return _0x195137;});}})[_0x39ac('0x1b')](respondWithFilteredResult(_0x2344f0,_0x164d11))[_0x39ac('0xaf')](handleError(_0x2344f0,null));};exports[_0x39ac('0x103')]=function(_0x1f83c6,_0x46d556,_0x553052){return db[_0x39ac('0x9a')][_0x39ac('0x69')]({'where':{'id':_0x1f83c6[_0x39ac('0xb1')]['id']}})[_0x39ac('0x1b')](handleEntityNotFound(_0x46d556,null))[_0x39ac('0x1b')](function(_0x41cf7c){if(_0x41cf7c){return _0x41cf7c[_0x39ac('0x104')](_0x1f83c6['body']['ids'],_[_0x39ac('0xfb')](_0x1f83c6[_0x39ac('0xb7')],['ids','id'])||{})[_0x39ac('0x105')](function(){return db[_0x39ac('0x106')]['findAll']({'attributes':['id',_0x39ac('0x2f'),_0x39ac('0x4e')],'where':{'id':_0x1f83c6[_0x39ac('0xb7')][_0x39ac('0xfc')]}});})[_0x39ac('0x1b')](function(_0xd50648){socket[_0x39ac('0x107')](_0x39ac('0x108'),{'id':Number(_0x1f83c6[_0x39ac('0xb1')]['id']),'tags':_0xd50648||[]});return{'id':Number(_0x1f83c6[_0x39ac('0xb1')]['id']),'tags':_0xd50648||[]};});}})[_0x39ac('0x1b')](respondWithResult(_0x46d556,null))[_0x39ac('0xaf')](handleError(_0x46d556,null));};exports[_0x39ac('0x109')]=function(_0x54a8c7,_0x16fcb6,_0x979f26){return db[_0x39ac('0x9a')][_0x39ac('0x69')]({'where':{'id':_0x54a8c7['params']['id']}})[_0x39ac('0x1b')](handleEntityNotFound(_0x16fcb6,null))[_0x39ac('0x1b')](function(_0x4e20f6){if(_0x4e20f6){return _0x4e20f6[_0x39ac('0x109')](_0x54a8c7[_0x39ac('0x3f')][_0x39ac('0xfc')]);}})['then'](respondWithStatusCode(_0x16fcb6,null))[_0x39ac('0xaf')](handleError(_0x16fcb6,null));};exports[_0x39ac('0xd3')]=function(_0x333960,_0x332ac0){var _0x27c43d=moment()[_0x39ac('0x10a')]()[_0x39ac('0x97')]();var _0x114e9c=path[_0x39ac('0xd4')](config['root'],_0x39ac('0x10b'),_0x39ac('0x10c'),_0x39ac('0x10d'));var _0x1c788b=path[_0x39ac('0xd4')](config[_0x39ac('0xd5')],'server',_0x39ac('0x10c'),'attachments');var _0xebe690=path['join'](_0x114e9c,_0x27c43d);var _0x13842d=util[_0x39ac('0xda')]('transcript-%d-%s.zip',_0x333960['params']['id'],_0x27c43d);var _0x27e592=path[_0x39ac('0xd4')](_0x114e9c,_0x13842d);var _0x2bbb9d=[];_0x2bbb9d['push']({'model':db[_0x39ac('0xde')],'as':_0x39ac('0xde'),'attributes':['id',_0x39ac('0x33')],'raw':!![]});_0x2bbb9d[_0x39ac('0x38')]({'model':db['CmContact'],'as':_0x39ac('0x10e'),'attributes':['id',_0x39ac('0x10f'),'lastName'],'raw':!![]});if(_0x333960['query'][_0x39ac('0x110')]){_0x2bbb9d[_0x39ac('0x38')]({'model':db[_0x39ac('0xd0')],'as':'Attachment','raw':!![]});}var _0x37eef3=[{'model':db[_0x39ac('0xfa')],'as':'Messages','attributes':['id',_0x39ac('0xb7'),_0x39ac('0x77'),'direction',_0x39ac('0x111'),'read'],'include':_0x2bbb9d}];_0x37eef3[_0x39ac('0x38')]({'model':db[_0x39ac('0xba')],'as':_0x39ac('0x112'),'attributes':['id','name']});_0x37eef3[_0x39ac('0x38')]({'model':db[_0x39ac('0xde')],'as':_0x39ac('0x113'),'attributes':['id','fullname']});return db[_0x39ac('0x9a')][_0x39ac('0x69')]({'where':{'id':_0x333960['params']['id']},'include':_0x37eef3})[_0x39ac('0x1b')](handleEntityNotFound(_0x332ac0,null))[_0x39ac('0x1b')](function(_0x436e4a){if(_0x436e4a){var _0x110d1b=_0x436e4a[_0x39ac('0x114')]({'plain':!![]});fs[_0x39ac('0x115')](_0xebe690);var _0xfd773={'format':'A4','border':_0x39ac('0x116'),'header':{'height':_0x39ac('0x117'),'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':_0x39ac('0x118'),'contents':{'default':util[_0x39ac('0xda')](_0x39ac('0x119'),util[_0x39ac('0xda')](_0x39ac('0x11a'),_0x39ac('0x11b'),_0x110d1b['id']),moment()[_0x39ac('0xda')](_0x39ac('0x11c'))[_0x39ac('0x97')]())}}};var _0x135127={'channel':_0x39ac('0x11b'),'account':_0x110d1b[_0x39ac('0x112')]['name'],'agent':_0x110d1b[_0x39ac('0x113')]?_0x110d1b[_0x39ac('0x113')][_0x39ac('0x33')]:_0x39ac('0x11d'),'createdAt':moment(_0x110d1b[_0x39ac('0x77')])[_0x39ac('0xda')](_0x39ac('0xff'))[_0x39ac('0x97')](),'closedAt':_0x110d1b['closed']?moment(_0x110d1b[_0x39ac('0x11e')])['format'](_0x39ac('0xff'))[_0x39ac('0x97')]():'','disposition':_0x110d1b[_0x39ac('0xca')],'chatInfo':{'browser':_0x110d1b[_0x39ac('0x11f')],'os':_0x110d1b[_0x39ac('0x120')],'referer':_0x110d1b[_0x39ac('0x121')],'customerIp':_0x110d1b[_0x39ac('0x122')],'customerPort':_0x110d1b[_0x39ac('0x123')]?_0x110d1b[_0x39ac('0x123')]:_0x39ac('0x11d')},'messages':_(_0x110d1b['Messages'])[_0x39ac('0x124')]()[_0x39ac('0x83')]({'secret':![]})[_0x39ac('0x32')](function(_0x52b81c){if(_0x52b81c[_0x39ac('0xd0')]){var _0x1b1966=path['join'](_0x1c788b,_0x52b81c[_0x39ac('0xd0')][_0x39ac('0xcc')]);if(fs['existsSync'](_0x1b1966)){fs[_0x39ac('0x125')](_0x1b1966)['pipe'](fs[_0x39ac('0x126')](path[_0x39ac('0xd4')](_0xebe690,_0x52b81c[_0x39ac('0xd0')][_0x39ac('0xcc')])));}}return{'date':moment(_0x52b81c[_0x39ac('0x77')])[_0x39ac('0xda')]('YYYY-MM-DD\x20HH:mm:ss')[_0x39ac('0x97')](),'sender':_0x52b81c[_0x39ac('0xea')]===_0x39ac('0xc2')?_0x52b81c[_0x39ac('0xde')]?_0x52b81c[_0x39ac('0xde')][_0x39ac('0x33')]:_0x39ac('0xe5'):_0x52b81c['Contact']['firstName']+(_0x52b81c['Contact']['lastName']?'\x20'+_0x52b81c[_0x39ac('0x10e')][_0x39ac('0x127')]:''),'body':_0x52b81c[_0x39ac('0xd0')]?_0x52b81c['Attachment']['basename']:_0x52b81c['body'],'direction':_0x52b81c[_0x39ac('0xea')]===_0x39ac('0xc2')?'A':'C','secret':_0x52b81c['secret'],'read':_0x52b81c['read'],'attachment':_0x52b81c[_0x39ac('0xd0')]};})['value']()};return ejs[_0x39ac('0x128')](path[_0x39ac('0xd4')](config[_0x39ac('0xd5')],_0x39ac('0x10b'),_0x39ac('0x129'),'downloadInteraction.html'),{'interaction':_0x135127})['then'](function(_0x8fde94){return new BPromise(function(_0x2b633c,_0x58194f){pdf[_0x39ac('0xb6')](_0x8fde94,_0xfd773)[_0x39ac('0x12a')](path[_0x39ac('0xd4')](_0xebe690,_0x39ac('0x12b')+_0x110d1b['id']+'-'+_0x27c43d+_0x39ac('0x12c')),function(_0x1d0b4b,_0x13b175){if(_0x1d0b4b)return _0x58194f(_0x1d0b4b);_0x2b633c(_0x13b175);});});})[_0x39ac('0x1b')](function(){return new BPromise(function(_0x47a3fb,_0x204837){zipdir(_0xebe690,{'saveTo':_0x27e592},function(_0x57ba78,_0x251c0a){if(_0x57ba78)return _0x204837(_0x57ba78);return _0x47a3fb(_0x251c0a);});})['then'](function(){return new BPromise(function(_0x2f9db2,_0x3090c8){rimraf(_0xebe690,function(_0x573596){if(_0x573596)_0x3090c8(_0x573596);return _0x2f9db2();});});})[_0x39ac('0x1b')](function(){return _0x332ac0[_0x39ac('0xd3')](_0x27e592,_0x13842d,function(_0x4d5810){if(_0x4d5810){console[_0x39ac('0x12d')](_0x39ac('0x12e'),_0x4d5810);}else{fs[_0x39ac('0x12f')](_0x27e592);}});});});}else{return _0x332ac0['sendStatus'](0xc8);}})[_0x39ac('0xaf')](handleError(_0x332ac0,null));};