23c7fb68ae17958ec989e92d2cb062297c0f7667
[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 _0x4b19=['entity\x20not\x20found','Interaction\x20already\x20assigned','closed','disposition','AbandonInteraction','originalname','basename','filename','file','mimetype','attachmentDownload','findOne','Unauthorized','Attachment','attachId','join','root','server/files/attachments/','close','mailTranscript','server/files/chat/upload/','transcript-%s.txt','now','pathTranscript','ChatMessage','Messages','ChatWebsite','agentAlias','System','customer','format','%s%d','Visitor','agentIdentifier','website_alias','agent_alias','alias','agent_fullname','[%s]\x20%s:\x20%s\x0a','MM/DD/YYYY\x20HH:mm:ss','direction','secret','MailAccount','MailServerOut','Smtp','service','port','secure','authentication','SendMail','Mail\x20Transcript','Hi\x20%s,\x20attached\x20you\x20can\x20find\x20your\x20transcript\x20file.\x20\x0a\x0aRegards.\x20\x0a\x0a','addMessage','omit','getMessages','sort','ChatInteractionId','includeAll','findAll','getMyMessages','includeAgent','addTags','setTags','ids','Tag','emit','removeTags','download','unix','files','tmp','attachments','transcript-%d-%s.zip','firstName','lastName','Account','Owner','get','mkdirSync','10px','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','30px','%s\x20#%d','Chat','YYYY-MM-DD','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','browserName','customerIp','tail','existsSync','createReadStream','pipe','out','Contact','server','views','downloadInteraction.html','toFile','transcript-','.pdf','log','unlinkSync','html-pdf','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','ejs','lodash','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','jayson/promise','client','test','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','ChatInteraction,\x20%s,\x20%s','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','name','Users','map','fullname','TagIds','Tags','split','push','catch','index','ChatInteraction','rawAttributes','fieldName','type','key','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','where','pick','select','field','color','tools_tags','u.id','u.fullname','ui.ChatInteractionId','from','user_has_chat_interactions','left_join','users','u.id\x20=\x20ui.UserId','chat_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','chat_websites','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','unreadMessages','value','`\x20=\x200','having','`\x20>\x200','$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?','find','ContactId','buildExpression','text','start','forEach','User','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','keys','some','compact','isEmpty','i.ChatWebsiteId\x20IN\x20?','createdAt','$gte','parse','$lte','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','\x27\x27\x27\x27','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','QueryTypes','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','resolve','ChatWebsiteId','i.ChatWebsiteId\x20IS\x20NOT\x20NULL','user','getChatWebsites','sequelize','toString','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.ChatInteractionId\x20IN\x20?','groupBy','all','rows','params','include','options','create','describe','customUpdate','abandon','abandonInteraction,\x20%s,\x20%s,\x20%s'];(function(_0x179ad4,_0x37b342){var _0x141ae9=function(_0x4ff1b2){while(--_0x4ff1b2){_0x179ad4['push'](_0x179ad4['shift']());}};_0x141ae9(++_0x37b342);}(_0x4b19,0x195));var _0x94b1=function(_0x13cafb,_0x1b91c5){_0x13cafb=_0x13cafb-0x0;var _0x47b4cb=_0x4b19[_0x13cafb];return _0x47b4cb;};'use strict';var pdf=require(_0x94b1('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x94b1('0x1'));var zipdir=require(_0x94b1('0x2'));var jsonpatch=require(_0x94b1('0x3'));var rp=require('request-promise');var moment=require(_0x94b1('0x4'));var BPromise=require(_0x94b1('0x5'));var Mustache=require(_0x94b1('0x6'));var util=require('util');var path=require(_0x94b1('0x7'));var sox=require(_0x94b1('0x8'));var csv=require('to-csv');var ejs=require(_0x94b1('0x9'));var fs=require('fs');var _=require(_0x94b1('0xa'));var squel=require('squel');var crypto=require(_0x94b1('0xb'));var jsforce=require(_0x94b1('0xc'));var deskjs=require(_0x94b1('0xd'));var toCsv=require('to-csv');var querystring=require(_0x94b1('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x94b1('0xf'));var qs=require(_0x94b1('0x10'));var as=require(_0x94b1('0x11'));var hardwareService=require(_0x94b1('0x12'));var logger=require(_0x94b1('0x13'))(_0x94b1('0x14'));var utils=require('../../config/utils');var config=require(_0x94b1('0x15'));var db=require(_0x94b1('0x16'))['db'];config[_0x94b1('0x17')]=_[_0x94b1('0x18')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x94b1('0x19'))(new Redis(config[_0x94b1('0x17')]));require('./chatInteraction.socket')['register'](socket);var jayson=require(_0x94b1('0x1a'));var client=jayson[_0x94b1('0x1b')]['http']({'port':0x232b});var client9004=jayson[_0x94b1('0x1b')]['http']({'port':0x232c});function checkPasswordPattern(_0x4ea6a4,_0x192c03,_0x1f0560){if(_0x1f0560){var _0x258e98=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x258e98[_0x94b1('0x1c')](_0x192c03)){return _0x4ea6a4;}else{throw new db['Sequelize'][(_0x94b1('0x1d'))](_0x94b1('0x1e'));}}else{return _0x4ea6a4;}}function respondWithRpcPromise(_0xa29b90,_0x224099,_0x3a6ae0,_0x1abb7f){return new BPromise(function(_0x2d33dc,_0x59d7cf){var _0x30f969=_0x1abb7f||client;return _0x30f969[_0x94b1('0x1f')](_0xa29b90,_0x3a6ae0)[_0x94b1('0x20')](function(_0x5deb20){logger[_0x94b1('0x21')](_0x94b1('0x22'),_0x224099,'request\x20sent');logger[_0x94b1('0x23')](_0x94b1('0x24'),_0x224099,_0x94b1('0x25'),JSON[_0x94b1('0x26')](_0x5deb20));if(_0x5deb20[_0x94b1('0x27')]){if(_0x5deb20[_0x94b1('0x27')][_0x94b1('0x28')]===0x1f4){logger[_0x94b1('0x27')](_0x94b1('0x22'),_0x224099,_0x5deb20[_0x94b1('0x27')]['message']);return _0x59d7cf(_0x5deb20[_0x94b1('0x27')][_0x94b1('0x29')]);}logger[_0x94b1('0x27')]('ChatInteraction,\x20%s,\x20%s',_0x224099,_0x5deb20[_0x94b1('0x27')]['message']);return _0x2d33dc(_0x5deb20[_0x94b1('0x27')][_0x94b1('0x29')]);}else{logger[_0x94b1('0x21')](_0x94b1('0x22'),_0x224099,'request\x20sent');_0x2d33dc(_0x5deb20['result'][_0x94b1('0x29')]);}})['catch'](function(_0x1aa525){logger['error'](_0x94b1('0x22'),_0x224099,_0x1aa525);_0x59d7cf(_0x1aa525);});});}function respondWithStatusCode(_0x2f06b1,_0x1eda8c){_0x1eda8c=_0x1eda8c||0xcc;return function(_0x4c2732){if(_0x4c2732){return _0x2f06b1[_0x94b1('0x2a')](_0x1eda8c);}return _0x2f06b1[_0x94b1('0x2b')](_0x1eda8c)[_0x94b1('0x2c')]();};}function respondWithResult(_0x319618,_0xd86145){_0xd86145=_0xd86145||0xc8;return function(_0x43b67c){if(_0x43b67c){return _0x319618[_0x94b1('0x2b')](_0xd86145)[_0x94b1('0x2d')](_0x43b67c);}};}function respondWithFilteredResult(_0x1e79e2,_0x597af3){return function(_0x2eb1fa){if(_0x2eb1fa){var _0xf621ea=_0x2eb1fa[_0x94b1('0x2e')],_0x47f019=_0x597af3[_0x94b1('0x2f')],_0x42630a=_0x597af3[_0x94b1('0x2f')]+_0x597af3[_0x94b1('0x30')],_0x1fe766;if(_0x42630a>=_0xf621ea){_0x42630a=_0xf621ea;_0x1fe766=0xc8;}else{_0x1fe766=0xce;}_0x1e79e2['status'](_0x1fe766);return _0x1e79e2[_0x94b1('0x31')]('Content-Range',_0x47f019+'-'+_0x42630a+'/'+_0xf621ea)[_0x94b1('0x2d')](_0x2eb1fa);}return null;};}function patchUpdates(_0x51d67c){return function(_0x57e497){try{jsonpatch[_0x94b1('0x32')](_0x57e497,_0x51d67c,!![]);}catch(_0x171d44){return BPromise[_0x94b1('0x33')](_0x171d44);}return _0x57e497[_0x94b1('0x34')]();};}function saveUpdates(_0x35b97c,_0x195514){return function(_0x26f33d){if(_0x26f33d){return _0x26f33d[_0x94b1('0x35')](_0x35b97c)[_0x94b1('0x20')](function(_0x18de6f){return _0x18de6f;});}return null;};}function removeEntity(_0x3cd875,_0xaff15e){return function(_0x500772){if(_0x500772){return _0x500772['destroy']()[_0x94b1('0x20')](function(){_0x3cd875[_0x94b1('0x2b')](0xcc)[_0x94b1('0x2c')]();});}};}function handleEntityNotFound(_0x2f5e6c,_0x2c7e43){return function(_0x2ba486){if(!_0x2ba486){_0x2f5e6c[_0x94b1('0x2a')](0x194);}return _0x2ba486;};}function handleError(_0x36a2f8,_0x4285dd){_0x4285dd=_0x4285dd||0x1f4;return function(_0x586eaa){logger[_0x94b1('0x27')](_0x586eaa['stack']);if(_0x586eaa[_0x94b1('0x36')]){delete _0x586eaa[_0x94b1('0x36')];}_0x36a2f8[_0x94b1('0x2b')](_0x4285dd)['send'](_0x586eaa);};}function getInteractionUsers(_0x357798,_0x21dd65){return new BPromise(function(_0x27c9e4,_0x5628eb){try{if(_0x21dd65[_0x357798['id']]){_0x357798[_0x94b1('0x37')]=_[_0x94b1('0x38')](_0x21dd65[_0x357798['id']],function(_0x1d4168){return{'id':_0x1d4168['id'],'fullname':_0x1d4168[_0x94b1('0x39')]};});}}catch(_0x3e5b02){_0x5628eb(_0x3e5b02);}_0x27c9e4(_0x357798);});}function getInteractionTags(_0x2e6fb9,_0x292964){return new BPromise(function(_0x127e6c,_0x737da9){try{if(_0x2e6fb9[_0x94b1('0x3a')]){_0x2e6fb9[_0x94b1('0x3b')]=[];_0x2e6fb9[_0x94b1('0x3a')][_0x94b1('0x3c')](',')['forEach'](function(_0x34b148){_0x2e6fb9[_0x94b1('0x3b')][_0x94b1('0x3d')](_0x292964[_0x34b148]);});}delete _0x2e6fb9[_0x94b1('0x3a')];}catch(_0x2e6d0f){_0x737da9(_0x2e6d0f);}_0x127e6c(_0x2e6fb9);});}function updateChatInteraction(_0x5c05c6,_0xc6732a,_0x158d1a){return new BPromise(function(_0x186575,_0x300747){return getInteractionUsers(_0x5c05c6,_0x158d1a)[_0x94b1('0x20')](function(_0x2c9398){return getInteractionTags(_0x2c9398,_0xc6732a);})['then'](function(_0x439323){_0x186575(_0x439323);})[_0x94b1('0x3e')](function(_0x592daa){_0x300747(_0x592daa);});});}exports[_0x94b1('0x3f')]=function(_0x19d4e4,_0x59311b){var _0x2c7359={},_0x442157={},_0x287bac={'count':0x0,'rows':[]};var _0x4b5068=_[_0x94b1('0x38')](db[_0x94b1('0x40')][_0x94b1('0x41')],function(_0xeb94e4){return{'name':_0xeb94e4[_0x94b1('0x42')],'type':_0xeb94e4[_0x94b1('0x43')][_0x94b1('0x44')]};});_0x442157['model']=_[_0x94b1('0x38')](_0x4b5068,_0x94b1('0x36'));_0x442157[_0x94b1('0x45')]=_['keys'](_0x19d4e4[_0x94b1('0x45')]);_0x442157[_0x94b1('0x46')]=_['intersection'](_0x442157[_0x94b1('0x47')],_0x442157[_0x94b1('0x45')]);_0x2c7359[_0x94b1('0x48')]=_[_0x94b1('0x49')](_0x442157[_0x94b1('0x47')],qs[_0x94b1('0x4a')](_0x19d4e4[_0x94b1('0x45')][_0x94b1('0x4a')]));_0x2c7359[_0x94b1('0x48')]=_0x2c7359[_0x94b1('0x48')][_0x94b1('0x4b')]?_0x2c7359[_0x94b1('0x48')]:_0x442157[_0x94b1('0x47')];if(!_0x19d4e4[_0x94b1('0x45')][_0x94b1('0x4c')](_0x94b1('0x4d'))){_0x2c7359[_0x94b1('0x30')]=qs[_0x94b1('0x30')](_0x19d4e4[_0x94b1('0x45')]['limit']);_0x2c7359[_0x94b1('0x2f')]=qs['offset'](_0x19d4e4[_0x94b1('0x45')][_0x94b1('0x2f')]);}_0x2c7359[_0x94b1('0x4e')]=qs['sort'](_0x19d4e4['query']['sort']);_0x2c7359[_0x94b1('0x4f')]=qs[_0x94b1('0x46')](_[_0x94b1('0x50')](_0x19d4e4['query'],_0x442157['filters']));var _0x4d2af3=[];var _0x227f50=squel[_0x94b1('0x51')]()[_0x94b1('0x52')]('id')[_0x94b1('0x52')](_0x94b1('0x36'))[_0x94b1('0x52')](_0x94b1('0x53'))['from'](_0x94b1('0x54'));var _0x1986af=squel[_0x94b1('0x51')]()[_0x94b1('0x52')](_0x94b1('0x55'))[_0x94b1('0x52')](_0x94b1('0x56'))[_0x94b1('0x52')](_0x94b1('0x57'))[_0x94b1('0x58')](_0x94b1('0x59'),'ui')[_0x94b1('0x5a')](_0x94b1('0x5b'),'u',_0x94b1('0x5c'));var _0x4c968d=squel[_0x94b1('0x51')]()[_0x94b1('0x58')](_0x94b1('0x5d'),'i')[_0x94b1('0x5a')](_0x94b1('0x5e'),'c',_0x94b1('0x5f'))[_0x94b1('0x5a')](_0x94b1('0x5b'),'o',_0x94b1('0x60'))['left_join'](_0x94b1('0x61'),'a',_0x94b1('0x62'))[_0x94b1('0x5a')](_0x94b1('0x63'),'me',_0x94b1('0x64'))[_0x94b1('0x5a')]('chat_interaction_has_tags','it',_0x94b1('0x65'))[_0x94b1('0x5a')](_0x94b1('0x54'),'t',_0x94b1('0x66'));var _0x240581=squel[_0x94b1('0x67')]();var _0x2d985e=[];var _0x15b80c=squel[_0x94b1('0x67')]();var _0x502d2c;if(_0x19d4e4['query'][_0x94b1('0x68')]){_0x502d2c=as[_0x94b1('0x69')](_0x19d4e4[_0x94b1('0x45')][_0x94b1('0x68')]);var _0x21caaa=_0x502d2c[_0x94b1('0x6a')];for(var _0x152a22=0x0;_0x152a22<_0x502d2c[_0x94b1('0x6b')][_0x94b1('0x4b')];_0x152a22++){var _0x65157d=_0x502d2c[_0x94b1('0x6b')][_0x152a22];var _0xacf1f4='i';var _0x4d22ac=_['find'](_0x4b5068,[_0x94b1('0x36'),_0x65157d[_0x94b1('0x52')]]);if(!_0x4d22ac){switch(_0x65157d[_0x94b1('0x52')]){case _0x94b1('0x6c'):if(_0x65157d[_0x94b1('0x6d')]==0x1){_0x4c968d['having']('`'+_0x65157d[_0x94b1('0x52')]+_0x94b1('0x6e'));}else{_0x4c968d[_0x94b1('0x6f')]('`'+_0x65157d[_0x94b1('0x52')]+_0x94b1('0x70'));}break;case'Contact':if(_0x65157d['operator']===_0x94b1('0x71')){if(_0x65157d[_0x94b1('0x6d')][_0x94b1('0x3c')]('\x20')['length']>0x1){_0x240581[_0x21caaa](_0x94b1('0x72'),qs[_0x94b1('0x73')](_0x65157d['value']),null);}else{var _0x5ee8a5='%'+_0x65157d[_0x94b1('0x6d')]+'%';_0x240581[_0x21caaa](_0x94b1('0x74'),_0x5ee8a5,_0x5ee8a5,_0x5ee8a5);}}else{_0x4d22ac=_[_0x94b1('0x75')](_0x4b5068,[_0x94b1('0x36'),_0x94b1('0x76')]);_0x65157d[_0x94b1('0x52')]=_0x94b1('0x76');_0x6b2878=as[_0x94b1('0x77')](_0xacf1f4,_0x4d22ac['type'],_0x65157d);_0x240581[_0x21caaa](_0x6b2878[_0x94b1('0x78')],_0x6b2878['value'][_0x94b1('0x79')],_0x6b2878[_0x94b1('0x6d')][_0x94b1('0x2c')]);}break;case'Tag':var _0x1b70b2=_0x65157d['value'][_0x94b1('0x3c')](',')[_0x94b1('0x38')](function(_0x137a37){return Number(_0x137a37);});_0x1b70b2[_0x94b1('0x7a')](function(_0x331682){_0x15b80c['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x331682+',%');});_0x2d985e=_['union'](_0x2d985e,_0x1b70b2);break;case _0x94b1('0x7b'):if(_0x65157d[_0x94b1('0x7c')]===_0x94b1('0x71')){_0x240581[_0x21caaa](_0x94b1('0x7d'),'%'+_0x65157d[_0x94b1('0x6d')]+'%',null);}else{_0x4d22ac=_[_0x94b1('0x75')](_0x4b5068,[_0x94b1('0x36'),_0x94b1('0x7e')]);_0x65157d['field']='UserId';_0x6b2878=as[_0x94b1('0x77')](_0xacf1f4,_0x4d22ac['type'],_0x65157d);_0x240581[_0x21caaa](_0x6b2878[_0x94b1('0x78')],_0x6b2878['value'][_0x94b1('0x79')],_0x6b2878[_0x94b1('0x6d')][_0x94b1('0x2c')]);}break;case _0x94b1('0x7f'):_0x6b2878=as[_0x94b1('0x77')]('me',null,_0x65157d);_0x240581[_0x21caaa](_0x6b2878[_0x94b1('0x78')],_0x6b2878['value'][_0x94b1('0x79')],_0x6b2878[_0x94b1('0x6d')][_0x94b1('0x2c')]);break;}}else{var _0x6b2878=as[_0x94b1('0x77')](_0xacf1f4,_0x4d22ac[_0x94b1('0x43')],_0x65157d);_0x240581[_0x21caaa](_0x6b2878[_0x94b1('0x78')],_0x6b2878['value'][_0x94b1('0x79')],_0x6b2878[_0x94b1('0x6d')][_0x94b1('0x2c')]);}}}else{var _0xd40396=_(_0x19d4e4[_0x94b1('0x45')])[_0x94b1('0x80')]()[_0x94b1('0x38')](function(_0x4b5cf7){return _[_0x94b1('0x81')](_0x4b5068,['name',_0x4b5cf7])?_0x4b5cf7:undefined;})[_0x94b1('0x82')]()[_0x94b1('0x6d')]();if(!_[_0x94b1('0x83')](_0xd40396)){_0xd40396[_0x94b1('0x7a')](function(_0x47bc66){if(_0x47bc66==='ChatWebsiteId'){_0x4c968d[_0x94b1('0x4f')](_0x94b1('0x84'),[]['concat'](_0x19d4e4[_0x94b1('0x45')][_0x47bc66]));}else if(_0x47bc66===_0x94b1('0x85')){var _0xc57189=JSON['parse'](_0x19d4e4[_0x94b1('0x45')][_0x47bc66])[_0x94b1('0x86')];var _0x40874c=JSON[_0x94b1('0x87')](_0x19d4e4['query'][_0x47bc66])[_0x94b1('0x88')];_0x4c968d['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0xc57189,_0x40874c);}else{if(_0x19d4e4['query'][_0x47bc66]===_0x94b1('0x89')){_0x4c968d[_0x94b1('0x4f')]('i.'+_0x47bc66+_0x94b1('0x8a'));}else{_0x4c968d['where']('i.'+_0x47bc66+'\x20=\x20?',_0x19d4e4['query'][_0x47bc66]);}}});}if(_0x19d4e4[_0x94b1('0x45')][_0x94b1('0x8b')]){if(_0x19d4e4['query']['read']==0x1){_0x4c968d['having'](_0x94b1('0x8c'));}else{_0x4c968d[_0x94b1('0x6f')](_0x94b1('0x8d'));}}if(_0x19d4e4[_0x94b1('0x45')]['tag']){_0x2d985e=_['isArray'](_0x19d4e4[_0x94b1('0x45')][_0x94b1('0x8e')])?_0x19d4e4[_0x94b1('0x45')][_0x94b1('0x8e')]:new Array(_0x19d4e4['query']['tag']);_0x2d985e['forEach'](function(_0x355543){_0x15b80c['or'](_0x94b1('0x8f'),'%,'+_0x355543+',%');});}if(_0x19d4e4[_0x94b1('0x45')][_0x94b1('0x90')]){var _0xa4dfd1=_0x19d4e4['query'][_0x94b1('0x90')][_0x94b1('0x91')]('\x5c','\x5c\x5c')['replace']('\x27\x27',_0x94b1('0x92'));if(qs['isNumeric'](_0xa4dfd1)){_0x240581['or']('i.id\x20LIKE\x20?',_0xa4dfd1+'%');}else{_0x240581['or'](_0x94b1('0x93'),qs['getFullTextValue'](_0xa4dfd1))['or'](_0x94b1('0x94'),_0xa4dfd1+'%');}}}_0x4c968d[_0x94b1('0x4f')](_0x240581);_0x4c968d[_0x94b1('0x95')](_0x94b1('0x96'));var _0x219b5d={'type':db['Sequelize'][_0x94b1('0x97')]['SELECT'],'raw':!![]};var _0x101517=_0x4c968d[_0x94b1('0x98')]();_0x101517[_0x94b1('0x52')]('i.id');_0x101517[_0x94b1('0x52')](_0x94b1('0x99'),'unreadMessages');if(_0x2c7359['order']){_0x2c7359[_0x94b1('0x4e')][_0x94b1('0x7a')](function(_0x2a0d93){_0x4c968d[_0x94b1('0x4e')]('i.'+_0x2a0d93[0x0],_0x2a0d93[0x1]==='DESC'?![]:!![]);});}if(!_[_0x94b1('0x83')](_0x2d985e)){_0x4c968d['having'](_0x15b80c);_0x101517[_0x94b1('0x4f')]('t.id\x20IN\x20?',_0x2d985e);}BPromise[_0x94b1('0x9a')]()['then'](function(){if(!_0x502d2c){if(_0x19d4e4['query'][_0x94b1('0x9b')]||_0x19d4e4[_0x94b1('0x45')]['journey'])return;_0x101517[_0x94b1('0x4f')](_0x94b1('0x9c'));_0x4c968d[_0x94b1('0x4f')]('i.ChatWebsiteId\x20IS\x20NOT\x20NULL');return;}return _0x19d4e4[_0x94b1('0x9d')][_0x94b1('0x9e')]({'attributes':['id'],'raw':!![]})[_0x94b1('0x20')](function(_0x5d722e){if(_[_0x94b1('0x83')](_0x5d722e)){_0x101517['where']('i.ChatWebsiteId\x20IS\x20NULL');_0x4c968d[_0x94b1('0x4f')]('i.ChatWebsiteId\x20IS\x20NULL');}else{_0x101517[_0x94b1('0x4f')]('i.ChatWebsiteId\x20IN\x20?',_[_0x94b1('0x38')](_0x5d722e,'id'));_0x4c968d['where'](_0x94b1('0x84'),_['map'](_0x5d722e,'id'));}});})[_0x94b1('0x20')](function(){db[_0x94b1('0x9f')][_0x94b1('0x45')](_0x101517[_0x94b1('0xa0')](),_0x219b5d)[_0x94b1('0x20')](function(_0xd11449){_0x287bac['count']=_0xd11449[_0x94b1('0x4b')];if(_0x287bac[_0x94b1('0x2e')]===0x0)return[];return db[_0x94b1('0x9f')][_0x94b1('0x45')](_0x227f50[_0x94b1('0xa0')](),_0x219b5d)[_0x94b1('0x20')](function(_0x5093d8){_0x4d2af3=_[_0x94b1('0xa1')](_0x5093d8,'id');_0x219b5d=_[_0x94b1('0xa2')](_0x219b5d,{'model':db['ChatInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x19d4e4[_0x94b1('0x45')][_0x94b1('0x4a')]){_0x2c7359[_0x94b1('0x48')][_0x94b1('0x7a')](function(_0x2d3c76){_0x4c968d[_0x94b1('0x52')]('i.'+_0x2d3c76);});}else{_0x4c968d[_0x94b1('0x52')](_0x94b1('0x99'),_0x94b1('0x6c'));_0x4c968d[_0x94b1('0x52')](_0x94b1('0xa3'),_0x94b1('0xa4'));_0x4c968d[_0x94b1('0x52')](_0x94b1('0xa5'),_0x94b1('0xa6'));_0x4c968d[_0x94b1('0x52')](_0x94b1('0xa7'));_0x4c968d[_0x94b1('0x52')](_0x94b1('0xa8'),_0x94b1('0xa9'));_0x4c968d[_0x94b1('0x52')](_0x94b1('0xaa'),_0x94b1('0xab'));_0x4c968d[_0x94b1('0x52')](_0x94b1('0xac'),_0x94b1('0xad'));_0x4c968d[_0x94b1('0x52')](_0x94b1('0xae'),_0x94b1('0xaf'));_0x4c968d[_0x94b1('0x52')](_0x94b1('0xb0'),_0x94b1('0xb1'));_0x4c968d['field'](_0x94b1('0xb2'),_0x94b1('0xb3'));_0x4c968d['field']('o.fullname',_0x94b1('0xb4'));_0x4c968d['field'](_0x94b1('0xb5'),'Owner.internal');_0x4c968d[_0x94b1('0x52')](_0x94b1('0xb6'),_0x94b1('0x3a'));}_0x4c968d['limit'](_0x2c7359['limit']);_0x4c968d[_0x94b1('0x2f')](_0x2c7359[_0x94b1('0x2f')]);return db[_0x94b1('0x9f')][_0x94b1('0x45')](_0x4c968d[_0x94b1('0xa0')](),_0x219b5d);})[_0x94b1('0x20')](function(_0x2ddfa6){_0x1986af['where'](_0x94b1('0xb7'),_[_0x94b1('0x38')](_0x2ddfa6,'id'));return db[_0x94b1('0x9f')][_0x94b1('0x45')](_0x1986af[_0x94b1('0xa0')](),_0x219b5d)[_0x94b1('0x20')](function(_0x516659){var _0x27267f=_[_0x94b1('0xb8')](_0x516659,'ChatInteractionId');var _0x22e08e=[];_0x2ddfa6[_0x94b1('0x7a')](function(_0x5ab0af){_0x22e08e[_0x94b1('0x3d')](updateChatInteraction(_0x5ab0af,_0x4d2af3,_0x27267f));});return BPromise[_0x94b1('0xb9')](_0x22e08e);});});})[_0x94b1('0x20')](function(_0x568ad6){_0x287bac[_0x94b1('0xba')]=_0x568ad6;return _0x287bac;})[_0x94b1('0x20')](respondWithFilteredResult(_0x59311b,_0x2c7359));})['catch'](handleError(_0x59311b,null));};exports['show']=function(_0x438cdb,_0x3d1e1e){var _0x26c84a={'raw':![],'where':{'id':_0x438cdb[_0x94b1('0xbb')]['id']}},_0x4e44c4={};_0x4e44c4[_0x94b1('0x47')]=_[_0x94b1('0x80')](db[_0x94b1('0x40')][_0x94b1('0x41')]);_0x4e44c4[_0x94b1('0x45')]=_['keys'](_0x438cdb[_0x94b1('0x45')]);_0x4e44c4[_0x94b1('0x46')]=_[_0x94b1('0x49')](_0x4e44c4[_0x94b1('0x47')],_0x4e44c4[_0x94b1('0x45')]);_0x26c84a['attributes']=_[_0x94b1('0x49')](_0x4e44c4['model'],qs['fields'](_0x438cdb[_0x94b1('0x45')][_0x94b1('0x4a')]));_0x26c84a[_0x94b1('0x48')]=_0x26c84a[_0x94b1('0x48')]['length']?_0x26c84a[_0x94b1('0x48')]:_0x4e44c4[_0x94b1('0x47')];if(_0x438cdb[_0x94b1('0x45')]['includeAll']){_0x26c84a[_0x94b1('0xbc')]=[{'all':!![]}];}_0x26c84a=_[_0x94b1('0xa2')]({},_0x26c84a,_0x438cdb[_0x94b1('0xbd')]);return db['ChatInteraction'][_0x94b1('0x75')](_0x26c84a)[_0x94b1('0x20')](handleEntityNotFound(_0x3d1e1e,null))['then'](respondWithResult(_0x3d1e1e,null))[_0x94b1('0x3e')](handleError(_0x3d1e1e,null));};exports[_0x94b1('0xbe')]=function(_0x13c0c3,_0x3923c5){return db[_0x94b1('0x40')]['create'](_0x13c0c3['body'],{})['then'](respondWithResult(_0x3923c5,0xc9))[_0x94b1('0x3e')](handleError(_0x3923c5,null));};exports[_0x94b1('0x35')]=function(_0x22202e,_0x5a4eb6){if(_0x22202e[_0x94b1('0x7f')]['id']){delete _0x22202e[_0x94b1('0x7f')]['id'];}return db[_0x94b1('0x40')][_0x94b1('0x75')]({'where':{'id':_0x22202e[_0x94b1('0xbb')]['id']}})[_0x94b1('0x20')](handleEntityNotFound(_0x5a4eb6,null))[_0x94b1('0x20')](saveUpdates(_0x22202e[_0x94b1('0x7f')],null))[_0x94b1('0x20')](respondWithResult(_0x5a4eb6,null))[_0x94b1('0x3e')](handleError(_0x5a4eb6,null));};exports['destroy']=function(_0x2254c6,_0x23f144){return db[_0x94b1('0x40')][_0x94b1('0x75')]({'where':{'id':_0x2254c6[_0x94b1('0xbb')]['id']}})[_0x94b1('0x20')](handleEntityNotFound(_0x23f144,null))[_0x94b1('0x20')](removeEntity(_0x23f144,null))[_0x94b1('0x3e')](handleError(_0x23f144,null));};exports[_0x94b1('0xbf')]=function(_0x4b6ae3,_0x5bd532){return db['ChatInteraction'][_0x94b1('0xbf')]()[_0x94b1('0x20')](respondWithResult(_0x5bd532,null))[_0x94b1('0x3e')](handleError(_0x5bd532,null));};exports[_0x94b1('0xc0')]=function(_0x51b24c,_0x1057de){if(_0x51b24c[_0x94b1('0x7f')]['id']){delete _0x51b24c[_0x94b1('0x7f')]['id'];}return db[_0x94b1('0x40')][_0x94b1('0x75')]({'where':{'id':_0x51b24c[_0x94b1('0xbb')]['id']}})['then'](handleEntityNotFound(_0x1057de,null))['then'](saveUpdates(_0x51b24c['body'],null))['then'](respondWithResult(_0x1057de,null))[_0x94b1('0x3e')](handleError(_0x1057de,null));};exports[_0x94b1('0xc1')]=function(_0x213bcd,_0x45ad88,_0x193aec){if(_0x213bcd[_0x94b1('0x7f')]['id']){delete _0x213bcd[_0x94b1('0x7f')]['id'];}return db[_0x94b1('0x40')]['find']({'where':{'id':_0x213bcd[_0x94b1('0xbb')]['id']}})[_0x94b1('0x20')](function(_0x175436){if(!_0x175436){logger['error'](_0x94b1('0xc2'),_0x94b1('0xc1'),0x194,_0x94b1('0xc3'));_0x45ad88[_0x94b1('0x2a')](0x194);}else{if(_0x175436[_0x94b1('0x7e')]){throw new db['Sequelize'][(_0x94b1('0x1d'))](_0x94b1('0xc4'));}}return _0x175436;})[_0x94b1('0x20')](function(_0x2f4211){if(_0x2f4211){return _0x2f4211[_0x94b1('0x35')]({'closed':_0x213bcd[_0x94b1('0x7f')][_0x94b1('0xc5')],'disposition':_0x213bcd[_0x94b1('0x7f')][_0x94b1('0xc6')]})[_0x94b1('0x20')](function(_0x51a3be){return _0x51a3be;});}})['then'](function(_0x848cf8){return respondWithRpcPromise(_0x94b1('0xc7'),_0x94b1('0xc1'),_0x213bcd[_0x94b1('0x7f')],client9004);})[_0x94b1('0x20')](respondWithResult(_0x45ad88,null))[_0x94b1('0x3e')](handleError(_0x45ad88,null));};exports['attachmentUpload']=function(_0x448480,_0x4dd54c,_0xafaac){_0x448480['body'][_0x94b1('0x36')]=_0x448480['file'][_0x94b1('0xc8')];_0x448480[_0x94b1('0x7f')][_0x94b1('0xc9')]=_0x448480['file'][_0x94b1('0xca')];_0x448480[_0x94b1('0x7f')][_0x94b1('0x43')]=_0x448480[_0x94b1('0xcb')][_0x94b1('0xcc')];return db['Attachment']['create'](_0x448480[_0x94b1('0x7f')])[_0x94b1('0x20')](respondWithResult(_0x4dd54c,0xc9))[_0x94b1('0x3e')](handleError(_0x4dd54c,null));};exports[_0x94b1('0xcd')]=function(_0x408933,_0x540d60,_0x5eead5){return db[_0x94b1('0x40')][_0x94b1('0xce')]({'where':{'id':_0x408933[_0x94b1('0xbb')]['id']},'raw':!![]})[_0x94b1('0x20')](handleEntityNotFound(_0x540d60,null))['then'](function(_0x560ca0){if(_0x560ca0){if(_0x560ca0[_0x94b1('0xc5')]){return _0x540d60[_0x94b1('0x2b')](0x193)['json']({'status':0x193,'message':_0x94b1('0xcf')});}return db[_0x94b1('0xd0')][_0x94b1('0xce')]({'where':{'id':_0x408933[_0x94b1('0x45')][_0x94b1('0xd1')]},'raw':!![]})['then'](handleEntityNotFound(_0x540d60,null));}})[_0x94b1('0x20')](function(_0x5e4296){if(_0x5e4296){return _0x540d60['download'](path[_0x94b1('0xd2')](config[_0x94b1('0xd3')],_0x94b1('0xd4'),_0x5e4296[_0x94b1('0xc9')]));}})[_0x94b1('0x3e')](handleError(_0x540d60,null));};exports[_0x94b1('0xd5')]=function(_0x4195a2,_0x3925f6){var _0x1bb516=null;var _0x4742f8=null;var _0x13a409=null;var _0x547c8a=null;if(_0x4195a2[_0x94b1('0x7f')]['id']){delete _0x4195a2['body']['id'];}if(_0x4195a2[_0x94b1('0x7f')][_0x94b1('0xd6')]){_0x547c8a=path[_0x94b1('0xd2')](config[_0x94b1('0xd3')],_0x94b1('0xd7'),util['format'](_0x94b1('0xd8'),Date[_0x94b1('0xd9')]()));_0x4195a2[_0x94b1('0x7f')][_0x94b1('0xda')]=_0x547c8a;}return db['ChatInteraction']['find']({'where':{'id':_0x4195a2[_0x94b1('0xbb')]['id']},'include':[{'model':db[_0x94b1('0xdb')],'as':_0x94b1('0xdc'),'include':[{'model':db['User'],'as':_0x94b1('0x7b')}]}]})[_0x94b1('0x20')](handleEntityNotFound(_0x3925f6,null))[_0x94b1('0x20')](saveUpdates(_0x4195a2[_0x94b1('0x7f')],null))[_0x94b1('0x20')](function(_0x2f495d){if(_0x2f495d){_0x1bb516=_0x2f495d;return db[_0x94b1('0xdd')][_0x94b1('0x75')]({'where':{'id':_0x1bb516[_0x94b1('0x9b')]}});}})['then'](function(_0x1a9d61){if(_0x1a9d61){_0x13a409=_0x1a9d61;return db['CmContact'][_0x94b1('0x75')]({'where':{'id':_0x1bb516['ContactId']}});}})[_0x94b1('0x20')](function(_0x1edb79){if(_0x1edb79){_0x4742f8=_0x1edb79;if(_0x547c8a){var _0x216789=null;for(var _0x452429=0x1;_0x452429<_0x1bb516[_0x94b1('0xdc')][_0x94b1('0x4b')];++_0x452429){_0x216789=_0x1bb516[_0x94b1('0xdc')][_0x452429];var _0x2d5543=_0x216789['UserId']?util['format']('%s%d',_0x13a409[_0x94b1('0xde')],_0x216789[_0x94b1('0x7e')]):_0x94b1('0xdf');var _0x4bae16=_0x4195a2[_0x94b1('0x7f')][_0x94b1('0xe0')]||util[_0x94b1('0xe1')](_0x94b1('0xe2'),_0x94b1('0xe3'),_0x216789['ContactId']);switch(_0x13a409[_0x94b1('0xe4')]){case _0x94b1('0xe5'):_0x2d5543=_0x216789[_0x94b1('0x7e')]?util[_0x94b1('0xe1')](_0x94b1('0xe2'),_0x13a409[_0x94b1('0xde')],_0x216789[_0x94b1('0x7e')]):_0x94b1('0xdf');break;case _0x94b1('0xe6'):_0x2d5543=_0x216789[_0x94b1('0x7e')]?_0x216789[_0x94b1('0x7b')][_0x94b1('0xe7')]||_0x216789[_0x94b1('0x7b')][_0x94b1('0x39')]:'System';break;case _0x94b1('0xe8'):_0x2d5543=_0x216789[_0x94b1('0x7e')]?_0x216789[_0x94b1('0x7b')][_0x94b1('0x39')]:_0x94b1('0xdf');break;default:_0x2d5543=_0x216789[_0x94b1('0x7e')]?util[_0x94b1('0xe1')](_0x94b1('0xe2'),_0x13a409[_0x94b1('0xde')],_0x216789[_0x94b1('0x7e')]):_0x94b1('0xdf');}var _0x4ebe4b=util[_0x94b1('0xe1')](_0x94b1('0xe9'),moment(_0x216789[_0x94b1('0x85')])['format'](_0x94b1('0xea')),_0x216789[_0x94b1('0xeb')]==='in'?_0x4bae16:_0x2d5543,_0x216789[_0x94b1('0x7f')]);if(!_0x216789[_0x94b1('0xec')]){fs['appendFileSync'](_0x547c8a,_0x4ebe4b);}}return db[_0x94b1('0xed')][_0x94b1('0xce')]({'where':{'service':!![]},'include':[{'model':db[_0x94b1('0xee')],'as':'Smtp','raw':!![]}]});}}})[_0x94b1('0x20')](function(_0x509f1a){if(_0x509f1a&&_0x509f1a[_0x94b1('0xef')]&&_0x4195a2[_0x94b1('0x7f')]){var _0x30522d={'tls':{'rejectUnauthorized':![]}};if(_0x509f1a[_0x94b1('0xef')][_0x94b1('0xf0')]){_0x30522d['service']=_0x509f1a[_0x94b1('0xef')][_0x94b1('0xf0')];}else{_0x30522d['host']=_0x509f1a[_0x94b1('0xef')]['host'];_0x30522d[_0x94b1('0xf1')]=_0x509f1a[_0x94b1('0xef')][_0x94b1('0xf1')];_0x30522d[_0x94b1('0xf2')]=_0x509f1a[_0x94b1('0xef')][_0x94b1('0xf2')];}if(_0x509f1a[_0x94b1('0xef')][_0x94b1('0xf3')]){_0x30522d['auth']={'user':_0x509f1a['Smtp'][_0x94b1('0x9d')],'pass':_0x509f1a[_0x94b1('0xef')]['pass']};}return respondWithRpcPromise(_0x94b1('0xf4'),'sendMail',{'account':_0x30522d,'message':{'from':util[_0x94b1('0xe1')]('\x22%s\x22\x20<%s>',_0x509f1a['name'],_0x509f1a['email']||_0x509f1a['Smtp'][_0x94b1('0x9d')]),'to':_0x4195a2['body'][_0x94b1('0xd6')],'subject':_0x94b1('0xf5'),'text':util[_0x94b1('0xe1')](_0x94b1('0xf6'),_0x4195a2['body'][_0x94b1('0xd6')]),'attachments':[{'path':_0x547c8a}]}})[_0x94b1('0x20')](function(){return _0x1bb516;})[_0x94b1('0x3e')](function(_0x112eab){console[_0x94b1('0x27')](_0x112eab);});}else{return _0x1bb516;}})['then'](respondWithStatusCode(_0x3925f6,0xc8))[_0x94b1('0x3e')](handleError(_0x3925f6,null));};exports['addMessage']=function(_0x2f4baf,_0x20830a,_0x221c40){return db[_0x94b1('0xdb')]['find']({'where':{'id':_0x2f4baf['params']['id']}})[_0x94b1('0x20')](handleEntityNotFound(_0x20830a,null))['then'](function(_0x460d4e){if(_0x460d4e){return _0x460d4e[_0x94b1('0xf7')](_0x2f4baf[_0x94b1('0x7f')]['ids'],_[_0x94b1('0xf8')](_0x2f4baf[_0x94b1('0x7f')],['ids','id'])||{});}})['then'](respondWithResult(_0x20830a,null))[_0x94b1('0x3e')](handleError(_0x20830a,null));};exports[_0x94b1('0xf9')]=function(_0x562b18,_0xd822e7,_0x35f198){var _0x2f2f21={'raw':![],'where':{}};var _0x23e4b3={};var _0x1a7888={'count':0x0,'rows':[]};return db[_0x94b1('0x40')][_0x94b1('0xce')]({'where':{'id':_0x562b18[_0x94b1('0xbb')]['id']}})[_0x94b1('0x20')](handleEntityNotFound(_0xd822e7,null))[_0x94b1('0x20')](function(_0x2dcf42){if(_0x2dcf42){_0x23e4b3[_0x94b1('0x47')]=_['keys'](db[_0x94b1('0xdb')]['rawAttributes']);_0x23e4b3[_0x94b1('0x45')]=_[_0x94b1('0x80')](_0x562b18[_0x94b1('0x45')]);_0x23e4b3[_0x94b1('0x46')]=_['intersection'](_0x23e4b3[_0x94b1('0x47')],_0x23e4b3[_0x94b1('0x45')]);_0x2f2f21['attributes']=_[_0x94b1('0x49')](_0x23e4b3[_0x94b1('0x47')],qs['fields'](_0x562b18[_0x94b1('0x45')]['fields']));_0x2f2f21[_0x94b1('0x48')]=_0x2f2f21['attributes'][_0x94b1('0x4b')]?_0x2f2f21[_0x94b1('0x48')]:_0x23e4b3[_0x94b1('0x47')];if(!_0x562b18[_0x94b1('0x45')][_0x94b1('0x4c')](_0x94b1('0x4d'))){_0x2f2f21['limit']=qs[_0x94b1('0x30')](_0x562b18[_0x94b1('0x45')]['limit']);_0x2f2f21[_0x94b1('0x2f')]=qs[_0x94b1('0x2f')](_0x562b18[_0x94b1('0x45')][_0x94b1('0x2f')]);}_0x2f2f21[_0x94b1('0x4e')]=qs[_0x94b1('0xfa')](_0x562b18[_0x94b1('0x45')][_0x94b1('0xfa')]);_0x2f2f21[_0x94b1('0x4f')]=qs[_0x94b1('0x46')](_[_0x94b1('0x50')](_0x562b18[_0x94b1('0x45')],_0x23e4b3[_0x94b1('0x46')]));_0x2f2f21[_0x94b1('0x4f')][_0x94b1('0xfb')]=_0x2dcf42['id'];if(_0x562b18['query'][_0x94b1('0x90')]){_0x2f2f21[_0x94b1('0x4f')]=_[_0x94b1('0xa2')](_0x2f2f21[_0x94b1('0x4f')],{'$or':_[_0x94b1('0x38')](_0x2f2f21[_0x94b1('0x48')],function(_0x3c847f){var _0x2af531={};_0x2af531[_0x3c847f]={'$like':'%'+_0x562b18['query'][_0x94b1('0x90')]+'%'};return _0x2af531;})});}if(_0x562b18[_0x94b1('0x45')][_0x94b1('0x86')]){var _0x206c71=_0x562b18[_0x94b1('0x45')][_0x94b1('0x86')][_0x94b1('0x3c')](',');var _0x51a884={};_0x51a884[_0x206c71[0x0]]={'$gte':moment(_0x206c71[0x1])[_0x94b1('0xe1')]('YYYY-MM-DD\x20HH:mm:ss')};_0x2f2f21[_0x94b1('0x4f')]=_['merge'](_0x2f2f21[_0x94b1('0x4f')],_0x51a884);}_0x2f2f21=_['merge']({},_0x2f2f21,_0x562b18['options']);return db[_0x94b1('0xdb')][_0x94b1('0x2e')]({'where':_0x2f2f21[_0x94b1('0x4f')]})[_0x94b1('0x20')](function(_0x40d853){_0x1a7888['count']=_0x40d853;if(_0x562b18[_0x94b1('0x45')][_0x94b1('0xfc')]){_0x2f2f21[_0x94b1('0xbc')]=[{'all':!![]}];}return db['ChatMessage'][_0x94b1('0xfd')](_0x2f2f21);})[_0x94b1('0x20')](function(_0x146dfc){_0x1a7888[_0x94b1('0xba')]=_0x146dfc;return _0x1a7888;});}})[_0x94b1('0x20')](respondWithFilteredResult(_0xd822e7,_0x2f2f21))[_0x94b1('0x3e')](handleError(_0xd822e7,null));};exports[_0x94b1('0xfe')]=function(_0x4ad7db,_0x285419,_0x1375e1){var _0x1f9bd1={'where':{}},_0x32d816={},_0x187582={'count':0x0,'rows':[]};return db[_0x94b1('0x40')][_0x94b1('0xce')]({'where':{'id':_0x4ad7db[_0x94b1('0xbb')]['id']}})['then'](handleEntityNotFound(_0x285419,null))[_0x94b1('0x20')](function(_0x5ddecc){if(_0x5ddecc){_0x32d816[_0x94b1('0x47')]=_[_0x94b1('0x80')](db[_0x94b1('0xdb')][_0x94b1('0x41')]);_0x32d816[_0x94b1('0x45')]=_[_0x94b1('0x80')](_0x4ad7db[_0x94b1('0x45')]);_0x32d816['filters']=_[_0x94b1('0x49')](_0x32d816[_0x94b1('0x47')],_0x32d816['query']);_0x1f9bd1[_0x94b1('0x48')]=_[_0x94b1('0x49')](_0x32d816[_0x94b1('0x47')],qs[_0x94b1('0x4a')](_0x4ad7db[_0x94b1('0x45')][_0x94b1('0x4a')]));_0x1f9bd1['attributes']=_0x1f9bd1[_0x94b1('0x48')][_0x94b1('0x4b')]?_0x1f9bd1['attributes']:_0x32d816[_0x94b1('0x47')];if(!_0x4ad7db[_0x94b1('0x45')][_0x94b1('0x4c')](_0x94b1('0x4d'))){_0x1f9bd1[_0x94b1('0x30')]=qs['limit'](_0x4ad7db['query'][_0x94b1('0x30')]);_0x1f9bd1['offset']=qs[_0x94b1('0x2f')](_0x4ad7db[_0x94b1('0x45')][_0x94b1('0x2f')]);}_0x1f9bd1[_0x94b1('0x4e')]=qs[_0x94b1('0xfa')](_0x4ad7db['query'][_0x94b1('0xfa')]);_0x1f9bd1[_0x94b1('0x4f')]=qs['filters'](_[_0x94b1('0x50')](_0x4ad7db['query'],_0x32d816[_0x94b1('0x46')]));_0x1f9bd1['where']['ChatInteractionId']=_0x5ddecc['id'];if(_0x4ad7db[_0x94b1('0x45')][_0x94b1('0x90')]){_0x1f9bd1[_0x94b1('0x4f')]=_[_0x94b1('0xa2')](_0x1f9bd1[_0x94b1('0x4f')],{'$or':_[_0x94b1('0x38')](_0x1f9bd1[_0x94b1('0x48')],function(_0x578013){var _0x3243db={};_0x3243db[_0x578013]={'$like':'%'+_0x4ad7db['query'][_0x94b1('0x90')]+'%'};return _0x3243db;})});}_0x1f9bd1[_0x94b1('0x4f')]['secret']=![];if(_0x4ad7db[_0x94b1('0x45')]['id']){_0x1f9bd1[_0x94b1('0x4f')]['id']={'$gt':_0x4ad7db[_0x94b1('0x45')]['id']};}_0x1f9bd1=_[_0x94b1('0xa2')]({},_0x1f9bd1,_0x4ad7db[_0x94b1('0xbd')]);return db[_0x94b1('0xdb')][_0x94b1('0x2e')]({'where':_0x1f9bd1['where']})[_0x94b1('0x20')](function(_0x659a05){_0x187582[_0x94b1('0x2e')]=_0x659a05;_0x1f9bd1[_0x94b1('0xbc')]=[];if(_0x4ad7db[_0x94b1('0x45')][_0x94b1('0xff')]){_0x1f9bd1['include'][_0x94b1('0x3d')]({'model':db[_0x94b1('0x7b')],'as':_0x94b1('0x7b'),'attributes':['id',_0x94b1('0x39'),'alias']});}if(_0x4ad7db['query'][_0x94b1('0xfc')]){_0x1f9bd1[_0x94b1('0xbc')]=[{'all':!![]}];}return db['ChatMessage'][_0x94b1('0xfd')](_0x1f9bd1);})[_0x94b1('0x20')](function(_0x23fb6e){_0x187582[_0x94b1('0xba')]=_0x23fb6e;return _0x187582;});}})[_0x94b1('0x20')](respondWithFilteredResult(_0x285419,_0x1f9bd1))[_0x94b1('0x3e')](handleError(_0x285419,null));};exports[_0x94b1('0x100')]=function(_0x268e4f,_0x4484cb,_0x17e886){return db[_0x94b1('0x40')][_0x94b1('0x75')]({'where':{'id':_0x268e4f[_0x94b1('0xbb')]['id']}})[_0x94b1('0x20')](handleEntityNotFound(_0x4484cb,null))[_0x94b1('0x20')](function(_0x4e5905){if(_0x4e5905){return _0x4e5905[_0x94b1('0x101')](_0x268e4f[_0x94b1('0x7f')][_0x94b1('0x102')],_['omit'](_0x268e4f[_0x94b1('0x7f')],[_0x94b1('0x102'),'id'])||{})['spread'](function(){return db[_0x94b1('0x103')]['findAll']({'attributes':['id','name',_0x94b1('0x53')],'where':{'id':_0x268e4f[_0x94b1('0x7f')][_0x94b1('0x102')]}});})[_0x94b1('0x20')](function(_0x5c7caa){socket[_0x94b1('0x104')]('chatInteractionTags:save',{'id':Number(_0x268e4f[_0x94b1('0xbb')]['id']),'tags':_0x5c7caa||[]});return{'id':Number(_0x268e4f['params']['id']),'tags':_0x5c7caa||[]};});}})['then'](respondWithResult(_0x4484cb,null))['catch'](handleError(_0x4484cb,null));};exports[_0x94b1('0x105')]=function(_0x27baab,_0x23ab4a,_0x5b16f8){return db[_0x94b1('0x40')][_0x94b1('0x75')]({'where':{'id':_0x27baab[_0x94b1('0xbb')]['id']}})[_0x94b1('0x20')](handleEntityNotFound(_0x23ab4a,null))[_0x94b1('0x20')](function(_0x223fd1){if(_0x223fd1){return _0x223fd1[_0x94b1('0x105')](_0x27baab[_0x94b1('0x45')]['ids']);}})[_0x94b1('0x20')](respondWithStatusCode(_0x23ab4a,null))['catch'](handleError(_0x23ab4a,null));};exports[_0x94b1('0x106')]=function(_0xbe4ab5,_0x10d28f){var _0x400b07=moment()[_0x94b1('0x107')]()[_0x94b1('0xa0')]();var _0x2e1cbe=path[_0x94b1('0xd2')](config[_0x94b1('0xd3')],'server',_0x94b1('0x108'),_0x94b1('0x109'));var _0x4beaa8=path[_0x94b1('0xd2')](config[_0x94b1('0xd3')],'server',_0x94b1('0x108'),_0x94b1('0x10a'));var _0x36b436=path[_0x94b1('0xd2')](_0x2e1cbe,_0x400b07);var _0x1f0de4=util[_0x94b1('0xe1')](_0x94b1('0x10b'),_0xbe4ab5[_0x94b1('0xbb')]['id'],_0x400b07);var _0x16136d=path[_0x94b1('0xd2')](_0x2e1cbe,_0x1f0de4);var _0x25a28b=[];_0x25a28b[_0x94b1('0x3d')]({'model':db[_0x94b1('0x7b')],'as':'User','attributes':['id',_0x94b1('0x39')],'raw':!![]});_0x25a28b[_0x94b1('0x3d')]({'model':db['CmContact'],'as':'Contact','attributes':['id',_0x94b1('0x10c'),_0x94b1('0x10d')],'raw':!![]});if(_0xbe4ab5[_0x94b1('0x45')][_0x94b1('0x10a')]){_0x25a28b[_0x94b1('0x3d')]({'model':db[_0x94b1('0xd0')],'as':'Attachment','raw':!![]});}var _0x3dd722=[{'model':db['ChatMessage'],'as':_0x94b1('0xdc'),'attributes':['id',_0x94b1('0x7f'),_0x94b1('0x85'),'direction',_0x94b1('0xec'),_0x94b1('0x8b')],'include':_0x25a28b}];_0x3dd722['push']({'model':db[_0x94b1('0xdd')],'as':_0x94b1('0x10e'),'attributes':['id',_0x94b1('0x36')]});_0x3dd722[_0x94b1('0x3d')]({'model':db[_0x94b1('0x7b')],'as':_0x94b1('0x10f'),'attributes':['id',_0x94b1('0x39')]});return db['ChatInteraction'][_0x94b1('0x75')]({'where':{'id':_0xbe4ab5['params']['id']},'include':_0x3dd722})[_0x94b1('0x20')](handleEntityNotFound(_0x10d28f,null))['then'](function(_0x2d4863){if(_0x2d4863){var _0x527204=_0x2d4863[_0x94b1('0x110')]({'plain':!![]});fs[_0x94b1('0x111')](_0x36b436);var _0x252c8f={'format':'A4','border':_0x94b1('0x112'),'header':{'height':_0x94b1('0x113'),'contents':{'first':_0x94b1('0x114')}},'footer':{'height':_0x94b1('0x115'),'contents':{'default':util[_0x94b1('0xe1')]('<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[_0x94b1('0xe1')](_0x94b1('0x116'),_0x94b1('0x117'),_0x527204['id']),moment()['format'](_0x94b1('0x118'))[_0x94b1('0xa0')]())}}};var _0x1046b8={'channel':_0x94b1('0x117'),'account':_0x527204[_0x94b1('0x10e')][_0x94b1('0x36')],'agent':_0x527204[_0x94b1('0x10f')]?_0x527204['Owner']['fullname']:_0x94b1('0x119'),'createdAt':moment(_0x527204[_0x94b1('0x85')])[_0x94b1('0xe1')](_0x94b1('0x11a'))[_0x94b1('0xa0')](),'closedAt':_0x527204[_0x94b1('0xc5')]?moment(_0x527204[_0x94b1('0x11b')])[_0x94b1('0xe1')](_0x94b1('0x11a'))[_0x94b1('0xa0')]():'','disposition':_0x527204[_0x94b1('0xc6')],'chatInfo':{'browser':_0x527204[_0x94b1('0x11c')],'os':_0x527204['osName'],'referer':_0x527204['referer'],'customerIp':_0x527204[_0x94b1('0x11d')],'customerPort':_0x527204['customerPort']?_0x527204['customerPort']:_0x94b1('0x119')},'messages':_(_0x527204[_0x94b1('0xdc')])[_0x94b1('0x11e')]()[_0x94b1('0x90')]({'secret':![]})[_0x94b1('0x38')](function(_0x1bed17){if(_0x1bed17[_0x94b1('0xd0')]){var _0x136ac3=path[_0x94b1('0xd2')](_0x4beaa8,_0x1bed17['Attachment']['basename']);if(fs[_0x94b1('0x11f')](_0x136ac3)){fs[_0x94b1('0x120')](_0x136ac3)[_0x94b1('0x121')](fs['createWriteStream'](path[_0x94b1('0xd2')](_0x36b436,_0x1bed17['Attachment'][_0x94b1('0xc9')])));}}return{'date':moment(_0x1bed17[_0x94b1('0x85')])['format'](_0x94b1('0x11a'))['toString'](),'sender':_0x1bed17[_0x94b1('0xeb')]===_0x94b1('0x122')?_0x1bed17[_0x94b1('0x7b')]?_0x1bed17[_0x94b1('0x7b')][_0x94b1('0x39')]:_0x94b1('0xdf'):_0x1bed17[_0x94b1('0x123')][_0x94b1('0x10c')]+(_0x1bed17['Contact']['lastName']?'\x20'+_0x1bed17[_0x94b1('0x123')][_0x94b1('0x10d')]:''),'body':_0x1bed17[_0x94b1('0xd0')]?_0x1bed17[_0x94b1('0xd0')][_0x94b1('0xc9')]:_0x1bed17[_0x94b1('0x7f')],'direction':_0x1bed17[_0x94b1('0xeb')]==='out'?'A':'C','secret':_0x1bed17['secret'],'read':_0x1bed17[_0x94b1('0x8b')],'attachment':_0x1bed17['Attachment']};})['value']()};return ejs['renderFile'](path[_0x94b1('0xd2')](config[_0x94b1('0xd3')],_0x94b1('0x124'),_0x94b1('0x125'),_0x94b1('0x126')),{'interaction':_0x1046b8})['then'](function(_0x42fdec){return new BPromise(function(_0x49e927,_0x4fa504){pdf['create'](_0x42fdec,_0x252c8f)[_0x94b1('0x127')](path[_0x94b1('0xd2')](_0x36b436,_0x94b1('0x128')+_0x527204['id']+'-'+_0x400b07+_0x94b1('0x129')),function(_0x46eecd,_0x376f68){if(_0x46eecd)return _0x4fa504(_0x46eecd);_0x49e927(_0x376f68);});});})[_0x94b1('0x20')](function(){return new BPromise(function(_0x39958f,_0xbc244b){zipdir(_0x36b436,{'saveTo':_0x16136d},function(_0x6ee6d2,_0x267a44){if(_0x6ee6d2)return _0xbc244b(_0x6ee6d2);return _0x39958f(_0x267a44);});})[_0x94b1('0x20')](function(){return new BPromise(function(_0x64e990,_0xeeef69){rimraf(_0x36b436,function(_0x5d0ddd){if(_0x5d0ddd)_0xeeef69(_0x5d0ddd);return _0x64e990();});});})[_0x94b1('0x20')](function(){return _0x10d28f[_0x94b1('0x106')](_0x16136d,_0x1f0de4,function(_0x3bee5e){if(_0x3bee5e){console[_0x94b1('0x12a')]('err',_0x3bee5e);}else{fs[_0x94b1('0x12b')](_0x16136d);}});});});}else{return _0x10d28f[_0x94b1('0x2a')](0xc8);}})[_0x94b1('0x3e')](handleError(_0x10d28f,null));};