Built motion from commit 0900f080.|2.5.45
[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 _0xced1=['name','render','merge','body','contact','agent','interaction','Users','map','fullname','split','forEach','push','TagIds','catch','talking','answered','unmanaged','abandoned','total','closed','UserId','waiting','disposition','index','fieldName','type','key','model','query','keys','attributes','intersection','fields','length','nolimit','order','sort','where','filters','pick','field','tools_tags','u.id','u.fullname','from','user_has_chat_interactions','left_join','u.id\x20=\x20ui.UserId','select','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','a.id\x20=\x20i.ChatWebsiteId','chat_interaction_has_tags','it.ChatInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','sqlOperator','conditions','find','unreadMessages','value','having','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','isEmpty','ChatWebsiteId','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','t.id\x20IN\x20?','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','role','i.ChatWebsiteId\x20IS\x20NULL','i.ChatWebsiteId\x20IN\x20?','sequelize','keyBy','ChatInteraction','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.*','c.firstName','Contact.firstName','c.lastName','c.email','Contact.email','c.phone','c.mobile','c.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','toString','ui.ChatInteractionId\x20IN\x20?','groupBy','ChatInteractionId','all','show','rawAttributes','include','options','create','update','params','describe','createVidaooSession','findOne','ChatWebsite','vidaooApiKey','vidaooNote','vidaooMetadata','account','POST','https://api-vidaoo.xcally.com/api/v1/meetings','email','isNull','follow','metadata','ValidationError','Error\x20in\x20conversion\x20vidaooMetadata','Error\x20in\x20Vidaoo\x20configuration','join_url','out','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','updateAttributes','CmContact','abandonInteraction,\x20%s,\x20%s,\x20%s','abandon','AbandonInteraction','attachmentUpload','file','filename','mimetype','Attachment','attachmentDownload','Unauthorized','attachId','ChatOfflineMessageId','join','root','offline-chat/','basename','download','close','mailTranscript','server/files/chat/upload/','format','transcript-%s.txt','pathTranscript','Messages','%s%d','agentAlias','System','customer','Visitor','agentIdentifier','website_alias','agent_alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','createdAt','MM/DD/YYYY\x20HH:mm:ss','direction','appendFileSync','MailAccount','MailServerOut','Smtp','service','host','port','secure','authentication','auth','pass','SendMail','sendMail','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','getMessages','includeAll','findAll','rows','hasOwnProperty','secret','includeAgent','alias','setTags','spread','Tag','color','emit','chatInteractionTags:save','removeTags','server','files','tmp','attachments','transcript-%d-%s.zip','firstName','lastName','Account','Owner','Chat','N.A.','closedAt','YYYY-MM-DD\x20HH:mm:ss','osName','referer','customerIp','customerPort','tail','pipe','renderFile','views','downloadInteraction.ejs','transcript-','.pdf','createPdfFromHTML','log','err','unlinkSync','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','desk.js','papaparse','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','./chatInteraction.socket','register','jayson/promise','client','http','request','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','message','result','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','destroy'];(function(_0x75f17b,_0x5068a2){var _0x31113d=function(_0x6a0195){while(--_0x6a0195){_0x75f17b['push'](_0x75f17b['shift']());}};_0x31113d(++_0x5068a2);}(_0xced1,0x107));var _0x1ced=function(_0x5ac84c,_0x287781){_0x5ac84c=_0x5ac84c-0x0;var _0x3c53d2=_0xced1[_0x5ac84c];return _0x3c53d2;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1ced('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x1ced('0x1'));var moment=require(_0x1ced('0x2'));var BPromise=require(_0x1ced('0x3'));var Mustache=require(_0x1ced('0x4'));var util=require(_0x1ced('0x5'));var path=require(_0x1ced('0x6'));var sox=require(_0x1ced('0x7'));var csv=require(_0x1ced('0x8'));var ejs=require(_0x1ced('0x9'));var fs=require('fs');var fs_extra=require(_0x1ced('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x1ced('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x1ced('0xc'));var toCsv=require(_0x1ced('0x8'));var querystring=require('querystring');var Papa=require(_0x1ced('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x1ced('0xe'));var pdf=require(_0x1ced('0xf'));var hardwareService=require(_0x1ced('0x10'));var logger=require(_0x1ced('0x11'))(_0x1ced('0x12'));var utils=require(_0x1ced('0x13'));var config=require(_0x1ced('0x14'));var licenseUtil=require(_0x1ced('0x15'));var db=require('../../mysqldb')['db'];config[_0x1ced('0x16')]=_[_0x1ced('0x17')](config[_0x1ced('0x16')],{'host':_0x1ced('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x1ced('0x16')]));require(_0x1ced('0x19'))[_0x1ced('0x1a')](socket);var jayson=require(_0x1ced('0x1b'));var client=jayson[_0x1ced('0x1c')][_0x1ced('0x1d')]({'port':0x232b});var client9004=jayson[_0x1ced('0x1c')][_0x1ced('0x1d')]({'port':0x232c});function respondWithRpcPromise(_0x3f9588,_0x183ff8,_0x4e5b27,_0x14ef4b){return new BPromise(function(_0x4efc64,_0x302451){var _0x1a981d=_0x14ef4b||client;return _0x1a981d[_0x1ced('0x1e')](_0x3f9588,_0x4e5b27)[_0x1ced('0x1f')](function(_0x4f5c6c){logger[_0x1ced('0x20')](_0x1ced('0x21'),_0x183ff8,_0x1ced('0x22'));logger['debug'](_0x1ced('0x23'),_0x183ff8,_0x1ced('0x22'),JSON[_0x1ced('0x24')](_0x4f5c6c));if(_0x4f5c6c[_0x1ced('0x25')]){if(_0x4f5c6c['error']['code']===0x1f4){logger[_0x1ced('0x25')](_0x1ced('0x21'),_0x183ff8,_0x4f5c6c['error']['message']);return _0x302451(_0x4f5c6c[_0x1ced('0x25')][_0x1ced('0x26')]);}logger[_0x1ced('0x25')]('ChatInteraction,\x20%s,\x20%s',_0x183ff8,_0x4f5c6c[_0x1ced('0x25')][_0x1ced('0x26')]);return _0x4efc64(_0x4f5c6c[_0x1ced('0x25')][_0x1ced('0x26')]);}else{logger[_0x1ced('0x20')](_0x1ced('0x21'),_0x183ff8,_0x1ced('0x22'));_0x4efc64(_0x4f5c6c[_0x1ced('0x27')][_0x1ced('0x26')]);}})['catch'](function(_0x805580){logger['error']('ChatInteraction,\x20%s,\x20%s',_0x183ff8,_0x805580);_0x302451(_0x805580);});});}function respondWithStatusCode(_0x5817e4,_0x145f43){_0x145f43=_0x145f43||0xcc;return function(_0x29dc99){if(_0x29dc99){return _0x5817e4['sendStatus'](_0x145f43);}return _0x5817e4[_0x1ced('0x28')](_0x145f43)[_0x1ced('0x29')]();};}function respondWithResult(_0x4ef91f,_0x22d38e){_0x22d38e=_0x22d38e||0xc8;return function(_0x17dd6b){if(_0x17dd6b){return _0x4ef91f[_0x1ced('0x28')](_0x22d38e)[_0x1ced('0x2a')](_0x17dd6b);}};}function respondWithFilteredResult(_0x32f2ca,_0x160842){return function(_0x55133a){if(_0x55133a){var _0x160ed6=typeof _0x160842['offset']===_0x1ced('0x2b')&&typeof _0x160842['limit']===_0x1ced('0x2b');var _0x1bf69c=_0x55133a['count'];var _0x406a99=_0x160ed6?0x0:_0x160842['offset'];var _0x270344=_0x160ed6?_0x55133a[_0x1ced('0x2c')]:_0x160842[_0x1ced('0x2d')]+_0x160842[_0x1ced('0x2e')];var _0x7ca3ea;if(_0x270344>=_0x1bf69c){_0x270344=_0x1bf69c;_0x7ca3ea=0xc8;}else{_0x7ca3ea=0xce;}_0x32f2ca[_0x1ced('0x28')](_0x7ca3ea);return _0x32f2ca[_0x1ced('0x2f')](_0x1ced('0x30'),_0x406a99+'-'+_0x270344+'/'+_0x1bf69c)[_0x1ced('0x2a')](_0x55133a);}return null;};}function patchUpdates(_0x2c62be){return function(_0x3659ab){try{jsonpatch[_0x1ced('0x31')](_0x3659ab,_0x2c62be,!![]);}catch(_0x3d8d87){return BPromise[_0x1ced('0x32')](_0x3d8d87);}return _0x3659ab[_0x1ced('0x33')]();};}function saveUpdates(_0x532271,_0x555ff6){return function(_0x5610cb){if(_0x5610cb){return _0x5610cb['update'](_0x532271)[_0x1ced('0x1f')](function(_0xebd9df){return _0xebd9df;});}return null;};}function removeEntity(_0x3b8243,_0x3b2904){return function(_0x1db99b){if(_0x1db99b){return _0x1db99b[_0x1ced('0x34')]()['then'](function(){_0x3b8243[_0x1ced('0x28')](0xcc)[_0x1ced('0x29')]();});}};}function handleEntityNotFound(_0x11ba96,_0x682dc4){return function(_0x284a45){if(!_0x284a45){_0x11ba96['sendStatus'](0x194);}return _0x284a45;};}function handleError(_0x37606a,_0x184107){_0x184107=_0x184107||0x1f4;return function(_0x7875ae){logger[_0x1ced('0x25')](_0x7875ae['stack']);if(_0x7875ae[_0x1ced('0x35')]){delete _0x7875ae['name'];}_0x37606a[_0x1ced('0x28')](_0x184107)['send'](_0x7875ae);};}function getMustacheRender(_0x1abef8,_0x18717f){return Mustache[_0x1ced('0x36')](_0x1abef8,_[_0x1ced('0x37')](_0x18717f[_0x1ced('0x38')],{'contact':_0x18717f[_0x1ced('0x39')],'message':_0x18717f[_0x1ced('0x26')],'agent':_0x18717f[_0x1ced('0x3a')],'interaction':_0x18717f[_0x1ced('0x3b')],'account':_0x18717f['account']}))||'';}function getInteractionUsers(_0x7522fe,_0x27ebb6){return new BPromise(function(_0x431f7f,_0x2ee8c0){try{if(_0x27ebb6[_0x7522fe['id']]){_0x7522fe[_0x1ced('0x3c')]=_[_0x1ced('0x3d')](_0x27ebb6[_0x7522fe['id']],function(_0x42a20b){return{'id':_0x42a20b['id'],'fullname':_0x42a20b[_0x1ced('0x3e')]};});}}catch(_0x37b172){_0x2ee8c0(_0x37b172);}_0x431f7f(_0x7522fe);});}function getInteractionTags(_0x3e23a9,_0x1df5b9){return new BPromise(function(_0xa24e41,_0x57c9d8){try{if(_0x3e23a9['TagIds']){_0x3e23a9['Tags']=[];_0x3e23a9['TagIds'][_0x1ced('0x3f')](',')[_0x1ced('0x40')](function(_0x570aaa){_0x3e23a9['Tags'][_0x1ced('0x41')](_0x1df5b9[_0x570aaa]);});}delete _0x3e23a9[_0x1ced('0x42')];}catch(_0x45078d){_0x57c9d8(_0x45078d);}_0xa24e41(_0x3e23a9);});}function updateChatInteraction(_0x240314,_0x9c2345,_0x27c2c8){return new BPromise(function(_0x47f0e5,_0x3f7484){return getInteractionUsers(_0x240314,_0x27c2c8)['then'](function(_0x4e70a7){return getInteractionTags(_0x4e70a7,_0x9c2345);})[_0x1ced('0x1f')](function(_0x144079){return getStateInteraction(_0x144079);})[_0x1ced('0x1f')](function(_0x156cea){_0x47f0e5(_0x156cea);})[_0x1ced('0x43')](function(_0x3ce2e9){_0x3f7484(_0x3ce2e9);});});}function getStateInteraction(_0x2d9d1c){return new BPromise(function(_0x31b0b4){_0x2d9d1c['waiting']=0x0;_0x2d9d1c[_0x1ced('0x44')]=0x0;_0x2d9d1c[_0x1ced('0x45')]=0x0;_0x2d9d1c[_0x1ced('0x46')]=0x0;_0x2d9d1c[_0x1ced('0x47')]=0x0;_0x2d9d1c[_0x1ced('0x48')]=0x0;if(!_0x2d9d1c[_0x1ced('0x49')]&&!_0x2d9d1c['UserId']){_0x2d9d1c['waiting']+=0x1;}if(!_0x2d9d1c[_0x1ced('0x49')]&&_0x2d9d1c[_0x1ced('0x4a')]){_0x2d9d1c[_0x1ced('0x44')]+=0x1;if(_0x2d9d1c[_0x1ced('0x4b')]){_0x2d9d1c[_0x1ced('0x4b')]-=0x1;}}if(_0x2d9d1c['closed']&&_0x2d9d1c[_0x1ced('0x4c')]==='abandoned'){_0x2d9d1c[_0x1ced('0x47')]+=0x1;if(_0x2d9d1c[_0x1ced('0x4b')]){_0x2d9d1c[_0x1ced('0x4b')]-=0x1;}}else if(_0x2d9d1c['closed']&&!_0x2d9d1c['UserId']&&_0x2d9d1c[_0x1ced('0x4c')]){_0x2d9d1c['unmanaged']+=0x1;if(_0x2d9d1c[_0x1ced('0x4b')]){_0x2d9d1c[_0x1ced('0x4b')]-=0x1;}}else if(_0x2d9d1c[_0x1ced('0x49')]&&_0x2d9d1c['UserId']){_0x2d9d1c[_0x1ced('0x45')]+=0x1;if(_0x2d9d1c[_0x1ced('0x44')]){_0x2d9d1c[_0x1ced('0x44')]-=0x1;}}_0x2d9d1c[_0x1ced('0x48')]+=0x1;_0x31b0b4(_0x2d9d1c);});}exports[_0x1ced('0x4d')]=function(_0x385e5d,_0x166725){var _0xf13557={},_0x2ac72e={},_0x356c48={'count':0x0,'rows':[]};var _0x369def=_[_0x1ced('0x3d')](db['ChatInteraction']['rawAttributes'],function(_0xc82e09){return{'name':_0xc82e09[_0x1ced('0x4e')],'type':_0xc82e09[_0x1ced('0x4f')][_0x1ced('0x50')]};});_0x2ac72e[_0x1ced('0x51')]=_[_0x1ced('0x3d')](_0x369def,_0x1ced('0x35'));_0x2ac72e[_0x1ced('0x52')]=_[_0x1ced('0x53')](_0x385e5d['query']);_0x2ac72e['filters']=_['intersection'](_0x2ac72e['model'],_0x2ac72e[_0x1ced('0x52')]);_0xf13557[_0x1ced('0x54')]=_[_0x1ced('0x55')](_0x2ac72e[_0x1ced('0x51')],qs[_0x1ced('0x56')](_0x385e5d[_0x1ced('0x52')][_0x1ced('0x56')]));_0xf13557[_0x1ced('0x54')]=_0xf13557[_0x1ced('0x54')][_0x1ced('0x57')]?_0xf13557[_0x1ced('0x54')]:_0x2ac72e['model'];if(!_0x385e5d[_0x1ced('0x52')]['hasOwnProperty'](_0x1ced('0x58'))){_0xf13557[_0x1ced('0x2e')]=qs['limit'](_0x385e5d['query'][_0x1ced('0x2e')]);_0xf13557[_0x1ced('0x2d')]=qs[_0x1ced('0x2d')](_0x385e5d['query'][_0x1ced('0x2d')]);}_0xf13557[_0x1ced('0x59')]=qs[_0x1ced('0x5a')](_0x385e5d[_0x1ced('0x52')][_0x1ced('0x5a')]);_0xf13557[_0x1ced('0x5b')]=qs[_0x1ced('0x5c')](_[_0x1ced('0x5d')](_0x385e5d[_0x1ced('0x52')],_0x2ac72e[_0x1ced('0x5c')]),_0x369def);var _0x5b8ee7=[];var _0x2134e1=squel['select']()[_0x1ced('0x5e')]('id')[_0x1ced('0x5e')](_0x1ced('0x35'))['field']('color')['from'](_0x1ced('0x5f'));var _0x3c48f3=squel['select']()[_0x1ced('0x5e')](_0x1ced('0x60'))[_0x1ced('0x5e')](_0x1ced('0x61'))[_0x1ced('0x5e')]('ui.ChatInteractionId')[_0x1ced('0x62')](_0x1ced('0x63'),'ui')[_0x1ced('0x64')]('users','u',_0x1ced('0x65'));var _0x54a386=squel[_0x1ced('0x66')]()[_0x1ced('0x62')]('chat_interactions','i')[_0x1ced('0x64')]('cm_contacts','c',_0x1ced('0x67'))[_0x1ced('0x64')](_0x1ced('0x68'),'o',_0x1ced('0x69'))[_0x1ced('0x64')]('chat_websites','a',_0x1ced('0x6a'))[_0x1ced('0x64')]('chat_messages','me','me.ChatInteractionId\x20=\x20i.id')[_0x1ced('0x64')](_0x1ced('0x6b'),'it',_0x1ced('0x6c'))['left_join'](_0x1ced('0x5f'),'t',_0x1ced('0x6d'));var _0x9c60e0=squel[_0x1ced('0x6e')]();var _0x7fbeb7=[];var _0x42df29=squel['expr']();var _0x1b015b;if(_0x385e5d[_0x1ced('0x52')][_0x1ced('0x6f')]){_0x1b015b=as['parseSearch'](_0x385e5d[_0x1ced('0x52')][_0x1ced('0x6f')]);var _0x9cc305=_0x1b015b[_0x1ced('0x70')];for(var _0xe649a3=0x0;_0xe649a3<_0x1b015b['conditions'][_0x1ced('0x57')];_0xe649a3++){var _0x438180=_0x1b015b[_0x1ced('0x71')][_0xe649a3];var _0x3a042e='i';var _0x33a040=_[_0x1ced('0x72')](_0x369def,[_0x1ced('0x35'),_0x438180['field']]);if(!_0x33a040){switch(_0x438180[_0x1ced('0x5e')]){case _0x1ced('0x73'):if(_0x438180[_0x1ced('0x74')]==0x1){_0x54a386[_0x1ced('0x75')]('`'+_0x438180['field']+'`\x20=\x200');}else{_0x54a386[_0x1ced('0x75')]('`'+_0x438180['field']+_0x1ced('0x76'));}break;case _0x1ced('0x77'):if(_0x438180[_0x1ced('0x78')]===_0x1ced('0x79')){if(_0x438180[_0x1ced('0x74')][_0x1ced('0x3f')]('\x20')[_0x1ced('0x57')]>0x1){_0x9c60e0[_0x9cc305](_0x1ced('0x7a'),qs[_0x1ced('0x7b')](_0x438180['value']),null);}else{var _0x4b10b6='%'+_0x438180[_0x1ced('0x74')]+'%';_0x9c60e0[_0x9cc305](_0x1ced('0x7c'),_0x4b10b6,_0x4b10b6,_0x4b10b6);}}else{_0x33a040=_['find'](_0x369def,['name',_0x1ced('0x7d')]);_0x438180['field']=_0x1ced('0x7d');_0x14b4e6=as[_0x1ced('0x7e')](_0x3a042e,_0x33a040[_0x1ced('0x4f')],_0x438180);_0x9c60e0[_0x9cc305](_0x14b4e6[_0x1ced('0x7f')],_0x14b4e6[_0x1ced('0x74')][_0x1ced('0x80')],_0x14b4e6[_0x1ced('0x74')]['end']);}break;case'Tag':var _0x3d818f=_0x438180['value'][_0x1ced('0x3f')](',')['map'](function(_0x5a644d){return Number(_0x5a644d);});_0x3d818f[_0x1ced('0x40')](function(_0x50b4aa){_0x42df29['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x50b4aa+',%');});_0x7fbeb7=_['union'](_0x7fbeb7,_0x3d818f);break;case _0x1ced('0x81'):if(_0x438180[_0x1ced('0x78')]===_0x1ced('0x79')){_0x9c60e0[_0x9cc305](_0x1ced('0x82'),'%'+_0x438180[_0x1ced('0x74')]+'%',null);}else{_0x33a040=_[_0x1ced('0x72')](_0x369def,[_0x1ced('0x35'),_0x1ced('0x4a')]);_0x438180[_0x1ced('0x5e')]=_0x1ced('0x4a');_0x14b4e6=as['buildExpression'](_0x3a042e,_0x33a040['type'],_0x438180);_0x9c60e0[_0x9cc305](_0x14b4e6[_0x1ced('0x7f')],_0x14b4e6[_0x1ced('0x74')]['start'],_0x14b4e6['value'][_0x1ced('0x29')]);}break;case _0x1ced('0x38'):_0x14b4e6=as[_0x1ced('0x7e')]('me',null,_0x438180);_0x9c60e0[_0x9cc305](_0x14b4e6[_0x1ced('0x7f')],_0x14b4e6[_0x1ced('0x74')][_0x1ced('0x80')],_0x14b4e6[_0x1ced('0x74')][_0x1ced('0x29')]);break;}}else{var _0x14b4e6=as['buildExpression'](_0x3a042e,_0x33a040['type'],_0x438180);_0x9c60e0[_0x9cc305](_0x14b4e6[_0x1ced('0x7f')],_0x14b4e6['value'][_0x1ced('0x80')],_0x14b4e6[_0x1ced('0x74')][_0x1ced('0x29')]);}}}else{var _0x38541f=_(_0x385e5d['query'])[_0x1ced('0x53')]()[_0x1ced('0x3d')](function(_0x1c3311){return _['some'](_0x369def,['name',_0x1c3311])?_0x1c3311:undefined;})['compact']()['value']();if(!_[_0x1ced('0x83')](_0x38541f)){_0x38541f[_0x1ced('0x40')](function(_0x42ca62){if(_0x42ca62===_0x1ced('0x84')){_0x54a386['where']('i.ChatWebsiteId\x20IN\x20?',[]['concat'](_0x385e5d['query'][_0x42ca62]));}else if(_0x42ca62==='createdAt'){var _0x39be42=JSON[_0x1ced('0x85')](_0x385e5d[_0x1ced('0x52')][_0x42ca62])[_0x1ced('0x86')];var _0xf5be6=JSON[_0x1ced('0x85')](_0x385e5d[_0x1ced('0x52')][_0x42ca62])[_0x1ced('0x87')];_0x54a386['where'](_0x1ced('0x88'),_0x39be42,_0xf5be6);}else{if(_0x385e5d['query'][_0x42ca62]===_0x1ced('0x89')){_0x54a386[_0x1ced('0x5b')]('i.'+_0x42ca62+_0x1ced('0x8a'));}else{_0x54a386[_0x1ced('0x5b')]('i.'+_0x42ca62+_0x1ced('0x8b'),_0x385e5d['query'][_0x42ca62]);}}});}if(_0x385e5d['query'][_0x1ced('0x8c')]){if(_0x385e5d[_0x1ced('0x52')][_0x1ced('0x8c')]==0x1){_0x54a386[_0x1ced('0x75')](_0x1ced('0x8d'));}else{_0x54a386[_0x1ced('0x75')](_0x1ced('0x8e'));}}if(_0x385e5d[_0x1ced('0x52')][_0x1ced('0x8f')]){_0x7fbeb7=_[_0x1ced('0x90')](_0x385e5d[_0x1ced('0x52')][_0x1ced('0x8f')])?_0x385e5d[_0x1ced('0x52')][_0x1ced('0x8f')]:new Array(_0x385e5d['query'][_0x1ced('0x8f')]);_0x7fbeb7['forEach'](function(_0x4ee7e3){_0x42df29['or'](_0x1ced('0x91'),'%,'+_0x4ee7e3+',%');});}if(_0x385e5d[_0x1ced('0x52')][_0x1ced('0x92')]){var _0x3a3456=_0x385e5d[_0x1ced('0x52')]['filter']['replace']('\x5c','\x5c\x5c')[_0x1ced('0x93')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x3a3456)){_0x9c60e0['or'](_0x1ced('0x94'),_0x3a3456+'%');}else{_0x9c60e0['or'](_0x1ced('0x95'),qs[_0x1ced('0x7b')](_0x3a3456))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x3a3456+'%');}}}_0x54a386[_0x1ced('0x5b')](_0x9c60e0);_0x54a386[_0x1ced('0x96')](_0x1ced('0x97'));var _0x52288e={'type':db[_0x1ced('0x98')][_0x1ced('0x99')][_0x1ced('0x9a')],'raw':!![]};var _0x3c4c13=_0x54a386[_0x1ced('0x9b')]();_0x3c4c13['field'](_0x1ced('0x97'));_0x3c4c13[_0x1ced('0x5e')](_0x1ced('0x9c'),_0x1ced('0x73'));if(_0xf13557['order']){_0xf13557['order'][_0x1ced('0x40')](function(_0x10386b){var _0x42f66c=_0x10386b[0x0]===_0x1ced('0x9d')?_0x10386b[0x0]:'i.'+_0x10386b[0x0];_0x54a386[_0x1ced('0x59')](_0x42f66c,_0x10386b[0x1]==='DESC'?![]:!![]);});}if(!_[_0x1ced('0x83')](_0x7fbeb7)){_0x54a386[_0x1ced('0x75')](_0x42df29);_0x3c4c13['where'](_0x1ced('0x9e'),_0x7fbeb7);}BPromise['resolve']()[_0x1ced('0x1f')](function(){if(!_0x1b015b){if(_0x385e5d['query'][_0x1ced('0x84')])return;_0x3c4c13['where'](_0x1ced('0x9f'));_0x54a386['where'](_0x1ced('0x9f'));return;}if(_0x385e5d[_0x1ced('0xa0')][_0x1ced('0xa1')]!==_0x1ced('0x3a'))return;return _0x385e5d['user']['getChatWebsites']({'attributes':['id'],'raw':!![]})['then'](function(_0x25cc4d){if(_[_0x1ced('0x83')](_0x25cc4d)){_0x3c4c13[_0x1ced('0x5b')](_0x1ced('0xa2'));_0x54a386['where'](_0x1ced('0xa2'));}else{_0x3c4c13[_0x1ced('0x5b')](_0x1ced('0xa3'),_[_0x1ced('0x3d')](_0x25cc4d,'id'));_0x54a386[_0x1ced('0x5b')](_0x1ced('0xa3'),_['map'](_0x25cc4d,'id'));}});})[_0x1ced('0x1f')](function(){if(_0x385e5d[_0x1ced('0xa0')][_0x1ced('0xa1')]===_0x1ced('0x3a')&&!_0x1b015b&&!_0x385e5d[_0x1ced('0x52')][_0x1ced('0x84')])return[];return db[_0x1ced('0xa4')][_0x1ced('0x52')](_0x3c4c13['toString'](),_0x52288e);})[_0x1ced('0x1f')](function(_0x5bc033){_0x356c48[_0x1ced('0x2c')]=_0x5bc033[_0x1ced('0x57')];if(_0x356c48[_0x1ced('0x2c')]===0x0)return[];return db['sequelize'][_0x1ced('0x52')](_0x2134e1['toString'](),_0x52288e)['then'](function(_0x5e5c15){_0x5b8ee7=_[_0x1ced('0xa5')](_0x5e5c15,'id');_0x52288e=_[_0x1ced('0x37')](_0x52288e,{'model':db[_0x1ced('0xa6')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x385e5d[_0x1ced('0x52')]['fields']){_0xf13557[_0x1ced('0x54')][_0x1ced('0x40')](function(_0x3ae956){_0x54a386[_0x1ced('0x5e')]('i.'+_0x3ae956);});}else{_0x54a386['field'](_0x1ced('0x9c'),'unreadMessages');_0x54a386[_0x1ced('0x5e')]('a.key',_0x1ced('0xa7'));_0x54a386['field'](_0x1ced('0xa8'),'Account.mandatoryDisposition');_0x54a386[_0x1ced('0x5e')](_0x1ced('0xa9'),_0x1ced('0x9d'));_0x54a386[_0x1ced('0x5e')](_0x1ced('0xaa'));_0x54a386[_0x1ced('0x5e')](_0x1ced('0xab'),_0x1ced('0xac'));_0x54a386[_0x1ced('0x5e')](_0x1ced('0xad'),'Contact.lastName');_0x54a386['field'](_0x1ced('0xae'),_0x1ced('0xaf'));_0x54a386[_0x1ced('0x5e')](_0x1ced('0xb0'),'Contact.phone');_0x54a386['field'](_0x1ced('0xb1'),'Contact.mobile');_0x54a386[_0x1ced('0x5e')](_0x1ced('0xb2'),'Contact.fax');_0x54a386[_0x1ced('0x5e')](_0x1ced('0xb3'),_0x1ced('0xb4'));_0x54a386[_0x1ced('0x5e')](_0x1ced('0xb5'),_0x1ced('0xb6'));_0x54a386[_0x1ced('0x5e')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x1ced('0x42'));}if(_0xf13557[_0x1ced('0x2e')])_0x54a386[_0x1ced('0x2e')](_0xf13557[_0x1ced('0x2e')]);if(_0xf13557[_0x1ced('0x2d')])_0x54a386['offset'](_0xf13557[_0x1ced('0x2d')]);return db['sequelize'][_0x1ced('0x52')](_0x54a386[_0x1ced('0xb7')](),_0x52288e);})[_0x1ced('0x1f')](function(_0x565b7d){if(_0x565b7d[_0x1ced('0x57')]>0x0)_0x3c48f3[_0x1ced('0x5b')](_0x1ced('0xb8'),_[_0x1ced('0x3d')](_0x565b7d,'id'));return db[_0x1ced('0xa4')]['query'](_0x3c48f3[_0x1ced('0xb7')](),_0x52288e)['then'](function(_0x31e8e9){var _0x1f157d=_[_0x1ced('0xb9')](_0x31e8e9,_0x1ced('0xba'));var _0xb5339=[];_0x565b7d[_0x1ced('0x40')](function(_0x2b5baa){_0xb5339[_0x1ced('0x41')](updateChatInteraction(_0x2b5baa,_0x5b8ee7,_0x1f157d));});return BPromise[_0x1ced('0xbb')](_0xb5339);});});})[_0x1ced('0x1f')](function(_0x54f2c6){_0x356c48['rows']=_0x54f2c6;return _0x356c48;})['then'](respondWithFilteredResult(_0x166725,_0xf13557))[_0x1ced('0x43')](handleError(_0x166725,null));};exports[_0x1ced('0xbc')]=function(_0x48feb7,_0x2d0c96){var _0x5dec79={'raw':![],'where':{'id':_0x48feb7['params']['id']}},_0x4c2cf9={};_0x4c2cf9['model']=_[_0x1ced('0x53')](db[_0x1ced('0xa6')][_0x1ced('0xbd')]);_0x4c2cf9[_0x1ced('0x52')]=_['keys'](_0x48feb7['query']);_0x4c2cf9[_0x1ced('0x5c')]=_[_0x1ced('0x55')](_0x4c2cf9[_0x1ced('0x51')],_0x4c2cf9[_0x1ced('0x52')]);_0x5dec79[_0x1ced('0x54')]=_[_0x1ced('0x55')](_0x4c2cf9['model'],qs['fields'](_0x48feb7[_0x1ced('0x52')][_0x1ced('0x56')]));_0x5dec79['attributes']=_0x5dec79['attributes'][_0x1ced('0x57')]?_0x5dec79['attributes']:_0x4c2cf9['model'];if(_0x48feb7[_0x1ced('0x52')]['includeAll']){_0x5dec79[_0x1ced('0xbe')]=[{'all':!![]}];}_0x5dec79=_[_0x1ced('0x37')]({},_0x5dec79,_0x48feb7[_0x1ced('0xbf')]);return db[_0x1ced('0xa6')][_0x1ced('0x72')](_0x5dec79)['then'](handleEntityNotFound(_0x2d0c96,null))[_0x1ced('0x1f')](respondWithResult(_0x2d0c96,null))[_0x1ced('0x43')](handleError(_0x2d0c96,null));};exports[_0x1ced('0xc0')]=function(_0x2b3837,_0x525d9b){return db[_0x1ced('0xa6')][_0x1ced('0xc0')](_0x2b3837['body'],{})[_0x1ced('0x1f')](respondWithResult(_0x525d9b,0xc9))[_0x1ced('0x43')](handleError(_0x525d9b,null));};exports[_0x1ced('0xc1')]=function(_0x25d90c,_0x498ae1){if(_0x25d90c[_0x1ced('0x38')]['id']){delete _0x25d90c['body']['id'];}return db['ChatInteraction'][_0x1ced('0x72')]({'where':{'id':_0x25d90c[_0x1ced('0xc2')]['id']}})[_0x1ced('0x1f')](handleEntityNotFound(_0x498ae1,null))[_0x1ced('0x1f')](saveUpdates(_0x25d90c[_0x1ced('0x38')],null))['then'](respondWithResult(_0x498ae1,null))['catch'](handleError(_0x498ae1,null));};exports[_0x1ced('0x34')]=function(_0x99982f,_0x153965){return db[_0x1ced('0xa6')][_0x1ced('0x72')]({'where':{'id':_0x99982f[_0x1ced('0xc2')]['id']}})[_0x1ced('0x1f')](handleEntityNotFound(_0x153965,null))['then'](removeEntity(_0x153965,null))[_0x1ced('0x43')](handleError(_0x153965,null));};exports[_0x1ced('0xc3')]=function(_0x139006,_0x32467a){return db[_0x1ced('0xa6')]['describe']()[_0x1ced('0x1f')](respondWithResult(_0x32467a,null))[_0x1ced('0x43')](handleError(_0x32467a,null));};exports[_0x1ced('0xc4')]=function(_0x5cda7a,_0x52fffe){var _0xc0176a=_0x5cda7a[_0x1ced('0xc2')]['id'];var _0x5d4432;var _0x241924;var _0x55571a;return db[_0x1ced('0xa6')][_0x1ced('0xc5')]({'where':{'id':_0xc0176a}})['then'](function(_0x13b65e){_0x5d4432=_0x13b65e;return db[_0x1ced('0xc6')]['findOne']({'where':{'id':_0x13b65e[_0x1ced('0x84')]},'attributes':['id',_0x1ced('0xc7'),'vidaooEscalation','vidaooTopic',_0x1ced('0xc8'),_0x1ced('0xc9')],'raw':!![]});})[_0x1ced('0x1f')](function(_0x38d6dc){if(_0x38d6dc&&_0x38d6dc[_0x1ced('0xc7')]&&_0x38d6dc['vidaooEscalation']){_0x241924=_0x38d6dc;var _0x44e7ae={'interaction':{'id':_0xc0176a},'agent':{'id':_0x5cda7a[_0x1ced('0xa0')]['id'],'name':_0x5cda7a[_0x1ced('0xa0')][_0x1ced('0x35')],'fullname':_0x5cda7a[_0x1ced('0xa0')][_0x1ced('0x3e')],'email':_0x5cda7a[_0x1ced('0xa0')]['email']},'contact':_0x5cda7a[_0x1ced('0x38')][_0x1ced('0x39')],'account':_0x5cda7a[_0x1ced('0x38')][_0x1ced('0xca')]};var _0x1ca5c9={'rejectUnauthorized':![],'method':_0x1ced('0xcb'),'url':_0x1ced('0xcc'),'headers':{'X-APIKEY':_0x38d6dc[_0x1ced('0xc7')]},'body':{'duration':null,'scheduledAt':null,'participants':[_0x5cda7a[_0x1ced('0xa0')][_0x1ced('0xcd')]],'buttons':null,'topic':_0x241924['vidaooTopic'],'note':_[_0x1ced('0xce')](_0x241924[_0x1ced('0xc8')])?null:getMustacheRender(_0x241924['vidaooNote'],_0x44e7ae),'metadata':null},'redirect':_0x1ced('0xcf'),'json':!![]};try{if(!_[_0x1ced('0xce')](_0x241924[_0x1ced('0xc9')])){var _0x10c194=getMustacheRender(_0x241924[_0x1ced('0xc9')],_0x44e7ae);var _0x1fea23=JSON['parse'](_0x10c194);_0x1ca5c9[_0x1ced('0x38')][_0x1ced('0xd0')]=_0x1fea23;}}catch(_0x4a7d21){throw new db['Sequelize'][(_0x1ced('0xd1'))](_0x1ced('0xd2'));}return rp(_0x1ca5c9);}else{throw new db[(_0x1ced('0x98'))][(_0x1ced('0xd1'))](_0x1ced('0xd3'));}})[_0x1ced('0x1f')](function(_0xa1a6dd){_0x55571a=_0xa1a6dd;if(_0x55571a['id']){var _0x45b804={'body':_0x55571a[_0x1ced('0xd4')],'ChatWebsiteId':_0x241924['id'],'ChatInteractionId':_0x5d4432['id'],'direction':_0x1ced('0xd5'),'UserId':_0x5cda7a[_0x1ced('0xa0')]['id']};return db[_0x1ced('0xd6')][_0x1ced('0xc0')](_0x45b804,{});}else{throw new db[(_0x1ced('0x98'))][(_0x1ced('0xd1'))](_0x1ced('0xd7'));}})['then'](function(){return _0x5d4432[_0x1ced('0xd8')]({'vidaooSessionId':_0x55571a['id']});})[_0x1ced('0x1f')](respondWithResult(_0x52fffe,null))[_0x1ced('0x43')](handleError(_0x52fffe,null));};exports['customUpdate']=function(_0x32add2,_0x121b8d){if(_0x32add2[_0x1ced('0x38')]['id']){delete _0x32add2[_0x1ced('0x38')]['id'];}return db[_0x1ced('0xa6')]['find']({'where':{'id':_0x32add2[_0x1ced('0xc2')]['id']},'include':[{'model':db[_0x1ced('0xd9')],'as':_0x1ced('0x77')}]})[_0x1ced('0x1f')](handleEntityNotFound(_0x121b8d,null))[_0x1ced('0x1f')](saveUpdates(_0x32add2[_0x1ced('0x38')],null))['then'](respondWithResult(_0x121b8d,null))['catch'](handleError(_0x121b8d,null));};exports['abandon']=function(_0x317e05,_0x48c65f,_0xd75c21){if(_0x317e05[_0x1ced('0x38')]['id']){delete _0x317e05[_0x1ced('0x38')]['id'];}return db['ChatInteraction'][_0x1ced('0x72')]({'where':{'id':_0x317e05[_0x1ced('0xc2')]['id']}})[_0x1ced('0x1f')](function(_0x51a3ec){if(!_0x51a3ec){logger['error'](_0x1ced('0xda'),_0x1ced('0xdb'),0x194,'entity\x20not\x20found');_0x48c65f['sendStatus'](0x194);}else{if(_0x51a3ec[_0x1ced('0x4a')]){throw new db[(_0x1ced('0x98'))][(_0x1ced('0xd1'))]('Interaction\x20already\x20assigned');}}return _0x51a3ec;})['then'](function(_0x2dd4d1){if(_0x2dd4d1){return _0x2dd4d1['update']({'closed':_0x317e05[_0x1ced('0x38')][_0x1ced('0x49')],'disposition':_0x317e05['body'][_0x1ced('0x4c')]})[_0x1ced('0x1f')](function(_0x440bc6){return _0x440bc6;});}})['then'](function(_0x177f35){return respondWithRpcPromise(_0x1ced('0xdc'),'abandon',_0x317e05[_0x1ced('0x38')],client9004);})['then'](respondWithResult(_0x48c65f,null))['catch'](handleError(_0x48c65f,null));};exports[_0x1ced('0xdd')]=function(_0x1ff290,_0x18f0f7,_0x46c7d5){_0x1ff290['body'][_0x1ced('0x35')]=_0x1ff290[_0x1ced('0xde')]['originalname'];_0x1ff290[_0x1ced('0x38')]['basename']=_0x1ff290[_0x1ced('0xde')][_0x1ced('0xdf')];_0x1ff290[_0x1ced('0x38')][_0x1ced('0x4f')]=_0x1ff290[_0x1ced('0xde')][_0x1ced('0xe0')];return db[_0x1ced('0xe1')]['create'](_0x1ff290[_0x1ced('0x38')])[_0x1ced('0x1f')](respondWithResult(_0x18f0f7,0xc9))['catch'](handleError(_0x18f0f7,null));};exports[_0x1ced('0xe2')]=function(_0x416566,_0x129923,_0x2ba5ab){return db[_0x1ced('0xa6')][_0x1ced('0xc5')]({'where':{'id':_0x416566[_0x1ced('0xc2')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x129923,null))[_0x1ced('0x1f')](function(_0x4c8a66){if(_0x4c8a66){if(_0x4c8a66[_0x1ced('0x49')]){return _0x129923[_0x1ced('0x28')](0x193)['json']({'status':0x193,'message':_0x1ced('0xe3')});}return db['Attachment']['findOne']({'where':{'id':_0x416566['query'][_0x1ced('0xe4')]},'raw':!![]})[_0x1ced('0x1f')](handleEntityNotFound(_0x129923,null));}})[_0x1ced('0x1f')](function(_0x56b8e9){if(_0x56b8e9){var _0x17c9bf=_0x56b8e9[_0x1ced('0xe5')]!==null;var _0x105228=path[_0x1ced('0xe6')](config[_0x1ced('0xe7')],'server/files/attachments/');if(_0x17c9bf){_0x105228=path[_0x1ced('0xe6')](_0x105228,_0x1ced('0xe8'));}var _0x44c626=path['join'](_0x105228,_0x56b8e9[_0x1ced('0xe9')]);return _0x129923[_0x1ced('0xea')](_0x44c626);}})[_0x1ced('0x43')](handleError(_0x129923,null));};exports[_0x1ced('0xeb')]=function(_0x7fee2a,_0x5c4e90){var _0x5bea2a=null;var _0x458abe=null;var _0x408da5=null;var _0x223b46=null;if(_0x7fee2a[_0x1ced('0x38')]['id']){delete _0x7fee2a[_0x1ced('0x38')]['id'];}if(_0x7fee2a[_0x1ced('0x38')][_0x1ced('0xec')]){_0x223b46=path[_0x1ced('0xe6')](config['root'],_0x1ced('0xed'),util[_0x1ced('0xee')](_0x1ced('0xef'),Date['now']()));_0x7fee2a[_0x1ced('0x38')][_0x1ced('0xf0')]=_0x223b46;}return db[_0x1ced('0xa6')][_0x1ced('0x72')]({'where':{'id':_0x7fee2a[_0x1ced('0xc2')]['id']},'include':[{'model':db[_0x1ced('0xd6')],'as':_0x1ced('0xf1'),'include':[{'model':db[_0x1ced('0x81')],'as':_0x1ced('0x81')}]}]})[_0x1ced('0x1f')](handleEntityNotFound(_0x5c4e90,null))[_0x1ced('0x1f')](saveUpdates(_0x7fee2a[_0x1ced('0x38')],null))['then'](function(_0x27918e){if(_0x27918e){_0x5bea2a=_0x27918e;return db[_0x1ced('0xc6')]['find']({'where':{'id':_0x5bea2a[_0x1ced('0x84')]}});}})[_0x1ced('0x1f')](function(_0xdad299){if(_0xdad299){_0x408da5=_0xdad299;return db[_0x1ced('0xd9')][_0x1ced('0x72')]({'where':{'id':_0x5bea2a['ContactId']}});}})[_0x1ced('0x1f')](function(_0x3f0884){if(_0x3f0884){_0x458abe=_0x3f0884;if(_0x223b46){var _0xd85895=null;for(var _0x58954f=0x1;_0x58954f<_0x5bea2a[_0x1ced('0xf1')][_0x1ced('0x57')];++_0x58954f){_0xd85895=_0x5bea2a['Messages'][_0x58954f];var _0xb05aaf=_0xd85895[_0x1ced('0x4a')]?util[_0x1ced('0xee')](_0x1ced('0xf2'),_0x408da5[_0x1ced('0xf3')],_0xd85895['UserId']):_0x1ced('0xf4');var _0x33554d=_0x7fee2a[_0x1ced('0x38')][_0x1ced('0xf5')]||util[_0x1ced('0xee')](_0x1ced('0xf2'),_0x1ced('0xf6'),_0xd85895[_0x1ced('0x7d')]);switch(_0x408da5[_0x1ced('0xf7')]){case _0x1ced('0xf8'):_0xb05aaf=_0xd85895[_0x1ced('0x4a')]?util[_0x1ced('0xee')](_0x1ced('0xf2'),_0x408da5[_0x1ced('0xf3')],_0xd85895[_0x1ced('0x4a')]):_0x1ced('0xf4');break;case _0x1ced('0xf9'):_0xb05aaf=_0xd85895[_0x1ced('0x4a')]?_0xd85895[_0x1ced('0x81')]['alias']||_0xd85895[_0x1ced('0x81')][_0x1ced('0x3e')]:_0x1ced('0xf4');break;case _0x1ced('0xfa'):_0xb05aaf=_0xd85895[_0x1ced('0x4a')]?_0xd85895[_0x1ced('0x81')][_0x1ced('0x3e')]:_0x1ced('0xf4');break;default:_0xb05aaf=_0xd85895[_0x1ced('0x4a')]?util[_0x1ced('0xee')](_0x1ced('0xf2'),_0x408da5[_0x1ced('0xf3')],_0xd85895['UserId']):_0x1ced('0xf4');}var _0x5b58ef=util['format'](_0x1ced('0xfb'),moment(_0xd85895[_0x1ced('0xfc')])[_0x1ced('0xee')](_0x1ced('0xfd')),_0xd85895[_0x1ced('0xfe')]==='in'?_0x33554d:_0xb05aaf,_0xd85895[_0x1ced('0x38')]);if(!_0xd85895['secret']){fs[_0x1ced('0xff')](_0x223b46,_0x5b58ef);}}return db[_0x1ced('0x100')]['findOne']({'where':{'service':!![]},'include':[{'model':db[_0x1ced('0x101')],'as':_0x1ced('0x102'),'raw':!![]}]});}}})[_0x1ced('0x1f')](function(_0x45fe37){if(_0x45fe37&&_0x45fe37[_0x1ced('0x102')]&&_0x7fee2a[_0x1ced('0x38')]){var _0x8976f0={'tls':{'rejectUnauthorized':![]}};if(_0x45fe37[_0x1ced('0x102')]['service']){_0x8976f0[_0x1ced('0x103')]=_0x45fe37[_0x1ced('0x102')][_0x1ced('0x103')];}else{_0x8976f0[_0x1ced('0x104')]=_0x45fe37[_0x1ced('0x102')][_0x1ced('0x104')];_0x8976f0[_0x1ced('0x105')]=_0x45fe37[_0x1ced('0x102')][_0x1ced('0x105')];_0x8976f0[_0x1ced('0x106')]=_0x45fe37[_0x1ced('0x102')]['secure'];}if(_0x45fe37['Smtp'][_0x1ced('0x107')]){_0x8976f0[_0x1ced('0x108')]={'user':_0x45fe37[_0x1ced('0x102')][_0x1ced('0xa0')],'pass':_0x45fe37[_0x1ced('0x102')][_0x1ced('0x109')]};}return respondWithRpcPromise(_0x1ced('0x10a'),_0x1ced('0x10b'),{'account':_0x8976f0,'message':{'from':util[_0x1ced('0xee')]('\x22%s\x22\x20<%s>',_0x45fe37[_0x1ced('0x35')],_0x45fe37['email']||_0x45fe37[_0x1ced('0x102')][_0x1ced('0xa0')]),'to':_0x7fee2a[_0x1ced('0x38')][_0x1ced('0xec')],'subject':_0x1ced('0x10c'),'text':util[_0x1ced('0xee')](_0x1ced('0x10d'),_0x7fee2a[_0x1ced('0x38')][_0x1ced('0xec')]),'attachments':[{'path':_0x223b46}]}})[_0x1ced('0x1f')](function(){return _0x5bea2a;})['catch'](function(_0x145cb5){console[_0x1ced('0x25')](_0x145cb5);});}else{return _0x5bea2a;}})['then'](respondWithStatusCode(_0x5c4e90,0xc8))['catch'](handleError(_0x5c4e90,null));};exports[_0x1ced('0x10e')]=function(_0x40f443,_0x3984e9,_0x49907f){return db[_0x1ced('0xd6')][_0x1ced('0x72')]({'where':{'id':_0x40f443[_0x1ced('0xc2')]['id']}})[_0x1ced('0x1f')](handleEntityNotFound(_0x3984e9,null))[_0x1ced('0x1f')](function(_0x417432){if(_0x417432){return _0x417432[_0x1ced('0x10e')](_0x40f443[_0x1ced('0x38')][_0x1ced('0x10f')],_[_0x1ced('0x110')](_0x40f443['body'],[_0x1ced('0x10f'),'id'])||{});}})[_0x1ced('0x1f')](respondWithResult(_0x3984e9,null))[_0x1ced('0x43')](handleError(_0x3984e9,null));};exports[_0x1ced('0x111')]=function(_0x2eb576,_0x45ece7,_0x584012){var _0x202a11={'raw':![],'where':{}};var _0x59a265={};var _0x4369d4={'count':0x0,'rows':[]};return db[_0x1ced('0xa6')][_0x1ced('0xc5')]({'where':{'id':_0x2eb576['params']['id']}})['then'](handleEntityNotFound(_0x45ece7,null))[_0x1ced('0x1f')](function(_0x3a7685){if(_0x3a7685){_0x59a265['model']=_[_0x1ced('0x53')](db[_0x1ced('0xd6')][_0x1ced('0xbd')]);_0x59a265[_0x1ced('0x52')]=_[_0x1ced('0x53')](_0x2eb576['query']);_0x59a265[_0x1ced('0x5c')]=_['intersection'](_0x59a265[_0x1ced('0x51')],_0x59a265['query']);_0x202a11[_0x1ced('0x54')]=_[_0x1ced('0x55')](_0x59a265['model'],qs[_0x1ced('0x56')](_0x2eb576[_0x1ced('0x52')][_0x1ced('0x56')]));_0x202a11[_0x1ced('0x54')]=_0x202a11[_0x1ced('0x54')][_0x1ced('0x57')]?_0x202a11[_0x1ced('0x54')]:_0x59a265[_0x1ced('0x51')];if(!_0x2eb576[_0x1ced('0x52')]['hasOwnProperty']('nolimit')){_0x202a11[_0x1ced('0x2e')]=qs[_0x1ced('0x2e')](_0x2eb576[_0x1ced('0x52')][_0x1ced('0x2e')]);_0x202a11['offset']=qs['offset'](_0x2eb576[_0x1ced('0x52')][_0x1ced('0x2d')]);}_0x202a11[_0x1ced('0x59')]=qs[_0x1ced('0x5a')](_0x2eb576['query'][_0x1ced('0x5a')]);_0x202a11[_0x1ced('0x5b')]=qs[_0x1ced('0x5c')](_[_0x1ced('0x5d')](_0x2eb576[_0x1ced('0x52')],_0x59a265[_0x1ced('0x5c')]));_0x202a11['where']['ChatInteractionId']=_0x3a7685['id'];if(_0x2eb576[_0x1ced('0x52')]['filter']){_0x202a11['where']=_[_0x1ced('0x37')](_0x202a11['where'],{'$or':_[_0x1ced('0x3d')](_0x202a11['attributes'],function(_0x49323){var _0x562b8c={};_0x562b8c[_0x49323]={'$like':'%'+_0x2eb576[_0x1ced('0x52')][_0x1ced('0x92')]+'%'};return _0x562b8c;})});}if(_0x2eb576[_0x1ced('0x52')][_0x1ced('0x86')]){var _0x5c727a=_0x2eb576[_0x1ced('0x52')]['$gte'][_0x1ced('0x3f')](',');var _0x2e560c={};_0x2e560c[_0x5c727a[0x0]]={'$gte':moment(_0x5c727a[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x202a11['where']=_[_0x1ced('0x37')](_0x202a11[_0x1ced('0x5b')],_0x2e560c);}_0x202a11=_['merge']({},_0x202a11,_0x2eb576[_0x1ced('0xbf')]);return db[_0x1ced('0xd6')][_0x1ced('0x2c')]({'where':_0x202a11[_0x1ced('0x5b')]})[_0x1ced('0x1f')](function(_0xc631f4){_0x4369d4[_0x1ced('0x2c')]=_0xc631f4;if(_0x2eb576[_0x1ced('0x52')][_0x1ced('0x112')]){_0x202a11[_0x1ced('0xbe')]=[{'all':!![]}];}return db[_0x1ced('0xd6')][_0x1ced('0x113')](_0x202a11);})['then'](function(_0x585328){_0x4369d4[_0x1ced('0x114')]=_0x585328;return _0x4369d4;});}})['then'](respondWithFilteredResult(_0x45ece7,_0x202a11))[_0x1ced('0x43')](handleError(_0x45ece7,null));};exports['getMyMessages']=function(_0xd6493b,_0x4f3b44,_0x25276a){var _0x566bb5={'where':{}},_0x510271={},_0x3d8893={'count':0x0,'rows':[]};return db['ChatInteraction']['findOne']({'where':{'id':_0xd6493b['params']['id']}})[_0x1ced('0x1f')](handleEntityNotFound(_0x4f3b44,null))[_0x1ced('0x1f')](function(_0x25d95a){if(_0x25d95a){_0x510271[_0x1ced('0x51')]=_[_0x1ced('0x53')](db['ChatMessage'][_0x1ced('0xbd')]);_0x510271[_0x1ced('0x52')]=_[_0x1ced('0x53')](_0xd6493b[_0x1ced('0x52')]);_0x510271[_0x1ced('0x5c')]=_[_0x1ced('0x55')](_0x510271['model'],_0x510271['query']);_0x566bb5[_0x1ced('0x54')]=_['intersection'](_0x510271[_0x1ced('0x51')],qs['fields'](_0xd6493b[_0x1ced('0x52')][_0x1ced('0x56')]));_0x566bb5[_0x1ced('0x54')]=_0x566bb5[_0x1ced('0x54')][_0x1ced('0x57')]?_0x566bb5['attributes']:_0x510271[_0x1ced('0x51')];if(!_0xd6493b[_0x1ced('0x52')][_0x1ced('0x115')](_0x1ced('0x58'))){_0x566bb5['limit']=qs[_0x1ced('0x2e')](_0xd6493b[_0x1ced('0x52')][_0x1ced('0x2e')]);_0x566bb5[_0x1ced('0x2d')]=qs[_0x1ced('0x2d')](_0xd6493b[_0x1ced('0x52')]['offset']);}_0x566bb5['order']=qs[_0x1ced('0x5a')](_0xd6493b[_0x1ced('0x52')][_0x1ced('0x5a')]);_0x566bb5['where']=qs['filters'](_[_0x1ced('0x5d')](_0xd6493b['query'],_0x510271[_0x1ced('0x5c')]));_0x566bb5[_0x1ced('0x5b')][_0x1ced('0xba')]=_0x25d95a['id'];if(_0xd6493b[_0x1ced('0x52')][_0x1ced('0x92')]){_0x566bb5[_0x1ced('0x5b')]=_['merge'](_0x566bb5[_0x1ced('0x5b')],{'$or':_[_0x1ced('0x3d')](_0x566bb5[_0x1ced('0x54')],function(_0x115671){var _0x46f4e5={};_0x46f4e5[_0x115671]={'$like':'%'+_0xd6493b['query'][_0x1ced('0x92')]+'%'};return _0x46f4e5;})});}_0x566bb5['where'][_0x1ced('0x116')]=![];if(_0xd6493b[_0x1ced('0x52')]['id']){_0x566bb5[_0x1ced('0x5b')]['id']={'$gt':_0xd6493b[_0x1ced('0x52')]['id']};}_0x566bb5=_['merge']({},_0x566bb5,_0xd6493b[_0x1ced('0xbf')]);return db[_0x1ced('0xd6')]['count']({'where':_0x566bb5[_0x1ced('0x5b')]})['then'](function(_0x521a56){_0x3d8893[_0x1ced('0x2c')]=_0x521a56;_0x566bb5['include']=[];if(_0xd6493b['query'][_0x1ced('0x117')]){_0x566bb5[_0x1ced('0xbe')]['push']({'model':db[_0x1ced('0x81')],'as':_0x1ced('0x81'),'attributes':['id',_0x1ced('0x3e'),_0x1ced('0x118')]});}if(_0xd6493b[_0x1ced('0x52')][_0x1ced('0x112')]){_0x566bb5[_0x1ced('0xbe')]=[{'all':!![]}];}return db[_0x1ced('0xd6')]['findAll'](_0x566bb5);})['then'](function(_0x33121c){_0x3d8893[_0x1ced('0x114')]=_0x33121c;return _0x3d8893;});}})[_0x1ced('0x1f')](respondWithFilteredResult(_0x4f3b44,_0x566bb5))[_0x1ced('0x43')](handleError(_0x4f3b44,null));};exports['addTags']=function(_0xaaf551,_0x1e4110,_0x158897){return db[_0x1ced('0xa6')][_0x1ced('0x72')]({'where':{'id':_0xaaf551['params']['id']}})[_0x1ced('0x1f')](handleEntityNotFound(_0x1e4110,null))[_0x1ced('0x1f')](function(_0x5bb5a8){if(_0x5bb5a8){return _0x5bb5a8[_0x1ced('0x119')](_0xaaf551['body']['ids'],_[_0x1ced('0x110')](_0xaaf551[_0x1ced('0x38')],[_0x1ced('0x10f'),'id'])||{})[_0x1ced('0x11a')](function(){return db[_0x1ced('0x11b')]['findAll']({'attributes':['id','name',_0x1ced('0x11c')],'where':{'id':_0xaaf551[_0x1ced('0x38')]['ids']}});})['then'](function(_0x5e4fce){socket[_0x1ced('0x11d')](_0x1ced('0x11e'),{'id':Number(_0xaaf551[_0x1ced('0xc2')]['id']),'tags':_0x5e4fce||[]});return{'id':Number(_0xaaf551['params']['id']),'tags':_0x5e4fce||[]};});}})[_0x1ced('0x1f')](respondWithResult(_0x1e4110,null))[_0x1ced('0x43')](handleError(_0x1e4110,null));};exports[_0x1ced('0x11f')]=function(_0x465f92,_0x4647d7,_0x360f78){return db[_0x1ced('0xa6')][_0x1ced('0x72')]({'where':{'id':_0x465f92[_0x1ced('0xc2')]['id']}})['then'](handleEntityNotFound(_0x4647d7,null))['then'](function(_0x391d3f){if(_0x391d3f){return _0x391d3f[_0x1ced('0x11f')](_0x465f92[_0x1ced('0x52')][_0x1ced('0x10f')]);}})[_0x1ced('0x1f')](respondWithStatusCode(_0x4647d7,null))['catch'](handleError(_0x4647d7,null));};exports[_0x1ced('0xea')]=function(_0x1ee435,_0x58b045){var _0x4bd6b6=moment()['unix']()[_0x1ced('0xb7')]();var _0x55dfc2=path[_0x1ced('0xe6')](config['root'],_0x1ced('0x120'),_0x1ced('0x121'),_0x1ced('0x122'));var _0x3b0c6f=path[_0x1ced('0xe6')](config['root'],_0x1ced('0x120'),'files',_0x1ced('0x123'));var _0x245734=path[_0x1ced('0xe6')](_0x55dfc2,_0x4bd6b6);var _0x2ef2ed=util[_0x1ced('0xee')](_0x1ced('0x124'),_0x1ee435[_0x1ced('0xc2')]['id'],_0x4bd6b6);var _0x5eed5e=path[_0x1ced('0xe6')](_0x55dfc2,_0x2ef2ed);var _0x48fd06=[];_0x48fd06[_0x1ced('0x41')]({'model':db[_0x1ced('0x81')],'as':'User','attributes':['id',_0x1ced('0x3e')],'raw':!![]});_0x48fd06[_0x1ced('0x41')]({'model':db[_0x1ced('0xd9')],'as':_0x1ced('0x77'),'attributes':['id',_0x1ced('0x125'),_0x1ced('0x126')],'raw':!![]});if(_0x1ee435['query'][_0x1ced('0x123')]){_0x48fd06[_0x1ced('0x41')]({'model':db[_0x1ced('0xe1')],'as':_0x1ced('0xe1'),'raw':!![]});}var _0x2b3cc8=[{'model':db[_0x1ced('0xd6')],'as':_0x1ced('0xf1'),'attributes':['id',_0x1ced('0x38'),_0x1ced('0xfc'),_0x1ced('0xfe'),_0x1ced('0x116'),_0x1ced('0x8c')],'include':_0x48fd06}];_0x2b3cc8[_0x1ced('0x41')]({'model':db[_0x1ced('0xc6')],'as':_0x1ced('0x127'),'attributes':['id','name']});_0x2b3cc8[_0x1ced('0x41')]({'model':db[_0x1ced('0x81')],'as':_0x1ced('0x128'),'attributes':['id',_0x1ced('0x3e')]});return db[_0x1ced('0xa6')][_0x1ced('0x72')]({'where':{'id':_0x1ee435[_0x1ced('0xc2')]['id']},'include':_0x2b3cc8})[_0x1ced('0x1f')](handleEntityNotFound(_0x58b045,null))[_0x1ced('0x1f')](function(_0x47fd40){if(_0x47fd40){var _0x3890ae=_0x47fd40['get']({'plain':!![]});fs['mkdirSync'](_0x245734);var _0x52d4a7={'channel':_0x1ced('0x129'),'account':_0x3890ae[_0x1ced('0x127')][_0x1ced('0x35')],'agent':_0x3890ae['Owner']?_0x3890ae[_0x1ced('0x128')][_0x1ced('0x3e')]:_0x1ced('0x12a'),'createdAt':moment(_0x3890ae['createdAt'])[_0x1ced('0xee')]('YYYY-MM-DD\x20HH:mm:ss')[_0x1ced('0xb7')](),'closedAt':_0x3890ae[_0x1ced('0x49')]?moment(_0x3890ae[_0x1ced('0x12b')])['format'](_0x1ced('0x12c'))[_0x1ced('0xb7')]():'','disposition':_0x3890ae['disposition'],'chatInfo':{'browser':_0x3890ae['browserName'],'os':_0x3890ae[_0x1ced('0x12d')],'referer':_0x3890ae[_0x1ced('0x12e')],'customerIp':_0x3890ae[_0x1ced('0x12f')],'customerPort':_0x3890ae[_0x1ced('0x130')]?_0x3890ae['customerPort']:_0x1ced('0x12a')},'messages':_(_0x3890ae['Messages'])[_0x1ced('0x131')]()['filter']({'secret':![]})[_0x1ced('0x3d')](function(_0x4181d9){if(_0x4181d9[_0x1ced('0xe1')]){var _0x2f054d=path[_0x1ced('0xe6')](_0x3b0c6f,_0x4181d9[_0x1ced('0xe1')]['basename']);if(fs['existsSync'](_0x2f054d)){fs['createReadStream'](_0x2f054d)[_0x1ced('0x132')](fs['createWriteStream'](path[_0x1ced('0xe6')](_0x245734,_0x4181d9[_0x1ced('0xe1')]['basename'])));}}return{'date':moment(_0x4181d9['createdAt'])[_0x1ced('0xee')](_0x1ced('0x12c'))[_0x1ced('0xb7')](),'sender':_0x4181d9['direction']===_0x1ced('0xd5')?_0x4181d9[_0x1ced('0x81')]?_0x4181d9[_0x1ced('0x81')][_0x1ced('0x3e')]:_0x1ced('0xf4'):_0x4181d9['Contact']['firstName']+(_0x4181d9[_0x1ced('0x77')]['lastName']?'\x20'+_0x4181d9[_0x1ced('0x77')][_0x1ced('0x126')]:''),'body':_0x4181d9[_0x1ced('0xe1')]?_0x4181d9[_0x1ced('0xe1')]['basename']:_0x4181d9[_0x1ced('0x38')],'direction':_0x4181d9[_0x1ced('0xfe')]===_0x1ced('0xd5')?'A':'C','secret':_0x4181d9[_0x1ced('0x116')],'read':_0x4181d9['read'],'attachment':_0x4181d9['Attachment']};})['value']()};return ejs[_0x1ced('0x133')](path[_0x1ced('0xe6')](config[_0x1ced('0xe7')],_0x1ced('0x120'),_0x1ced('0x134'),_0x1ced('0x135')),{'interaction':_0x52d4a7})[_0x1ced('0x1f')](function(_0x122751){var _0x23e17d=path[_0x1ced('0xe6')](_0x245734,_0x1ced('0x136')+_0x3890ae['id']+'-'+_0x4bd6b6+_0x1ced('0x137'));var _0x11e44f={'path':_0x23e17d,'channel':_0x1ced('0x129'),'interactionId':_0x3890ae['id']};return pdf[_0x1ced('0x138')](_0x122751,_0x11e44f);})[_0x1ced('0x1f')](function(){return new BPromise(function(_0x42a0fe,_0x3c497f){zipdir(_0x245734,{'saveTo':_0x5eed5e},function(_0x52d60a,_0x4356aa){if(_0x52d60a)return _0x3c497f(_0x52d60a);return _0x42a0fe(_0x4356aa);});})[_0x1ced('0x1f')](function(){return new BPromise(function(_0x50d21d,_0xd21705){rimraf(_0x245734,function(_0xd0ea36){if(_0xd0ea36)_0xd21705(_0xd0ea36);return _0x50d21d();});});})['then'](function(){return _0x58b045[_0x1ced('0xea')](_0x5eed5e,_0x2ef2ed,function(_0x5846aa){if(_0x5846aa){console[_0x1ced('0x139')](_0x1ced('0x13a'),_0x5846aa);}else{fs[_0x1ced('0x13b')](_0x5eed5e);}});});});}else{return _0x58b045['sendStatus'](0xc8);}})[_0x1ced('0x43')](handleError(_0x58b045,null));};