Built motion from commit (unavailable).|2.5.4
[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 _0x1893=['isArray','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','\x27\x27\x27\x27','isNumeric','group','i.id','Sequelize','DESC','isEmpty','t.id\x20IN\x20?','resolve','journey','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','keyBy','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','Account.key','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','c.email','Contact.email','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','ChatInteractionId','all','rows','show','params','includeAll','include','options','create','body','describe','createVidaooSession','findOne','vidaooApiKey','vidaooEscalation','POST','follow','Error\x20in\x20Vidaoo\x20configuration','join_url','out','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','customUpdate','abandonInteraction,\x20%s,\x20%s,\x20%s','abandon','entity\x20not\x20found','Interaction\x20already\x20assigned','closed','disposition','AbandonInteraction','originalname','basename','file','filename','mimetype','attachmentDownload','Unauthorized','attachId','download','join','close','root','format','transcript-%s.txt','now','Messages','ChatWebsite','CmContact','%s%d','agentAlias','System','customer','Visitor','agent_alias','alias','agent_fullname','createdAt','MM/DD/YYYY\x20HH:mm:ss','direction','appendFileSync','MailServerOut','Smtp','service','port','secure','authentication','auth','pass','\x22%s\x22\x20<%s>','email','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','omit','getMessages','hasOwnProperty','sort','YYYY-MM-DD\x20HH:mm:ss','count','findAll','getMyMessages','addTags','setTags','ids','emit','chatInteractionTags:save','removeTags','unix','server','files','tmp','attachments','transcript-%d-%s.zip','firstName','lastName','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.','browserName','osName','referer','customerIp','customerPort','tail','Attachment','createReadStream','secret','views','downloadInteraction.html','toFile','.pdf','unlinkSync','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','http','ValidationError','request','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','sendStatus','status','end','offset','set','Content-Range','json','save','update','then','destroy','stack','name','send','map','fullname','TagIds','split','forEach','Tags','push','index','ChatInteraction','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','length','nolimit','limit','order','pick','field','color','from','tools_tags','select','u.id','u.fullname','ui.ChatInteractionId','left_join','users','chat_interactions','cm_contacts','o.id\x20=\x20i.UserId','chat_messages','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','Contact','operator','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','Tag','union','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','type','some','compact','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','parse','$gte','$lte','where','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200'];(function(_0x19e08e,_0x178f46){var _0x14c229=function(_0x791b3b){while(--_0x791b3b){_0x19e08e['push'](_0x19e08e['shift']());}};_0x14c229(++_0x178f46);}(_0x1893,0xa2));var _0x3189=function(_0x2f6c3e,_0x579279){_0x2f6c3e=_0x2f6c3e-0x0;var _0x5bd3b0=_0x1893[_0x2f6c3e];return _0x5bd3b0;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x3189('0x0'));var zipdir=require(_0x3189('0x1'));var jsonpatch=require(_0x3189('0x2'));var rp=require(_0x3189('0x3'));var moment=require(_0x3189('0x4'));var BPromise=require(_0x3189('0x5'));var Mustache=require(_0x3189('0x6'));var util=require('util');var path=require(_0x3189('0x7'));var sox=require(_0x3189('0x8'));var csv=require(_0x3189('0x9'));var ejs=require(_0x3189('0xa'));var fs=require('fs');var _=require(_0x3189('0xb'));var squel=require(_0x3189('0xc'));var crypto=require(_0x3189('0xd'));var jsforce=require(_0x3189('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x3189('0x9'));var querystring=require('querystring');var Papa=require(_0x3189('0xf'));var Redis=require('ioredis');var authService=require(_0x3189('0x10'));var qs=require(_0x3189('0x11'));var as=require(_0x3189('0x12'));var hardwareService=require(_0x3189('0x13'));var logger=require('../../config/logger')(_0x3189('0x14'));var utils=require(_0x3189('0x15'));var config=require(_0x3189('0x16'));var db=require(_0x3189('0x17'))['db'];config[_0x3189('0x18')]=_['defaults'](config[_0x3189('0x18')],{'host':_0x3189('0x19'),'port':0x18eb});var socket=require(_0x3189('0x1a'))(new Redis(config[_0x3189('0x18')]));require(_0x3189('0x1b'))[_0x3189('0x1c')](socket);var jayson=require(_0x3189('0x1d'));var client=jayson[_0x3189('0x1e')]['http']({'port':0x232b});var client9004=jayson[_0x3189('0x1e')][_0x3189('0x1f')]({'port':0x232c});function checkPasswordPattern(_0x1c209b,_0x2fb62b,_0x486dd2){if(_0x486dd2){var _0x40195d=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x40195d['test'](_0x2fb62b)){return _0x1c209b;}else{throw new db['Sequelize'][(_0x3189('0x20'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x1c209b;}}function respondWithRpcPromise(_0x42c3a3,_0xf8aed7,_0x22c7ba,_0x9905c4){return new BPromise(function(_0x4c4d9b,_0xd3d5a){var _0x7a0883=_0x9905c4||client;return _0x7a0883[_0x3189('0x21')](_0x42c3a3,_0x22c7ba)['then'](function(_0x561265){logger[_0x3189('0x22')](_0x3189('0x23'),_0xf8aed7,_0x3189('0x24'));logger[_0x3189('0x25')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0xf8aed7,_0x3189('0x24'),JSON[_0x3189('0x26')](_0x561265));if(_0x561265[_0x3189('0x27')]){if(_0x561265['error'][_0x3189('0x28')]===0x1f4){logger['error'](_0x3189('0x23'),_0xf8aed7,_0x561265[_0x3189('0x27')][_0x3189('0x29')]);return _0xd3d5a(_0x561265[_0x3189('0x27')][_0x3189('0x29')]);}logger[_0x3189('0x27')]('ChatInteraction,\x20%s,\x20%s',_0xf8aed7,_0x561265['error'][_0x3189('0x29')]);return _0x4c4d9b(_0x561265[_0x3189('0x27')][_0x3189('0x29')]);}else{logger[_0x3189('0x22')](_0x3189('0x23'),_0xf8aed7,_0x3189('0x24'));_0x4c4d9b(_0x561265[_0x3189('0x2a')][_0x3189('0x29')]);}})[_0x3189('0x2b')](function(_0x5ec0ac){logger['error']('ChatInteraction,\x20%s,\x20%s',_0xf8aed7,_0x5ec0ac);_0xd3d5a(_0x5ec0ac);});});}function respondWithStatusCode(_0x5aa34a,_0x2a8308){_0x2a8308=_0x2a8308||0xcc;return function(_0x3d7d5b){if(_0x3d7d5b){return _0x5aa34a[_0x3189('0x2c')](_0x2a8308);}return _0x5aa34a[_0x3189('0x2d')](_0x2a8308)[_0x3189('0x2e')]();};}function respondWithResult(_0x2f7504,_0x4d453a){_0x4d453a=_0x4d453a||0xc8;return function(_0x1ab94b){if(_0x1ab94b){return _0x2f7504[_0x3189('0x2d')](_0x4d453a)['json'](_0x1ab94b);}};}function respondWithFilteredResult(_0x173f18,_0x3744ff){return function(_0x39c5e4){if(_0x39c5e4){var _0x5c7a36=_0x39c5e4['count'],_0x168dc2=_0x3744ff[_0x3189('0x2f')],_0x32bba1=_0x3744ff[_0x3189('0x2f')]+_0x3744ff['limit'],_0x23798e;if(_0x32bba1>=_0x5c7a36){_0x32bba1=_0x5c7a36;_0x23798e=0xc8;}else{_0x23798e=0xce;}_0x173f18[_0x3189('0x2d')](_0x23798e);return _0x173f18[_0x3189('0x30')](_0x3189('0x31'),_0x168dc2+'-'+_0x32bba1+'/'+_0x5c7a36)[_0x3189('0x32')](_0x39c5e4);}return null;};}function patchUpdates(_0x3c30c4){return function(_0x5c7847){try{jsonpatch['apply'](_0x5c7847,_0x3c30c4,!![]);}catch(_0x7d7745){return BPromise['reject'](_0x7d7745);}return _0x5c7847[_0x3189('0x33')]();};}function saveUpdates(_0x42b929,_0x1b493a){return function(_0x31f9c9){if(_0x31f9c9){return _0x31f9c9[_0x3189('0x34')](_0x42b929)[_0x3189('0x35')](function(_0x2510c5){return _0x2510c5;});}return null;};}function removeEntity(_0x1fd1f2,_0x2482a4){return function(_0x5c115e){if(_0x5c115e){return _0x5c115e[_0x3189('0x36')]()[_0x3189('0x35')](function(){_0x1fd1f2[_0x3189('0x2d')](0xcc)[_0x3189('0x2e')]();});}};}function handleEntityNotFound(_0x29589e,_0x3a3e01){return function(_0xd1ee0){if(!_0xd1ee0){_0x29589e['sendStatus'](0x194);}return _0xd1ee0;};}function handleError(_0x5b3312,_0x391c43){_0x391c43=_0x391c43||0x1f4;return function(_0x580064){logger[_0x3189('0x27')](_0x580064[_0x3189('0x37')]);if(_0x580064['name']){delete _0x580064[_0x3189('0x38')];}_0x5b3312[_0x3189('0x2d')](_0x391c43)[_0x3189('0x39')](_0x580064);};}function getInteractionUsers(_0x254135,_0x55ef54){return new BPromise(function(_0xc36bcc,_0x4ba800){try{if(_0x55ef54[_0x254135['id']]){_0x254135['Users']=_[_0x3189('0x3a')](_0x55ef54[_0x254135['id']],function(_0xed3041){return{'id':_0xed3041['id'],'fullname':_0xed3041[_0x3189('0x3b')]};});}}catch(_0x33b61c){_0x4ba800(_0x33b61c);}_0xc36bcc(_0x254135);});}function getInteractionTags(_0x12dee0,_0x25a998){return new BPromise(function(_0x15f185,_0x80cc7a){try{if(_0x12dee0['TagIds']){_0x12dee0['Tags']=[];_0x12dee0[_0x3189('0x3c')][_0x3189('0x3d')](',')[_0x3189('0x3e')](function(_0x2e4412){_0x12dee0[_0x3189('0x3f')][_0x3189('0x40')](_0x25a998[_0x2e4412]);});}delete _0x12dee0['TagIds'];}catch(_0x280146){_0x80cc7a(_0x280146);}_0x15f185(_0x12dee0);});}function updateChatInteraction(_0xc48bf1,_0x17cb22,_0xaf76f1){return new BPromise(function(_0x5965d9,_0x35f065){return getInteractionUsers(_0xc48bf1,_0xaf76f1)[_0x3189('0x35')](function(_0x5e549f){return getInteractionTags(_0x5e549f,_0x17cb22);})['then'](function(_0x1ef1b2){_0x5965d9(_0x1ef1b2);})['catch'](function(_0x376787){_0x35f065(_0x376787);});});}exports[_0x3189('0x41')]=function(_0x38bf83,_0x9593f3){var _0x48aa00={},_0x262354={},_0x3038aa={'count':0x0,'rows':[]};var _0x54c0e6=_[_0x3189('0x3a')](db[_0x3189('0x42')][_0x3189('0x43')],function(_0x3a6a36){return{'name':_0x3a6a36[_0x3189('0x44')],'type':_0x3a6a36['type']['key']};});_0x262354[_0x3189('0x45')]=_['map'](_0x54c0e6,_0x3189('0x38'));_0x262354[_0x3189('0x46')]=_[_0x3189('0x47')](_0x38bf83['query']);_0x262354[_0x3189('0x48')]=_[_0x3189('0x49')](_0x262354[_0x3189('0x45')],_0x262354['query']);_0x48aa00[_0x3189('0x4a')]=_[_0x3189('0x49')](_0x262354[_0x3189('0x45')],qs[_0x3189('0x4b')](_0x38bf83[_0x3189('0x46')][_0x3189('0x4b')]));_0x48aa00['attributes']=_0x48aa00['attributes'][_0x3189('0x4c')]?_0x48aa00['attributes']:_0x262354['model'];if(!_0x38bf83[_0x3189('0x46')]['hasOwnProperty'](_0x3189('0x4d'))){_0x48aa00[_0x3189('0x4e')]=qs[_0x3189('0x4e')](_0x38bf83['query'][_0x3189('0x4e')]);_0x48aa00['offset']=qs[_0x3189('0x2f')](_0x38bf83['query']['offset']);}_0x48aa00[_0x3189('0x4f')]=qs['sort'](_0x38bf83[_0x3189('0x46')]['sort']);_0x48aa00['where']=qs[_0x3189('0x48')](_[_0x3189('0x50')](_0x38bf83[_0x3189('0x46')],_0x262354[_0x3189('0x48')]),_0x54c0e6);var _0x111eee=[];var _0x42cddb=squel['select']()[_0x3189('0x51')]('id')['field']('name')[_0x3189('0x51')](_0x3189('0x52'))[_0x3189('0x53')](_0x3189('0x54'));var _0x252cc3=squel[_0x3189('0x55')]()['field'](_0x3189('0x56'))['field'](_0x3189('0x57'))[_0x3189('0x51')](_0x3189('0x58'))[_0x3189('0x53')]('user_has_chat_interactions','ui')[_0x3189('0x59')](_0x3189('0x5a'),'u','u.id\x20=\x20ui.UserId');var _0x3f8179=squel[_0x3189('0x55')]()[_0x3189('0x53')](_0x3189('0x5b'),'i')['left_join'](_0x3189('0x5c'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x3189('0x59')]('users','o',_0x3189('0x5d'))[_0x3189('0x59')]('chat_websites','a','a.id\x20=\x20i.ChatWebsiteId')['left_join'](_0x3189('0x5e'),'me','me.ChatInteractionId\x20=\x20i.id')[_0x3189('0x59')](_0x3189('0x5f'),'it',_0x3189('0x60'))[_0x3189('0x59')](_0x3189('0x54'),'t',_0x3189('0x61'));var _0x26d15e=squel[_0x3189('0x62')]();var _0xefd21c=[];var _0x4b76c2=squel[_0x3189('0x62')]();var _0x13dc35;if(_0x38bf83[_0x3189('0x46')][_0x3189('0x63')]){_0x13dc35=as[_0x3189('0x64')](_0x38bf83[_0x3189('0x46')][_0x3189('0x63')]);var _0x1627a0=_0x13dc35[_0x3189('0x65')];for(var _0x68de3c=0x0;_0x68de3c<_0x13dc35[_0x3189('0x66')][_0x3189('0x4c')];_0x68de3c++){var _0x4d49d1=_0x13dc35['conditions'][_0x68de3c];var _0x46490f='i';var _0x244031=_[_0x3189('0x67')](_0x54c0e6,[_0x3189('0x38'),_0x4d49d1[_0x3189('0x51')]]);if(!_0x244031){switch(_0x4d49d1[_0x3189('0x51')]){case _0x3189('0x68'):if(_0x4d49d1[_0x3189('0x69')]==0x1){_0x3f8179[_0x3189('0x6a')]('`'+_0x4d49d1[_0x3189('0x51')]+_0x3189('0x6b'));}else{_0x3f8179['having']('`'+_0x4d49d1['field']+'`\x20>\x200');}break;case _0x3189('0x6c'):if(_0x4d49d1[_0x3189('0x6d')]==='$substring'){if(_0x4d49d1[_0x3189('0x69')][_0x3189('0x3d')]('\x20')[_0x3189('0x4c')]>0x1){_0x26d15e[_0x1627a0](_0x3189('0x6e'),qs[_0x3189('0x6f')](_0x4d49d1['value']),null);}else{var _0x111fc5='%'+_0x4d49d1[_0x3189('0x69')]+'%';_0x26d15e[_0x1627a0](_0x3189('0x70'),_0x111fc5,_0x111fc5,_0x111fc5);}}else{_0x244031=_[_0x3189('0x67')](_0x54c0e6,['name',_0x3189('0x71')]);_0x4d49d1[_0x3189('0x51')]=_0x3189('0x71');_0x47fe84=as[_0x3189('0x72')](_0x46490f,_0x244031['type'],_0x4d49d1);_0x26d15e[_0x1627a0](_0x47fe84[_0x3189('0x73')],_0x47fe84['value'][_0x3189('0x74')],_0x47fe84[_0x3189('0x69')][_0x3189('0x2e')]);}break;case _0x3189('0x75'):var _0x55bcf0=_0x4d49d1[_0x3189('0x69')][_0x3189('0x3d')](',')[_0x3189('0x3a')](function(_0x1a1aee){return Number(_0x1a1aee);});_0x55bcf0[_0x3189('0x3e')](function(_0x1d9b21){_0x4b76c2['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x1d9b21+',%');});_0xefd21c=_[_0x3189('0x76')](_0xefd21c,_0x55bcf0);break;case _0x3189('0x77'):if(_0x4d49d1[_0x3189('0x6d')]===_0x3189('0x78')){_0x26d15e[_0x1627a0](_0x3189('0x79'),'%'+_0x4d49d1['value']+'%',null);}else{_0x244031=_[_0x3189('0x67')](_0x54c0e6,['name',_0x3189('0x7a')]);_0x4d49d1[_0x3189('0x51')]=_0x3189('0x7a');_0x47fe84=as[_0x3189('0x72')](_0x46490f,_0x244031[_0x3189('0x7b')],_0x4d49d1);_0x26d15e[_0x1627a0](_0x47fe84[_0x3189('0x73')],_0x47fe84[_0x3189('0x69')][_0x3189('0x74')],_0x47fe84['value'][_0x3189('0x2e')]);}break;case'body':_0x47fe84=as[_0x3189('0x72')]('me',null,_0x4d49d1);_0x26d15e[_0x1627a0](_0x47fe84[_0x3189('0x73')],_0x47fe84[_0x3189('0x69')][_0x3189('0x74')],_0x47fe84[_0x3189('0x69')][_0x3189('0x2e')]);break;}}else{var _0x47fe84=as[_0x3189('0x72')](_0x46490f,_0x244031[_0x3189('0x7b')],_0x4d49d1);_0x26d15e[_0x1627a0](_0x47fe84['text'],_0x47fe84[_0x3189('0x69')]['start'],_0x47fe84[_0x3189('0x69')][_0x3189('0x2e')]);}}}else{var _0x1aea36=_(_0x38bf83['query'])['keys']()[_0x3189('0x3a')](function(_0x5ae038){return _[_0x3189('0x7c')](_0x54c0e6,['name',_0x5ae038])?_0x5ae038:undefined;})[_0x3189('0x7d')]()[_0x3189('0x69')]();if(!_['isEmpty'](_0x1aea36)){_0x1aea36[_0x3189('0x3e')](function(_0x36eb7f){if(_0x36eb7f===_0x3189('0x7e')){_0x3f8179['where'](_0x3189('0x7f'),[][_0x3189('0x80')](_0x38bf83[_0x3189('0x46')][_0x36eb7f]));}else if(_0x36eb7f==='createdAt'){var _0x521230=JSON[_0x3189('0x81')](_0x38bf83[_0x3189('0x46')][_0x36eb7f])[_0x3189('0x82')];var _0x5631bc=JSON[_0x3189('0x81')](_0x38bf83[_0x3189('0x46')][_0x36eb7f])[_0x3189('0x83')];_0x3f8179[_0x3189('0x84')](_0x3189('0x85'),_0x521230,_0x5631bc);}else{if(_0x38bf83[_0x3189('0x46')][_0x36eb7f]===_0x3189('0x86')){_0x3f8179[_0x3189('0x84')]('i.'+_0x36eb7f+_0x3189('0x87'));}else{_0x3f8179[_0x3189('0x84')]('i.'+_0x36eb7f+'\x20=\x20?',_0x38bf83[_0x3189('0x46')][_0x36eb7f]);}}});}if(_0x38bf83[_0x3189('0x46')][_0x3189('0x88')]){if(_0x38bf83[_0x3189('0x46')][_0x3189('0x88')]==0x1){_0x3f8179[_0x3189('0x6a')](_0x3189('0x89'));}else{_0x3f8179[_0x3189('0x6a')]('`unreadMessages`\x20>\x200');}}if(_0x38bf83[_0x3189('0x46')]['tag']){_0xefd21c=_[_0x3189('0x8a')](_0x38bf83[_0x3189('0x46')][_0x3189('0x8b')])?_0x38bf83[_0x3189('0x46')]['tag']:new Array(_0x38bf83['query'][_0x3189('0x8b')]);_0xefd21c[_0x3189('0x3e')](function(_0x22b42e){_0x4b76c2['or'](_0x3189('0x8c'),'%,'+_0x22b42e+',%');});}if(_0x38bf83['query'][_0x3189('0x8d')]){var _0x2208a8=_0x38bf83['query'][_0x3189('0x8d')][_0x3189('0x8e')]('\x5c','\x5c\x5c')['replace']('\x27\x27',_0x3189('0x8f'));if(qs[_0x3189('0x90')](_0x2208a8)){_0x26d15e['or']('i.id\x20LIKE\x20?',_0x2208a8+'%');}else{_0x26d15e['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x3189('0x6f')](_0x2208a8))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x2208a8+'%');}}}_0x3f8179[_0x3189('0x84')](_0x26d15e);_0x3f8179[_0x3189('0x91')](_0x3189('0x92'));var _0x59a625={'type':db[_0x3189('0x93')]['QueryTypes']['SELECT'],'raw':!![]};var _0x1c869a=_0x3f8179['clone']();_0x1c869a[_0x3189('0x51')]('i.id');_0x1c869a['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x3189('0x68'));if(_0x48aa00['order']){_0x48aa00[_0x3189('0x4f')][_0x3189('0x3e')](function(_0x3ddd47){_0x3f8179[_0x3189('0x4f')]('i.'+_0x3ddd47[0x0],_0x3ddd47[0x1]===_0x3189('0x94')?![]:!![]);});}if(!_[_0x3189('0x95')](_0xefd21c)){_0x3f8179['having'](_0x4b76c2);_0x1c869a[_0x3189('0x84')](_0x3189('0x96'),_0xefd21c);}BPromise[_0x3189('0x97')]()[_0x3189('0x35')](function(){if(!_0x13dc35){if(_0x38bf83[_0x3189('0x46')]['ChatWebsiteId']||_0x38bf83[_0x3189('0x46')][_0x3189('0x98')])return;_0x1c869a[_0x3189('0x84')](_0x3189('0x99'));_0x3f8179[_0x3189('0x84')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}return _0x38bf83[_0x3189('0x9a')][_0x3189('0x9b')]({'attributes':['id'],'raw':!![]})[_0x3189('0x35')](function(_0x1e0bcd){if(_[_0x3189('0x95')](_0x1e0bcd)){_0x1c869a[_0x3189('0x84')](_0x3189('0x9c'));_0x3f8179[_0x3189('0x84')](_0x3189('0x9c'));}else{_0x1c869a[_0x3189('0x84')]('i.ChatWebsiteId\x20IN\x20?',_[_0x3189('0x3a')](_0x1e0bcd,'id'));_0x3f8179[_0x3189('0x84')](_0x3189('0x7f'),_[_0x3189('0x3a')](_0x1e0bcd,'id'));}});})[_0x3189('0x35')](function(){db[_0x3189('0x9d')]['query'](_0x1c869a[_0x3189('0x9e')](),_0x59a625)['then'](function(_0x39cef6){_0x3038aa['count']=_0x39cef6[_0x3189('0x4c')];if(_0x3038aa['count']===0x0)return[];return db[_0x3189('0x9d')]['query'](_0x42cddb[_0x3189('0x9e')](),_0x59a625)[_0x3189('0x35')](function(_0x5bf330){_0x111eee=_[_0x3189('0x9f')](_0x5bf330,'id');_0x59a625=_[_0x3189('0xa0')](_0x59a625,{'model':db[_0x3189('0x42')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x38bf83[_0x3189('0x46')][_0x3189('0x4b')]){_0x48aa00['attributes']['forEach'](function(_0x3f1692){_0x3f8179[_0x3189('0x51')]('i.'+_0x3f1692);});}else{_0x3f8179[_0x3189('0x51')](_0x3189('0xa1'),_0x3189('0x68'));_0x3f8179[_0x3189('0x51')]('a.key',_0x3189('0xa2'));_0x3f8179[_0x3189('0x51')]('a.mandatoryDisposition',_0x3189('0xa3'));_0x3f8179[_0x3189('0x51')](_0x3189('0xa4'));_0x3f8179['field'](_0x3189('0xa5'),_0x3189('0xa6'));_0x3f8179[_0x3189('0x51')](_0x3189('0xa7'),'Contact.lastName');_0x3f8179[_0x3189('0x51')](_0x3189('0xa8'),_0x3189('0xa9'));_0x3f8179[_0x3189('0x51')]('c.phone',_0x3189('0xaa'));_0x3f8179[_0x3189('0x51')](_0x3189('0xab'),_0x3189('0xac'));_0x3f8179['field'](_0x3189('0xad'),_0x3189('0xae'));_0x3f8179[_0x3189('0x51')]('o.fullname',_0x3189('0xaf'));_0x3f8179['field'](_0x3189('0xb0'),'Owner.internal');_0x3f8179[_0x3189('0x51')](_0x3189('0xb1'),_0x3189('0x3c'));}if(_0x48aa00[_0x3189('0x4e')])_0x3f8179['limit'](_0x48aa00[_0x3189('0x4e')]);if(_0x48aa00[_0x3189('0x2f')])_0x3f8179[_0x3189('0x2f')](_0x48aa00[_0x3189('0x2f')]);return db[_0x3189('0x9d')][_0x3189('0x46')](_0x3f8179['toString'](),_0x59a625);})['then'](function(_0x35145f){_0x252cc3[_0x3189('0x84')]('ui.ChatInteractionId\x20IN\x20?',_[_0x3189('0x3a')](_0x35145f,'id'));return db[_0x3189('0x9d')][_0x3189('0x46')](_0x252cc3[_0x3189('0x9e')](),_0x59a625)['then'](function(_0x34ce5a){var _0x2dc636=_[_0x3189('0xb2')](_0x34ce5a,_0x3189('0xb3'));var _0x4b6692=[];_0x35145f[_0x3189('0x3e')](function(_0xa15f8f){_0x4b6692['push'](updateChatInteraction(_0xa15f8f,_0x111eee,_0x2dc636));});return BPromise[_0x3189('0xb4')](_0x4b6692);});});})[_0x3189('0x35')](function(_0x5eeb3d){_0x3038aa[_0x3189('0xb5')]=_0x5eeb3d;return _0x3038aa;})[_0x3189('0x35')](respondWithFilteredResult(_0x9593f3,_0x48aa00));})['catch'](handleError(_0x9593f3,null));};exports[_0x3189('0xb6')]=function(_0x14124e,_0x23388c){var _0x116065={'raw':![],'where':{'id':_0x14124e[_0x3189('0xb7')]['id']}},_0x23d34e={};_0x23d34e['model']=_[_0x3189('0x47')](db[_0x3189('0x42')][_0x3189('0x43')]);_0x23d34e[_0x3189('0x46')]=_[_0x3189('0x47')](_0x14124e[_0x3189('0x46')]);_0x23d34e[_0x3189('0x48')]=_[_0x3189('0x49')](_0x23d34e['model'],_0x23d34e[_0x3189('0x46')]);_0x116065[_0x3189('0x4a')]=_['intersection'](_0x23d34e[_0x3189('0x45')],qs[_0x3189('0x4b')](_0x14124e['query'][_0x3189('0x4b')]));_0x116065[_0x3189('0x4a')]=_0x116065['attributes'][_0x3189('0x4c')]?_0x116065[_0x3189('0x4a')]:_0x23d34e[_0x3189('0x45')];if(_0x14124e[_0x3189('0x46')][_0x3189('0xb8')]){_0x116065[_0x3189('0xb9')]=[{'all':!![]}];}_0x116065=_['merge']({},_0x116065,_0x14124e[_0x3189('0xba')]);return db[_0x3189('0x42')]['find'](_0x116065)[_0x3189('0x35')](handleEntityNotFound(_0x23388c,null))[_0x3189('0x35')](respondWithResult(_0x23388c,null))['catch'](handleError(_0x23388c,null));};exports['create']=function(_0x158199,_0x431e68){return db[_0x3189('0x42')][_0x3189('0xbb')](_0x158199['body'],{})['then'](respondWithResult(_0x431e68,0xc9))[_0x3189('0x2b')](handleError(_0x431e68,null));};exports[_0x3189('0x34')]=function(_0x574628,_0x198013){if(_0x574628[_0x3189('0xbc')]['id']){delete _0x574628[_0x3189('0xbc')]['id'];}return db['ChatInteraction'][_0x3189('0x67')]({'where':{'id':_0x574628[_0x3189('0xb7')]['id']}})[_0x3189('0x35')](handleEntityNotFound(_0x198013,null))[_0x3189('0x35')](saveUpdates(_0x574628[_0x3189('0xbc')],null))[_0x3189('0x35')](respondWithResult(_0x198013,null))['catch'](handleError(_0x198013,null));};exports[_0x3189('0x36')]=function(_0x55ff4f,_0x25b5b0){return db[_0x3189('0x42')][_0x3189('0x67')]({'where':{'id':_0x55ff4f['params']['id']}})[_0x3189('0x35')](handleEntityNotFound(_0x25b5b0,null))[_0x3189('0x35')](removeEntity(_0x25b5b0,null))['catch'](handleError(_0x25b5b0,null));};exports[_0x3189('0xbd')]=function(_0x2bab94,_0x4fe6cf){return db[_0x3189('0x42')][_0x3189('0xbd')]()[_0x3189('0x35')](respondWithResult(_0x4fe6cf,null))[_0x3189('0x2b')](handleError(_0x4fe6cf,null));};exports[_0x3189('0xbe')]=function(_0x4f564d,_0x341e23){var _0x5a4b53=_0x4f564d[_0x3189('0xb7')]['id'];var _0x2b35c2;var _0x5432f6;var _0x1ba5a3;return db[_0x3189('0x42')][_0x3189('0xbf')]({'where':{'id':_0x5a4b53}})['then'](function(_0x4fb475){_0x2b35c2=_0x4fb475;return db['ChatWebsite'][_0x3189('0xbf')]({'where':{'id':_0x4fb475[_0x3189('0x7e')]},'attributes':['id',_0x3189('0xc0'),'vidaooEscalation'],'raw':!![]});})['then'](function(_0x23f5a8){if(_0x23f5a8&&_0x23f5a8[_0x3189('0xc0')]&&_0x23f5a8[_0x3189('0xc1')]){_0x5432f6=_0x23f5a8;var _0x15e45f={'rejectUnauthorized':![],'method':_0x3189('0xc2'),'uri':'https://api-vidaoo.xcally.com/api/v1/sessions','headers':{'X-APIKEY':_0x23f5a8[_0x3189('0xc0')]},'body':{'name':'MotionCWB:'+_0x5a4b53},'redirect':_0x3189('0xc3'),'json':!![]};return rp(_0x15e45f);}else{throw new db['Sequelize'][(_0x3189('0x20'))](_0x3189('0xc4'));}})['then'](function(_0x1a07d7){_0x1ba5a3=_0x1a07d7;if(_0x1ba5a3['id']){var _0x3086eb={'body':_0x1ba5a3[_0x3189('0xc5')],'ChatWebsiteId':_0x5432f6['id'],'ChatInteractionId':_0x2b35c2['id'],'direction':_0x3189('0xc6'),'UserId':_0x4f564d['user']['id']};return db[_0x3189('0xc7')][_0x3189('0xbb')](_0x3086eb,{});}else{throw new db[(_0x3189('0x93'))]['ValidationError'](_0x3189('0xc8'));}})[_0x3189('0x35')](function(){return _0x2b35c2[_0x3189('0xc9')]({'vidaooSessionId':_0x1ba5a3['id']});})[_0x3189('0x35')](respondWithResult(_0x341e23,null))['catch'](handleError(_0x341e23,null));};exports[_0x3189('0xca')]=function(_0xc8fc77,_0x318e21){if(_0xc8fc77[_0x3189('0xbc')]['id']){delete _0xc8fc77[_0x3189('0xbc')]['id'];}return db['ChatInteraction'][_0x3189('0x67')]({'where':{'id':_0xc8fc77['params']['id']}})[_0x3189('0x35')](handleEntityNotFound(_0x318e21,null))[_0x3189('0x35')](saveUpdates(_0xc8fc77[_0x3189('0xbc')],null))[_0x3189('0x35')](respondWithResult(_0x318e21,null))[_0x3189('0x2b')](handleError(_0x318e21,null));};exports['abandon']=function(_0x2fc6ec,_0x2be228,_0x2a596c){if(_0x2fc6ec['body']['id']){delete _0x2fc6ec['body']['id'];}return db[_0x3189('0x42')][_0x3189('0x67')]({'where':{'id':_0x2fc6ec['params']['id']}})[_0x3189('0x35')](function(_0x2ebdce){if(!_0x2ebdce){logger['error'](_0x3189('0xcb'),_0x3189('0xcc'),0x194,_0x3189('0xcd'));_0x2be228['sendStatus'](0x194);}else{if(_0x2ebdce[_0x3189('0x7a')]){throw new db[(_0x3189('0x93'))]['ValidationError'](_0x3189('0xce'));}}return _0x2ebdce;})[_0x3189('0x35')](function(_0x1f6057){if(_0x1f6057){return _0x1f6057[_0x3189('0x34')]({'closed':_0x2fc6ec[_0x3189('0xbc')][_0x3189('0xcf')],'disposition':_0x2fc6ec[_0x3189('0xbc')][_0x3189('0xd0')]})[_0x3189('0x35')](function(_0x2b31c6){return _0x2b31c6;});}})[_0x3189('0x35')](function(_0x2be69c){return respondWithRpcPromise(_0x3189('0xd1'),_0x3189('0xcc'),_0x2fc6ec[_0x3189('0xbc')],client9004);})[_0x3189('0x35')](respondWithResult(_0x2be228,null))[_0x3189('0x2b')](handleError(_0x2be228,null));};exports['attachmentUpload']=function(_0x1504b6,_0x2f390a,_0x31a159){_0x1504b6[_0x3189('0xbc')][_0x3189('0x38')]=_0x1504b6['file'][_0x3189('0xd2')];_0x1504b6[_0x3189('0xbc')][_0x3189('0xd3')]=_0x1504b6[_0x3189('0xd4')][_0x3189('0xd5')];_0x1504b6[_0x3189('0xbc')][_0x3189('0x7b')]=_0x1504b6['file'][_0x3189('0xd6')];return db['Attachment'][_0x3189('0xbb')](_0x1504b6[_0x3189('0xbc')])['then'](respondWithResult(_0x2f390a,0xc9))['catch'](handleError(_0x2f390a,null));};exports[_0x3189('0xd7')]=function(_0x32ceba,_0x7a5cb9,_0x361b01){return db[_0x3189('0x42')][_0x3189('0xbf')]({'where':{'id':_0x32ceba[_0x3189('0xb7')]['id']},'raw':!![]})[_0x3189('0x35')](handleEntityNotFound(_0x7a5cb9,null))[_0x3189('0x35')](function(_0x22d4e9){if(_0x22d4e9){if(_0x22d4e9[_0x3189('0xcf')]){return _0x7a5cb9[_0x3189('0x2d')](0x193)[_0x3189('0x32')]({'status':0x193,'message':_0x3189('0xd8')});}return db['Attachment'][_0x3189('0xbf')]({'where':{'id':_0x32ceba[_0x3189('0x46')][_0x3189('0xd9')]},'raw':!![]})[_0x3189('0x35')](handleEntityNotFound(_0x7a5cb9,null));}})[_0x3189('0x35')](function(_0x1dd193){if(_0x1dd193){return _0x7a5cb9[_0x3189('0xda')](path[_0x3189('0xdb')](config['root'],'server/files/attachments/',_0x1dd193[_0x3189('0xd3')]));}})[_0x3189('0x2b')](handleError(_0x7a5cb9,null));};exports[_0x3189('0xdc')]=function(_0x588a54,_0x30a368){var _0x19104c=null;var _0x5a4cea=null;var _0x4d4d7f=null;var _0x540505=null;if(_0x588a54[_0x3189('0xbc')]['id']){delete _0x588a54[_0x3189('0xbc')]['id'];}if(_0x588a54[_0x3189('0xbc')]['mailTranscript']){_0x540505=path['join'](config[_0x3189('0xdd')],'server/files/chat/upload/',util[_0x3189('0xde')](_0x3189('0xdf'),Date[_0x3189('0xe0')]()));_0x588a54[_0x3189('0xbc')]['pathTranscript']=_0x540505;}return db['ChatInteraction'][_0x3189('0x67')]({'where':{'id':_0x588a54[_0x3189('0xb7')]['id']},'include':[{'model':db[_0x3189('0xc7')],'as':_0x3189('0xe1'),'include':[{'model':db[_0x3189('0x77')],'as':_0x3189('0x77')}]}]})['then'](handleEntityNotFound(_0x30a368,null))[_0x3189('0x35')](saveUpdates(_0x588a54[_0x3189('0xbc')],null))[_0x3189('0x35')](function(_0x317892){if(_0x317892){_0x19104c=_0x317892;return db[_0x3189('0xe2')][_0x3189('0x67')]({'where':{'id':_0x19104c[_0x3189('0x7e')]}});}})['then'](function(_0x556233){if(_0x556233){_0x4d4d7f=_0x556233;return db[_0x3189('0xe3')][_0x3189('0x67')]({'where':{'id':_0x19104c[_0x3189('0x71')]}});}})[_0x3189('0x35')](function(_0x4d9984){if(_0x4d9984){_0x5a4cea=_0x4d9984;if(_0x540505){var _0x4b4b54=null;for(var _0x1a7862=0x1;_0x1a7862<_0x19104c[_0x3189('0xe1')][_0x3189('0x4c')];++_0x1a7862){_0x4b4b54=_0x19104c[_0x3189('0xe1')][_0x1a7862];var _0x2ffae=_0x4b4b54[_0x3189('0x7a')]?util[_0x3189('0xde')](_0x3189('0xe4'),_0x4d4d7f[_0x3189('0xe5')],_0x4b4b54[_0x3189('0x7a')]):_0x3189('0xe6');var _0x83bf64=_0x588a54['body'][_0x3189('0xe7')]||util[_0x3189('0xde')](_0x3189('0xe4'),_0x3189('0xe8'),_0x4b4b54['ContactId']);switch(_0x4d4d7f['agentIdentifier']){case'website_alias':_0x2ffae=_0x4b4b54[_0x3189('0x7a')]?util['format']('%s%d',_0x4d4d7f[_0x3189('0xe5')],_0x4b4b54[_0x3189('0x7a')]):'System';break;case _0x3189('0xe9'):_0x2ffae=_0x4b4b54[_0x3189('0x7a')]?_0x4b4b54['User'][_0x3189('0xea')]||_0x4b4b54['User'][_0x3189('0x3b')]:_0x3189('0xe6');break;case _0x3189('0xeb'):_0x2ffae=_0x4b4b54[_0x3189('0x7a')]?_0x4b4b54[_0x3189('0x77')][_0x3189('0x3b')]:_0x3189('0xe6');break;default:_0x2ffae=_0x4b4b54[_0x3189('0x7a')]?util[_0x3189('0xde')](_0x3189('0xe4'),_0x4d4d7f['agentAlias'],_0x4b4b54[_0x3189('0x7a')]):_0x3189('0xe6');}var _0x377df0=util['format']('[%s]\x20%s:\x20%s\x0a',moment(_0x4b4b54[_0x3189('0xec')])[_0x3189('0xde')](_0x3189('0xed')),_0x4b4b54[_0x3189('0xee')]==='in'?_0x83bf64:_0x2ffae,_0x4b4b54[_0x3189('0xbc')]);if(!_0x4b4b54['secret']){fs[_0x3189('0xef')](_0x540505,_0x377df0);}}return db['MailAccount'][_0x3189('0xbf')]({'where':{'service':!![]},'include':[{'model':db[_0x3189('0xf0')],'as':'Smtp','raw':!![]}]});}}})['then'](function(_0x432554){if(_0x432554&&_0x432554[_0x3189('0xf1')]&&_0x588a54[_0x3189('0xbc')]){var _0x348b7f={'tls':{'rejectUnauthorized':![]}};if(_0x432554['Smtp'][_0x3189('0xf2')]){_0x348b7f[_0x3189('0xf2')]=_0x432554[_0x3189('0xf1')][_0x3189('0xf2')];}else{_0x348b7f['host']=_0x432554[_0x3189('0xf1')]['host'];_0x348b7f[_0x3189('0xf3')]=_0x432554[_0x3189('0xf1')]['port'];_0x348b7f[_0x3189('0xf4')]=_0x432554['Smtp'][_0x3189('0xf4')];}if(_0x432554[_0x3189('0xf1')][_0x3189('0xf5')]){_0x348b7f[_0x3189('0xf6')]={'user':_0x432554[_0x3189('0xf1')][_0x3189('0x9a')],'pass':_0x432554['Smtp'][_0x3189('0xf7')]};}return respondWithRpcPromise('SendMail','sendMail',{'account':_0x348b7f,'message':{'from':util[_0x3189('0xde')](_0x3189('0xf8'),_0x432554[_0x3189('0x38')],_0x432554[_0x3189('0xf9')]||_0x432554[_0x3189('0xf1')][_0x3189('0x9a')]),'to':_0x588a54[_0x3189('0xbc')]['mailTranscript'],'subject':'Mail\x20Transcript','text':util[_0x3189('0xde')](_0x3189('0xfa'),_0x588a54[_0x3189('0xbc')]['mailTranscript']),'attachments':[{'path':_0x540505}]}})[_0x3189('0x35')](function(){return _0x19104c;})[_0x3189('0x2b')](function(_0x5d5e3d){console[_0x3189('0x27')](_0x5d5e3d);});}else{return _0x19104c;}})['then'](respondWithStatusCode(_0x30a368,0xc8))['catch'](handleError(_0x30a368,null));};exports[_0x3189('0xfb')]=function(_0x5e9b28,_0x47e940,_0x2ae334){return db[_0x3189('0xc7')][_0x3189('0x67')]({'where':{'id':_0x5e9b28['params']['id']}})[_0x3189('0x35')](handleEntityNotFound(_0x47e940,null))[_0x3189('0x35')](function(_0x1b3439){if(_0x1b3439){return _0x1b3439[_0x3189('0xfb')](_0x5e9b28[_0x3189('0xbc')]['ids'],_[_0x3189('0xfc')](_0x5e9b28[_0x3189('0xbc')],['ids','id'])||{});}})['then'](respondWithResult(_0x47e940,null))[_0x3189('0x2b')](handleError(_0x47e940,null));};exports[_0x3189('0xfd')]=function(_0x328f5a,_0xd2dba7,_0x657e19){var _0x31296a={'raw':![],'where':{}};var _0xa671b0={};var _0x565682={'count':0x0,'rows':[]};return db[_0x3189('0x42')]['findOne']({'where':{'id':_0x328f5a[_0x3189('0xb7')]['id']}})[_0x3189('0x35')](handleEntityNotFound(_0xd2dba7,null))['then'](function(_0x1f44ab){if(_0x1f44ab){_0xa671b0[_0x3189('0x45')]=_[_0x3189('0x47')](db[_0x3189('0xc7')][_0x3189('0x43')]);_0xa671b0[_0x3189('0x46')]=_[_0x3189('0x47')](_0x328f5a['query']);_0xa671b0['filters']=_[_0x3189('0x49')](_0xa671b0[_0x3189('0x45')],_0xa671b0[_0x3189('0x46')]);_0x31296a[_0x3189('0x4a')]=_['intersection'](_0xa671b0['model'],qs[_0x3189('0x4b')](_0x328f5a['query'][_0x3189('0x4b')]));_0x31296a['attributes']=_0x31296a[_0x3189('0x4a')][_0x3189('0x4c')]?_0x31296a[_0x3189('0x4a')]:_0xa671b0[_0x3189('0x45')];if(!_0x328f5a[_0x3189('0x46')][_0x3189('0xfe')](_0x3189('0x4d'))){_0x31296a[_0x3189('0x4e')]=qs['limit'](_0x328f5a[_0x3189('0x46')]['limit']);_0x31296a[_0x3189('0x2f')]=qs['offset'](_0x328f5a[_0x3189('0x46')]['offset']);}_0x31296a[_0x3189('0x4f')]=qs[_0x3189('0xff')](_0x328f5a[_0x3189('0x46')][_0x3189('0xff')]);_0x31296a['where']=qs[_0x3189('0x48')](_['pick'](_0x328f5a[_0x3189('0x46')],_0xa671b0[_0x3189('0x48')]));_0x31296a[_0x3189('0x84')][_0x3189('0xb3')]=_0x1f44ab['id'];if(_0x328f5a[_0x3189('0x46')]['filter']){_0x31296a[_0x3189('0x84')]=_[_0x3189('0xa0')](_0x31296a[_0x3189('0x84')],{'$or':_[_0x3189('0x3a')](_0x31296a[_0x3189('0x4a')],function(_0x245f45){var _0x373473={};_0x373473[_0x245f45]={'$like':'%'+_0x328f5a['query'][_0x3189('0x8d')]+'%'};return _0x373473;})});}if(_0x328f5a[_0x3189('0x46')]['$gte']){var _0x35dae7=_0x328f5a['query'][_0x3189('0x82')][_0x3189('0x3d')](',');var _0x581d07={};_0x581d07[_0x35dae7[0x0]]={'$gte':moment(_0x35dae7[0x1])['format'](_0x3189('0x100'))};_0x31296a[_0x3189('0x84')]=_[_0x3189('0xa0')](_0x31296a[_0x3189('0x84')],_0x581d07);}_0x31296a=_['merge']({},_0x31296a,_0x328f5a[_0x3189('0xba')]);return db[_0x3189('0xc7')]['count']({'where':_0x31296a[_0x3189('0x84')]})[_0x3189('0x35')](function(_0x3ec22a){_0x565682[_0x3189('0x101')]=_0x3ec22a;if(_0x328f5a['query'][_0x3189('0xb8')]){_0x31296a[_0x3189('0xb9')]=[{'all':!![]}];}return db[_0x3189('0xc7')][_0x3189('0x102')](_0x31296a);})[_0x3189('0x35')](function(_0x1cc61e){_0x565682[_0x3189('0xb5')]=_0x1cc61e;return _0x565682;});}})[_0x3189('0x35')](respondWithFilteredResult(_0xd2dba7,_0x31296a))[_0x3189('0x2b')](handleError(_0xd2dba7,null));};exports[_0x3189('0x103')]=function(_0x3b30a2,_0x39b2b6,_0x422d71){var _0xc0f782={'where':{}},_0xe619dc={},_0x2589b0={'count':0x0,'rows':[]};return db[_0x3189('0x42')][_0x3189('0xbf')]({'where':{'id':_0x3b30a2[_0x3189('0xb7')]['id']}})['then'](handleEntityNotFound(_0x39b2b6,null))[_0x3189('0x35')](function(_0x5c0b3d){if(_0x5c0b3d){_0xe619dc[_0x3189('0x45')]=_['keys'](db[_0x3189('0xc7')][_0x3189('0x43')]);_0xe619dc[_0x3189('0x46')]=_[_0x3189('0x47')](_0x3b30a2[_0x3189('0x46')]);_0xe619dc['filters']=_['intersection'](_0xe619dc[_0x3189('0x45')],_0xe619dc[_0x3189('0x46')]);_0xc0f782['attributes']=_[_0x3189('0x49')](_0xe619dc[_0x3189('0x45')],qs['fields'](_0x3b30a2[_0x3189('0x46')]['fields']));_0xc0f782['attributes']=_0xc0f782[_0x3189('0x4a')][_0x3189('0x4c')]?_0xc0f782[_0x3189('0x4a')]:_0xe619dc[_0x3189('0x45')];if(!_0x3b30a2['query'][_0x3189('0xfe')](_0x3189('0x4d'))){_0xc0f782['limit']=qs[_0x3189('0x4e')](_0x3b30a2[_0x3189('0x46')][_0x3189('0x4e')]);_0xc0f782[_0x3189('0x2f')]=qs['offset'](_0x3b30a2[_0x3189('0x46')]['offset']);}_0xc0f782['order']=qs[_0x3189('0xff')](_0x3b30a2['query'][_0x3189('0xff')]);_0xc0f782['where']=qs[_0x3189('0x48')](_[_0x3189('0x50')](_0x3b30a2[_0x3189('0x46')],_0xe619dc[_0x3189('0x48')]));_0xc0f782[_0x3189('0x84')]['ChatInteractionId']=_0x5c0b3d['id'];if(_0x3b30a2['query'][_0x3189('0x8d')]){_0xc0f782[_0x3189('0x84')]=_['merge'](_0xc0f782['where'],{'$or':_[_0x3189('0x3a')](_0xc0f782[_0x3189('0x4a')],function(_0x4b17a5){var _0x42bd3b={};_0x42bd3b[_0x4b17a5]={'$like':'%'+_0x3b30a2[_0x3189('0x46')][_0x3189('0x8d')]+'%'};return _0x42bd3b;})});}_0xc0f782[_0x3189('0x84')]['secret']=![];if(_0x3b30a2[_0x3189('0x46')]['id']){_0xc0f782['where']['id']={'$gt':_0x3b30a2[_0x3189('0x46')]['id']};}_0xc0f782=_[_0x3189('0xa0')]({},_0xc0f782,_0x3b30a2[_0x3189('0xba')]);return db[_0x3189('0xc7')][_0x3189('0x101')]({'where':_0xc0f782[_0x3189('0x84')]})[_0x3189('0x35')](function(_0x4625b4){_0x2589b0[_0x3189('0x101')]=_0x4625b4;_0xc0f782[_0x3189('0xb9')]=[];if(_0x3b30a2[_0x3189('0x46')]['includeAgent']){_0xc0f782[_0x3189('0xb9')][_0x3189('0x40')]({'model':db[_0x3189('0x77')],'as':_0x3189('0x77'),'attributes':['id','fullname','alias']});}if(_0x3b30a2['query']['includeAll']){_0xc0f782[_0x3189('0xb9')]=[{'all':!![]}];}return db[_0x3189('0xc7')][_0x3189('0x102')](_0xc0f782);})[_0x3189('0x35')](function(_0x46e6de){_0x2589b0[_0x3189('0xb5')]=_0x46e6de;return _0x2589b0;});}})[_0x3189('0x35')](respondWithFilteredResult(_0x39b2b6,_0xc0f782))[_0x3189('0x2b')](handleError(_0x39b2b6,null));};exports[_0x3189('0x104')]=function(_0x5b51e7,_0x10e0b4,_0x1db6b7){return db['ChatInteraction']['find']({'where':{'id':_0x5b51e7[_0x3189('0xb7')]['id']}})[_0x3189('0x35')](handleEntityNotFound(_0x10e0b4,null))[_0x3189('0x35')](function(_0x18af10){if(_0x18af10){return _0x18af10[_0x3189('0x105')](_0x5b51e7['body'][_0x3189('0x106')],_[_0x3189('0xfc')](_0x5b51e7[_0x3189('0xbc')],[_0x3189('0x106'),'id'])||{})['spread'](function(){return db[_0x3189('0x75')][_0x3189('0x102')]({'attributes':['id','name',_0x3189('0x52')],'where':{'id':_0x5b51e7[_0x3189('0xbc')][_0x3189('0x106')]}});})['then'](function(_0x13feb7){socket[_0x3189('0x107')](_0x3189('0x108'),{'id':Number(_0x5b51e7[_0x3189('0xb7')]['id']),'tags':_0x13feb7||[]});return{'id':Number(_0x5b51e7['params']['id']),'tags':_0x13feb7||[]};});}})[_0x3189('0x35')](respondWithResult(_0x10e0b4,null))[_0x3189('0x2b')](handleError(_0x10e0b4,null));};exports[_0x3189('0x109')]=function(_0x5ef72c,_0x49d6e5,_0x64d075){return db[_0x3189('0x42')][_0x3189('0x67')]({'where':{'id':_0x5ef72c[_0x3189('0xb7')]['id']}})[_0x3189('0x35')](handleEntityNotFound(_0x49d6e5,null))['then'](function(_0x32132d){if(_0x32132d){return _0x32132d['removeTags'](_0x5ef72c[_0x3189('0x46')][_0x3189('0x106')]);}})[_0x3189('0x35')](respondWithStatusCode(_0x49d6e5,null))['catch'](handleError(_0x49d6e5,null));};exports[_0x3189('0xda')]=function(_0x961be2,_0xcc3250){var _0x36cb22=moment()[_0x3189('0x10a')]()['toString']();var _0x1a2748=path[_0x3189('0xdb')](config[_0x3189('0xdd')],_0x3189('0x10b'),_0x3189('0x10c'),_0x3189('0x10d'));var _0x135461=path[_0x3189('0xdb')](config['root'],_0x3189('0x10b'),_0x3189('0x10c'),_0x3189('0x10e'));var _0x582ad6=path['join'](_0x1a2748,_0x36cb22);var _0xc40671=util[_0x3189('0xde')](_0x3189('0x10f'),_0x961be2[_0x3189('0xb7')]['id'],_0x36cb22);var _0x3e7cef=path[_0x3189('0xdb')](_0x1a2748,_0xc40671);var _0x27c66e=[];_0x27c66e['push']({'model':db['User'],'as':_0x3189('0x77'),'attributes':['id',_0x3189('0x3b')],'raw':!![]});_0x27c66e[_0x3189('0x40')]({'model':db[_0x3189('0xe3')],'as':_0x3189('0x6c'),'attributes':['id',_0x3189('0x110'),_0x3189('0x111')],'raw':!![]});if(_0x961be2[_0x3189('0x46')][_0x3189('0x10e')]){_0x27c66e[_0x3189('0x40')]({'model':db['Attachment'],'as':'Attachment','raw':!![]});}var _0x2ea683=[{'model':db[_0x3189('0xc7')],'as':_0x3189('0xe1'),'attributes':['id','body','createdAt','direction','secret',_0x3189('0x88')],'include':_0x27c66e}];_0x2ea683['push']({'model':db[_0x3189('0xe2')],'as':_0x3189('0x112'),'attributes':['id',_0x3189('0x38')]});_0x2ea683['push']({'model':db['User'],'as':_0x3189('0x113'),'attributes':['id','fullname']});return db['ChatInteraction']['find']({'where':{'id':_0x961be2[_0x3189('0xb7')]['id']},'include':_0x2ea683})['then'](handleEntityNotFound(_0xcc3250,null))[_0x3189('0x35')](function(_0x3630e5){if(_0x3630e5){var _0x11f0a5=_0x3630e5[_0x3189('0x114')]({'plain':!![]});fs[_0x3189('0x115')](_0x582ad6);var _0x40fc8c={'format':'A4','border':_0x3189('0x116'),'header':{'height':_0x3189('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':_0x3189('0x118'),'contents':{'default':util[_0x3189('0xde')](_0x3189('0x119'),util[_0x3189('0xde')](_0x3189('0x11a'),_0x3189('0x11b'),_0x11f0a5['id']),moment()[_0x3189('0xde')](_0x3189('0x11c'))[_0x3189('0x9e')]())}}};var _0x35282b={'channel':_0x3189('0x11b'),'account':_0x11f0a5['Account']['name'],'agent':_0x11f0a5[_0x3189('0x113')]?_0x11f0a5[_0x3189('0x113')][_0x3189('0x3b')]:_0x3189('0x11d'),'createdAt':moment(_0x11f0a5['createdAt'])[_0x3189('0xde')](_0x3189('0x100'))[_0x3189('0x9e')](),'closedAt':_0x11f0a5[_0x3189('0xcf')]?moment(_0x11f0a5['closedAt'])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0x3189('0x9e')]():'','disposition':_0x11f0a5[_0x3189('0xd0')],'chatInfo':{'browser':_0x11f0a5[_0x3189('0x11e')],'os':_0x11f0a5[_0x3189('0x11f')],'referer':_0x11f0a5[_0x3189('0x120')],'customerIp':_0x11f0a5[_0x3189('0x121')],'customerPort':_0x11f0a5[_0x3189('0x122')]?_0x11f0a5[_0x3189('0x122')]:_0x3189('0x11d')},'messages':_(_0x11f0a5[_0x3189('0xe1')])[_0x3189('0x123')]()[_0x3189('0x8d')]({'secret':![]})[_0x3189('0x3a')](function(_0x34806c){if(_0x34806c[_0x3189('0x124')]){var _0x5419b1=path['join'](_0x135461,_0x34806c[_0x3189('0x124')][_0x3189('0xd3')]);if(fs['existsSync'](_0x5419b1)){fs[_0x3189('0x125')](_0x5419b1)['pipe'](fs['createWriteStream'](path['join'](_0x582ad6,_0x34806c[_0x3189('0x124')][_0x3189('0xd3')])));}}return{'date':moment(_0x34806c[_0x3189('0xec')])[_0x3189('0xde')](_0x3189('0x100'))[_0x3189('0x9e')](),'sender':_0x34806c[_0x3189('0xee')]==='out'?_0x34806c[_0x3189('0x77')]?_0x34806c['User'][_0x3189('0x3b')]:_0x3189('0xe6'):_0x34806c[_0x3189('0x6c')][_0x3189('0x110')]+(_0x34806c[_0x3189('0x6c')][_0x3189('0x111')]?'\x20'+_0x34806c[_0x3189('0x6c')][_0x3189('0x111')]:''),'body':_0x34806c[_0x3189('0x124')]?_0x34806c[_0x3189('0x124')][_0x3189('0xd3')]:_0x34806c[_0x3189('0xbc')],'direction':_0x34806c[_0x3189('0xee')]===_0x3189('0xc6')?'A':'C','secret':_0x34806c[_0x3189('0x126')],'read':_0x34806c[_0x3189('0x88')],'attachment':_0x34806c['Attachment']};})[_0x3189('0x69')]()};return ejs['renderFile'](path[_0x3189('0xdb')](config[_0x3189('0xdd')],_0x3189('0x10b'),_0x3189('0x127'),_0x3189('0x128')),{'interaction':_0x35282b})[_0x3189('0x35')](function(_0x4a8d6b){return new BPromise(function(_0x449821,_0x2e2ebd){pdf[_0x3189('0xbb')](_0x4a8d6b,_0x40fc8c)[_0x3189('0x129')](path[_0x3189('0xdb')](_0x582ad6,'transcript-'+_0x11f0a5['id']+'-'+_0x36cb22+_0x3189('0x12a')),function(_0x57836a,_0x10b765){if(_0x57836a)return _0x2e2ebd(_0x57836a);_0x449821(_0x10b765);});});})[_0x3189('0x35')](function(){return new BPromise(function(_0x2961e7,_0x36a8bd){zipdir(_0x582ad6,{'saveTo':_0x3e7cef},function(_0xa57d96,_0x59dedf){if(_0xa57d96)return _0x36a8bd(_0xa57d96);return _0x2961e7(_0x59dedf);});})['then'](function(){return new BPromise(function(_0x1bd5fc,_0x1c1a85){rimraf(_0x582ad6,function(_0x16d262){if(_0x16d262)_0x1c1a85(_0x16d262);return _0x1bd5fc();});});})[_0x3189('0x35')](function(){return _0xcc3250[_0x3189('0xda')](_0x3e7cef,_0xc40671,function(_0x19b5a4){if(_0x19b5a4){console['log']('err',_0x19b5a4);}else{fs[_0x3189('0x12b')](_0x3e7cef);}});});});}else{return _0xcc3250[_0x3189('0x2c')](0xc8);}})[_0x3189('0x2b')](handleError(_0xcc3250,null));};