264f21de74bc898928f3caa1a0f782d039707749
[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 _0x02e4=['sequelize','toString','keyBy','a.key','Account.key','a.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','i.*','Contact.firstName','c.lastName','Contact.lastName','Contact.email','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','all','rows','intersection','includeAll','include','create','params','describe','findOne','vidaooApiKey','vidaooEscalation','vidaooMetadata','email','POST','https://api-vidaoo.xcally.com/api/v1/meetings','vidaooTopic','isNull','vidaooNote','metadata','Sequelize','ValidationError','Error\x20in\x20conversion\x20vidaooMetadata','join_url','out','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','customUpdate','CmContact','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s','Interaction\x20already\x20assigned','AbandonInteraction','attachmentUpload','file','originalname','basename','mimetype','Attachment','attachmentDownload','Unauthorized','ChatOfflineMessageId','join','server/files/attachments/','offline-chat/','download','close','mailTranscript','server/files/chat/upload/','format','transcript-%s.txt','now','ChatWebsite','Messages','%s%d','agentAlias','System','customer','Visitor','website_alias','agent_alias','User','alias','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','secret','appendFileSync','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','auth','pass','SendMail','sendMail','\x22%s\x22\x20<%s>','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','getMessages','options','findAll','getMyMessages','includeAgent','setTags','spread','Tag','chatInteractionTags:save','removeTags','root','files','tmp','transcript-%d-%s.zip','firstName','lastName','attachments','direction','Account','Owner','Chat','YYYY-MM-DD\x20HH:mm:ss','closedAt','customerIp','customerPort','N.A.','existsSync','createReadStream','pipe','createWriteStream','server','views','downloadInteraction.ejs','transcript-','createPdfFromHTML','log','err','unlinkSync','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatInteraction.socket','register','jayson/promise','client','request','then','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','message','info','result','catch','sendStatus','status','end','undefined','limit','offset','count','Content-Range','json','apply','save','update','destroy','stack','name','send','render','merge','body','contact','agent','account','Users','map','fullname','TagIds','Tags','split','push','waiting','talking','answered','unmanaged','abandoned','closed','UserId','disposition','total','index','ChatInteraction','rawAttributes','type','key','model','keys','query','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','field','color','from','tools_tags','select','u.id','u.fullname','ui.ChatInteractionId','user_has_chat_interactions','left_join','users','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','a.id\x20=\x20i.ChatWebsiteId','chat_messages','me.ChatInteractionId\x20=\x20i.id','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','`\x20=\x200','Contact','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','operator','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','start','some','compact','isEmpty','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','having','`unreadMessages`\x20>\x200','tag','isArray','filter','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','resolve','ChatWebsiteId','user','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','i.ChatWebsiteId\x20IN\x20?','role'];(function(_0x6131cd,_0x4c26a1){var _0x47e916=function(_0x1f2bce){while(--_0x1f2bce){_0x6131cd['push'](_0x6131cd['shift']());}};_0x47e916(++_0x4c26a1);}(_0x02e4,0x90));var _0x402e=function(_0x502c7d,_0x2f1285){_0x502c7d=_0x502c7d-0x0;var _0x30b7ed=_0x02e4[_0x502c7d];return _0x30b7ed;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x402e('0x0'));var zipdir=require(_0x402e('0x1'));var jsonpatch=require(_0x402e('0x2'));var rp=require(_0x402e('0x3'));var moment=require(_0x402e('0x4'));var BPromise=require(_0x402e('0x5'));var Mustache=require(_0x402e('0x6'));var util=require(_0x402e('0x7'));var path=require('path');var sox=require(_0x402e('0x8'));var csv=require(_0x402e('0x9'));var ejs=require(_0x402e('0xa'));var fs=require('fs');var fs_extra=require(_0x402e('0xb'));var _=require(_0x402e('0xc'));var squel=require(_0x402e('0xd'));var crypto=require(_0x402e('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x402e('0xf'));var toCsv=require(_0x402e('0x9'));var querystring=require('querystring');var Papa=require(_0x402e('0x10'));var Redis=require('ioredis');var authService=require(_0x402e('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x402e('0x12'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0x402e('0x13'));var logger=require(_0x402e('0x14'))(_0x402e('0x15'));var utils=require(_0x402e('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x402e('0x17'));var db=require(_0x402e('0x18'))['db'];config[_0x402e('0x19')]=_[_0x402e('0x1a')](config['redis'],{'host':_0x402e('0x1b'),'port':0x18eb});var socket=require(_0x402e('0x1c'))(new Redis(config[_0x402e('0x19')]));require(_0x402e('0x1d'))[_0x402e('0x1e')](socket);var jayson=require(_0x402e('0x1f'));var client=jayson['client']['http']({'port':0x232b});var client9004=jayson[_0x402e('0x20')]['http']({'port':0x232c});function respondWithRpcPromise(_0x4583b1,_0x3aa2a1,_0x40e8b9,_0x5dcf8f){return new BPromise(function(_0x28ee0f,_0x2f05d0){var _0x907c69=_0x5dcf8f||client;return _0x907c69[_0x402e('0x21')](_0x4583b1,_0x40e8b9)[_0x402e('0x22')](function(_0x2b47fb){logger['info'](_0x402e('0x23'),_0x3aa2a1,_0x402e('0x24'));logger[_0x402e('0x25')](_0x402e('0x26'),_0x3aa2a1,_0x402e('0x24'),JSON[_0x402e('0x27')](_0x2b47fb));if(_0x2b47fb[_0x402e('0x28')]){if(_0x2b47fb[_0x402e('0x28')]['code']===0x1f4){logger[_0x402e('0x28')]('ChatInteraction,\x20%s,\x20%s',_0x3aa2a1,_0x2b47fb[_0x402e('0x28')]['message']);return _0x2f05d0(_0x2b47fb['error'][_0x402e('0x29')]);}logger['error']('ChatInteraction,\x20%s,\x20%s',_0x3aa2a1,_0x2b47fb['error'][_0x402e('0x29')]);return _0x28ee0f(_0x2b47fb[_0x402e('0x28')][_0x402e('0x29')]);}else{logger[_0x402e('0x2a')](_0x402e('0x23'),_0x3aa2a1,'request\x20sent');_0x28ee0f(_0x2b47fb[_0x402e('0x2b')][_0x402e('0x29')]);}})[_0x402e('0x2c')](function(_0x7c80a5){logger[_0x402e('0x28')]('ChatInteraction,\x20%s,\x20%s',_0x3aa2a1,_0x7c80a5);_0x2f05d0(_0x7c80a5);});});}function respondWithStatusCode(_0x2ed9fa,_0x21a968){_0x21a968=_0x21a968||0xcc;return function(_0x48b773){if(_0x48b773){return _0x2ed9fa[_0x402e('0x2d')](_0x21a968);}return _0x2ed9fa[_0x402e('0x2e')](_0x21a968)[_0x402e('0x2f')]();};}function respondWithResult(_0x19a102,_0x204575){_0x204575=_0x204575||0xc8;return function(_0x51d147){if(_0x51d147){return _0x19a102[_0x402e('0x2e')](_0x204575)['json'](_0x51d147);}};}function respondWithFilteredResult(_0x46223b,_0x5d8e92){return function(_0x3cda0d){if(_0x3cda0d){var _0x4f3e8e=typeof _0x5d8e92['offset']===_0x402e('0x30')&&typeof _0x5d8e92[_0x402e('0x31')]===_0x402e('0x30');var _0x2fafac=_0x3cda0d['count'];var _0x2d6fe3=_0x4f3e8e?0x0:_0x5d8e92[_0x402e('0x32')];var _0xedbf39=_0x4f3e8e?_0x3cda0d[_0x402e('0x33')]:_0x5d8e92[_0x402e('0x32')]+_0x5d8e92[_0x402e('0x31')];var _0x29a760;if(_0xedbf39>=_0x2fafac){_0xedbf39=_0x2fafac;_0x29a760=0xc8;}else{_0x29a760=0xce;}_0x46223b['status'](_0x29a760);return _0x46223b['set'](_0x402e('0x34'),_0x2d6fe3+'-'+_0xedbf39+'/'+_0x2fafac)[_0x402e('0x35')](_0x3cda0d);}return null;};}function patchUpdates(_0x24c711){return function(_0x175d47){try{jsonpatch[_0x402e('0x36')](_0x175d47,_0x24c711,!![]);}catch(_0x4fc3c6){return BPromise['reject'](_0x4fc3c6);}return _0x175d47[_0x402e('0x37')]();};}function saveUpdates(_0xb83736,_0x2a368f){return function(_0x37614b){if(_0x37614b){return _0x37614b[_0x402e('0x38')](_0xb83736)[_0x402e('0x22')](function(_0x1e8b2d){return _0x1e8b2d;});}return null;};}function removeEntity(_0x192b13,_0x1982b2){return function(_0x1fa271){if(_0x1fa271){return _0x1fa271[_0x402e('0x39')]()[_0x402e('0x22')](function(){_0x192b13[_0x402e('0x2e')](0xcc)[_0x402e('0x2f')]();});}};}function handleEntityNotFound(_0x399d9f,_0x28e84a){return function(_0x11c111){if(!_0x11c111){_0x399d9f['sendStatus'](0x194);}return _0x11c111;};}function handleError(_0x371c9a,_0x9caa2a){_0x9caa2a=_0x9caa2a||0x1f4;return function(_0x3728fb){logger[_0x402e('0x28')](_0x3728fb[_0x402e('0x3a')]);if(_0x3728fb['name']){delete _0x3728fb[_0x402e('0x3b')];}_0x371c9a[_0x402e('0x2e')](_0x9caa2a)[_0x402e('0x3c')](_0x3728fb);};}function getMustacheRender(_0x153717,_0x19e4dc){return Mustache[_0x402e('0x3d')](_0x153717,_[_0x402e('0x3e')](_0x19e4dc[_0x402e('0x3f')],{'contact':_0x19e4dc[_0x402e('0x40')],'message':_0x19e4dc[_0x402e('0x29')],'agent':_0x19e4dc[_0x402e('0x41')],'interaction':_0x19e4dc['interaction'],'account':_0x19e4dc[_0x402e('0x42')]}))||'';}function getInteractionUsers(_0x237ffd,_0x2e9071){return new BPromise(function(_0x482b95,_0x4b7c57){try{if(_0x2e9071[_0x237ffd['id']]){_0x237ffd[_0x402e('0x43')]=_[_0x402e('0x44')](_0x2e9071[_0x237ffd['id']],function(_0x4dc3fc){return{'id':_0x4dc3fc['id'],'fullname':_0x4dc3fc[_0x402e('0x45')]};});}}catch(_0x400d30){_0x4b7c57(_0x400d30);}_0x482b95(_0x237ffd);});}function getInteractionTags(_0x4d7212,_0x366c38){return new BPromise(function(_0x290306,_0x21f171){try{if(_0x4d7212[_0x402e('0x46')]){_0x4d7212[_0x402e('0x47')]=[];_0x4d7212[_0x402e('0x46')][_0x402e('0x48')](',')['forEach'](function(_0x46b4ec){_0x4d7212['Tags'][_0x402e('0x49')](_0x366c38[_0x46b4ec]);});}delete _0x4d7212[_0x402e('0x46')];}catch(_0x7e12d4){_0x21f171(_0x7e12d4);}_0x290306(_0x4d7212);});}function updateChatInteraction(_0x92d8f9,_0x4308aa,_0x573120){return new BPromise(function(_0x33a20c,_0x226ec4){return getInteractionUsers(_0x92d8f9,_0x573120)[_0x402e('0x22')](function(_0x92acb9){return getInteractionTags(_0x92acb9,_0x4308aa);})[_0x402e('0x22')](function(_0x2a3de1){return getStateInteraction(_0x2a3de1);})[_0x402e('0x22')](function(_0x47170b){_0x33a20c(_0x47170b);})['catch'](function(_0x25a13d){_0x226ec4(_0x25a13d);});});}function getStateInteraction(_0x528362){return new BPromise(function(_0xd03db6){_0x528362[_0x402e('0x4a')]=0x0;_0x528362[_0x402e('0x4b')]=0x0;_0x528362[_0x402e('0x4c')]=0x0;_0x528362[_0x402e('0x4d')]=0x0;_0x528362[_0x402e('0x4e')]=0x0;_0x528362['total']=0x0;if(!_0x528362[_0x402e('0x4f')]&&!_0x528362[_0x402e('0x50')]){_0x528362[_0x402e('0x4a')]+=0x1;}if(!_0x528362[_0x402e('0x4f')]&&_0x528362[_0x402e('0x50')]){_0x528362[_0x402e('0x4b')]+=0x1;if(_0x528362[_0x402e('0x4a')]){_0x528362['waiting']-=0x1;}}if(_0x528362['closed']&&_0x528362[_0x402e('0x51')]===_0x402e('0x4e')){_0x528362[_0x402e('0x4e')]+=0x1;if(_0x528362['waiting']){_0x528362[_0x402e('0x4a')]-=0x1;}}else if(_0x528362[_0x402e('0x4f')]&&!_0x528362[_0x402e('0x50')]&&_0x528362[_0x402e('0x51')]){_0x528362[_0x402e('0x4d')]+=0x1;if(_0x528362[_0x402e('0x4a')]){_0x528362[_0x402e('0x4a')]-=0x1;}}else if(_0x528362['closed']&&_0x528362[_0x402e('0x50')]){_0x528362[_0x402e('0x4c')]+=0x1;if(_0x528362[_0x402e('0x4b')]){_0x528362[_0x402e('0x4b')]-=0x1;}}_0x528362[_0x402e('0x52')]+=0x1;_0xd03db6(_0x528362);});}exports[_0x402e('0x53')]=function(_0x48c7f6,_0xac27e0){var _0x1ffff9={},_0x561746={},_0xd85de2={'count':0x0,'rows':[]};var _0x36f460=_[_0x402e('0x44')](db[_0x402e('0x54')][_0x402e('0x55')],function(_0x4bcf5c){return{'name':_0x4bcf5c['fieldName'],'type':_0x4bcf5c[_0x402e('0x56')][_0x402e('0x57')]};});_0x561746[_0x402e('0x58')]=_[_0x402e('0x44')](_0x36f460,_0x402e('0x3b'));_0x561746['query']=_[_0x402e('0x59')](_0x48c7f6[_0x402e('0x5a')]);_0x561746[_0x402e('0x5b')]=_['intersection'](_0x561746[_0x402e('0x58')],_0x561746[_0x402e('0x5a')]);_0x1ffff9[_0x402e('0x5c')]=_['intersection'](_0x561746[_0x402e('0x58')],qs[_0x402e('0x5d')](_0x48c7f6[_0x402e('0x5a')][_0x402e('0x5d')]));_0x1ffff9[_0x402e('0x5c')]=_0x1ffff9[_0x402e('0x5c')][_0x402e('0x5e')]?_0x1ffff9[_0x402e('0x5c')]:_0x561746[_0x402e('0x58')];if(!_0x48c7f6[_0x402e('0x5a')][_0x402e('0x5f')](_0x402e('0x60'))){_0x1ffff9['limit']=qs['limit'](_0x48c7f6[_0x402e('0x5a')][_0x402e('0x31')]);_0x1ffff9['offset']=qs['offset'](_0x48c7f6[_0x402e('0x5a')][_0x402e('0x32')]);}_0x1ffff9[_0x402e('0x61')]=qs[_0x402e('0x62')](_0x48c7f6[_0x402e('0x5a')][_0x402e('0x62')]);_0x1ffff9[_0x402e('0x63')]=qs[_0x402e('0x5b')](_[_0x402e('0x64')](_0x48c7f6[_0x402e('0x5a')],_0x561746[_0x402e('0x5b')]),_0x36f460);var _0x3c4388=[];var _0x42bd57=squel['select']()[_0x402e('0x65')]('id')['field'](_0x402e('0x3b'))['field'](_0x402e('0x66'))[_0x402e('0x67')](_0x402e('0x68'));var _0x2837dd=squel[_0x402e('0x69')]()[_0x402e('0x65')](_0x402e('0x6a'))[_0x402e('0x65')](_0x402e('0x6b'))[_0x402e('0x65')](_0x402e('0x6c'))[_0x402e('0x67')](_0x402e('0x6d'),'ui')[_0x402e('0x6e')](_0x402e('0x6f'),'u','u.id\x20=\x20ui.UserId');var _0x431e=squel['select']()[_0x402e('0x67')]('chat_interactions','i')['left_join']('cm_contacts','c',_0x402e('0x70'))[_0x402e('0x6e')](_0x402e('0x6f'),'o','o.id\x20=\x20i.UserId')[_0x402e('0x6e')]('chat_websites','a',_0x402e('0x71'))['left_join'](_0x402e('0x72'),'me',_0x402e('0x73'))[_0x402e('0x6e')]('chat_interaction_has_tags','it',_0x402e('0x74'))['left_join'](_0x402e('0x68'),'t',_0x402e('0x75'));var _0x457e2e=squel[_0x402e('0x76')]();var _0x2d3f3f=[];var _0x44fc27=squel[_0x402e('0x76')]();var _0x3f02d3;if(_0x48c7f6[_0x402e('0x5a')][_0x402e('0x77')]){_0x3f02d3=as[_0x402e('0x78')](_0x48c7f6[_0x402e('0x5a')][_0x402e('0x77')]);var _0x221ba3=_0x3f02d3[_0x402e('0x79')];for(var _0x660b75=0x0;_0x660b75<_0x3f02d3[_0x402e('0x7a')][_0x402e('0x5e')];_0x660b75++){var _0x481e0b=_0x3f02d3[_0x402e('0x7a')][_0x660b75];var _0x4a5162='i';var _0x4c2e22=_[_0x402e('0x7b')](_0x36f460,[_0x402e('0x3b'),_0x481e0b[_0x402e('0x65')]]);if(!_0x4c2e22){switch(_0x481e0b[_0x402e('0x65')]){case _0x402e('0x7c'):if(_0x481e0b[_0x402e('0x7d')]==0x1){_0x431e['having']('`'+_0x481e0b[_0x402e('0x65')]+_0x402e('0x7e'));}else{_0x431e['having']('`'+_0x481e0b['field']+'`\x20>\x200');}break;case _0x402e('0x7f'):if(_0x481e0b['operator']==='$substring'){if(_0x481e0b[_0x402e('0x7d')][_0x402e('0x48')]('\x20')[_0x402e('0x5e')]>0x1){_0x457e2e[_0x221ba3](_0x402e('0x80'),qs['getFullTextValue'](_0x481e0b[_0x402e('0x7d')]),null);}else{var _0x3bcc59='%'+_0x481e0b[_0x402e('0x7d')]+'%';_0x457e2e[_0x221ba3](_0x402e('0x81'),_0x3bcc59,_0x3bcc59,_0x3bcc59);}}else{_0x4c2e22=_[_0x402e('0x7b')](_0x36f460,[_0x402e('0x3b'),_0x402e('0x82')]);_0x481e0b[_0x402e('0x65')]=_0x402e('0x82');_0x2c59f3=as[_0x402e('0x83')](_0x4a5162,_0x4c2e22['type'],_0x481e0b);_0x457e2e[_0x221ba3](_0x2c59f3[_0x402e('0x84')],_0x2c59f3['value']['start'],_0x2c59f3[_0x402e('0x7d')][_0x402e('0x2f')]);}break;case'Tag':var _0x34d25d=_0x481e0b[_0x402e('0x7d')][_0x402e('0x48')](',')[_0x402e('0x44')](function(_0x5830c2){return Number(_0x5830c2);});_0x34d25d[_0x402e('0x85')](function(_0x1b20f1){_0x44fc27['or'](_0x402e('0x86'),'%,'+_0x1b20f1+',%');});_0x2d3f3f=_['union'](_0x2d3f3f,_0x34d25d);break;case'User':if(_0x481e0b[_0x402e('0x87')]===_0x402e('0x88')){_0x457e2e[_0x221ba3](_0x402e('0x89'),'%'+_0x481e0b[_0x402e('0x7d')]+'%',null);}else{_0x4c2e22=_[_0x402e('0x7b')](_0x36f460,[_0x402e('0x3b'),_0x402e('0x50')]);_0x481e0b['field']=_0x402e('0x50');_0x2c59f3=as['buildExpression'](_0x4a5162,_0x4c2e22['type'],_0x481e0b);_0x457e2e[_0x221ba3](_0x2c59f3[_0x402e('0x84')],_0x2c59f3[_0x402e('0x7d')][_0x402e('0x8a')],_0x2c59f3[_0x402e('0x7d')]['end']);}break;case _0x402e('0x3f'):_0x2c59f3=as[_0x402e('0x83')]('me',null,_0x481e0b);_0x457e2e[_0x221ba3](_0x2c59f3[_0x402e('0x84')],_0x2c59f3['value'][_0x402e('0x8a')],_0x2c59f3['value']['end']);break;}}else{var _0x2c59f3=as[_0x402e('0x83')](_0x4a5162,_0x4c2e22['type'],_0x481e0b);_0x457e2e[_0x221ba3](_0x2c59f3[_0x402e('0x84')],_0x2c59f3[_0x402e('0x7d')][_0x402e('0x8a')],_0x2c59f3[_0x402e('0x7d')][_0x402e('0x2f')]);}}}else{var _0x336608=_(_0x48c7f6['query'])[_0x402e('0x59')]()[_0x402e('0x44')](function(_0x28a1d3){return _[_0x402e('0x8b')](_0x36f460,[_0x402e('0x3b'),_0x28a1d3])?_0x28a1d3:undefined;})[_0x402e('0x8c')]()[_0x402e('0x7d')]();if(!_[_0x402e('0x8d')](_0x336608)){_0x336608['forEach'](function(_0x161853){if(_0x161853==='ChatWebsiteId'){_0x431e[_0x402e('0x63')]('i.ChatWebsiteId\x20IN\x20?',[][_0x402e('0x8e')](_0x48c7f6['query'][_0x161853]));}else if(_0x161853===_0x402e('0x8f')){var _0x3c7d3d=JSON[_0x402e('0x90')](_0x48c7f6[_0x402e('0x5a')][_0x161853])[_0x402e('0x91')];var _0x171389=JSON[_0x402e('0x90')](_0x48c7f6[_0x402e('0x5a')][_0x161853])[_0x402e('0x92')];_0x431e['where'](_0x402e('0x93'),_0x3c7d3d,_0x171389);}else{if(_0x48c7f6[_0x402e('0x5a')][_0x161853]===_0x402e('0x94')){_0x431e[_0x402e('0x63')]('i.'+_0x161853+_0x402e('0x95'));}else{_0x431e[_0x402e('0x63')]('i.'+_0x161853+_0x402e('0x96'),_0x48c7f6[_0x402e('0x5a')][_0x161853]);}}});}if(_0x48c7f6[_0x402e('0x5a')][_0x402e('0x97')]){if(_0x48c7f6[_0x402e('0x5a')][_0x402e('0x97')]==0x1){_0x431e['having'](_0x402e('0x98'));}else{_0x431e[_0x402e('0x99')](_0x402e('0x9a'));}}if(_0x48c7f6['query'][_0x402e('0x9b')]){_0x2d3f3f=_[_0x402e('0x9c')](_0x48c7f6[_0x402e('0x5a')]['tag'])?_0x48c7f6[_0x402e('0x5a')][_0x402e('0x9b')]:new Array(_0x48c7f6[_0x402e('0x5a')][_0x402e('0x9b')]);_0x2d3f3f['forEach'](function(_0x59ecde){_0x44fc27['or'](_0x402e('0x86'),'%,'+_0x59ecde+',%');});}if(_0x48c7f6[_0x402e('0x5a')]['filter']){var _0x1b8bb8=_0x48c7f6[_0x402e('0x5a')][_0x402e('0x9d')]['replace']('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0x1b8bb8)){_0x457e2e['or'](_0x402e('0x9e'),_0x1b8bb8+'%');}else{_0x457e2e['or'](_0x402e('0x9f'),qs[_0x402e('0xa0')](_0x1b8bb8))['or'](_0x402e('0xa1'),_0x1b8bb8+'%');}}}_0x431e[_0x402e('0x63')](_0x457e2e);_0x431e[_0x402e('0xa2')](_0x402e('0xa3'));var _0x25e21b={'type':db['Sequelize'][_0x402e('0xa4')][_0x402e('0xa5')],'raw':!![]};var _0x52096d=_0x431e[_0x402e('0xa6')]();_0x52096d[_0x402e('0x65')](_0x402e('0xa3'));_0x52096d[_0x402e('0x65')](_0x402e('0xa7'),_0x402e('0x7c'));if(_0x1ffff9[_0x402e('0x61')]){_0x1ffff9[_0x402e('0x61')]['forEach'](function(_0x568e16){var _0x311d23=_0x568e16[0x0]===_0x402e('0xa8')?_0x568e16[0x0]:'i.'+_0x568e16[0x0];_0x431e[_0x402e('0x61')](_0x311d23,_0x568e16[0x1]==='DESC'?![]:!![]);});}if(!_[_0x402e('0x8d')](_0x2d3f3f)){_0x431e['having'](_0x44fc27);_0x52096d[_0x402e('0x63')]('t.id\x20IN\x20?',_0x2d3f3f);}BPromise[_0x402e('0xa9')]()['then'](function(){if(!_0x3f02d3){if(_0x48c7f6[_0x402e('0x5a')][_0x402e('0xaa')])return;_0x52096d['where']('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');_0x431e['where']('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}if(_0x48c7f6[_0x402e('0xab')]['role']!==_0x402e('0x41'))return;return _0x48c7f6['user'][_0x402e('0xac')]({'attributes':['id'],'raw':!![]})[_0x402e('0x22')](function(_0x4f2174){if(_[_0x402e('0x8d')](_0x4f2174)){_0x52096d[_0x402e('0x63')](_0x402e('0xad'));_0x431e[_0x402e('0x63')](_0x402e('0xad'));}else{_0x52096d['where'](_0x402e('0xae'),_[_0x402e('0x44')](_0x4f2174,'id'));_0x431e[_0x402e('0x63')](_0x402e('0xae'),_[_0x402e('0x44')](_0x4f2174,'id'));}});})['then'](function(){if(_0x48c7f6[_0x402e('0xab')][_0x402e('0xaf')]==='agent'&&!_0x3f02d3&&!_0x48c7f6[_0x402e('0x5a')][_0x402e('0xaa')])return[];return db[_0x402e('0xb0')][_0x402e('0x5a')](_0x52096d[_0x402e('0xb1')](),_0x25e21b);})['then'](function(_0x37e8a3){_0xd85de2[_0x402e('0x33')]=_0x37e8a3['length'];if(_0xd85de2['count']===0x0)return[];return db[_0x402e('0xb0')][_0x402e('0x5a')](_0x42bd57[_0x402e('0xb1')](),_0x25e21b)['then'](function(_0x17496a){_0x3c4388=_[_0x402e('0xb2')](_0x17496a,'id');_0x25e21b=_[_0x402e('0x3e')](_0x25e21b,{'model':db[_0x402e('0x54')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x48c7f6[_0x402e('0x5a')][_0x402e('0x5d')]){_0x1ffff9[_0x402e('0x5c')][_0x402e('0x85')](function(_0x2b3828){_0x431e[_0x402e('0x65')]('i.'+_0x2b3828);});}else{_0x431e[_0x402e('0x65')](_0x402e('0xa7'),'unreadMessages');_0x431e[_0x402e('0x65')](_0x402e('0xb3'),_0x402e('0xb4'));_0x431e[_0x402e('0x65')](_0x402e('0xb5'),'Account.mandatoryDisposition');_0x431e[_0x402e('0x65')](_0x402e('0xb6'),_0x402e('0xa8'));_0x431e[_0x402e('0x65')](_0x402e('0xb7'));_0x431e[_0x402e('0x65')]('c.firstName',_0x402e('0xb8'));_0x431e[_0x402e('0x65')](_0x402e('0xb9'),_0x402e('0xba'));_0x431e[_0x402e('0x65')]('c.email',_0x402e('0xbb'));_0x431e[_0x402e('0x65')]('c.phone','Contact.phone');_0x431e[_0x402e('0x65')]('c.mobile',_0x402e('0xbc'));_0x431e[_0x402e('0x65')](_0x402e('0xbd'),_0x402e('0xbe'));_0x431e['field'](_0x402e('0xbf'),_0x402e('0xc0'));_0x431e['field']('o.internal',_0x402e('0xc1'));_0x431e[_0x402e('0x65')](_0x402e('0xc2'),_0x402e('0x46'));}if(_0x1ffff9[_0x402e('0x31')])_0x431e[_0x402e('0x31')](_0x1ffff9['limit']);if(_0x1ffff9[_0x402e('0x32')])_0x431e[_0x402e('0x32')](_0x1ffff9[_0x402e('0x32')]);return db['sequelize'][_0x402e('0x5a')](_0x431e['toString'](),_0x25e21b);})[_0x402e('0x22')](function(_0x54dd00){if(_0x54dd00[_0x402e('0x5e')]>0x0)_0x2837dd['where'](_0x402e('0xc3'),_[_0x402e('0x44')](_0x54dd00,'id'));return db[_0x402e('0xb0')][_0x402e('0x5a')](_0x2837dd[_0x402e('0xb1')](),_0x25e21b)[_0x402e('0x22')](function(_0x1aea5e){var _0x4c025a=_[_0x402e('0xc4')](_0x1aea5e,_0x402e('0xc5'));var _0xf4f5ff=[];_0x54dd00[_0x402e('0x85')](function(_0x16febb){_0xf4f5ff[_0x402e('0x49')](updateChatInteraction(_0x16febb,_0x3c4388,_0x4c025a));});return BPromise[_0x402e('0xc6')](_0xf4f5ff);});});})[_0x402e('0x22')](function(_0xb999cc){_0xd85de2[_0x402e('0xc7')]=_0xb999cc;return _0xd85de2;})[_0x402e('0x22')](respondWithFilteredResult(_0xac27e0,_0x1ffff9))[_0x402e('0x2c')](handleError(_0xac27e0,null));};exports['show']=function(_0x4550ee,_0x421de0){var _0x131dc4={'raw':![],'where':{'id':_0x4550ee['params']['id']}},_0x3e4f1e={};_0x3e4f1e[_0x402e('0x58')]=_[_0x402e('0x59')](db['ChatInteraction'][_0x402e('0x55')]);_0x3e4f1e[_0x402e('0x5a')]=_[_0x402e('0x59')](_0x4550ee[_0x402e('0x5a')]);_0x3e4f1e[_0x402e('0x5b')]=_[_0x402e('0xc8')](_0x3e4f1e[_0x402e('0x58')],_0x3e4f1e['query']);_0x131dc4[_0x402e('0x5c')]=_[_0x402e('0xc8')](_0x3e4f1e[_0x402e('0x58')],qs[_0x402e('0x5d')](_0x4550ee['query'][_0x402e('0x5d')]));_0x131dc4[_0x402e('0x5c')]=_0x131dc4['attributes']['length']?_0x131dc4[_0x402e('0x5c')]:_0x3e4f1e[_0x402e('0x58')];if(_0x4550ee[_0x402e('0x5a')][_0x402e('0xc9')]){_0x131dc4[_0x402e('0xca')]=[{'all':!![]}];}_0x131dc4=_[_0x402e('0x3e')]({},_0x131dc4,_0x4550ee['options']);return db['ChatInteraction'][_0x402e('0x7b')](_0x131dc4)['then'](handleEntityNotFound(_0x421de0,null))['then'](respondWithResult(_0x421de0,null))[_0x402e('0x2c')](handleError(_0x421de0,null));};exports[_0x402e('0xcb')]=function(_0x25b8da,_0x5814bc){return db[_0x402e('0x54')]['create'](_0x25b8da[_0x402e('0x3f')],{})[_0x402e('0x22')](respondWithResult(_0x5814bc,0xc9))['catch'](handleError(_0x5814bc,null));};exports['update']=function(_0x3ffa1c,_0x200af4){if(_0x3ffa1c['body']['id']){delete _0x3ffa1c[_0x402e('0x3f')]['id'];}return db[_0x402e('0x54')][_0x402e('0x7b')]({'where':{'id':_0x3ffa1c[_0x402e('0xcc')]['id']}})[_0x402e('0x22')](handleEntityNotFound(_0x200af4,null))[_0x402e('0x22')](saveUpdates(_0x3ffa1c[_0x402e('0x3f')],null))[_0x402e('0x22')](respondWithResult(_0x200af4,null))[_0x402e('0x2c')](handleError(_0x200af4,null));};exports[_0x402e('0x39')]=function(_0x4b8179,_0x42d4c5){return db['ChatInteraction'][_0x402e('0x7b')]({'where':{'id':_0x4b8179[_0x402e('0xcc')]['id']}})[_0x402e('0x22')](handleEntityNotFound(_0x42d4c5,null))[_0x402e('0x22')](removeEntity(_0x42d4c5,null))[_0x402e('0x2c')](handleError(_0x42d4c5,null));};exports[_0x402e('0xcd')]=function(_0x2d334,_0x1805b0){return db[_0x402e('0x54')][_0x402e('0xcd')]()[_0x402e('0x22')](respondWithResult(_0x1805b0,null))[_0x402e('0x2c')](handleError(_0x1805b0,null));};exports['createVidaooSession']=function(_0x2aa12f,_0x483c47){var _0x51d7df=_0x2aa12f['params']['id'];var _0x11de00;var _0x2d2bb1;var _0x7d248e;return db['ChatInteraction'][_0x402e('0xce')]({'where':{'id':_0x51d7df}})[_0x402e('0x22')](function(_0x4afe9b){_0x11de00=_0x4afe9b;return db['ChatWebsite']['findOne']({'where':{'id':_0x4afe9b[_0x402e('0xaa')]},'attributes':['id',_0x402e('0xcf'),_0x402e('0xd0'),'vidaooTopic','vidaooNote',_0x402e('0xd1')],'raw':!![]});})['then'](function(_0x45a1b6){if(_0x45a1b6&&_0x45a1b6['vidaooApiKey']&&_0x45a1b6[_0x402e('0xd0')]){_0x2d2bb1=_0x45a1b6;var _0x2ab1a4={'interaction':{'id':_0x51d7df},'agent':{'id':_0x2aa12f['user']['id'],'name':_0x2aa12f[_0x402e('0xab')][_0x402e('0x3b')],'fullname':_0x2aa12f['user'][_0x402e('0x45')],'email':_0x2aa12f[_0x402e('0xab')][_0x402e('0xd2')]},'contact':_0x2aa12f[_0x402e('0x3f')][_0x402e('0x40')],'account':_0x2aa12f[_0x402e('0x3f')]['account']};var _0x4bea8e={'rejectUnauthorized':![],'method':_0x402e('0xd3'),'url':_0x402e('0xd4'),'headers':{'X-APIKEY':_0x45a1b6[_0x402e('0xcf')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0x2aa12f[_0x402e('0xab')][_0x402e('0xd2')]],'buttons':null,'topic':_0x2d2bb1[_0x402e('0xd5')],'note':_[_0x402e('0xd6')](_0x2d2bb1[_0x402e('0xd7')])?null:getMustacheRender(_0x2d2bb1[_0x402e('0xd7')],_0x2ab1a4),'metadata':null},'redirect':'follow','json':!![]};try{if(!_[_0x402e('0xd6')](_0x2d2bb1[_0x402e('0xd1')])){var _0x376907=getMustacheRender(_0x2d2bb1['vidaooMetadata'],_0x2ab1a4);var _0x58b1cc=JSON['parse'](_0x376907);_0x4bea8e['body'][_0x402e('0xd8')]=_0x58b1cc;}}catch(_0x2955ee){throw new db[(_0x402e('0xd9'))][(_0x402e('0xda'))](_0x402e('0xdb'));}return rp(_0x4bea8e);}else{throw new db['Sequelize']['ValidationError']('Error\x20in\x20Vidaoo\x20configuration');}})[_0x402e('0x22')](function(_0x1a9b6c){_0x7d248e=_0x1a9b6c;if(_0x7d248e['id']){var _0x51f471={'body':_0x7d248e[_0x402e('0xdc')],'ChatWebsiteId':_0x2d2bb1['id'],'ChatInteractionId':_0x11de00['id'],'direction':_0x402e('0xdd'),'UserId':_0x2aa12f[_0x402e('0xab')]['id']};return db[_0x402e('0xde')][_0x402e('0xcb')](_0x51f471,{});}else{throw new db[(_0x402e('0xd9'))][(_0x402e('0xda'))](_0x402e('0xdf'));}})[_0x402e('0x22')](function(){return _0x11de00['updateAttributes']({'vidaooSessionId':_0x7d248e['id']});})['then'](respondWithResult(_0x483c47,null))['catch'](handleError(_0x483c47,null));};exports[_0x402e('0xe0')]=function(_0x2d541,_0x3cc97b){if(_0x2d541['body']['id']){delete _0x2d541[_0x402e('0x3f')]['id'];}return db[_0x402e('0x54')][_0x402e('0x7b')]({'where':{'id':_0x2d541[_0x402e('0xcc')]['id']},'include':[{'model':db[_0x402e('0xe1')],'as':'Contact'}]})[_0x402e('0x22')](handleEntityNotFound(_0x3cc97b,null))['then'](saveUpdates(_0x2d541[_0x402e('0x3f')],null))[_0x402e('0x22')](respondWithResult(_0x3cc97b,null))['catch'](handleError(_0x3cc97b,null));};exports[_0x402e('0xe2')]=function(_0x15ad6f,_0x33fd3b,_0x5d4278){if(_0x15ad6f[_0x402e('0x3f')]['id']){delete _0x15ad6f[_0x402e('0x3f')]['id'];}return db[_0x402e('0x54')][_0x402e('0x7b')]({'where':{'id':_0x15ad6f[_0x402e('0xcc')]['id']}})[_0x402e('0x22')](function(_0x548785){if(!_0x548785){logger['error'](_0x402e('0xe3'),_0x402e('0xe2'),0x194,'entity\x20not\x20found');_0x33fd3b[_0x402e('0x2d')](0x194);}else{if(_0x548785[_0x402e('0x50')]){throw new db[(_0x402e('0xd9'))]['ValidationError'](_0x402e('0xe4'));}}return _0x548785;})[_0x402e('0x22')](function(_0x3e3738){if(_0x3e3738){return _0x3e3738[_0x402e('0x38')]({'closed':_0x15ad6f['body'][_0x402e('0x4f')],'disposition':_0x15ad6f[_0x402e('0x3f')][_0x402e('0x51')]})['then'](function(_0x5e44aa){return _0x5e44aa;});}})[_0x402e('0x22')](function(_0x485811){return respondWithRpcPromise(_0x402e('0xe5'),_0x402e('0xe2'),_0x15ad6f[_0x402e('0x3f')],client9004);})['then'](respondWithResult(_0x33fd3b,null))[_0x402e('0x2c')](handleError(_0x33fd3b,null));};exports[_0x402e('0xe6')]=function(_0x3050b6,_0x101c71,_0x14780b){_0x3050b6[_0x402e('0x3f')][_0x402e('0x3b')]=_0x3050b6[_0x402e('0xe7')][_0x402e('0xe8')];_0x3050b6[_0x402e('0x3f')][_0x402e('0xe9')]=_0x3050b6[_0x402e('0xe7')]['filename'];_0x3050b6[_0x402e('0x3f')][_0x402e('0x56')]=_0x3050b6[_0x402e('0xe7')][_0x402e('0xea')];return db[_0x402e('0xeb')][_0x402e('0xcb')](_0x3050b6[_0x402e('0x3f')])[_0x402e('0x22')](respondWithResult(_0x101c71,0xc9))['catch'](handleError(_0x101c71,null));};exports[_0x402e('0xec')]=function(_0x203678,_0x286954,_0x34dbee){return db[_0x402e('0x54')][_0x402e('0xce')]({'where':{'id':_0x203678[_0x402e('0xcc')]['id']},'raw':!![]})[_0x402e('0x22')](handleEntityNotFound(_0x286954,null))[_0x402e('0x22')](function(_0x31f8c7){if(_0x31f8c7){if(_0x31f8c7[_0x402e('0x4f')]){return _0x286954[_0x402e('0x2e')](0x193)['json']({'status':0x193,'message':_0x402e('0xed')});}return db[_0x402e('0xeb')][_0x402e('0xce')]({'where':{'id':_0x203678[_0x402e('0x5a')]['attachId']},'raw':!![]})['then'](handleEntityNotFound(_0x286954,null));}})[_0x402e('0x22')](function(_0x5de73a){if(_0x5de73a){var _0x437018=_0x5de73a[_0x402e('0xee')]!==null;var _0x5a03a0=path[_0x402e('0xef')](config['root'],_0x402e('0xf0'));if(_0x437018){_0x5a03a0=path[_0x402e('0xef')](_0x5a03a0,_0x402e('0xf1'));}var _0x1fac7a=path[_0x402e('0xef')](_0x5a03a0,_0x5de73a['basename']);return _0x286954[_0x402e('0xf2')](_0x1fac7a);}})[_0x402e('0x2c')](handleError(_0x286954,null));};exports[_0x402e('0xf3')]=function(_0x3983bd,_0x2ebe66){var _0x3c5d52=null;var _0x505768=null;var _0x23fad0=null;var _0x5b9733=null;if(_0x3983bd[_0x402e('0x3f')]['id']){delete _0x3983bd[_0x402e('0x3f')]['id'];}if(_0x3983bd[_0x402e('0x3f')][_0x402e('0xf4')]){_0x5b9733=path[_0x402e('0xef')](config['root'],_0x402e('0xf5'),util[_0x402e('0xf6')](_0x402e('0xf7'),Date[_0x402e('0xf8')]()));_0x3983bd[_0x402e('0x3f')]['pathTranscript']=_0x5b9733;}return db[_0x402e('0x54')][_0x402e('0x7b')]({'where':{'id':_0x3983bd[_0x402e('0xcc')]['id']},'include':[{'model':db[_0x402e('0xde')],'as':'Messages','include':[{'model':db['User'],'as':'User'}]}]})[_0x402e('0x22')](handleEntityNotFound(_0x2ebe66,null))[_0x402e('0x22')](saveUpdates(_0x3983bd[_0x402e('0x3f')],null))[_0x402e('0x22')](function(_0x90a0b6){if(_0x90a0b6){_0x3c5d52=_0x90a0b6;return db[_0x402e('0xf9')][_0x402e('0x7b')]({'where':{'id':_0x3c5d52['ChatWebsiteId']}});}})['then'](function(_0x5765f2){if(_0x5765f2){_0x23fad0=_0x5765f2;return db['CmContact'][_0x402e('0x7b')]({'where':{'id':_0x3c5d52['ContactId']}});}})[_0x402e('0x22')](function(_0x3c25c1){if(_0x3c25c1){_0x505768=_0x3c25c1;if(_0x5b9733){var _0x2a2940=null;for(var _0x57f543=0x1;_0x57f543<_0x3c5d52[_0x402e('0xfa')]['length'];++_0x57f543){_0x2a2940=_0x3c5d52[_0x402e('0xfa')][_0x57f543];var _0x104c72=_0x2a2940[_0x402e('0x50')]?util[_0x402e('0xf6')](_0x402e('0xfb'),_0x23fad0[_0x402e('0xfc')],_0x2a2940[_0x402e('0x50')]):_0x402e('0xfd');var _0x310186=_0x3983bd[_0x402e('0x3f')][_0x402e('0xfe')]||util[_0x402e('0xf6')](_0x402e('0xfb'),_0x402e('0xff'),_0x2a2940[_0x402e('0x82')]);switch(_0x23fad0['agentIdentifier']){case _0x402e('0x100'):_0x104c72=_0x2a2940['UserId']?util[_0x402e('0xf6')]('%s%d',_0x23fad0[_0x402e('0xfc')],_0x2a2940[_0x402e('0x50')]):_0x402e('0xfd');break;case _0x402e('0x101'):_0x104c72=_0x2a2940[_0x402e('0x50')]?_0x2a2940[_0x402e('0x102')][_0x402e('0x103')]||_0x2a2940[_0x402e('0x102')][_0x402e('0x45')]:'System';break;case'agent_fullname':_0x104c72=_0x2a2940[_0x402e('0x50')]?_0x2a2940['User']['fullname']:'System';break;default:_0x104c72=_0x2a2940[_0x402e('0x50')]?util[_0x402e('0xf6')](_0x402e('0xfb'),_0x23fad0[_0x402e('0xfc')],_0x2a2940[_0x402e('0x50')]):'System';}var _0x5bbf19=util[_0x402e('0xf6')](_0x402e('0x104'),moment(_0x2a2940['createdAt'])[_0x402e('0xf6')](_0x402e('0x105')),_0x2a2940['direction']==='in'?_0x310186:_0x104c72,_0x2a2940['body']);if(!_0x2a2940[_0x402e('0x106')]){fs[_0x402e('0x107')](_0x5b9733,_0x5bbf19);}}return db[_0x402e('0x108')][_0x402e('0xce')]({'where':{'service':!![]},'include':[{'model':db[_0x402e('0x109')],'as':_0x402e('0x10a'),'raw':!![]}]});}}})[_0x402e('0x22')](function(_0x3c08fc){if(_0x3c08fc&&_0x3c08fc[_0x402e('0x10a')]&&_0x3983bd[_0x402e('0x3f')]){var _0x24ca91={'tls':{'rejectUnauthorized':![]}};if(_0x3c08fc['Smtp']['service']){_0x24ca91[_0x402e('0x10b')]=_0x3c08fc[_0x402e('0x10a')][_0x402e('0x10b')];}else{_0x24ca91[_0x402e('0x10c')]=_0x3c08fc['Smtp'][_0x402e('0x10c')];_0x24ca91[_0x402e('0x10d')]=_0x3c08fc[_0x402e('0x10a')]['port'];_0x24ca91[_0x402e('0x10e')]=_0x3c08fc[_0x402e('0x10a')]['secure'];}if(_0x3c08fc[_0x402e('0x10a')][_0x402e('0x10f')]){_0x24ca91[_0x402e('0x110')]={'user':_0x3c08fc[_0x402e('0x10a')][_0x402e('0xab')],'pass':_0x3c08fc[_0x402e('0x10a')][_0x402e('0x111')]};}return respondWithRpcPromise(_0x402e('0x112'),_0x402e('0x113'),{'account':_0x24ca91,'message':{'from':util[_0x402e('0xf6')](_0x402e('0x114'),_0x3c08fc[_0x402e('0x3b')],_0x3c08fc[_0x402e('0xd2')]||_0x3c08fc['Smtp']['user']),'to':_0x3983bd[_0x402e('0x3f')][_0x402e('0xf4')],'subject':_0x402e('0x115'),'text':util[_0x402e('0xf6')](_0x402e('0x116'),_0x3983bd[_0x402e('0x3f')][_0x402e('0xf4')]),'attachments':[{'path':_0x5b9733}]}})[_0x402e('0x22')](function(){return _0x3c5d52;})[_0x402e('0x2c')](function(_0x38144c){console[_0x402e('0x28')](_0x38144c);});}else{return _0x3c5d52;}})[_0x402e('0x22')](respondWithStatusCode(_0x2ebe66,0xc8))[_0x402e('0x2c')](handleError(_0x2ebe66,null));};exports['addMessage']=function(_0x4e8cb8,_0x401946,_0x4167e1){return db[_0x402e('0xde')][_0x402e('0x7b')]({'where':{'id':_0x4e8cb8[_0x402e('0xcc')]['id']}})[_0x402e('0x22')](handleEntityNotFound(_0x401946,null))['then'](function(_0x5f5722){if(_0x5f5722){return _0x5f5722[_0x402e('0x117')](_0x4e8cb8[_0x402e('0x3f')][_0x402e('0x118')],_[_0x402e('0x119')](_0x4e8cb8[_0x402e('0x3f')],[_0x402e('0x118'),'id'])||{});}})['then'](respondWithResult(_0x401946,null))[_0x402e('0x2c')](handleError(_0x401946,null));};exports[_0x402e('0x11a')]=function(_0x545ee0,_0x8ccdb6,_0x4988a1){var _0x336a62={'raw':![],'where':{}};var _0x91a135={};var _0x117c08={'count':0x0,'rows':[]};return db[_0x402e('0x54')][_0x402e('0xce')]({'where':{'id':_0x545ee0['params']['id']}})[_0x402e('0x22')](handleEntityNotFound(_0x8ccdb6,null))['then'](function(_0x56daf7){if(_0x56daf7){_0x91a135[_0x402e('0x58')]=_[_0x402e('0x59')](db[_0x402e('0xde')][_0x402e('0x55')]);_0x91a135[_0x402e('0x5a')]=_[_0x402e('0x59')](_0x545ee0['query']);_0x91a135[_0x402e('0x5b')]=_['intersection'](_0x91a135['model'],_0x91a135[_0x402e('0x5a')]);_0x336a62[_0x402e('0x5c')]=_['intersection'](_0x91a135[_0x402e('0x58')],qs[_0x402e('0x5d')](_0x545ee0[_0x402e('0x5a')][_0x402e('0x5d')]));_0x336a62[_0x402e('0x5c')]=_0x336a62[_0x402e('0x5c')][_0x402e('0x5e')]?_0x336a62[_0x402e('0x5c')]:_0x91a135['model'];if(!_0x545ee0['query'][_0x402e('0x5f')]('nolimit')){_0x336a62[_0x402e('0x31')]=qs[_0x402e('0x31')](_0x545ee0[_0x402e('0x5a')][_0x402e('0x31')]);_0x336a62['offset']=qs[_0x402e('0x32')](_0x545ee0['query'][_0x402e('0x32')]);}_0x336a62[_0x402e('0x61')]=qs[_0x402e('0x62')](_0x545ee0[_0x402e('0x5a')][_0x402e('0x62')]);_0x336a62[_0x402e('0x63')]=qs[_0x402e('0x5b')](_[_0x402e('0x64')](_0x545ee0[_0x402e('0x5a')],_0x91a135[_0x402e('0x5b')]));_0x336a62['where'][_0x402e('0xc5')]=_0x56daf7['id'];if(_0x545ee0['query'][_0x402e('0x9d')]){_0x336a62[_0x402e('0x63')]=_['merge'](_0x336a62[_0x402e('0x63')],{'$or':_[_0x402e('0x44')](_0x336a62[_0x402e('0x5c')],function(_0x28025f){var _0x18f20a={};_0x18f20a[_0x28025f]={'$like':'%'+_0x545ee0['query'][_0x402e('0x9d')]+'%'};return _0x18f20a;})});}if(_0x545ee0[_0x402e('0x5a')][_0x402e('0x91')]){var _0x28a35d=_0x545ee0[_0x402e('0x5a')][_0x402e('0x91')][_0x402e('0x48')](',');var _0x25728e={};_0x25728e[_0x28a35d[0x0]]={'$gte':moment(_0x28a35d[0x1])[_0x402e('0xf6')]('YYYY-MM-DD\x20HH:mm:ss')};_0x336a62[_0x402e('0x63')]=_[_0x402e('0x3e')](_0x336a62[_0x402e('0x63')],_0x25728e);}_0x336a62=_[_0x402e('0x3e')]({},_0x336a62,_0x545ee0[_0x402e('0x11b')]);return db[_0x402e('0xde')][_0x402e('0x33')]({'where':_0x336a62[_0x402e('0x63')]})[_0x402e('0x22')](function(_0x1cd072){_0x117c08[_0x402e('0x33')]=_0x1cd072;if(_0x545ee0[_0x402e('0x5a')][_0x402e('0xc9')]){_0x336a62[_0x402e('0xca')]=[{'all':!![]}];}return db[_0x402e('0xde')][_0x402e('0x11c')](_0x336a62);})[_0x402e('0x22')](function(_0x543464){_0x117c08[_0x402e('0xc7')]=_0x543464;return _0x117c08;});}})[_0x402e('0x22')](respondWithFilteredResult(_0x8ccdb6,_0x336a62))[_0x402e('0x2c')](handleError(_0x8ccdb6,null));};exports[_0x402e('0x11d')]=function(_0x5a3e45,_0x7804a3,_0xf924d9){var _0xcea034={'where':{}},_0x3c81d1={},_0x1bd289={'count':0x0,'rows':[]};return db[_0x402e('0x54')][_0x402e('0xce')]({'where':{'id':_0x5a3e45[_0x402e('0xcc')]['id']}})[_0x402e('0x22')](handleEntityNotFound(_0x7804a3,null))[_0x402e('0x22')](function(_0x20783f){if(_0x20783f){_0x3c81d1[_0x402e('0x58')]=_[_0x402e('0x59')](db[_0x402e('0xde')][_0x402e('0x55')]);_0x3c81d1[_0x402e('0x5a')]=_['keys'](_0x5a3e45[_0x402e('0x5a')]);_0x3c81d1['filters']=_[_0x402e('0xc8')](_0x3c81d1[_0x402e('0x58')],_0x3c81d1[_0x402e('0x5a')]);_0xcea034[_0x402e('0x5c')]=_[_0x402e('0xc8')](_0x3c81d1[_0x402e('0x58')],qs[_0x402e('0x5d')](_0x5a3e45[_0x402e('0x5a')][_0x402e('0x5d')]));_0xcea034[_0x402e('0x5c')]=_0xcea034[_0x402e('0x5c')][_0x402e('0x5e')]?_0xcea034['attributes']:_0x3c81d1[_0x402e('0x58')];if(!_0x5a3e45['query']['hasOwnProperty'](_0x402e('0x60'))){_0xcea034[_0x402e('0x31')]=qs[_0x402e('0x31')](_0x5a3e45[_0x402e('0x5a')]['limit']);_0xcea034[_0x402e('0x32')]=qs[_0x402e('0x32')](_0x5a3e45[_0x402e('0x5a')][_0x402e('0x32')]);}_0xcea034[_0x402e('0x61')]=qs[_0x402e('0x62')](_0x5a3e45[_0x402e('0x5a')][_0x402e('0x62')]);_0xcea034[_0x402e('0x63')]=qs[_0x402e('0x5b')](_[_0x402e('0x64')](_0x5a3e45[_0x402e('0x5a')],_0x3c81d1[_0x402e('0x5b')]));_0xcea034[_0x402e('0x63')][_0x402e('0xc5')]=_0x20783f['id'];if(_0x5a3e45[_0x402e('0x5a')][_0x402e('0x9d')]){_0xcea034[_0x402e('0x63')]=_[_0x402e('0x3e')](_0xcea034[_0x402e('0x63')],{'$or':_[_0x402e('0x44')](_0xcea034['attributes'],function(_0x20eb9b){var _0x1faded={};_0x1faded[_0x20eb9b]={'$like':'%'+_0x5a3e45[_0x402e('0x5a')][_0x402e('0x9d')]+'%'};return _0x1faded;})});}_0xcea034[_0x402e('0x63')][_0x402e('0x106')]=![];if(_0x5a3e45[_0x402e('0x5a')]['id']){_0xcea034[_0x402e('0x63')]['id']={'$gt':_0x5a3e45[_0x402e('0x5a')]['id']};}_0xcea034=_['merge']({},_0xcea034,_0x5a3e45[_0x402e('0x11b')]);return db[_0x402e('0xde')][_0x402e('0x33')]({'where':_0xcea034[_0x402e('0x63')]})[_0x402e('0x22')](function(_0x3772d9){_0x1bd289['count']=_0x3772d9;_0xcea034[_0x402e('0xca')]=[];if(_0x5a3e45[_0x402e('0x5a')][_0x402e('0x11e')]){_0xcea034[_0x402e('0xca')][_0x402e('0x49')]({'model':db[_0x402e('0x102')],'as':_0x402e('0x102'),'attributes':['id',_0x402e('0x45'),_0x402e('0x103')]});}if(_0x5a3e45[_0x402e('0x5a')][_0x402e('0xc9')]){_0xcea034[_0x402e('0xca')]=[{'all':!![]}];}return db[_0x402e('0xde')][_0x402e('0x11c')](_0xcea034);})['then'](function(_0x336aa9){_0x1bd289[_0x402e('0xc7')]=_0x336aa9;return _0x1bd289;});}})[_0x402e('0x22')](respondWithFilteredResult(_0x7804a3,_0xcea034))[_0x402e('0x2c')](handleError(_0x7804a3,null));};exports['addTags']=function(_0x451eb3,_0x4bcf97,_0x49b178){return db[_0x402e('0x54')][_0x402e('0x7b')]({'where':{'id':_0x451eb3['params']['id']}})[_0x402e('0x22')](handleEntityNotFound(_0x4bcf97,null))['then'](function(_0x24dc76){if(_0x24dc76){return _0x24dc76[_0x402e('0x11f')](_0x451eb3[_0x402e('0x3f')]['ids'],_['omit'](_0x451eb3['body'],[_0x402e('0x118'),'id'])||{})[_0x402e('0x120')](function(){return db[_0x402e('0x121')][_0x402e('0x11c')]({'attributes':['id','name',_0x402e('0x66')],'where':{'id':_0x451eb3['body']['ids']}});})[_0x402e('0x22')](function(_0x12071e){socket['emit'](_0x402e('0x122'),{'id':Number(_0x451eb3[_0x402e('0xcc')]['id']),'tags':_0x12071e||[]});return{'id':Number(_0x451eb3[_0x402e('0xcc')]['id']),'tags':_0x12071e||[]};});}})[_0x402e('0x22')](respondWithResult(_0x4bcf97,null))[_0x402e('0x2c')](handleError(_0x4bcf97,null));};exports['removeTags']=function(_0x107c25,_0xc29e05,_0x3a2afe){return db[_0x402e('0x54')][_0x402e('0x7b')]({'where':{'id':_0x107c25[_0x402e('0xcc')]['id']}})['then'](handleEntityNotFound(_0xc29e05,null))['then'](function(_0x42c744){if(_0x42c744){return _0x42c744[_0x402e('0x123')](_0x107c25[_0x402e('0x5a')][_0x402e('0x118')]);}})[_0x402e('0x22')](respondWithStatusCode(_0xc29e05,null))[_0x402e('0x2c')](handleError(_0xc29e05,null));};exports['download']=function(_0xce561a,_0x2a4ea9){var _0x5358a4=moment()['unix']()['toString']();var _0xf3f67=path[_0x402e('0xef')](config[_0x402e('0x124')],'server',_0x402e('0x125'),_0x402e('0x126'));var _0x2a1e95=path[_0x402e('0xef')](config[_0x402e('0x124')],'server',_0x402e('0x125'),'attachments');var _0x4c1e65=path[_0x402e('0xef')](_0xf3f67,_0x5358a4);var _0x32045c=util[_0x402e('0xf6')](_0x402e('0x127'),_0xce561a[_0x402e('0xcc')]['id'],_0x5358a4);var _0x1b4aa3=path[_0x402e('0xef')](_0xf3f67,_0x32045c);var _0x2f0801=[];_0x2f0801[_0x402e('0x49')]({'model':db[_0x402e('0x102')],'as':_0x402e('0x102'),'attributes':['id','fullname'],'raw':!![]});_0x2f0801['push']({'model':db[_0x402e('0xe1')],'as':_0x402e('0x7f'),'attributes':['id',_0x402e('0x128'),_0x402e('0x129')],'raw':!![]});if(_0xce561a[_0x402e('0x5a')][_0x402e('0x12a')]){_0x2f0801[_0x402e('0x49')]({'model':db['Attachment'],'as':_0x402e('0xeb'),'raw':!![]});}var _0xe8dc86=[{'model':db[_0x402e('0xde')],'as':_0x402e('0xfa'),'attributes':['id',_0x402e('0x3f'),_0x402e('0x8f'),_0x402e('0x12b'),_0x402e('0x106'),_0x402e('0x97')],'include':_0x2f0801}];_0xe8dc86['push']({'model':db[_0x402e('0xf9')],'as':_0x402e('0x12c'),'attributes':['id',_0x402e('0x3b')]});_0xe8dc86[_0x402e('0x49')]({'model':db[_0x402e('0x102')],'as':_0x402e('0x12d'),'attributes':['id',_0x402e('0x45')]});return db[_0x402e('0x54')][_0x402e('0x7b')]({'where':{'id':_0xce561a[_0x402e('0xcc')]['id']},'include':_0xe8dc86})[_0x402e('0x22')](handleEntityNotFound(_0x2a4ea9,null))[_0x402e('0x22')](function(_0x218d88){if(_0x218d88){var _0x35e630=_0x218d88['get']({'plain':!![]});fs['mkdirSync'](_0x4c1e65);var _0x44c0ed={'channel':_0x402e('0x12e'),'account':_0x35e630['Account'][_0x402e('0x3b')],'agent':_0x35e630['Owner']?_0x35e630[_0x402e('0x12d')][_0x402e('0x45')]:'N.A.','createdAt':moment(_0x35e630[_0x402e('0x8f')])['format'](_0x402e('0x12f'))['toString'](),'closedAt':_0x35e630[_0x402e('0x4f')]?moment(_0x35e630[_0x402e('0x130')])['format'](_0x402e('0x12f'))[_0x402e('0xb1')]():'','disposition':_0x35e630[_0x402e('0x51')],'chatInfo':{'browser':_0x35e630['browserName'],'os':_0x35e630['osName'],'referer':_0x35e630['referer'],'customerIp':_0x35e630[_0x402e('0x131')],'customerPort':_0x35e630[_0x402e('0x132')]?_0x35e630[_0x402e('0x132')]:_0x402e('0x133')},'messages':_(_0x35e630[_0x402e('0xfa')])['tail']()['filter']({'secret':![]})[_0x402e('0x44')](function(_0x3a7859){if(_0x3a7859[_0x402e('0xeb')]){var _0x2c06a8=path['join'](_0x2a1e95,_0x3a7859[_0x402e('0xeb')][_0x402e('0xe9')]);if(fs[_0x402e('0x134')](_0x2c06a8)){fs[_0x402e('0x135')](_0x2c06a8)[_0x402e('0x136')](fs[_0x402e('0x137')](path[_0x402e('0xef')](_0x4c1e65,_0x3a7859[_0x402e('0xeb')]['basename'])));}}return{'date':moment(_0x3a7859[_0x402e('0x8f')])[_0x402e('0xf6')]('YYYY-MM-DD\x20HH:mm:ss')[_0x402e('0xb1')](),'sender':_0x3a7859[_0x402e('0x12b')]===_0x402e('0xdd')?_0x3a7859[_0x402e('0x102')]?_0x3a7859[_0x402e('0x102')][_0x402e('0x45')]:_0x402e('0xfd'):_0x3a7859[_0x402e('0x7f')][_0x402e('0x128')]+(_0x3a7859[_0x402e('0x7f')][_0x402e('0x129')]?'\x20'+_0x3a7859[_0x402e('0x7f')][_0x402e('0x129')]:''),'body':_0x3a7859[_0x402e('0xeb')]?_0x3a7859[_0x402e('0xeb')]['basename']:_0x3a7859[_0x402e('0x3f')],'direction':_0x3a7859[_0x402e('0x12b')]==='out'?'A':'C','secret':_0x3a7859[_0x402e('0x106')],'read':_0x3a7859['read'],'attachment':_0x3a7859[_0x402e('0xeb')]};})[_0x402e('0x7d')]()};return ejs['renderFile'](path[_0x402e('0xef')](config[_0x402e('0x124')],_0x402e('0x138'),_0x402e('0x139'),_0x402e('0x13a')),{'interaction':_0x44c0ed})[_0x402e('0x22')](function(_0x350800){var _0x367673=path[_0x402e('0xef')](_0x4c1e65,_0x402e('0x13b')+_0x35e630['id']+'-'+_0x5358a4+'.pdf');var _0x12e800={'path':_0x367673,'channel':_0x402e('0x12e'),'interactionId':_0x35e630['id']};return pdf[_0x402e('0x13c')](_0x350800,_0x12e800);})[_0x402e('0x22')](function(){return new BPromise(function(_0xc64cdd,_0x58495c){zipdir(_0x4c1e65,{'saveTo':_0x1b4aa3},function(_0x4e06aa,_0x2a2759){if(_0x4e06aa)return _0x58495c(_0x4e06aa);return _0xc64cdd(_0x2a2759);});})[_0x402e('0x22')](function(){return new BPromise(function(_0x5e42b2,_0x38e4e1){rimraf(_0x4c1e65,function(_0x8082bc){if(_0x8082bc)_0x38e4e1(_0x8082bc);return _0x5e42b2();});});})['then'](function(){return _0x2a4ea9[_0x402e('0xf2')](_0x1b4aa3,_0x32045c,function(_0x2f1acc){if(_0x2f1acc){console[_0x402e('0x13d')](_0x402e('0x13e'),_0x2f1acc);}else{fs[_0x402e('0x13f')](_0x1b4aa3);}});});});}else{return _0x2a4ea9[_0x402e('0x2d')](0xc8);}})[_0x402e('0x2c')](handleError(_0x2a4ea9,null));};