Built motion from commit (unavailable).|2.5.14
[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 _0x5e77=['i.ChatWebsiteId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.id','Sequelize','SELECT','DESC','t.id\x20IN\x20?','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','role','agent','i.ChatWebsiteId\x20IS\x20NULL','user','toString','count','sequelize','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','contactName','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','c.mobile','c.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','groupBy','all','rows','rawAttributes','includeAll','include','create','params','createVidaooSession','ChatWebsite','findOne','vidaooApiKey','vidaooEscalation','POST','https://api-vidaoo.xcally.com/api/v1/sessions','MotionCWB:','follow','ValidationError','Error\x20in\x20Vidaoo\x20configuration','out','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','customUpdate','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','closed','AbandonInteraction','attachmentUpload','originalname','basename','file','filename','mimetype','Attachment','attachmentDownload','Unauthorized','attachId','download','root','server/files/attachments/','close','join','server/files/chat/upload/','format','transcript-%s.txt','now','pathTranscript','Messages','CmContact','%s%d','agentAlias','System','Visitor','agentIdentifier','website_alias','agent_fullname','MM/DD/YYYY\x20HH:mm:ss','secret','appendFileSync','Smtp','service','host','port','secure','authentication','pass','SendMail','\x22%s\x22\x20<%s>','email','mailTranscript','Mail\x20Transcript','addMessage','omit','ids','getMessages','nolimit','ChatInteractionId','options','findAll','getMyMessages','includeAgent','alias','addTags','setTags','emit','chatInteractionTags:save','removeTags','server','tmp','files','attachments','Contact','lastName','Account','Owner','get','mkdirSync','10px','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','30px','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','Chat','N.A.','YYYY-MM-DD\x20HH:mm:ss','disposition','browserName','osName','referer','customerIp','customerPort','tail','createReadStream','pipe','createWriteStream','direction','firstName','renderFile','views','downloadInteraction.html','toFile','.pdf','log','err','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','./chatInteraction.socket','jayson/promise','client','http','request','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','sendStatus','status','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy','then','end','stack','name','send','Users','map','fullname','TagIds','split','forEach','Tags','push','catch','ChatInteraction','fieldName','model','keys','query','filters','intersection','fields','attributes','hasOwnProperty','order','sort','where','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.ChatInteractionId','left_join','users','u.id\x20=\x20ui.UserId','chat_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','chat_websites','chat_messages','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','length','find','unreadMessages','value','having','`\x20=\x200','`\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?','ContactId','buildExpression','type','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','some','compact','isEmpty','ChatWebsiteId'];(function(_0x5c0809,_0x5c2154){var _0x174741=function(_0x535754){while(--_0x535754){_0x5c0809['push'](_0x5c0809['shift']());}};_0x174741(++_0x5c2154);}(_0x5e77,0xb0));var _0x75e7=function(_0x27bca8,_0x191f63){_0x27bca8=_0x27bca8-0x0;var _0x370163=_0x5e77[_0x27bca8];return _0x370163;};'use strict';var pdf=require(_0x75e7('0x0'));var emlformat=require(_0x75e7('0x1'));var rimraf=require(_0x75e7('0x2'));var zipdir=require(_0x75e7('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x75e7('0x4'));var moment=require(_0x75e7('0x5'));var BPromise=require(_0x75e7('0x6'));var Mustache=require(_0x75e7('0x7'));var util=require(_0x75e7('0x8'));var path=require('path');var sox=require(_0x75e7('0x9'));var csv=require(_0x75e7('0xa'));var ejs=require(_0x75e7('0xb'));var fs=require('fs');var _=require(_0x75e7('0xc'));var squel=require('squel');var crypto=require(_0x75e7('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x75e7('0xe'));var toCsv=require(_0x75e7('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x75e7('0xf'));var authService=require(_0x75e7('0x10'));var qs=require(_0x75e7('0x11'));var as=require(_0x75e7('0x12'));var hardwareService=require(_0x75e7('0x13'));var logger=require('../../config/logger')(_0x75e7('0x14'));var utils=require(_0x75e7('0x15'));var config=require(_0x75e7('0x16'));var licenseUtil=require(_0x75e7('0x17'));var db=require(_0x75e7('0x18'))['db'];config['redis']=_[_0x75e7('0x19')](config[_0x75e7('0x1a')],{'host':_0x75e7('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x75e7('0x1a')]));require(_0x75e7('0x1c'))['register'](socket);var jayson=require(_0x75e7('0x1d'));var client=jayson[_0x75e7('0x1e')][_0x75e7('0x1f')]({'port':0x232b});var client9004=jayson[_0x75e7('0x1e')][_0x75e7('0x1f')]({'port':0x232c});function respondWithRpcPromise(_0x52ce04,_0x17b5b4,_0x34be84,_0x5c28cf){return new BPromise(function(_0x5d3c32,_0x523e1e){var _0x24c4f9=_0x5c28cf||client;return _0x24c4f9[_0x75e7('0x20')](_0x52ce04,_0x34be84)['then'](function(_0x1fc41a){logger[_0x75e7('0x21')](_0x75e7('0x22'),_0x17b5b4,_0x75e7('0x23'));logger['debug'](_0x75e7('0x24'),_0x17b5b4,_0x75e7('0x23'),JSON[_0x75e7('0x25')](_0x1fc41a));if(_0x1fc41a[_0x75e7('0x26')]){if(_0x1fc41a['error'][_0x75e7('0x27')]===0x1f4){logger[_0x75e7('0x26')](_0x75e7('0x22'),_0x17b5b4,_0x1fc41a[_0x75e7('0x26')][_0x75e7('0x28')]);return _0x523e1e(_0x1fc41a[_0x75e7('0x26')]['message']);}logger[_0x75e7('0x26')](_0x75e7('0x22'),_0x17b5b4,_0x1fc41a[_0x75e7('0x26')]['message']);return _0x5d3c32(_0x1fc41a[_0x75e7('0x26')][_0x75e7('0x28')]);}else{logger[_0x75e7('0x21')](_0x75e7('0x22'),_0x17b5b4,_0x75e7('0x23'));_0x5d3c32(_0x1fc41a[_0x75e7('0x29')]['message']);}})['catch'](function(_0x2b678e){logger[_0x75e7('0x26')](_0x75e7('0x22'),_0x17b5b4,_0x2b678e);_0x523e1e(_0x2b678e);});});}function respondWithStatusCode(_0x38f2f0,_0x286137){_0x286137=_0x286137||0xcc;return function(_0x4d68fd){if(_0x4d68fd){return _0x38f2f0[_0x75e7('0x2a')](_0x286137);}return _0x38f2f0[_0x75e7('0x2b')](_0x286137)['end']();};}function respondWithResult(_0x5d090d,_0x5d56){_0x5d56=_0x5d56||0xc8;return function(_0x7e1596){if(_0x7e1596){return _0x5d090d[_0x75e7('0x2b')](_0x5d56)['json'](_0x7e1596);}};}function respondWithFilteredResult(_0x5b8235,_0x7b2960){return function(_0xcd4deb){if(_0xcd4deb){var _0x100bee=_0xcd4deb['count'],_0x53f8d9=_0x7b2960[_0x75e7('0x2c')],_0x12f6d7=_0x7b2960[_0x75e7('0x2c')]+_0x7b2960[_0x75e7('0x2d')],_0x2e52dc;if(_0x12f6d7>=_0x100bee){_0x12f6d7=_0x100bee;_0x2e52dc=0xc8;}else{_0x2e52dc=0xce;}_0x5b8235['status'](_0x2e52dc);return _0x5b8235[_0x75e7('0x2e')](_0x75e7('0x2f'),_0x53f8d9+'-'+_0x12f6d7+'/'+_0x100bee)[_0x75e7('0x30')](_0xcd4deb);}return null;};}function patchUpdates(_0x3b2935){return function(_0x20fa01){try{jsonpatch[_0x75e7('0x31')](_0x20fa01,_0x3b2935,!![]);}catch(_0x4a0134){return BPromise[_0x75e7('0x32')](_0x4a0134);}return _0x20fa01[_0x75e7('0x33')]();};}function saveUpdates(_0x570f1e,_0x5b63ed){return function(_0x6a1e4d){if(_0x6a1e4d){return _0x6a1e4d[_0x75e7('0x34')](_0x570f1e)['then'](function(_0x3f6e1f){return _0x3f6e1f;});}return null;};}function removeEntity(_0x48caec,_0x47cd19){return function(_0xb67c38){if(_0xb67c38){return _0xb67c38[_0x75e7('0x35')]()[_0x75e7('0x36')](function(){_0x48caec['status'](0xcc)[_0x75e7('0x37')]();});}};}function handleEntityNotFound(_0x3a8e9d,_0x39087a){return function(_0x16cf93){if(!_0x16cf93){_0x3a8e9d['sendStatus'](0x194);}return _0x16cf93;};}function handleError(_0x598cde,_0x33d679){_0x33d679=_0x33d679||0x1f4;return function(_0x184b31){logger[_0x75e7('0x26')](_0x184b31[_0x75e7('0x38')]);if(_0x184b31[_0x75e7('0x39')]){delete _0x184b31[_0x75e7('0x39')];}_0x598cde[_0x75e7('0x2b')](_0x33d679)[_0x75e7('0x3a')](_0x184b31);};}function getInteractionUsers(_0x1ee4e7,_0x47ab6e){return new BPromise(function(_0x8e948e,_0x226663){try{if(_0x47ab6e[_0x1ee4e7['id']]){_0x1ee4e7[_0x75e7('0x3b')]=_[_0x75e7('0x3c')](_0x47ab6e[_0x1ee4e7['id']],function(_0x44d908){return{'id':_0x44d908['id'],'fullname':_0x44d908[_0x75e7('0x3d')]};});}}catch(_0x5627a3){_0x226663(_0x5627a3);}_0x8e948e(_0x1ee4e7);});}function getInteractionTags(_0x122365,_0x1ad6d4){return new BPromise(function(_0x27c559,_0x425ad1){try{if(_0x122365[_0x75e7('0x3e')]){_0x122365['Tags']=[];_0x122365[_0x75e7('0x3e')][_0x75e7('0x3f')](',')[_0x75e7('0x40')](function(_0x229b75){_0x122365[_0x75e7('0x41')][_0x75e7('0x42')](_0x1ad6d4[_0x229b75]);});}delete _0x122365['TagIds'];}catch(_0x47bf1d){_0x425ad1(_0x47bf1d);}_0x27c559(_0x122365);});}function updateChatInteraction(_0x397a5e,_0x11cec3,_0x202092){return new BPromise(function(_0x42dfce,_0x16a761){return getInteractionUsers(_0x397a5e,_0x202092)['then'](function(_0x1c4e9a){return getInteractionTags(_0x1c4e9a,_0x11cec3);})[_0x75e7('0x36')](function(_0x516586){_0x42dfce(_0x516586);})[_0x75e7('0x43')](function(_0x5895c7){_0x16a761(_0x5895c7);});});}exports['index']=function(_0x173d5d,_0x585185){var _0x14f54e={},_0x3fc661={},_0x249e09={'count':0x0,'rows':[]};var _0x3d0688=_['map'](db[_0x75e7('0x44')]['rawAttributes'],function(_0x2d065a){return{'name':_0x2d065a[_0x75e7('0x45')],'type':_0x2d065a['type']['key']};});_0x3fc661[_0x75e7('0x46')]=_['map'](_0x3d0688,_0x75e7('0x39'));_0x3fc661['query']=_[_0x75e7('0x47')](_0x173d5d[_0x75e7('0x48')]);_0x3fc661[_0x75e7('0x49')]=_[_0x75e7('0x4a')](_0x3fc661['model'],_0x3fc661[_0x75e7('0x48')]);_0x14f54e['attributes']=_['intersection'](_0x3fc661['model'],qs[_0x75e7('0x4b')](_0x173d5d[_0x75e7('0x48')][_0x75e7('0x4b')]));_0x14f54e[_0x75e7('0x4c')]=_0x14f54e[_0x75e7('0x4c')]['length']?_0x14f54e['attributes']:_0x3fc661['model'];if(!_0x173d5d['query'][_0x75e7('0x4d')]('nolimit')){_0x14f54e[_0x75e7('0x2d')]=qs[_0x75e7('0x2d')](_0x173d5d[_0x75e7('0x48')][_0x75e7('0x2d')]);_0x14f54e['offset']=qs[_0x75e7('0x2c')](_0x173d5d[_0x75e7('0x48')][_0x75e7('0x2c')]);}_0x14f54e[_0x75e7('0x4e')]=qs[_0x75e7('0x4f')](_0x173d5d[_0x75e7('0x48')][_0x75e7('0x4f')]);_0x14f54e[_0x75e7('0x50')]=qs[_0x75e7('0x49')](_[_0x75e7('0x51')](_0x173d5d[_0x75e7('0x48')],_0x3fc661[_0x75e7('0x49')]),_0x3d0688);var _0x50af4e=[];var _0x23d32c=squel[_0x75e7('0x52')]()['field']('id')[_0x75e7('0x53')]('name')[_0x75e7('0x53')](_0x75e7('0x54'))[_0x75e7('0x55')](_0x75e7('0x56'));var _0x4a87e8=squel[_0x75e7('0x52')]()['field'](_0x75e7('0x57'))[_0x75e7('0x53')](_0x75e7('0x58'))[_0x75e7('0x53')](_0x75e7('0x59'))[_0x75e7('0x55')]('user_has_chat_interactions','ui')[_0x75e7('0x5a')](_0x75e7('0x5b'),'u',_0x75e7('0x5c'));var _0x3a82dc=squel[_0x75e7('0x52')]()[_0x75e7('0x55')](_0x75e7('0x5d'),'i')[_0x75e7('0x5a')](_0x75e7('0x5e'),'c',_0x75e7('0x5f'))[_0x75e7('0x5a')](_0x75e7('0x5b'),'o','o.id\x20=\x20i.UserId')[_0x75e7('0x5a')](_0x75e7('0x60'),'a','a.id\x20=\x20i.ChatWebsiteId')['left_join'](_0x75e7('0x61'),'me','me.ChatInteractionId\x20=\x20i.id')[_0x75e7('0x5a')](_0x75e7('0x62'),'it',_0x75e7('0x63'))['left_join'](_0x75e7('0x56'),'t',_0x75e7('0x64'));var _0x149f69=squel[_0x75e7('0x65')]();var _0x287e1a=[];var _0x289941=squel['expr']();var _0x42eacd;if(_0x173d5d[_0x75e7('0x48')][_0x75e7('0x66')]){_0x42eacd=as[_0x75e7('0x67')](_0x173d5d['query'][_0x75e7('0x66')]);var _0x3e520c=_0x42eacd[_0x75e7('0x68')];for(var _0x540fa3=0x0;_0x540fa3<_0x42eacd[_0x75e7('0x69')][_0x75e7('0x6a')];_0x540fa3++){var _0x1f9454=_0x42eacd['conditions'][_0x540fa3];var _0x39ae70='i';var _0x4cf215=_[_0x75e7('0x6b')](_0x3d0688,['name',_0x1f9454[_0x75e7('0x53')]]);if(!_0x4cf215){switch(_0x1f9454[_0x75e7('0x53')]){case _0x75e7('0x6c'):if(_0x1f9454[_0x75e7('0x6d')]==0x1){_0x3a82dc[_0x75e7('0x6e')]('`'+_0x1f9454[_0x75e7('0x53')]+_0x75e7('0x6f'));}else{_0x3a82dc['having']('`'+_0x1f9454[_0x75e7('0x53')]+_0x75e7('0x70'));}break;case'Contact':if(_0x1f9454[_0x75e7('0x71')]===_0x75e7('0x72')){if(_0x1f9454['value'][_0x75e7('0x3f')]('\x20')[_0x75e7('0x6a')]>0x1){_0x149f69[_0x3e520c](_0x75e7('0x73'),qs[_0x75e7('0x74')](_0x1f9454[_0x75e7('0x6d')]),null);}else{var _0x1181df='%'+_0x1f9454['value']+'%';_0x149f69[_0x3e520c](_0x75e7('0x75'),_0x1181df,_0x1181df,_0x1181df);}}else{_0x4cf215=_[_0x75e7('0x6b')](_0x3d0688,[_0x75e7('0x39'),'ContactId']);_0x1f9454[_0x75e7('0x53')]=_0x75e7('0x76');_0x2090f6=as[_0x75e7('0x77')](_0x39ae70,_0x4cf215[_0x75e7('0x78')],_0x1f9454);_0x149f69[_0x3e520c](_0x2090f6[_0x75e7('0x79')],_0x2090f6['value'][_0x75e7('0x7a')],_0x2090f6[_0x75e7('0x6d')][_0x75e7('0x37')]);}break;case _0x75e7('0x7b'):var _0x421579=_0x1f9454['value'][_0x75e7('0x3f')](',')['map'](function(_0x3ebefc){return Number(_0x3ebefc);});_0x421579['forEach'](function(_0x5c5548){_0x289941['or'](_0x75e7('0x7c'),'%,'+_0x5c5548+',%');});_0x287e1a=_[_0x75e7('0x7d')](_0x287e1a,_0x421579);break;case _0x75e7('0x7e'):if(_0x1f9454[_0x75e7('0x71')]==='$substring'){_0x149f69[_0x3e520c](_0x75e7('0x7f'),'%'+_0x1f9454['value']+'%',null);}else{_0x4cf215=_['find'](_0x3d0688,[_0x75e7('0x39'),_0x75e7('0x80')]);_0x1f9454[_0x75e7('0x53')]=_0x75e7('0x80');_0x2090f6=as['buildExpression'](_0x39ae70,_0x4cf215[_0x75e7('0x78')],_0x1f9454);_0x149f69[_0x3e520c](_0x2090f6[_0x75e7('0x79')],_0x2090f6[_0x75e7('0x6d')][_0x75e7('0x7a')],_0x2090f6['value'][_0x75e7('0x37')]);}break;case _0x75e7('0x81'):_0x2090f6=as['buildExpression']('me',null,_0x1f9454);_0x149f69[_0x3e520c](_0x2090f6[_0x75e7('0x79')],_0x2090f6[_0x75e7('0x6d')][_0x75e7('0x7a')],_0x2090f6[_0x75e7('0x6d')][_0x75e7('0x37')]);break;}}else{var _0x2090f6=as[_0x75e7('0x77')](_0x39ae70,_0x4cf215[_0x75e7('0x78')],_0x1f9454);_0x149f69[_0x3e520c](_0x2090f6['text'],_0x2090f6['value'][_0x75e7('0x7a')],_0x2090f6[_0x75e7('0x6d')]['end']);}}}else{var _0x30d4f3=_(_0x173d5d[_0x75e7('0x48')])[_0x75e7('0x47')]()[_0x75e7('0x3c')](function(_0x258c17){return _[_0x75e7('0x82')](_0x3d0688,[_0x75e7('0x39'),_0x258c17])?_0x258c17:undefined;})[_0x75e7('0x83')]()[_0x75e7('0x6d')]();if(!_[_0x75e7('0x84')](_0x30d4f3)){_0x30d4f3[_0x75e7('0x40')](function(_0x413780){if(_0x413780===_0x75e7('0x85')){_0x3a82dc[_0x75e7('0x50')](_0x75e7('0x86'),[][_0x75e7('0x87')](_0x173d5d[_0x75e7('0x48')][_0x413780]));}else if(_0x413780===_0x75e7('0x88')){var _0x309c71=JSON[_0x75e7('0x89')](_0x173d5d['query'][_0x413780])[_0x75e7('0x8a')];var _0x259cc8=JSON[_0x75e7('0x89')](_0x173d5d[_0x75e7('0x48')][_0x413780])[_0x75e7('0x8b')];_0x3a82dc['where'](_0x75e7('0x8c'),_0x309c71,_0x259cc8);}else{if(_0x173d5d[_0x75e7('0x48')][_0x413780]==='null'){_0x3a82dc[_0x75e7('0x50')]('i.'+_0x413780+'\x20IS\x20NULL');}else{_0x3a82dc[_0x75e7('0x50')]('i.'+_0x413780+_0x75e7('0x8d'),_0x173d5d[_0x75e7('0x48')][_0x413780]);}}});}if(_0x173d5d[_0x75e7('0x48')]['read']){if(_0x173d5d[_0x75e7('0x48')][_0x75e7('0x8e')]==0x1){_0x3a82dc[_0x75e7('0x6e')](_0x75e7('0x8f'));}else{_0x3a82dc[_0x75e7('0x6e')](_0x75e7('0x90'));}}if(_0x173d5d[_0x75e7('0x48')][_0x75e7('0x91')]){_0x287e1a=_[_0x75e7('0x92')](_0x173d5d['query'][_0x75e7('0x91')])?_0x173d5d['query'][_0x75e7('0x91')]:new Array(_0x173d5d[_0x75e7('0x48')][_0x75e7('0x91')]);_0x287e1a['forEach'](function(_0x4d4a2a){_0x289941['or'](_0x75e7('0x7c'),'%,'+_0x4d4a2a+',%');});}if(_0x173d5d[_0x75e7('0x48')][_0x75e7('0x93')]){var _0x2d6bae=_0x173d5d[_0x75e7('0x48')][_0x75e7('0x93')][_0x75e7('0x94')]('\x5c','\x5c\x5c')[_0x75e7('0x94')](/'/g,'\x27\x27');if(qs[_0x75e7('0x95')](_0x2d6bae)){_0x149f69['or']('i.id\x20LIKE\x20?',_0x2d6bae+'%');}else{_0x149f69['or'](_0x75e7('0x96'),qs['getFullTextValue'](_0x2d6bae))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x2d6bae+'%');}}}_0x3a82dc['where'](_0x149f69);_0x3a82dc['group'](_0x75e7('0x97'));var _0x3c2463={'type':db[_0x75e7('0x98')]['QueryTypes'][_0x75e7('0x99')],'raw':!![]};var _0x517b4e=_0x3a82dc['clone']();_0x517b4e[_0x75e7('0x53')](_0x75e7('0x97'));_0x517b4e[_0x75e7('0x53')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x75e7('0x6c'));if(_0x14f54e[_0x75e7('0x4e')]){_0x14f54e['order'][_0x75e7('0x40')](function(_0x3527f3){var _0x199163=_0x3527f3[0x0]==='contactName'?_0x3527f3[0x0]:'i.'+_0x3527f3[0x0];_0x3a82dc[_0x75e7('0x4e')](_0x199163,_0x3527f3[0x1]===_0x75e7('0x9a')?![]:!![]);});}if(!_[_0x75e7('0x84')](_0x287e1a)){_0x3a82dc['having'](_0x289941);_0x517b4e[_0x75e7('0x50')](_0x75e7('0x9b'),_0x287e1a);}BPromise['resolve']()[_0x75e7('0x36')](function(){if(!_0x42eacd){if(_0x173d5d[_0x75e7('0x48')][_0x75e7('0x85')])return;_0x517b4e[_0x75e7('0x50')](_0x75e7('0x9c'));_0x3a82dc[_0x75e7('0x50')](_0x75e7('0x9c'));return;}if(_0x173d5d['user'][_0x75e7('0x9d')]!==_0x75e7('0x9e'))return;return _0x173d5d['user']['getChatWebsites']({'attributes':['id'],'raw':!![]})[_0x75e7('0x36')](function(_0x4822c4){if(_['isEmpty'](_0x4822c4)){_0x517b4e[_0x75e7('0x50')](_0x75e7('0x9f'));_0x3a82dc[_0x75e7('0x50')]('i.ChatWebsiteId\x20IS\x20NULL');}else{_0x517b4e['where'](_0x75e7('0x86'),_['map'](_0x4822c4,'id'));_0x3a82dc['where']('i.ChatWebsiteId\x20IN\x20?',_[_0x75e7('0x3c')](_0x4822c4,'id'));}});})[_0x75e7('0x36')](function(){if(_0x173d5d[_0x75e7('0xa0')]['role']===_0x75e7('0x9e')&&!_0x42eacd&&!_0x173d5d[_0x75e7('0x48')]['ChatWebsiteId'])return[];return db['sequelize']['query'](_0x517b4e[_0x75e7('0xa1')](),_0x3c2463);})['then'](function(_0x4f466b){_0x249e09[_0x75e7('0xa2')]=_0x4f466b[_0x75e7('0x6a')];if(_0x249e09[_0x75e7('0xa2')]===0x0)return[];return db[_0x75e7('0xa3')]['query'](_0x23d32c['toString'](),_0x3c2463)[_0x75e7('0x36')](function(_0x59e7e1){_0x50af4e=_['keyBy'](_0x59e7e1,'id');_0x3c2463=_[_0x75e7('0xa4')](_0x3c2463,{'model':db[_0x75e7('0x44')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x173d5d[_0x75e7('0x48')][_0x75e7('0x4b')]){_0x14f54e['attributes'][_0x75e7('0x40')](function(_0x34401e){_0x3a82dc[_0x75e7('0x53')]('i.'+_0x34401e);});}else{_0x3a82dc[_0x75e7('0x53')](_0x75e7('0xa5'),_0x75e7('0x6c'));_0x3a82dc[_0x75e7('0x53')](_0x75e7('0xa6'),'Account.key');_0x3a82dc[_0x75e7('0x53')](_0x75e7('0xa7'),_0x75e7('0xa8'));_0x3a82dc[_0x75e7('0x53')](_0x75e7('0xa9'),_0x75e7('0xaa'));_0x3a82dc[_0x75e7('0x53')](_0x75e7('0xab'));_0x3a82dc[_0x75e7('0x53')](_0x75e7('0xac'),_0x75e7('0xad'));_0x3a82dc['field'](_0x75e7('0xae'),_0x75e7('0xaf'));_0x3a82dc[_0x75e7('0x53')]('c.email',_0x75e7('0xb0'));_0x3a82dc['field'](_0x75e7('0xb1'),'Contact.phone');_0x3a82dc[_0x75e7('0x53')](_0x75e7('0xb2'),'Contact.mobile');_0x3a82dc['field'](_0x75e7('0xb3'),'Contact.fax');_0x3a82dc[_0x75e7('0x53')](_0x75e7('0xb4'),_0x75e7('0xb5'));_0x3a82dc[_0x75e7('0x53')]('o.internal',_0x75e7('0xb6'));_0x3a82dc['field'](_0x75e7('0xb7'),_0x75e7('0x3e'));}if(_0x14f54e[_0x75e7('0x2d')])_0x3a82dc[_0x75e7('0x2d')](_0x14f54e[_0x75e7('0x2d')]);if(_0x14f54e[_0x75e7('0x2c')])_0x3a82dc[_0x75e7('0x2c')](_0x14f54e['offset']);return db[_0x75e7('0xa3')][_0x75e7('0x48')](_0x3a82dc[_0x75e7('0xa1')](),_0x3c2463);})[_0x75e7('0x36')](function(_0xcb81a2){_0x4a87e8['where'](_0x75e7('0xb8'),_[_0x75e7('0x3c')](_0xcb81a2,'id'));return db['sequelize']['query'](_0x4a87e8[_0x75e7('0xa1')](),_0x3c2463)[_0x75e7('0x36')](function(_0x2dd713){var _0x3c7313=_[_0x75e7('0xb9')](_0x2dd713,'ChatInteractionId');var _0x518a0d=[];_0xcb81a2[_0x75e7('0x40')](function(_0x38ad5b){_0x518a0d[_0x75e7('0x42')](updateChatInteraction(_0x38ad5b,_0x50af4e,_0x3c7313));});return BPromise[_0x75e7('0xba')](_0x518a0d);});});})[_0x75e7('0x36')](function(_0x58fa67){_0x249e09[_0x75e7('0xbb')]=_0x58fa67;return _0x249e09;})[_0x75e7('0x36')](respondWithFilteredResult(_0x585185,_0x14f54e))['catch'](handleError(_0x585185,null));};exports['show']=function(_0x4ccf69,_0x4cf9c5){var _0x30a333={'raw':![],'where':{'id':_0x4ccf69['params']['id']}},_0x57e994={};_0x57e994[_0x75e7('0x46')]=_[_0x75e7('0x47')](db[_0x75e7('0x44')][_0x75e7('0xbc')]);_0x57e994[_0x75e7('0x48')]=_[_0x75e7('0x47')](_0x4ccf69['query']);_0x57e994[_0x75e7('0x49')]=_['intersection'](_0x57e994[_0x75e7('0x46')],_0x57e994[_0x75e7('0x48')]);_0x30a333[_0x75e7('0x4c')]=_['intersection'](_0x57e994[_0x75e7('0x46')],qs[_0x75e7('0x4b')](_0x4ccf69[_0x75e7('0x48')][_0x75e7('0x4b')]));_0x30a333['attributes']=_0x30a333['attributes']['length']?_0x30a333['attributes']:_0x57e994[_0x75e7('0x46')];if(_0x4ccf69[_0x75e7('0x48')][_0x75e7('0xbd')]){_0x30a333[_0x75e7('0xbe')]=[{'all':!![]}];}_0x30a333=_[_0x75e7('0xa4')]({},_0x30a333,_0x4ccf69['options']);return db[_0x75e7('0x44')][_0x75e7('0x6b')](_0x30a333)[_0x75e7('0x36')](handleEntityNotFound(_0x4cf9c5,null))['then'](respondWithResult(_0x4cf9c5,null))[_0x75e7('0x43')](handleError(_0x4cf9c5,null));};exports[_0x75e7('0xbf')]=function(_0x26a9a0,_0x7bdf6e){return db[_0x75e7('0x44')][_0x75e7('0xbf')](_0x26a9a0[_0x75e7('0x81')],{})[_0x75e7('0x36')](respondWithResult(_0x7bdf6e,0xc9))[_0x75e7('0x43')](handleError(_0x7bdf6e,null));};exports[_0x75e7('0x34')]=function(_0x50aef1,_0x2e950a){if(_0x50aef1['body']['id']){delete _0x50aef1[_0x75e7('0x81')]['id'];}return db[_0x75e7('0x44')][_0x75e7('0x6b')]({'where':{'id':_0x50aef1[_0x75e7('0xc0')]['id']}})[_0x75e7('0x36')](handleEntityNotFound(_0x2e950a,null))[_0x75e7('0x36')](saveUpdates(_0x50aef1['body'],null))[_0x75e7('0x36')](respondWithResult(_0x2e950a,null))['catch'](handleError(_0x2e950a,null));};exports[_0x75e7('0x35')]=function(_0x5ba754,_0x4edd08){return db[_0x75e7('0x44')][_0x75e7('0x6b')]({'where':{'id':_0x5ba754[_0x75e7('0xc0')]['id']}})[_0x75e7('0x36')](handleEntityNotFound(_0x4edd08,null))[_0x75e7('0x36')](removeEntity(_0x4edd08,null))['catch'](handleError(_0x4edd08,null));};exports['describe']=function(_0x421388,_0x3c816e){return db[_0x75e7('0x44')]['describe']()[_0x75e7('0x36')](respondWithResult(_0x3c816e,null))[_0x75e7('0x43')](handleError(_0x3c816e,null));};exports[_0x75e7('0xc1')]=function(_0x26d401,_0x66810){var _0x5e5559=_0x26d401['params']['id'];var _0xc1940d;var _0x463d71;var _0x4c8736;return db[_0x75e7('0x44')]['findOne']({'where':{'id':_0x5e5559}})[_0x75e7('0x36')](function(_0x219b7e){_0xc1940d=_0x219b7e;return db[_0x75e7('0xc2')][_0x75e7('0xc3')]({'where':{'id':_0x219b7e[_0x75e7('0x85')]},'attributes':['id',_0x75e7('0xc4'),_0x75e7('0xc5')],'raw':!![]});})[_0x75e7('0x36')](function(_0x181c42){if(_0x181c42&&_0x181c42['vidaooApiKey']&&_0x181c42[_0x75e7('0xc5')]){_0x463d71=_0x181c42;var _0x17b355={'rejectUnauthorized':![],'method':_0x75e7('0xc6'),'uri':_0x75e7('0xc7'),'headers':{'X-APIKEY':_0x181c42[_0x75e7('0xc4')]},'body':{'name':_0x75e7('0xc8')+_0x5e5559},'redirect':_0x75e7('0xc9'),'json':!![]};return rp(_0x17b355);}else{throw new db['Sequelize'][(_0x75e7('0xca'))](_0x75e7('0xcb'));}})[_0x75e7('0x36')](function(_0x130b3b){_0x4c8736=_0x130b3b;if(_0x4c8736['id']){var _0x5cf71b={'body':_0x4c8736['join_url'],'ChatWebsiteId':_0x463d71['id'],'ChatInteractionId':_0xc1940d['id'],'direction':_0x75e7('0xcc'),'UserId':_0x26d401['user']['id']};return db[_0x75e7('0xcd')][_0x75e7('0xbf')](_0x5cf71b,{});}else{throw new db[(_0x75e7('0x98'))][(_0x75e7('0xca'))](_0x75e7('0xce'));}})[_0x75e7('0x36')](function(){return _0xc1940d['updateAttributes']({'vidaooSessionId':_0x4c8736['id']});})['then'](respondWithResult(_0x66810,null))[_0x75e7('0x43')](handleError(_0x66810,null));};exports[_0x75e7('0xcf')]=function(_0x1fa08e,_0x438e2c){if(_0x1fa08e[_0x75e7('0x81')]['id']){delete _0x1fa08e[_0x75e7('0x81')]['id'];}return db[_0x75e7('0x44')][_0x75e7('0x6b')]({'where':{'id':_0x1fa08e[_0x75e7('0xc0')]['id']}})[_0x75e7('0x36')](handleEntityNotFound(_0x438e2c,null))[_0x75e7('0x36')](saveUpdates(_0x1fa08e[_0x75e7('0x81')],null))[_0x75e7('0x36')](respondWithResult(_0x438e2c,null))[_0x75e7('0x43')](handleError(_0x438e2c,null));};exports[_0x75e7('0xd0')]=function(_0x4bd333,_0x9ae308,_0x3b3052){if(_0x4bd333[_0x75e7('0x81')]['id']){delete _0x4bd333[_0x75e7('0x81')]['id'];}return db['ChatInteraction'][_0x75e7('0x6b')]({'where':{'id':_0x4bd333[_0x75e7('0xc0')]['id']}})[_0x75e7('0x36')](function(_0x24232e){if(!_0x24232e){logger[_0x75e7('0x26')](_0x75e7('0xd1'),_0x75e7('0xd0'),0x194,'entity\x20not\x20found');_0x9ae308[_0x75e7('0x2a')](0x194);}else{if(_0x24232e[_0x75e7('0x80')]){throw new db[(_0x75e7('0x98'))]['ValidationError']('Interaction\x20already\x20assigned');}}return _0x24232e;})['then'](function(_0x5d3e36){if(_0x5d3e36){return _0x5d3e36[_0x75e7('0x34')]({'closed':_0x4bd333['body'][_0x75e7('0xd2')],'disposition':_0x4bd333[_0x75e7('0x81')]['disposition']})[_0x75e7('0x36')](function(_0x5a96f3){return _0x5a96f3;});}})[_0x75e7('0x36')](function(_0x483d8f){return respondWithRpcPromise(_0x75e7('0xd3'),_0x75e7('0xd0'),_0x4bd333['body'],client9004);})['then'](respondWithResult(_0x9ae308,null))[_0x75e7('0x43')](handleError(_0x9ae308,null));};exports[_0x75e7('0xd4')]=function(_0x4b9a0e,_0x1b4221,_0x11d791){_0x4b9a0e[_0x75e7('0x81')][_0x75e7('0x39')]=_0x4b9a0e['file'][_0x75e7('0xd5')];_0x4b9a0e[_0x75e7('0x81')][_0x75e7('0xd6')]=_0x4b9a0e[_0x75e7('0xd7')][_0x75e7('0xd8')];_0x4b9a0e[_0x75e7('0x81')][_0x75e7('0x78')]=_0x4b9a0e[_0x75e7('0xd7')][_0x75e7('0xd9')];return db[_0x75e7('0xda')]['create'](_0x4b9a0e[_0x75e7('0x81')])['then'](respondWithResult(_0x1b4221,0xc9))['catch'](handleError(_0x1b4221,null));};exports[_0x75e7('0xdb')]=function(_0x28abdd,_0x288eee,_0x5329e3){return db['ChatInteraction'][_0x75e7('0xc3')]({'where':{'id':_0x28abdd[_0x75e7('0xc0')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x288eee,null))[_0x75e7('0x36')](function(_0x33a09e){if(_0x33a09e){if(_0x33a09e[_0x75e7('0xd2')]){return _0x288eee['status'](0x193)[_0x75e7('0x30')]({'status':0x193,'message':_0x75e7('0xdc')});}return db[_0x75e7('0xda')][_0x75e7('0xc3')]({'where':{'id':_0x28abdd['query'][_0x75e7('0xdd')]},'raw':!![]})['then'](handleEntityNotFound(_0x288eee,null));}})[_0x75e7('0x36')](function(_0x2abb33){if(_0x2abb33){return _0x288eee[_0x75e7('0xde')](path['join'](config[_0x75e7('0xdf')],_0x75e7('0xe0'),_0x2abb33['basename']));}})[_0x75e7('0x43')](handleError(_0x288eee,null));};exports[_0x75e7('0xe1')]=function(_0x120b1c,_0xaa3d65){var _0x720e3e=null;var _0x504750=null;var _0xca0e3=null;var _0x45af60=null;if(_0x120b1c[_0x75e7('0x81')]['id']){delete _0x120b1c[_0x75e7('0x81')]['id'];}if(_0x120b1c['body']['mailTranscript']){_0x45af60=path[_0x75e7('0xe2')](config[_0x75e7('0xdf')],_0x75e7('0xe3'),util[_0x75e7('0xe4')](_0x75e7('0xe5'),Date[_0x75e7('0xe6')]()));_0x120b1c[_0x75e7('0x81')][_0x75e7('0xe7')]=_0x45af60;}return db['ChatInteraction'][_0x75e7('0x6b')]({'where':{'id':_0x120b1c[_0x75e7('0xc0')]['id']},'include':[{'model':db['ChatMessage'],'as':_0x75e7('0xe8'),'include':[{'model':db[_0x75e7('0x7e')],'as':_0x75e7('0x7e')}]}]})['then'](handleEntityNotFound(_0xaa3d65,null))[_0x75e7('0x36')](saveUpdates(_0x120b1c[_0x75e7('0x81')],null))[_0x75e7('0x36')](function(_0x1cd41a){if(_0x1cd41a){_0x720e3e=_0x1cd41a;return db['ChatWebsite']['find']({'where':{'id':_0x720e3e['ChatWebsiteId']}});}})[_0x75e7('0x36')](function(_0x4ecda3){if(_0x4ecda3){_0xca0e3=_0x4ecda3;return db[_0x75e7('0xe9')][_0x75e7('0x6b')]({'where':{'id':_0x720e3e[_0x75e7('0x76')]}});}})[_0x75e7('0x36')](function(_0x5eddda){if(_0x5eddda){_0x504750=_0x5eddda;if(_0x45af60){var _0x4f2e04=null;for(var _0x13bf30=0x1;_0x13bf30<_0x720e3e[_0x75e7('0xe8')][_0x75e7('0x6a')];++_0x13bf30){_0x4f2e04=_0x720e3e[_0x75e7('0xe8')][_0x13bf30];var _0x5696c7=_0x4f2e04[_0x75e7('0x80')]?util['format'](_0x75e7('0xea'),_0xca0e3[_0x75e7('0xeb')],_0x4f2e04[_0x75e7('0x80')]):_0x75e7('0xec');var _0x3d6da2=_0x120b1c[_0x75e7('0x81')]['customer']||util[_0x75e7('0xe4')](_0x75e7('0xea'),_0x75e7('0xed'),_0x4f2e04[_0x75e7('0x76')]);switch(_0xca0e3[_0x75e7('0xee')]){case _0x75e7('0xef'):_0x5696c7=_0x4f2e04[_0x75e7('0x80')]?util[_0x75e7('0xe4')](_0x75e7('0xea'),_0xca0e3[_0x75e7('0xeb')],_0x4f2e04[_0x75e7('0x80')]):_0x75e7('0xec');break;case'agent_alias':_0x5696c7=_0x4f2e04['UserId']?_0x4f2e04[_0x75e7('0x7e')]['alias']||_0x4f2e04['User'][_0x75e7('0x3d')]:'System';break;case _0x75e7('0xf0'):_0x5696c7=_0x4f2e04[_0x75e7('0x80')]?_0x4f2e04[_0x75e7('0x7e')][_0x75e7('0x3d')]:_0x75e7('0xec');break;default:_0x5696c7=_0x4f2e04[_0x75e7('0x80')]?util[_0x75e7('0xe4')](_0x75e7('0xea'),_0xca0e3[_0x75e7('0xeb')],_0x4f2e04['UserId']):'System';}var _0x301775=util['format']('[%s]\x20%s:\x20%s\x0a',moment(_0x4f2e04[_0x75e7('0x88')])[_0x75e7('0xe4')](_0x75e7('0xf1')),_0x4f2e04['direction']==='in'?_0x3d6da2:_0x5696c7,_0x4f2e04[_0x75e7('0x81')]);if(!_0x4f2e04[_0x75e7('0xf2')]){fs[_0x75e7('0xf3')](_0x45af60,_0x301775);}}return db['MailAccount'][_0x75e7('0xc3')]({'where':{'service':!![]},'include':[{'model':db['MailServerOut'],'as':_0x75e7('0xf4'),'raw':!![]}]});}}})[_0x75e7('0x36')](function(_0x25d516){if(_0x25d516&&_0x25d516[_0x75e7('0xf4')]&&_0x120b1c['body']){var _0xc4ec9d={'tls':{'rejectUnauthorized':![]}};if(_0x25d516[_0x75e7('0xf4')]['service']){_0xc4ec9d[_0x75e7('0xf5')]=_0x25d516[_0x75e7('0xf4')]['service'];}else{_0xc4ec9d[_0x75e7('0xf6')]=_0x25d516[_0x75e7('0xf4')][_0x75e7('0xf6')];_0xc4ec9d['port']=_0x25d516['Smtp'][_0x75e7('0xf7')];_0xc4ec9d['secure']=_0x25d516['Smtp'][_0x75e7('0xf8')];}if(_0x25d516['Smtp'][_0x75e7('0xf9')]){_0xc4ec9d['auth']={'user':_0x25d516[_0x75e7('0xf4')][_0x75e7('0xa0')],'pass':_0x25d516[_0x75e7('0xf4')][_0x75e7('0xfa')]};}return respondWithRpcPromise(_0x75e7('0xfb'),'sendMail',{'account':_0xc4ec9d,'message':{'from':util[_0x75e7('0xe4')](_0x75e7('0xfc'),_0x25d516['name'],_0x25d516[_0x75e7('0xfd')]||_0x25d516['Smtp']['user']),'to':_0x120b1c[_0x75e7('0x81')][_0x75e7('0xfe')],'subject':_0x75e7('0xff'),'text':util['format']('Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a',_0x120b1c[_0x75e7('0x81')][_0x75e7('0xfe')]),'attachments':[{'path':_0x45af60}]}})[_0x75e7('0x36')](function(){return _0x720e3e;})[_0x75e7('0x43')](function(_0x23fb80){console['error'](_0x23fb80);});}else{return _0x720e3e;}})['then'](respondWithStatusCode(_0xaa3d65,0xc8))[_0x75e7('0x43')](handleError(_0xaa3d65,null));};exports[_0x75e7('0x100')]=function(_0x13e511,_0xc3cbd7,_0x4d209b){return db['ChatMessage']['find']({'where':{'id':_0x13e511[_0x75e7('0xc0')]['id']}})['then'](handleEntityNotFound(_0xc3cbd7,null))[_0x75e7('0x36')](function(_0x3a6934){if(_0x3a6934){return _0x3a6934[_0x75e7('0x100')](_0x13e511[_0x75e7('0x81')]['ids'],_[_0x75e7('0x101')](_0x13e511[_0x75e7('0x81')],[_0x75e7('0x102'),'id'])||{});}})['then'](respondWithResult(_0xc3cbd7,null))[_0x75e7('0x43')](handleError(_0xc3cbd7,null));};exports[_0x75e7('0x103')]=function(_0x310481,_0x3725e0,_0x856a3){var _0x3fd941={'raw':![],'where':{}};var _0x2d17c1={};var _0x1d4ddf={'count':0x0,'rows':[]};return db[_0x75e7('0x44')]['findOne']({'where':{'id':_0x310481[_0x75e7('0xc0')]['id']}})['then'](handleEntityNotFound(_0x3725e0,null))['then'](function(_0x3f584e){if(_0x3f584e){_0x2d17c1[_0x75e7('0x46')]=_['keys'](db[_0x75e7('0xcd')]['rawAttributes']);_0x2d17c1['query']=_[_0x75e7('0x47')](_0x310481[_0x75e7('0x48')]);_0x2d17c1[_0x75e7('0x49')]=_[_0x75e7('0x4a')](_0x2d17c1['model'],_0x2d17c1['query']);_0x3fd941['attributes']=_[_0x75e7('0x4a')](_0x2d17c1['model'],qs['fields'](_0x310481[_0x75e7('0x48')][_0x75e7('0x4b')]));_0x3fd941[_0x75e7('0x4c')]=_0x3fd941[_0x75e7('0x4c')]['length']?_0x3fd941[_0x75e7('0x4c')]:_0x2d17c1[_0x75e7('0x46')];if(!_0x310481[_0x75e7('0x48')][_0x75e7('0x4d')](_0x75e7('0x104'))){_0x3fd941['limit']=qs[_0x75e7('0x2d')](_0x310481[_0x75e7('0x48')]['limit']);_0x3fd941['offset']=qs[_0x75e7('0x2c')](_0x310481[_0x75e7('0x48')][_0x75e7('0x2c')]);}_0x3fd941[_0x75e7('0x4e')]=qs[_0x75e7('0x4f')](_0x310481[_0x75e7('0x48')][_0x75e7('0x4f')]);_0x3fd941['where']=qs[_0x75e7('0x49')](_[_0x75e7('0x51')](_0x310481[_0x75e7('0x48')],_0x2d17c1[_0x75e7('0x49')]));_0x3fd941['where'][_0x75e7('0x105')]=_0x3f584e['id'];if(_0x310481['query']['filter']){_0x3fd941['where']=_[_0x75e7('0xa4')](_0x3fd941[_0x75e7('0x50')],{'$or':_['map'](_0x3fd941[_0x75e7('0x4c')],function(_0x49a7c8){var _0x472257={};_0x472257[_0x49a7c8]={'$like':'%'+_0x310481[_0x75e7('0x48')][_0x75e7('0x93')]+'%'};return _0x472257;})});}if(_0x310481[_0x75e7('0x48')][_0x75e7('0x8a')]){var _0x4c1a8c=_0x310481['query'][_0x75e7('0x8a')][_0x75e7('0x3f')](',');var _0x472b8b={};_0x472b8b[_0x4c1a8c[0x0]]={'$gte':moment(_0x4c1a8c[0x1])[_0x75e7('0xe4')]('YYYY-MM-DD\x20HH:mm:ss')};_0x3fd941[_0x75e7('0x50')]=_[_0x75e7('0xa4')](_0x3fd941[_0x75e7('0x50')],_0x472b8b);}_0x3fd941=_['merge']({},_0x3fd941,_0x310481[_0x75e7('0x106')]);return db[_0x75e7('0xcd')][_0x75e7('0xa2')]({'where':_0x3fd941[_0x75e7('0x50')]})['then'](function(_0x25eb67){_0x1d4ddf[_0x75e7('0xa2')]=_0x25eb67;if(_0x310481[_0x75e7('0x48')]['includeAll']){_0x3fd941[_0x75e7('0xbe')]=[{'all':!![]}];}return db[_0x75e7('0xcd')][_0x75e7('0x107')](_0x3fd941);})[_0x75e7('0x36')](function(_0x361e6a){_0x1d4ddf[_0x75e7('0xbb')]=_0x361e6a;return _0x1d4ddf;});}})[_0x75e7('0x36')](respondWithFilteredResult(_0x3725e0,_0x3fd941))['catch'](handleError(_0x3725e0,null));};exports[_0x75e7('0x108')]=function(_0x3edea0,_0x47bfcb,_0x1d0470){var _0x574fc0={'where':{}},_0x7d6c1a={},_0x130685={'count':0x0,'rows':[]};return db[_0x75e7('0x44')][_0x75e7('0xc3')]({'where':{'id':_0x3edea0[_0x75e7('0xc0')]['id']}})[_0x75e7('0x36')](handleEntityNotFound(_0x47bfcb,null))['then'](function(_0x3448af){if(_0x3448af){_0x7d6c1a['model']=_['keys'](db[_0x75e7('0xcd')]['rawAttributes']);_0x7d6c1a[_0x75e7('0x48')]=_['keys'](_0x3edea0['query']);_0x7d6c1a[_0x75e7('0x49')]=_[_0x75e7('0x4a')](_0x7d6c1a['model'],_0x7d6c1a['query']);_0x574fc0['attributes']=_[_0x75e7('0x4a')](_0x7d6c1a['model'],qs[_0x75e7('0x4b')](_0x3edea0[_0x75e7('0x48')][_0x75e7('0x4b')]));_0x574fc0[_0x75e7('0x4c')]=_0x574fc0[_0x75e7('0x4c')][_0x75e7('0x6a')]?_0x574fc0[_0x75e7('0x4c')]:_0x7d6c1a[_0x75e7('0x46')];if(!_0x3edea0['query'][_0x75e7('0x4d')](_0x75e7('0x104'))){_0x574fc0[_0x75e7('0x2d')]=qs['limit'](_0x3edea0[_0x75e7('0x48')][_0x75e7('0x2d')]);_0x574fc0['offset']=qs['offset'](_0x3edea0[_0x75e7('0x48')][_0x75e7('0x2c')]);}_0x574fc0[_0x75e7('0x4e')]=qs['sort'](_0x3edea0[_0x75e7('0x48')][_0x75e7('0x4f')]);_0x574fc0[_0x75e7('0x50')]=qs[_0x75e7('0x49')](_[_0x75e7('0x51')](_0x3edea0['query'],_0x7d6c1a[_0x75e7('0x49')]));_0x574fc0['where']['ChatInteractionId']=_0x3448af['id'];if(_0x3edea0[_0x75e7('0x48')]['filter']){_0x574fc0[_0x75e7('0x50')]=_[_0x75e7('0xa4')](_0x574fc0[_0x75e7('0x50')],{'$or':_[_0x75e7('0x3c')](_0x574fc0['attributes'],function(_0x14d28e){var _0x1af27f={};_0x1af27f[_0x14d28e]={'$like':'%'+_0x3edea0[_0x75e7('0x48')][_0x75e7('0x93')]+'%'};return _0x1af27f;})});}_0x574fc0[_0x75e7('0x50')][_0x75e7('0xf2')]=![];if(_0x3edea0[_0x75e7('0x48')]['id']){_0x574fc0['where']['id']={'$gt':_0x3edea0['query']['id']};}_0x574fc0=_[_0x75e7('0xa4')]({},_0x574fc0,_0x3edea0['options']);return db[_0x75e7('0xcd')][_0x75e7('0xa2')]({'where':_0x574fc0[_0x75e7('0x50')]})[_0x75e7('0x36')](function(_0x5c83cb){_0x130685[_0x75e7('0xa2')]=_0x5c83cb;_0x574fc0[_0x75e7('0xbe')]=[];if(_0x3edea0[_0x75e7('0x48')][_0x75e7('0x109')]){_0x574fc0[_0x75e7('0xbe')][_0x75e7('0x42')]({'model':db['User'],'as':'User','attributes':['id',_0x75e7('0x3d'),_0x75e7('0x10a')]});}if(_0x3edea0[_0x75e7('0x48')][_0x75e7('0xbd')]){_0x574fc0[_0x75e7('0xbe')]=[{'all':!![]}];}return db['ChatMessage'][_0x75e7('0x107')](_0x574fc0);})['then'](function(_0x152767){_0x130685['rows']=_0x152767;return _0x130685;});}})[_0x75e7('0x36')](respondWithFilteredResult(_0x47bfcb,_0x574fc0))['catch'](handleError(_0x47bfcb,null));};exports[_0x75e7('0x10b')]=function(_0x539440,_0x942466,_0x204334){return db[_0x75e7('0x44')][_0x75e7('0x6b')]({'where':{'id':_0x539440[_0x75e7('0xc0')]['id']}})[_0x75e7('0x36')](handleEntityNotFound(_0x942466,null))[_0x75e7('0x36')](function(_0x4e3fc4){if(_0x4e3fc4){return _0x4e3fc4[_0x75e7('0x10c')](_0x539440[_0x75e7('0x81')][_0x75e7('0x102')],_[_0x75e7('0x101')](_0x539440[_0x75e7('0x81')],['ids','id'])||{})['spread'](function(){return db['Tag'][_0x75e7('0x107')]({'attributes':['id',_0x75e7('0x39'),_0x75e7('0x54')],'where':{'id':_0x539440[_0x75e7('0x81')][_0x75e7('0x102')]}});})['then'](function(_0x53c8f2){socket[_0x75e7('0x10d')](_0x75e7('0x10e'),{'id':Number(_0x539440[_0x75e7('0xc0')]['id']),'tags':_0x53c8f2||[]});return{'id':Number(_0x539440[_0x75e7('0xc0')]['id']),'tags':_0x53c8f2||[]};});}})[_0x75e7('0x36')](respondWithResult(_0x942466,null))[_0x75e7('0x43')](handleError(_0x942466,null));};exports[_0x75e7('0x10f')]=function(_0x34bf94,_0x4321dc,_0x4fe449){return db[_0x75e7('0x44')][_0x75e7('0x6b')]({'where':{'id':_0x34bf94['params']['id']}})[_0x75e7('0x36')](handleEntityNotFound(_0x4321dc,null))[_0x75e7('0x36')](function(_0xbcd7d8){if(_0xbcd7d8){return _0xbcd7d8[_0x75e7('0x10f')](_0x34bf94['query'][_0x75e7('0x102')]);}})['then'](respondWithStatusCode(_0x4321dc,null))[_0x75e7('0x43')](handleError(_0x4321dc,null));};exports['download']=function(_0x33e338,_0x316f2d){var _0x328591=moment()['unix']()[_0x75e7('0xa1')]();var _0x2fe354=path[_0x75e7('0xe2')](config['root'],_0x75e7('0x110'),'files',_0x75e7('0x111'));var _0x18286d=path['join'](config['root'],_0x75e7('0x110'),_0x75e7('0x112'),_0x75e7('0x113'));var _0x314acd=path[_0x75e7('0xe2')](_0x2fe354,_0x328591);var _0x16d21c=util[_0x75e7('0xe4')]('transcript-%d-%s.zip',_0x33e338[_0x75e7('0xc0')]['id'],_0x328591);var _0x41ca66=path[_0x75e7('0xe2')](_0x2fe354,_0x16d21c);var _0x3192aa=[];_0x3192aa[_0x75e7('0x42')]({'model':db[_0x75e7('0x7e')],'as':_0x75e7('0x7e'),'attributes':['id',_0x75e7('0x3d')],'raw':!![]});_0x3192aa[_0x75e7('0x42')]({'model':db[_0x75e7('0xe9')],'as':_0x75e7('0x114'),'attributes':['id','firstName',_0x75e7('0x115')],'raw':!![]});if(_0x33e338['query'][_0x75e7('0x113')]){_0x3192aa[_0x75e7('0x42')]({'model':db[_0x75e7('0xda')],'as':_0x75e7('0xda'),'raw':!![]});}var _0x24cc28=[{'model':db[_0x75e7('0xcd')],'as':_0x75e7('0xe8'),'attributes':['id',_0x75e7('0x81'),_0x75e7('0x88'),'direction',_0x75e7('0xf2'),_0x75e7('0x8e')],'include':_0x3192aa}];_0x24cc28[_0x75e7('0x42')]({'model':db[_0x75e7('0xc2')],'as':_0x75e7('0x116'),'attributes':['id',_0x75e7('0x39')]});_0x24cc28[_0x75e7('0x42')]({'model':db[_0x75e7('0x7e')],'as':_0x75e7('0x117'),'attributes':['id','fullname']});return db['ChatInteraction'][_0x75e7('0x6b')]({'where':{'id':_0x33e338[_0x75e7('0xc0')]['id']},'include':_0x24cc28})[_0x75e7('0x36')](handleEntityNotFound(_0x316f2d,null))[_0x75e7('0x36')](function(_0x51e34a){if(_0x51e34a){var _0x3d2e59=_0x51e34a[_0x75e7('0x118')]({'plain':!![]});fs[_0x75e7('0x119')](_0x314acd);var _0x36cc6f={'format':'A4','border':_0x75e7('0x11a'),'header':{'height':_0x75e7('0x11b'),'contents':{'first':_0x75e7('0x11c')}},'footer':{'height':_0x75e7('0x11d'),'contents':{'default':util['format'](_0x75e7('0x11e'),util[_0x75e7('0xe4')](_0x75e7('0x11f'),_0x75e7('0x120'),_0x3d2e59['id']),moment()[_0x75e7('0xe4')]('YYYY-MM-DD')['toString']())}}};var _0x4e5dde={'channel':_0x75e7('0x120'),'account':_0x3d2e59['Account'][_0x75e7('0x39')],'agent':_0x3d2e59[_0x75e7('0x117')]?_0x3d2e59[_0x75e7('0x117')][_0x75e7('0x3d')]:_0x75e7('0x121'),'createdAt':moment(_0x3d2e59[_0x75e7('0x88')])[_0x75e7('0xe4')](_0x75e7('0x122'))[_0x75e7('0xa1')](),'closedAt':_0x3d2e59['closed']?moment(_0x3d2e59['closedAt'])[_0x75e7('0xe4')](_0x75e7('0x122'))[_0x75e7('0xa1')]():'','disposition':_0x3d2e59[_0x75e7('0x123')],'chatInfo':{'browser':_0x3d2e59[_0x75e7('0x124')],'os':_0x3d2e59[_0x75e7('0x125')],'referer':_0x3d2e59[_0x75e7('0x126')],'customerIp':_0x3d2e59[_0x75e7('0x127')],'customerPort':_0x3d2e59[_0x75e7('0x128')]?_0x3d2e59[_0x75e7('0x128')]:_0x75e7('0x121')},'messages':_(_0x3d2e59[_0x75e7('0xe8')])[_0x75e7('0x129')]()[_0x75e7('0x93')]({'secret':![]})[_0x75e7('0x3c')](function(_0x2a7703){if(_0x2a7703[_0x75e7('0xda')]){var _0x1fbb18=path[_0x75e7('0xe2')](_0x18286d,_0x2a7703[_0x75e7('0xda')][_0x75e7('0xd6')]);if(fs['existsSync'](_0x1fbb18)){fs[_0x75e7('0x12a')](_0x1fbb18)[_0x75e7('0x12b')](fs[_0x75e7('0x12c')](path[_0x75e7('0xe2')](_0x314acd,_0x2a7703[_0x75e7('0xda')][_0x75e7('0xd6')])));}}return{'date':moment(_0x2a7703[_0x75e7('0x88')])[_0x75e7('0xe4')](_0x75e7('0x122'))[_0x75e7('0xa1')](),'sender':_0x2a7703[_0x75e7('0x12d')]===_0x75e7('0xcc')?_0x2a7703[_0x75e7('0x7e')]?_0x2a7703[_0x75e7('0x7e')][_0x75e7('0x3d')]:_0x75e7('0xec'):_0x2a7703[_0x75e7('0x114')][_0x75e7('0x12e')]+(_0x2a7703['Contact']['lastName']?'\x20'+_0x2a7703['Contact'][_0x75e7('0x115')]:''),'body':_0x2a7703[_0x75e7('0xda')]?_0x2a7703[_0x75e7('0xda')][_0x75e7('0xd6')]:_0x2a7703[_0x75e7('0x81')],'direction':_0x2a7703[_0x75e7('0x12d')]===_0x75e7('0xcc')?'A':'C','secret':_0x2a7703[_0x75e7('0xf2')],'read':_0x2a7703[_0x75e7('0x8e')],'attachment':_0x2a7703[_0x75e7('0xda')]};})[_0x75e7('0x6d')]()};return ejs[_0x75e7('0x12f')](path['join'](config['root'],_0x75e7('0x110'),_0x75e7('0x130'),_0x75e7('0x131')),{'interaction':_0x4e5dde})[_0x75e7('0x36')](function(_0x122416){return new BPromise(function(_0x432cc0,_0x18b283){pdf[_0x75e7('0xbf')](_0x122416,_0x36cc6f)[_0x75e7('0x132')](path[_0x75e7('0xe2')](_0x314acd,'transcript-'+_0x3d2e59['id']+'-'+_0x328591+_0x75e7('0x133')),function(_0x5e0955,_0x139e73){if(_0x5e0955)return _0x18b283(_0x5e0955);_0x432cc0(_0x139e73);});});})[_0x75e7('0x36')](function(){return new BPromise(function(_0x42dcb4,_0x51882c){zipdir(_0x314acd,{'saveTo':_0x41ca66},function(_0x1886cd,_0x4f215e){if(_0x1886cd)return _0x51882c(_0x1886cd);return _0x42dcb4(_0x4f215e);});})[_0x75e7('0x36')](function(){return new BPromise(function(_0x403230,_0x42f6ba){rimraf(_0x314acd,function(_0x2727ed){if(_0x2727ed)_0x42f6ba(_0x2727ed);return _0x403230();});});})[_0x75e7('0x36')](function(){return _0x316f2d[_0x75e7('0xde')](_0x41ca66,_0x16d21c,function(_0x1b3612){if(_0x1b3612){console[_0x75e7('0x134')](_0x75e7('0x135'),_0x1b3612);}else{fs['unlinkSync'](_0x41ca66);}});});});}else{return _0x316f2d['sendStatus'](0xc8);}})[_0x75e7('0x43')](handleError(_0x316f2d,null));};