91f0d5b5a94b89e253e9854ffb47b124453851f4
[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 _0xa28d=['Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','groupBy','all','rows','show','includeAll','include','create','params','describe','ChatWebsite','findOne','vidaooApiKey','vidaooEscalation','POST','https://api-vidaoo.xcally.com/api/v1/sessions','ValidationError','join_url','out','ChatMessage','Unable\x20to\x20create\x20Vidaoo\x20session','customUpdate','CmContact','abandonInteraction,\x20%s,\x20%s,\x20%s','abandon','entity\x20not\x20found','Interaction\x20already\x20assigned','disposition','attachmentUpload','file','originalname','basename','Attachment','attachmentDownload','closed','attachId','download','join','root','server/files/attachments/','close','server/files/chat/upload/','format','transcript-%s.txt','pathTranscript','Messages','%s%d','agentAlias','System','customer','Visitor','agentIdentifier','website_alias','agent_alias','fullname','agent_fullname','createdAt','MM/DD/YYYY\x20HH:mm:ss','secret','MailServerOut','Smtp','service','host','port','secure','authentication','auth','pass','SendMail','sendMail','email','mailTranscript','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','ids','omit','getMessages','ChatInteractionId','$gte','findAll','getMyMessages','alias','addTags','setTags','spread','chatInteractionTags:save','removeTags','unix','server','tmp','files','transcript-%d-%s.zip','firstName','lastName','attachments','direction','Account','Owner','get','mkdirSync','10px','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','30px','%s\x20#%d','Chat','YYYY-MM-DD','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','osName','referer','customerIp','existsSync','createReadStream','createWriteStream','downloadInteraction.html','toFile','transcript-','.pdf','err','unlinkSync','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','redis','defaults','localhost','./chatInteraction.socket','client','http','then','info','ChatInteraction,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message','result','catch','sendStatus','status','end','json','count','limit','Content-Range','apply','reject','save','update','destroy','stack','name','send','Users','TagIds','Tags','split','push','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','pick','select','field','color','tools_tags','u.fullname','ui.ChatInteractionId','from','user_has_chat_interactions','left_join','users','u.id\x20=\x20ui.UserId','chat_interactions','cm_contacts','o.id\x20=\x20i.UserId','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','having','`\x20=\x200','Contact','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','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','operator','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','buildExpression','text','some','compact','isEmpty','ChatWebsiteId','i.ChatWebsiteId\x20IN\x20?','concat','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','SELECT','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','forEach','contactName','t.id\x20IN\x20?','resolve','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','role','agent','user','getChatWebsites','i.ChatWebsiteId\x20IS\x20NULL','sequelize','toString','keyBy','merge','ChatInteraction','Account.key','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','c.firstName'];(function(_0x1dc2b4,_0x573a04){var _0x18af92=function(_0x46820a){while(--_0x46820a){_0x1dc2b4['push'](_0x1dc2b4['shift']());}};_0x18af92(++_0x573a04);}(_0xa28d,0x1bd));var _0xda28=function(_0x52223b,_0x1a4080){_0x52223b=_0x52223b-0x0;var _0x586e16=_0xa28d[_0x52223b];return _0x586e16;};'use strict';var pdf=require(_0xda28('0x0'));var emlformat=require(_0xda28('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xda28('0x2'));var jsonpatch=require(_0xda28('0x3'));var rp=require(_0xda28('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xda28('0x5'));var util=require(_0xda28('0x6'));var path=require(_0xda28('0x7'));var sox=require(_0xda28('0x8'));var csv=require('to-csv');var ejs=require(_0xda28('0x9'));var fs=require('fs');var _=require(_0xda28('0xa'));var squel=require(_0xda28('0xb'));var crypto=require(_0xda28('0xc'));var jsforce=require(_0xda28('0xd'));var deskjs=require(_0xda28('0xe'));var toCsv=require(_0xda28('0xf'));var querystring=require(_0xda28('0x10'));var Papa=require(_0xda28('0x11'));var Redis=require(_0xda28('0x12'));var authService=require(_0xda28('0x13'));var qs=require(_0xda28('0x14'));var as=require(_0xda28('0x15'));var hardwareService=require(_0xda28('0x16'));var logger=require('../../config/logger')(_0xda28('0x17'));var utils=require(_0xda28('0x18'));var config=require(_0xda28('0x19'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0xda28('0x1a')]=_[_0xda28('0x1b')](config['redis'],{'host':_0xda28('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xda28('0x1a')]));require(_0xda28('0x1d'))['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0xda28('0x1e')]['http']({'port':0x232b});var client9004=jayson[_0xda28('0x1e')][_0xda28('0x1f')]({'port':0x232c});function respondWithRpcPromise(_0x1a119b,_0x5f2cd6,_0xd867d8,_0x1a830f){return new BPromise(function(_0x269e22,_0x171b4b){var _0x1b3636=_0x1a830f||client;return _0x1b3636['request'](_0x1a119b,_0xd867d8)[_0xda28('0x20')](function(_0x58b86a){logger[_0xda28('0x21')](_0xda28('0x22'),_0x5f2cd6,'request\x20sent');logger[_0xda28('0x23')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x5f2cd6,_0xda28('0x24'),JSON[_0xda28('0x25')](_0x58b86a));if(_0x58b86a[_0xda28('0x26')]){if(_0x58b86a[_0xda28('0x26')][_0xda28('0x27')]===0x1f4){logger['error'](_0xda28('0x22'),_0x5f2cd6,_0x58b86a['error'][_0xda28('0x28')]);return _0x171b4b(_0x58b86a[_0xda28('0x26')][_0xda28('0x28')]);}logger[_0xda28('0x26')](_0xda28('0x22'),_0x5f2cd6,_0x58b86a['error'][_0xda28('0x28')]);return _0x269e22(_0x58b86a[_0xda28('0x26')][_0xda28('0x28')]);}else{logger[_0xda28('0x21')](_0xda28('0x22'),_0x5f2cd6,_0xda28('0x24'));_0x269e22(_0x58b86a[_0xda28('0x29')][_0xda28('0x28')]);}})[_0xda28('0x2a')](function(_0x4ef38e){logger['error']('ChatInteraction,\x20%s,\x20%s',_0x5f2cd6,_0x4ef38e);_0x171b4b(_0x4ef38e);});});}function respondWithStatusCode(_0x53bfbf,_0xc2f20e){_0xc2f20e=_0xc2f20e||0xcc;return function(_0x190178){if(_0x190178){return _0x53bfbf[_0xda28('0x2b')](_0xc2f20e);}return _0x53bfbf[_0xda28('0x2c')](_0xc2f20e)[_0xda28('0x2d')]();};}function respondWithResult(_0x178bd3,_0x1f584c){_0x1f584c=_0x1f584c||0xc8;return function(_0x5d9fd1){if(_0x5d9fd1){return _0x178bd3[_0xda28('0x2c')](_0x1f584c)[_0xda28('0x2e')](_0x5d9fd1);}};}function respondWithFilteredResult(_0x1597e8,_0x32522e){return function(_0x52f34a){if(_0x52f34a){var _0x14ced5=_0x52f34a[_0xda28('0x2f')],_0xea225f=_0x32522e['offset'],_0x57e24b=_0x32522e['offset']+_0x32522e[_0xda28('0x30')],_0x345ce0;if(_0x57e24b>=_0x14ced5){_0x57e24b=_0x14ced5;_0x345ce0=0xc8;}else{_0x345ce0=0xce;}_0x1597e8['status'](_0x345ce0);return _0x1597e8['set'](_0xda28('0x31'),_0xea225f+'-'+_0x57e24b+'/'+_0x14ced5)['json'](_0x52f34a);}return null;};}function patchUpdates(_0x5f02ce){return function(_0x190e4c){try{jsonpatch[_0xda28('0x32')](_0x190e4c,_0x5f02ce,!![]);}catch(_0x35c887){return BPromise[_0xda28('0x33')](_0x35c887);}return _0x190e4c[_0xda28('0x34')]();};}function saveUpdates(_0x1fee25,_0xb79476){return function(_0xf13fb4){if(_0xf13fb4){return _0xf13fb4[_0xda28('0x35')](_0x1fee25)['then'](function(_0x5597cb){return _0x5597cb;});}return null;};}function removeEntity(_0x186bf1,_0x2f95e9){return function(_0x505463){if(_0x505463){return _0x505463[_0xda28('0x36')]()[_0xda28('0x20')](function(){_0x186bf1[_0xda28('0x2c')](0xcc)[_0xda28('0x2d')]();});}};}function handleEntityNotFound(_0x3a1201,_0x22443a){return function(_0x425736){if(!_0x425736){_0x3a1201[_0xda28('0x2b')](0x194);}return _0x425736;};}function handleError(_0x103890,_0x2d040c){_0x2d040c=_0x2d040c||0x1f4;return function(_0x408705){logger[_0xda28('0x26')](_0x408705[_0xda28('0x37')]);if(_0x408705[_0xda28('0x38')]){delete _0x408705[_0xda28('0x38')];}_0x103890['status'](_0x2d040c)[_0xda28('0x39')](_0x408705);};}function getInteractionUsers(_0x5ef3f2,_0x4b79a3){return new BPromise(function(_0x2e746f,_0x592538){try{if(_0x4b79a3[_0x5ef3f2['id']]){_0x5ef3f2[_0xda28('0x3a')]=_['map'](_0x4b79a3[_0x5ef3f2['id']],function(_0x4d7a69){return{'id':_0x4d7a69['id'],'fullname':_0x4d7a69['fullname']};});}}catch(_0x29cb27){_0x592538(_0x29cb27);}_0x2e746f(_0x5ef3f2);});}function getInteractionTags(_0x2b4539,_0x34d179){return new BPromise(function(_0x26332f,_0x430823){try{if(_0x2b4539[_0xda28('0x3b')]){_0x2b4539[_0xda28('0x3c')]=[];_0x2b4539[_0xda28('0x3b')][_0xda28('0x3d')](',')['forEach'](function(_0xab53){_0x2b4539[_0xda28('0x3c')][_0xda28('0x3e')](_0x34d179[_0xab53]);});}delete _0x2b4539[_0xda28('0x3b')];}catch(_0x3e3ed6){_0x430823(_0x3e3ed6);}_0x26332f(_0x2b4539);});}function updateChatInteraction(_0x5956d9,_0x4119cc,_0x18662f){return new BPromise(function(_0xf9b73,_0x51a914){return getInteractionUsers(_0x5956d9,_0x18662f)['then'](function(_0x2dc4aa){return getInteractionTags(_0x2dc4aa,_0x4119cc);})['then'](function(_0x532204){_0xf9b73(_0x532204);})[_0xda28('0x2a')](function(_0x37d5f1){_0x51a914(_0x37d5f1);});});}exports[_0xda28('0x3f')]=function(_0x341743,_0x144132){var _0x276a34={},_0x3bfd71={},_0x3c8271={'count':0x0,'rows':[]};var _0x572580=_[_0xda28('0x40')](db['ChatInteraction'][_0xda28('0x41')],function(_0x558df9){return{'name':_0x558df9[_0xda28('0x42')],'type':_0x558df9[_0xda28('0x43')][_0xda28('0x44')]};});_0x3bfd71[_0xda28('0x45')]=_[_0xda28('0x40')](_0x572580,'name');_0x3bfd71[_0xda28('0x46')]=_[_0xda28('0x47')](_0x341743[_0xda28('0x46')]);_0x3bfd71[_0xda28('0x48')]=_['intersection'](_0x3bfd71[_0xda28('0x45')],_0x3bfd71[_0xda28('0x46')]);_0x276a34[_0xda28('0x49')]=_[_0xda28('0x4a')](_0x3bfd71[_0xda28('0x45')],qs[_0xda28('0x4b')](_0x341743[_0xda28('0x46')][_0xda28('0x4b')]));_0x276a34[_0xda28('0x49')]=_0x276a34[_0xda28('0x49')][_0xda28('0x4c')]?_0x276a34[_0xda28('0x49')]:_0x3bfd71[_0xda28('0x45')];if(!_0x341743[_0xda28('0x46')][_0xda28('0x4d')](_0xda28('0x4e'))){_0x276a34[_0xda28('0x30')]=qs[_0xda28('0x30')](_0x341743[_0xda28('0x46')][_0xda28('0x30')]);_0x276a34['offset']=qs[_0xda28('0x4f')](_0x341743[_0xda28('0x46')][_0xda28('0x4f')]);}_0x276a34[_0xda28('0x50')]=qs[_0xda28('0x51')](_0x341743[_0xda28('0x46')][_0xda28('0x51')]);_0x276a34[_0xda28('0x52')]=qs['filters'](_[_0xda28('0x53')](_0x341743['query'],_0x3bfd71[_0xda28('0x48')]),_0x572580);var _0x328d5a=[];var _0x453ba3=squel[_0xda28('0x54')]()[_0xda28('0x55')]('id')[_0xda28('0x55')](_0xda28('0x38'))[_0xda28('0x55')](_0xda28('0x56'))['from'](_0xda28('0x57'));var _0x48f542=squel[_0xda28('0x54')]()[_0xda28('0x55')]('u.id')[_0xda28('0x55')](_0xda28('0x58'))['field'](_0xda28('0x59'))[_0xda28('0x5a')](_0xda28('0x5b'),'ui')[_0xda28('0x5c')](_0xda28('0x5d'),'u',_0xda28('0x5e'));var _0x3a0a94=squel[_0xda28('0x54')]()['from'](_0xda28('0x5f'),'i')[_0xda28('0x5c')](_0xda28('0x60'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join']('users','o',_0xda28('0x61'))['left_join']('chat_websites','a',_0xda28('0x62'))[_0xda28('0x5c')](_0xda28('0x63'),'me',_0xda28('0x64'))['left_join']('chat_interaction_has_tags','it',_0xda28('0x65'))[_0xda28('0x5c')](_0xda28('0x57'),'t',_0xda28('0x66'));var _0x53c379=squel[_0xda28('0x67')]();var _0x181ae0=[];var _0x55555d=squel[_0xda28('0x67')]();var _0x3a37e5;if(_0x341743[_0xda28('0x46')][_0xda28('0x68')]){_0x3a37e5=as[_0xda28('0x69')](_0x341743[_0xda28('0x46')][_0xda28('0x68')]);var _0x37f15d=_0x3a37e5[_0xda28('0x6a')];for(var _0x314188=0x0;_0x314188<_0x3a37e5[_0xda28('0x6b')][_0xda28('0x4c')];_0x314188++){var _0x5f4335=_0x3a37e5[_0xda28('0x6b')][_0x314188];var _0x53d6c7='i';var _0x1eb875=_[_0xda28('0x6c')](_0x572580,[_0xda28('0x38'),_0x5f4335['field']]);if(!_0x1eb875){switch(_0x5f4335[_0xda28('0x55')]){case _0xda28('0x6d'):if(_0x5f4335[_0xda28('0x6e')]==0x1){_0x3a0a94[_0xda28('0x6f')]('`'+_0x5f4335[_0xda28('0x55')]+_0xda28('0x70'));}else{_0x3a0a94[_0xda28('0x6f')]('`'+_0x5f4335[_0xda28('0x55')]+'`\x20>\x200');}break;case _0xda28('0x71'):if(_0x5f4335['operator']==='$substring'){if(_0x5f4335[_0xda28('0x6e')][_0xda28('0x3d')]('\x20')['length']>0x1){_0x53c379[_0x37f15d](_0xda28('0x72'),qs[_0xda28('0x73')](_0x5f4335[_0xda28('0x6e')]),null);}else{var _0x426d89='%'+_0x5f4335['value']+'%';_0x53c379[_0x37f15d](_0xda28('0x74'),_0x426d89,_0x426d89,_0x426d89);}}else{_0x1eb875=_[_0xda28('0x6c')](_0x572580,[_0xda28('0x38'),_0xda28('0x75')]);_0x5f4335['field']='ContactId';_0xdbcba3=as['buildExpression'](_0x53d6c7,_0x1eb875['type'],_0x5f4335);_0x53c379[_0x37f15d](_0xdbcba3['text'],_0xdbcba3[_0xda28('0x6e')][_0xda28('0x76')],_0xdbcba3[_0xda28('0x6e')][_0xda28('0x2d')]);}break;case _0xda28('0x77'):var _0x37880b=_0x5f4335[_0xda28('0x6e')][_0xda28('0x3d')](',')[_0xda28('0x40')](function(_0x2a7875){return Number(_0x2a7875);});_0x37880b['forEach'](function(_0x330f52){_0x55555d['or'](_0xda28('0x78'),'%,'+_0x330f52+',%');});_0x181ae0=_['union'](_0x181ae0,_0x37880b);break;case _0xda28('0x79'):if(_0x5f4335[_0xda28('0x7a')]===_0xda28('0x7b')){_0x53c379[_0x37f15d](_0xda28('0x7c'),'%'+_0x5f4335[_0xda28('0x6e')]+'%',null);}else{_0x1eb875=_[_0xda28('0x6c')](_0x572580,[_0xda28('0x38'),_0xda28('0x7d')]);_0x5f4335[_0xda28('0x55')]=_0xda28('0x7d');_0xdbcba3=as['buildExpression'](_0x53d6c7,_0x1eb875[_0xda28('0x43')],_0x5f4335);_0x53c379[_0x37f15d](_0xdbcba3['text'],_0xdbcba3['value'][_0xda28('0x76')],_0xdbcba3['value'][_0xda28('0x2d')]);}break;case _0xda28('0x7e'):_0xdbcba3=as['buildExpression']('me',null,_0x5f4335);_0x53c379[_0x37f15d](_0xdbcba3['text'],_0xdbcba3[_0xda28('0x6e')]['start'],_0xdbcba3[_0xda28('0x6e')][_0xda28('0x2d')]);break;}}else{var _0xdbcba3=as[_0xda28('0x7f')](_0x53d6c7,_0x1eb875[_0xda28('0x43')],_0x5f4335);_0x53c379[_0x37f15d](_0xdbcba3[_0xda28('0x80')],_0xdbcba3[_0xda28('0x6e')][_0xda28('0x76')],_0xdbcba3[_0xda28('0x6e')][_0xda28('0x2d')]);}}}else{var _0x4b0a52=_(_0x341743[_0xda28('0x46')])[_0xda28('0x47')]()['map'](function(_0x2d4552){return _[_0xda28('0x81')](_0x572580,[_0xda28('0x38'),_0x2d4552])?_0x2d4552:undefined;})[_0xda28('0x82')]()[_0xda28('0x6e')]();if(!_[_0xda28('0x83')](_0x4b0a52)){_0x4b0a52['forEach'](function(_0x2379ac){if(_0x2379ac===_0xda28('0x84')){_0x3a0a94[_0xda28('0x52')](_0xda28('0x85'),[][_0xda28('0x86')](_0x341743[_0xda28('0x46')][_0x2379ac]));}else if(_0x2379ac==='createdAt'){var _0x3ebd6b=JSON[_0xda28('0x87')](_0x341743['query'][_0x2379ac])['$gte'];var _0x3bb00a=JSON[_0xda28('0x87')](_0x341743[_0xda28('0x46')][_0x2379ac])[_0xda28('0x88')];_0x3a0a94[_0xda28('0x52')](_0xda28('0x89'),_0x3ebd6b,_0x3bb00a);}else{if(_0x341743[_0xda28('0x46')][_0x2379ac]===_0xda28('0x8a')){_0x3a0a94[_0xda28('0x52')]('i.'+_0x2379ac+_0xda28('0x8b'));}else{_0x3a0a94[_0xda28('0x52')]('i.'+_0x2379ac+_0xda28('0x8c'),_0x341743[_0xda28('0x46')][_0x2379ac]);}}});}if(_0x341743['query']['read']){if(_0x341743[_0xda28('0x46')][_0xda28('0x8d')]==0x1){_0x3a0a94[_0xda28('0x6f')]('`unreadMessages`\x20=\x200');}else{_0x3a0a94[_0xda28('0x6f')](_0xda28('0x8e'));}}if(_0x341743[_0xda28('0x46')]['tag']){_0x181ae0=_[_0xda28('0x8f')](_0x341743[_0xda28('0x46')]['tag'])?_0x341743['query'][_0xda28('0x90')]:new Array(_0x341743[_0xda28('0x46')][_0xda28('0x90')]);_0x181ae0['forEach'](function(_0xdb6c3d){_0x55555d['or'](_0xda28('0x78'),'%,'+_0xdb6c3d+',%');});}if(_0x341743[_0xda28('0x46')][_0xda28('0x91')]){var _0x2c00b6=_0x341743['query'][_0xda28('0x91')][_0xda28('0x92')]('\x5c','\x5c\x5c')[_0xda28('0x92')](/'/g,'\x27\x27');if(qs[_0xda28('0x93')](_0x2c00b6)){_0x53c379['or']('i.id\x20LIKE\x20?',_0x2c00b6+'%');}else{_0x53c379['or'](_0xda28('0x94'),qs[_0xda28('0x73')](_0x2c00b6))['or'](_0xda28('0x95'),_0x2c00b6+'%');}}}_0x3a0a94[_0xda28('0x52')](_0x53c379);_0x3a0a94[_0xda28('0x96')]('i.id');var _0x1c3727={'type':db[_0xda28('0x97')][_0xda28('0x98')][_0xda28('0x99')],'raw':!![]};var _0x2759cc=_0x3a0a94['clone']();_0x2759cc[_0xda28('0x55')](_0xda28('0x9a'));_0x2759cc[_0xda28('0x55')](_0xda28('0x9b'),_0xda28('0x6d'));if(_0x276a34['order']){_0x276a34['order'][_0xda28('0x9c')](function(_0xd863f5){var _0x2e3aa8=_0xd863f5[0x0]===_0xda28('0x9d')?_0xd863f5[0x0]:'i.'+_0xd863f5[0x0];_0x3a0a94[_0xda28('0x50')](_0x2e3aa8,_0xd863f5[0x1]==='DESC'?![]:!![]);});}if(!_[_0xda28('0x83')](_0x181ae0)){_0x3a0a94[_0xda28('0x6f')](_0x55555d);_0x2759cc[_0xda28('0x52')](_0xda28('0x9e'),_0x181ae0);}BPromise[_0xda28('0x9f')]()[_0xda28('0x20')](function(){if(!_0x3a37e5){if(_0x341743[_0xda28('0x46')][_0xda28('0x84')])return;_0x2759cc[_0xda28('0x52')](_0xda28('0xa0'));_0x3a0a94[_0xda28('0x52')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}if(_0x341743['user'][_0xda28('0xa1')]!==_0xda28('0xa2'))return;return _0x341743[_0xda28('0xa3')][_0xda28('0xa4')]({'attributes':['id'],'raw':!![]})['then'](function(_0x29edae){if(_['isEmpty'](_0x29edae)){_0x2759cc[_0xda28('0x52')](_0xda28('0xa5'));_0x3a0a94['where'](_0xda28('0xa5'));}else{_0x2759cc[_0xda28('0x52')](_0xda28('0x85'),_[_0xda28('0x40')](_0x29edae,'id'));_0x3a0a94['where']('i.ChatWebsiteId\x20IN\x20?',_[_0xda28('0x40')](_0x29edae,'id'));}});})[_0xda28('0x20')](function(){if(_0x341743[_0xda28('0xa3')][_0xda28('0xa1')]===_0xda28('0xa2')&&!_0x3a37e5&&!_0x341743[_0xda28('0x46')][_0xda28('0x84')])return[];return db[_0xda28('0xa6')][_0xda28('0x46')](_0x2759cc[_0xda28('0xa7')](),_0x1c3727);})[_0xda28('0x20')](function(_0x418fb6){_0x3c8271[_0xda28('0x2f')]=_0x418fb6[_0xda28('0x4c')];if(_0x3c8271[_0xda28('0x2f')]===0x0)return[];return db['sequelize'][_0xda28('0x46')](_0x453ba3[_0xda28('0xa7')](),_0x1c3727)[_0xda28('0x20')](function(_0x36f1f2){_0x328d5a=_[_0xda28('0xa8')](_0x36f1f2,'id');_0x1c3727=_[_0xda28('0xa9')](_0x1c3727,{'model':db[_0xda28('0xaa')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x341743['query'][_0xda28('0x4b')]){_0x276a34['attributes'][_0xda28('0x9c')](function(_0x386314){_0x3a0a94['field']('i.'+_0x386314);});}else{_0x3a0a94['field'](_0xda28('0x9b'),'unreadMessages');_0x3a0a94[_0xda28('0x55')]('a.key',_0xda28('0xab'));_0x3a0a94[_0xda28('0x55')]('a.mandatoryDisposition',_0xda28('0xac'));_0x3a0a94[_0xda28('0x55')](_0xda28('0xad'),_0xda28('0x9d'));_0x3a0a94[_0xda28('0x55')]('i.*');_0x3a0a94[_0xda28('0x55')](_0xda28('0xae'),_0xda28('0xaf'));_0x3a0a94['field'](_0xda28('0xb0'),_0xda28('0xb1'));_0x3a0a94[_0xda28('0x55')](_0xda28('0xb2'),'Contact.email');_0x3a0a94[_0xda28('0x55')](_0xda28('0xb3'),_0xda28('0xb4'));_0x3a0a94[_0xda28('0x55')](_0xda28('0xb5'),_0xda28('0xb6'));_0x3a0a94[_0xda28('0x55')](_0xda28('0xb7'),'Contact.fax');_0x3a0a94[_0xda28('0x55')]('o.fullname',_0xda28('0xb8'));_0x3a0a94['field']('o.internal',_0xda28('0xb9'));_0x3a0a94[_0xda28('0x55')](_0xda28('0xba'),_0xda28('0x3b'));}if(_0x276a34[_0xda28('0x30')])_0x3a0a94[_0xda28('0x30')](_0x276a34[_0xda28('0x30')]);if(_0x276a34[_0xda28('0x4f')])_0x3a0a94[_0xda28('0x4f')](_0x276a34[_0xda28('0x4f')]);return db[_0xda28('0xa6')][_0xda28('0x46')](_0x3a0a94[_0xda28('0xa7')](),_0x1c3727);})[_0xda28('0x20')](function(_0x58108e){_0x48f542[_0xda28('0x52')](_0xda28('0xbb'),_['map'](_0x58108e,'id'));return db[_0xda28('0xa6')][_0xda28('0x46')](_0x48f542[_0xda28('0xa7')](),_0x1c3727)[_0xda28('0x20')](function(_0x50edb2){var _0x3a67cd=_[_0xda28('0xbc')](_0x50edb2,'ChatInteractionId');var _0x5373fd=[];_0x58108e[_0xda28('0x9c')](function(_0x2953a0){_0x5373fd[_0xda28('0x3e')](updateChatInteraction(_0x2953a0,_0x328d5a,_0x3a67cd));});return BPromise[_0xda28('0xbd')](_0x5373fd);});});})['then'](function(_0x347f4d){_0x3c8271[_0xda28('0xbe')]=_0x347f4d;return _0x3c8271;})[_0xda28('0x20')](respondWithFilteredResult(_0x144132,_0x276a34))[_0xda28('0x2a')](handleError(_0x144132,null));};exports[_0xda28('0xbf')]=function(_0x2a8e4a,_0x5a4cfb){var _0x495a88={'raw':![],'where':{'id':_0x2a8e4a['params']['id']}},_0x208855={};_0x208855[_0xda28('0x45')]=_[_0xda28('0x47')](db[_0xda28('0xaa')]['rawAttributes']);_0x208855[_0xda28('0x46')]=_[_0xda28('0x47')](_0x2a8e4a[_0xda28('0x46')]);_0x208855[_0xda28('0x48')]=_[_0xda28('0x4a')](_0x208855['model'],_0x208855[_0xda28('0x46')]);_0x495a88[_0xda28('0x49')]=_[_0xda28('0x4a')](_0x208855['model'],qs[_0xda28('0x4b')](_0x2a8e4a['query']['fields']));_0x495a88[_0xda28('0x49')]=_0x495a88[_0xda28('0x49')][_0xda28('0x4c')]?_0x495a88[_0xda28('0x49')]:_0x208855[_0xda28('0x45')];if(_0x2a8e4a['query'][_0xda28('0xc0')]){_0x495a88[_0xda28('0xc1')]=[{'all':!![]}];}_0x495a88=_[_0xda28('0xa9')]({},_0x495a88,_0x2a8e4a['options']);return db['ChatInteraction'][_0xda28('0x6c')](_0x495a88)[_0xda28('0x20')](handleEntityNotFound(_0x5a4cfb,null))[_0xda28('0x20')](respondWithResult(_0x5a4cfb,null))['catch'](handleError(_0x5a4cfb,null));};exports[_0xda28('0xc2')]=function(_0x4cc0bc,_0x2ea6f5){return db[_0xda28('0xaa')][_0xda28('0xc2')](_0x4cc0bc[_0xda28('0x7e')],{})['then'](respondWithResult(_0x2ea6f5,0xc9))[_0xda28('0x2a')](handleError(_0x2ea6f5,null));};exports[_0xda28('0x35')]=function(_0xd40a51,_0x37f4f9){if(_0xd40a51[_0xda28('0x7e')]['id']){delete _0xd40a51['body']['id'];}return db[_0xda28('0xaa')][_0xda28('0x6c')]({'where':{'id':_0xd40a51[_0xda28('0xc3')]['id']}})[_0xda28('0x20')](handleEntityNotFound(_0x37f4f9,null))[_0xda28('0x20')](saveUpdates(_0xd40a51['body'],null))[_0xda28('0x20')](respondWithResult(_0x37f4f9,null))['catch'](handleError(_0x37f4f9,null));};exports[_0xda28('0x36')]=function(_0x43d50c,_0x16f15d){return db['ChatInteraction'][_0xda28('0x6c')]({'where':{'id':_0x43d50c[_0xda28('0xc3')]['id']}})[_0xda28('0x20')](handleEntityNotFound(_0x16f15d,null))[_0xda28('0x20')](removeEntity(_0x16f15d,null))[_0xda28('0x2a')](handleError(_0x16f15d,null));};exports[_0xda28('0xc4')]=function(_0x1e3905,_0x577b66){return db['ChatInteraction']['describe']()['then'](respondWithResult(_0x577b66,null))['catch'](handleError(_0x577b66,null));};exports['createVidaooSession']=function(_0x4d6045,_0x115241){var _0x1b91f5=_0x4d6045[_0xda28('0xc3')]['id'];var _0x2d6722;var _0x3005c2;var _0x1aa4e6;return db[_0xda28('0xaa')]['findOne']({'where':{'id':_0x1b91f5}})[_0xda28('0x20')](function(_0x551cbb){_0x2d6722=_0x551cbb;return db[_0xda28('0xc5')][_0xda28('0xc6')]({'where':{'id':_0x551cbb[_0xda28('0x84')]},'attributes':['id',_0xda28('0xc7'),_0xda28('0xc8')],'raw':!![]});})[_0xda28('0x20')](function(_0x158d52){if(_0x158d52&&_0x158d52[_0xda28('0xc7')]&&_0x158d52['vidaooEscalation']){_0x3005c2=_0x158d52;var _0x2cd591={'rejectUnauthorized':![],'method':_0xda28('0xc9'),'uri':_0xda28('0xca'),'headers':{'X-APIKEY':_0x158d52[_0xda28('0xc7')]},'body':{'name':'MotionCWB:'+_0x1b91f5},'redirect':'follow','json':!![]};return rp(_0x2cd591);}else{throw new db[(_0xda28('0x97'))][(_0xda28('0xcb'))]('Error\x20in\x20Vidaoo\x20configuration');}})[_0xda28('0x20')](function(_0x5dc143){_0x1aa4e6=_0x5dc143;if(_0x1aa4e6['id']){var _0x2ec049={'body':_0x1aa4e6[_0xda28('0xcc')],'ChatWebsiteId':_0x3005c2['id'],'ChatInteractionId':_0x2d6722['id'],'direction':_0xda28('0xcd'),'UserId':_0x4d6045[_0xda28('0xa3')]['id']};return db[_0xda28('0xce')]['create'](_0x2ec049,{});}else{throw new db[(_0xda28('0x97'))][(_0xda28('0xcb'))](_0xda28('0xcf'));}})[_0xda28('0x20')](function(){return _0x2d6722['updateAttributes']({'vidaooSessionId':_0x1aa4e6['id']});})[_0xda28('0x20')](respondWithResult(_0x115241,null))[_0xda28('0x2a')](handleError(_0x115241,null));};exports[_0xda28('0xd0')]=function(_0x896674,_0x2b9855){if(_0x896674['body']['id']){delete _0x896674[_0xda28('0x7e')]['id'];}return db[_0xda28('0xaa')][_0xda28('0x6c')]({'where':{'id':_0x896674['params']['id']},'include':[{'model':db[_0xda28('0xd1')],'as':_0xda28('0x71')}]})[_0xda28('0x20')](handleEntityNotFound(_0x2b9855,null))[_0xda28('0x20')](saveUpdates(_0x896674[_0xda28('0x7e')],null))[_0xda28('0x20')](respondWithResult(_0x2b9855,null))['catch'](handleError(_0x2b9855,null));};exports['abandon']=function(_0x2e0031,_0x5e5947,_0x369d2c){if(_0x2e0031[_0xda28('0x7e')]['id']){delete _0x2e0031[_0xda28('0x7e')]['id'];}return db[_0xda28('0xaa')]['find']({'where':{'id':_0x2e0031['params']['id']}})['then'](function(_0x1c1ac8){if(!_0x1c1ac8){logger[_0xda28('0x26')](_0xda28('0xd2'),_0xda28('0xd3'),0x194,_0xda28('0xd4'));_0x5e5947[_0xda28('0x2b')](0x194);}else{if(_0x1c1ac8[_0xda28('0x7d')]){throw new db[(_0xda28('0x97'))][(_0xda28('0xcb'))](_0xda28('0xd5'));}}return _0x1c1ac8;})[_0xda28('0x20')](function(_0x29fd39){if(_0x29fd39){return _0x29fd39[_0xda28('0x35')]({'closed':_0x2e0031['body']['closed'],'disposition':_0x2e0031['body'][_0xda28('0xd6')]})['then'](function(_0xf334b7){return _0xf334b7;});}})[_0xda28('0x20')](function(_0x313a2b){return respondWithRpcPromise('AbandonInteraction',_0xda28('0xd3'),_0x2e0031[_0xda28('0x7e')],client9004);})[_0xda28('0x20')](respondWithResult(_0x5e5947,null))['catch'](handleError(_0x5e5947,null));};exports[_0xda28('0xd7')]=function(_0x86c9e,_0x30a65f,_0x21a5b3){_0x86c9e[_0xda28('0x7e')][_0xda28('0x38')]=_0x86c9e[_0xda28('0xd8')][_0xda28('0xd9')];_0x86c9e[_0xda28('0x7e')][_0xda28('0xda')]=_0x86c9e[_0xda28('0xd8')]['filename'];_0x86c9e[_0xda28('0x7e')][_0xda28('0x43')]=_0x86c9e[_0xda28('0xd8')]['mimetype'];return db[_0xda28('0xdb')][_0xda28('0xc2')](_0x86c9e[_0xda28('0x7e')])[_0xda28('0x20')](respondWithResult(_0x30a65f,0xc9))[_0xda28('0x2a')](handleError(_0x30a65f,null));};exports[_0xda28('0xdc')]=function(_0x316f5f,_0x17ccef,_0x52725b){return db[_0xda28('0xaa')]['findOne']({'where':{'id':_0x316f5f[_0xda28('0xc3')]['id']},'raw':!![]})[_0xda28('0x20')](handleEntityNotFound(_0x17ccef,null))['then'](function(_0x1cdfec){if(_0x1cdfec){if(_0x1cdfec[_0xda28('0xdd')]){return _0x17ccef['status'](0x193)[_0xda28('0x2e')]({'status':0x193,'message':'Unauthorized'});}return db['Attachment'][_0xda28('0xc6')]({'where':{'id':_0x316f5f[_0xda28('0x46')][_0xda28('0xde')]},'raw':!![]})[_0xda28('0x20')](handleEntityNotFound(_0x17ccef,null));}})[_0xda28('0x20')](function(_0xa33309){if(_0xa33309){return _0x17ccef[_0xda28('0xdf')](path[_0xda28('0xe0')](config[_0xda28('0xe1')],_0xda28('0xe2'),_0xa33309[_0xda28('0xda')]));}})[_0xda28('0x2a')](handleError(_0x17ccef,null));};exports[_0xda28('0xe3')]=function(_0x3af8c6,_0x19df04){var _0x5c93b8=null;var _0x3c8a49=null;var _0x54d259=null;var _0x283ba0=null;if(_0x3af8c6[_0xda28('0x7e')]['id']){delete _0x3af8c6[_0xda28('0x7e')]['id'];}if(_0x3af8c6[_0xda28('0x7e')]['mailTranscript']){_0x283ba0=path[_0xda28('0xe0')](config[_0xda28('0xe1')],_0xda28('0xe4'),util[_0xda28('0xe5')](_0xda28('0xe6'),Date['now']()));_0x3af8c6[_0xda28('0x7e')][_0xda28('0xe7')]=_0x283ba0;}return db[_0xda28('0xaa')]['find']({'where':{'id':_0x3af8c6[_0xda28('0xc3')]['id']},'include':[{'model':db[_0xda28('0xce')],'as':_0xda28('0xe8'),'include':[{'model':db[_0xda28('0x79')],'as':_0xda28('0x79')}]}]})[_0xda28('0x20')](handleEntityNotFound(_0x19df04,null))[_0xda28('0x20')](saveUpdates(_0x3af8c6['body'],null))[_0xda28('0x20')](function(_0x346969){if(_0x346969){_0x5c93b8=_0x346969;return db[_0xda28('0xc5')][_0xda28('0x6c')]({'where':{'id':_0x5c93b8[_0xda28('0x84')]}});}})[_0xda28('0x20')](function(_0x4cda73){if(_0x4cda73){_0x54d259=_0x4cda73;return db['CmContact'][_0xda28('0x6c')]({'where':{'id':_0x5c93b8[_0xda28('0x75')]}});}})['then'](function(_0x2b5f10){if(_0x2b5f10){_0x3c8a49=_0x2b5f10;if(_0x283ba0){var _0xa40d6f=null;for(var _0x416d52=0x1;_0x416d52<_0x5c93b8[_0xda28('0xe8')][_0xda28('0x4c')];++_0x416d52){_0xa40d6f=_0x5c93b8[_0xda28('0xe8')][_0x416d52];var _0x1bc23d=_0xa40d6f[_0xda28('0x7d')]?util['format'](_0xda28('0xe9'),_0x54d259[_0xda28('0xea')],_0xa40d6f[_0xda28('0x7d')]):_0xda28('0xeb');var _0xfb5409=_0x3af8c6[_0xda28('0x7e')][_0xda28('0xec')]||util[_0xda28('0xe5')](_0xda28('0xe9'),_0xda28('0xed'),_0xa40d6f[_0xda28('0x75')]);switch(_0x54d259[_0xda28('0xee')]){case _0xda28('0xef'):_0x1bc23d=_0xa40d6f['UserId']?util[_0xda28('0xe5')](_0xda28('0xe9'),_0x54d259[_0xda28('0xea')],_0xa40d6f[_0xda28('0x7d')]):_0xda28('0xeb');break;case _0xda28('0xf0'):_0x1bc23d=_0xa40d6f[_0xda28('0x7d')]?_0xa40d6f[_0xda28('0x79')]['alias']||_0xa40d6f[_0xda28('0x79')][_0xda28('0xf1')]:'System';break;case _0xda28('0xf2'):_0x1bc23d=_0xa40d6f[_0xda28('0x7d')]?_0xa40d6f['User'][_0xda28('0xf1')]:_0xda28('0xeb');break;default:_0x1bc23d=_0xa40d6f[_0xda28('0x7d')]?util['format'](_0xda28('0xe9'),_0x54d259[_0xda28('0xea')],_0xa40d6f['UserId']):_0xda28('0xeb');}var _0x882b96=util['format']('[%s]\x20%s:\x20%s\x0a',moment(_0xa40d6f[_0xda28('0xf3')])[_0xda28('0xe5')](_0xda28('0xf4')),_0xa40d6f['direction']==='in'?_0xfb5409:_0x1bc23d,_0xa40d6f[_0xda28('0x7e')]);if(!_0xa40d6f[_0xda28('0xf5')]){fs['appendFileSync'](_0x283ba0,_0x882b96);}}return db['MailAccount'][_0xda28('0xc6')]({'where':{'service':!![]},'include':[{'model':db[_0xda28('0xf6')],'as':_0xda28('0xf7'),'raw':!![]}]});}}})[_0xda28('0x20')](function(_0x258218){if(_0x258218&&_0x258218[_0xda28('0xf7')]&&_0x3af8c6['body']){var _0x4e17ea={'tls':{'rejectUnauthorized':![]}};if(_0x258218['Smtp'][_0xda28('0xf8')]){_0x4e17ea[_0xda28('0xf8')]=_0x258218[_0xda28('0xf7')][_0xda28('0xf8')];}else{_0x4e17ea[_0xda28('0xf9')]=_0x258218[_0xda28('0xf7')]['host'];_0x4e17ea['port']=_0x258218[_0xda28('0xf7')][_0xda28('0xfa')];_0x4e17ea['secure']=_0x258218[_0xda28('0xf7')][_0xda28('0xfb')];}if(_0x258218[_0xda28('0xf7')][_0xda28('0xfc')]){_0x4e17ea[_0xda28('0xfd')]={'user':_0x258218[_0xda28('0xf7')][_0xda28('0xa3')],'pass':_0x258218[_0xda28('0xf7')][_0xda28('0xfe')]};}return respondWithRpcPromise(_0xda28('0xff'),_0xda28('0x100'),{'account':_0x4e17ea,'message':{'from':util[_0xda28('0xe5')]('\x22%s\x22\x20<%s>',_0x258218[_0xda28('0x38')],_0x258218[_0xda28('0x101')]||_0x258218[_0xda28('0xf7')][_0xda28('0xa3')]),'to':_0x3af8c6[_0xda28('0x7e')][_0xda28('0x102')],'subject':_0xda28('0x103'),'text':util[_0xda28('0xe5')](_0xda28('0x104'),_0x3af8c6[_0xda28('0x7e')]['mailTranscript']),'attachments':[{'path':_0x283ba0}]}})['then'](function(){return _0x5c93b8;})['catch'](function(_0x5ecc18){console[_0xda28('0x26')](_0x5ecc18);});}else{return _0x5c93b8;}})[_0xda28('0x20')](respondWithStatusCode(_0x19df04,0xc8))[_0xda28('0x2a')](handleError(_0x19df04,null));};exports[_0xda28('0x105')]=function(_0x1b1fa3,_0x357160,_0x4a61a6){return db[_0xda28('0xce')][_0xda28('0x6c')]({'where':{'id':_0x1b1fa3[_0xda28('0xc3')]['id']}})[_0xda28('0x20')](handleEntityNotFound(_0x357160,null))['then'](function(_0x3fef46){if(_0x3fef46){return _0x3fef46['addMessage'](_0x1b1fa3['body'][_0xda28('0x106')],_[_0xda28('0x107')](_0x1b1fa3[_0xda28('0x7e')],['ids','id'])||{});}})['then'](respondWithResult(_0x357160,null))[_0xda28('0x2a')](handleError(_0x357160,null));};exports[_0xda28('0x108')]=function(_0x380fd8,_0x5dec47,_0x456815){var _0x4579a9={'raw':![],'where':{}};var _0x1907ee={};var _0x223262={'count':0x0,'rows':[]};return db[_0xda28('0xaa')][_0xda28('0xc6')]({'where':{'id':_0x380fd8[_0xda28('0xc3')]['id']}})[_0xda28('0x20')](handleEntityNotFound(_0x5dec47,null))['then'](function(_0x289760){if(_0x289760){_0x1907ee[_0xda28('0x45')]=_[_0xda28('0x47')](db[_0xda28('0xce')][_0xda28('0x41')]);_0x1907ee['query']=_[_0xda28('0x47')](_0x380fd8['query']);_0x1907ee[_0xda28('0x48')]=_[_0xda28('0x4a')](_0x1907ee['model'],_0x1907ee[_0xda28('0x46')]);_0x4579a9[_0xda28('0x49')]=_[_0xda28('0x4a')](_0x1907ee[_0xda28('0x45')],qs[_0xda28('0x4b')](_0x380fd8[_0xda28('0x46')]['fields']));_0x4579a9['attributes']=_0x4579a9[_0xda28('0x49')][_0xda28('0x4c')]?_0x4579a9[_0xda28('0x49')]:_0x1907ee[_0xda28('0x45')];if(!_0x380fd8[_0xda28('0x46')][_0xda28('0x4d')]('nolimit')){_0x4579a9['limit']=qs[_0xda28('0x30')](_0x380fd8['query']['limit']);_0x4579a9[_0xda28('0x4f')]=qs[_0xda28('0x4f')](_0x380fd8['query'][_0xda28('0x4f')]);}_0x4579a9[_0xda28('0x50')]=qs[_0xda28('0x51')](_0x380fd8[_0xda28('0x46')][_0xda28('0x51')]);_0x4579a9[_0xda28('0x52')]=qs[_0xda28('0x48')](_[_0xda28('0x53')](_0x380fd8[_0xda28('0x46')],_0x1907ee[_0xda28('0x48')]));_0x4579a9['where'][_0xda28('0x109')]=_0x289760['id'];if(_0x380fd8['query'][_0xda28('0x91')]){_0x4579a9[_0xda28('0x52')]=_['merge'](_0x4579a9[_0xda28('0x52')],{'$or':_[_0xda28('0x40')](_0x4579a9[_0xda28('0x49')],function(_0x2d480d){var _0x1fe039={};_0x1fe039[_0x2d480d]={'$like':'%'+_0x380fd8[_0xda28('0x46')][_0xda28('0x91')]+'%'};return _0x1fe039;})});}if(_0x380fd8[_0xda28('0x46')][_0xda28('0x10a')]){var _0x2afa07=_0x380fd8['query'][_0xda28('0x10a')][_0xda28('0x3d')](',');var _0xcbf556={};_0xcbf556[_0x2afa07[0x0]]={'$gte':moment(_0x2afa07[0x1])[_0xda28('0xe5')]('YYYY-MM-DD\x20HH:mm:ss')};_0x4579a9[_0xda28('0x52')]=_[_0xda28('0xa9')](_0x4579a9['where'],_0xcbf556);}_0x4579a9=_['merge']({},_0x4579a9,_0x380fd8['options']);return db[_0xda28('0xce')][_0xda28('0x2f')]({'where':_0x4579a9['where']})[_0xda28('0x20')](function(_0xfec1f6){_0x223262['count']=_0xfec1f6;if(_0x380fd8[_0xda28('0x46')][_0xda28('0xc0')]){_0x4579a9['include']=[{'all':!![]}];}return db[_0xda28('0xce')][_0xda28('0x10b')](_0x4579a9);})[_0xda28('0x20')](function(_0xa7756){_0x223262[_0xda28('0xbe')]=_0xa7756;return _0x223262;});}})[_0xda28('0x20')](respondWithFilteredResult(_0x5dec47,_0x4579a9))[_0xda28('0x2a')](handleError(_0x5dec47,null));};exports[_0xda28('0x10c')]=function(_0x2f90b3,_0x58cc47,_0x2053bf){var _0x31be4d={'where':{}},_0x3e1ecf={},_0x11003c={'count':0x0,'rows':[]};return db[_0xda28('0xaa')][_0xda28('0xc6')]({'where':{'id':_0x2f90b3[_0xda28('0xc3')]['id']}})[_0xda28('0x20')](handleEntityNotFound(_0x58cc47,null))[_0xda28('0x20')](function(_0x56b8d5){if(_0x56b8d5){_0x3e1ecf['model']=_['keys'](db[_0xda28('0xce')]['rawAttributes']);_0x3e1ecf[_0xda28('0x46')]=_[_0xda28('0x47')](_0x2f90b3[_0xda28('0x46')]);_0x3e1ecf[_0xda28('0x48')]=_[_0xda28('0x4a')](_0x3e1ecf['model'],_0x3e1ecf[_0xda28('0x46')]);_0x31be4d[_0xda28('0x49')]=_[_0xda28('0x4a')](_0x3e1ecf[_0xda28('0x45')],qs[_0xda28('0x4b')](_0x2f90b3[_0xda28('0x46')][_0xda28('0x4b')]));_0x31be4d[_0xda28('0x49')]=_0x31be4d[_0xda28('0x49')][_0xda28('0x4c')]?_0x31be4d[_0xda28('0x49')]:_0x3e1ecf[_0xda28('0x45')];if(!_0x2f90b3[_0xda28('0x46')][_0xda28('0x4d')](_0xda28('0x4e'))){_0x31be4d['limit']=qs[_0xda28('0x30')](_0x2f90b3[_0xda28('0x46')][_0xda28('0x30')]);_0x31be4d['offset']=qs['offset'](_0x2f90b3[_0xda28('0x46')][_0xda28('0x4f')]);}_0x31be4d['order']=qs[_0xda28('0x51')](_0x2f90b3['query'][_0xda28('0x51')]);_0x31be4d['where']=qs[_0xda28('0x48')](_['pick'](_0x2f90b3[_0xda28('0x46')],_0x3e1ecf[_0xda28('0x48')]));_0x31be4d[_0xda28('0x52')]['ChatInteractionId']=_0x56b8d5['id'];if(_0x2f90b3[_0xda28('0x46')][_0xda28('0x91')]){_0x31be4d[_0xda28('0x52')]=_[_0xda28('0xa9')](_0x31be4d[_0xda28('0x52')],{'$or':_[_0xda28('0x40')](_0x31be4d[_0xda28('0x49')],function(_0x2aff10){var _0x3b6404={};_0x3b6404[_0x2aff10]={'$like':'%'+_0x2f90b3[_0xda28('0x46')][_0xda28('0x91')]+'%'};return _0x3b6404;})});}_0x31be4d[_0xda28('0x52')][_0xda28('0xf5')]=![];if(_0x2f90b3[_0xda28('0x46')]['id']){_0x31be4d['where']['id']={'$gt':_0x2f90b3[_0xda28('0x46')]['id']};}_0x31be4d=_['merge']({},_0x31be4d,_0x2f90b3['options']);return db[_0xda28('0xce')][_0xda28('0x2f')]({'where':_0x31be4d[_0xda28('0x52')]})['then'](function(_0x45aee6){_0x11003c['count']=_0x45aee6;_0x31be4d['include']=[];if(_0x2f90b3['query']['includeAgent']){_0x31be4d[_0xda28('0xc1')][_0xda28('0x3e')]({'model':db[_0xda28('0x79')],'as':_0xda28('0x79'),'attributes':['id',_0xda28('0xf1'),_0xda28('0x10d')]});}if(_0x2f90b3[_0xda28('0x46')][_0xda28('0xc0')]){_0x31be4d['include']=[{'all':!![]}];}return db[_0xda28('0xce')][_0xda28('0x10b')](_0x31be4d);})[_0xda28('0x20')](function(_0x409121){_0x11003c[_0xda28('0xbe')]=_0x409121;return _0x11003c;});}})[_0xda28('0x20')](respondWithFilteredResult(_0x58cc47,_0x31be4d))[_0xda28('0x2a')](handleError(_0x58cc47,null));};exports[_0xda28('0x10e')]=function(_0x31aa22,_0x1940ec,_0xc420dc){return db[_0xda28('0xaa')][_0xda28('0x6c')]({'where':{'id':_0x31aa22[_0xda28('0xc3')]['id']}})[_0xda28('0x20')](handleEntityNotFound(_0x1940ec,null))['then'](function(_0x28d9ca){if(_0x28d9ca){return _0x28d9ca[_0xda28('0x10f')](_0x31aa22[_0xda28('0x7e')][_0xda28('0x106')],_[_0xda28('0x107')](_0x31aa22[_0xda28('0x7e')],[_0xda28('0x106'),'id'])||{})[_0xda28('0x110')](function(){return db[_0xda28('0x77')][_0xda28('0x10b')]({'attributes':['id','name',_0xda28('0x56')],'where':{'id':_0x31aa22[_0xda28('0x7e')][_0xda28('0x106')]}});})[_0xda28('0x20')](function(_0xac201c){socket['emit'](_0xda28('0x111'),{'id':Number(_0x31aa22[_0xda28('0xc3')]['id']),'tags':_0xac201c||[]});return{'id':Number(_0x31aa22['params']['id']),'tags':_0xac201c||[]};});}})[_0xda28('0x20')](respondWithResult(_0x1940ec,null))['catch'](handleError(_0x1940ec,null));};exports[_0xda28('0x112')]=function(_0xa8b6df,_0x5eb2c5,_0x514cff){return db[_0xda28('0xaa')]['find']({'where':{'id':_0xa8b6df[_0xda28('0xc3')]['id']}})['then'](handleEntityNotFound(_0x5eb2c5,null))['then'](function(_0x379275){if(_0x379275){return _0x379275[_0xda28('0x112')](_0xa8b6df[_0xda28('0x46')][_0xda28('0x106')]);}})[_0xda28('0x20')](respondWithStatusCode(_0x5eb2c5,null))['catch'](handleError(_0x5eb2c5,null));};exports[_0xda28('0xdf')]=function(_0x24c2f5,_0x8a4f73){var _0x3bee79=moment()[_0xda28('0x113')]()[_0xda28('0xa7')]();var _0x23e95f=path[_0xda28('0xe0')](config['root'],_0xda28('0x114'),'files',_0xda28('0x115'));var _0x36168e=path[_0xda28('0xe0')](config[_0xda28('0xe1')],_0xda28('0x114'),_0xda28('0x116'),'attachments');var _0x108580=path['join'](_0x23e95f,_0x3bee79);var _0x11d4c4=util[_0xda28('0xe5')](_0xda28('0x117'),_0x24c2f5[_0xda28('0xc3')]['id'],_0x3bee79);var _0x4a5090=path[_0xda28('0xe0')](_0x23e95f,_0x11d4c4);var _0x4fe983=[];_0x4fe983[_0xda28('0x3e')]({'model':db[_0xda28('0x79')],'as':'User','attributes':['id',_0xda28('0xf1')],'raw':!![]});_0x4fe983['push']({'model':db[_0xda28('0xd1')],'as':_0xda28('0x71'),'attributes':['id',_0xda28('0x118'),_0xda28('0x119')],'raw':!![]});if(_0x24c2f5[_0xda28('0x46')][_0xda28('0x11a')]){_0x4fe983[_0xda28('0x3e')]({'model':db[_0xda28('0xdb')],'as':_0xda28('0xdb'),'raw':!![]});}var _0x36a16b=[{'model':db[_0xda28('0xce')],'as':'Messages','attributes':['id','body',_0xda28('0xf3'),_0xda28('0x11b'),_0xda28('0xf5'),_0xda28('0x8d')],'include':_0x4fe983}];_0x36a16b['push']({'model':db[_0xda28('0xc5')],'as':_0xda28('0x11c'),'attributes':['id',_0xda28('0x38')]});_0x36a16b[_0xda28('0x3e')]({'model':db[_0xda28('0x79')],'as':_0xda28('0x11d'),'attributes':['id',_0xda28('0xf1')]});return db['ChatInteraction'][_0xda28('0x6c')]({'where':{'id':_0x24c2f5[_0xda28('0xc3')]['id']},'include':_0x36a16b})[_0xda28('0x20')](handleEntityNotFound(_0x8a4f73,null))[_0xda28('0x20')](function(_0x5c3752){if(_0x5c3752){var _0x4f62d2=_0x5c3752[_0xda28('0x11e')]({'plain':!![]});fs[_0xda28('0x11f')](_0x108580);var _0x4cf05e={'format':'A4','border':_0xda28('0x120'),'header':{'height':_0xda28('0x121'),'contents':{'first':_0xda28('0x122')}},'footer':{'height':_0xda28('0x123'),'contents':{'default':util[_0xda28('0xe5')]('<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>',util[_0xda28('0xe5')](_0xda28('0x124'),_0xda28('0x125'),_0x4f62d2['id']),moment()['format'](_0xda28('0x126'))[_0xda28('0xa7')]())}}};var _0xf7ac94={'channel':_0xda28('0x125'),'account':_0x4f62d2[_0xda28('0x11c')]['name'],'agent':_0x4f62d2[_0xda28('0x11d')]?_0x4f62d2[_0xda28('0x11d')][_0xda28('0xf1')]:_0xda28('0x127'),'createdAt':moment(_0x4f62d2[_0xda28('0xf3')])['format'](_0xda28('0x128'))[_0xda28('0xa7')](),'closedAt':_0x4f62d2[_0xda28('0xdd')]?moment(_0x4f62d2[_0xda28('0x129')])[_0xda28('0xe5')](_0xda28('0x128'))[_0xda28('0xa7')]():'','disposition':_0x4f62d2[_0xda28('0xd6')],'chatInfo':{'browser':_0x4f62d2['browserName'],'os':_0x4f62d2[_0xda28('0x12a')],'referer':_0x4f62d2[_0xda28('0x12b')],'customerIp':_0x4f62d2[_0xda28('0x12c')],'customerPort':_0x4f62d2['customerPort']?_0x4f62d2['customerPort']:_0xda28('0x127')},'messages':_(_0x4f62d2[_0xda28('0xe8')])['tail']()[_0xda28('0x91')]({'secret':![]})[_0xda28('0x40')](function(_0x43f917){if(_0x43f917[_0xda28('0xdb')]){var _0x2f2e72=path[_0xda28('0xe0')](_0x36168e,_0x43f917[_0xda28('0xdb')][_0xda28('0xda')]);if(fs[_0xda28('0x12d')](_0x2f2e72)){fs[_0xda28('0x12e')](_0x2f2e72)['pipe'](fs[_0xda28('0x12f')](path[_0xda28('0xe0')](_0x108580,_0x43f917['Attachment'][_0xda28('0xda')])));}}return{'date':moment(_0x43f917[_0xda28('0xf3')])[_0xda28('0xe5')](_0xda28('0x128'))[_0xda28('0xa7')](),'sender':_0x43f917[_0xda28('0x11b')]==='out'?_0x43f917[_0xda28('0x79')]?_0x43f917[_0xda28('0x79')][_0xda28('0xf1')]:'System':_0x43f917['Contact'][_0xda28('0x118')]+(_0x43f917[_0xda28('0x71')]['lastName']?'\x20'+_0x43f917[_0xda28('0x71')]['lastName']:''),'body':_0x43f917[_0xda28('0xdb')]?_0x43f917[_0xda28('0xdb')][_0xda28('0xda')]:_0x43f917[_0xda28('0x7e')],'direction':_0x43f917['direction']===_0xda28('0xcd')?'A':'C','secret':_0x43f917[_0xda28('0xf5')],'read':_0x43f917[_0xda28('0x8d')],'attachment':_0x43f917[_0xda28('0xdb')]};})[_0xda28('0x6e')]()};return ejs['renderFile'](path[_0xda28('0xe0')](config[_0xda28('0xe1')],_0xda28('0x114'),'views',_0xda28('0x130')),{'interaction':_0xf7ac94})[_0xda28('0x20')](function(_0x1a01ff){return new BPromise(function(_0x1c60e4,_0x352f7b){pdf[_0xda28('0xc2')](_0x1a01ff,_0x4cf05e)[_0xda28('0x131')](path[_0xda28('0xe0')](_0x108580,_0xda28('0x132')+_0x4f62d2['id']+'-'+_0x3bee79+_0xda28('0x133')),function(_0x2baa05,_0x500e6e){if(_0x2baa05)return _0x352f7b(_0x2baa05);_0x1c60e4(_0x500e6e);});});})[_0xda28('0x20')](function(){return new BPromise(function(_0x51753b,_0x4b42ec){zipdir(_0x108580,{'saveTo':_0x4a5090},function(_0x3fb61a,_0x134696){if(_0x3fb61a)return _0x4b42ec(_0x3fb61a);return _0x51753b(_0x134696);});})['then'](function(){return new BPromise(function(_0x119d77,_0x306cb7){rimraf(_0x108580,function(_0x5eec3e){if(_0x5eec3e)_0x306cb7(_0x5eec3e);return _0x119d77();});});})[_0xda28('0x20')](function(){return _0x8a4f73[_0xda28('0xdf')](_0x4a5090,_0x11d4c4,function(_0x500b8c){if(_0x500b8c){console['log'](_0xda28('0x134'),_0x500b8c);}else{fs[_0xda28('0x135')](_0x4a5090);}});});});}else{return _0x8a4f73[_0xda28('0x2b')](0xc8);}})['catch'](handleError(_0x8a4f73,null));};