Built motion from commit 9d1906d1.|2.5.40
[motion2.git] / server / api / cmContact / cmContact.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 _0x6c28=['sortBy','slice','util','path','lodash','squel','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../mysqldb','defaults','redis','localhost','./cmContact.socket','register','status','offset','undefined','limit','count','set','Content-Range','json','update','destroy','end','sendStatus','error','stack','name','send','index','CmContact','then','length','cf_','push','CmCustomField','all','fieldType','type','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','order','sort','select','field','color','from','tools_tags','cm_contacts','cm_user_has_contacts','uc.CmContactId\x20=\x20c.id','left_join','ct.CmContactId\x20=\x20c.id','where','c.deletedAt\x20IS\x20NULL','expr','search','parseSearch','conditions','find','Tag','value','split','map','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','and','uc.UserId\x20=\x20?','castTo','DATE','text','start','filter','isNil','Contact','isEmpty','c.ListId\x20IN\x20?','concat','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','tag','replace','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.id\x20LIKE\x20?','c.phone\x20LIKE\x20?','c.mobile\x20LIKE\x20?','c.fax\x20LIKE\x20?','c.email\x20LIKE\x20?','c.firstName\x20LIKE\x20?','c.lastName\x20LIKE\x20?','group','c.id','Sequelize','SELECT','clone','DESC','user','agent','c.ListId\x20IS\x20NULL','ListId','sequelize','toString','merge','c.firstName','c.lastName','c.phone','c.mobile','c.fax','c.ListId','c.deletedAt','c.CompanyId','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','Tags','rows','catch','params','describe','startsWith','columnName','analytics','findAll','displayName','custom','values','body','get','tags','isArray','join','info','CmHopper','[CmContact][merge][destroy][CmHopper],\x20%s','CmHopperBlack','[CmContact][merge][destroy][CmHopperBlack],\x20%s','ChatInteraction','ChatMessage','MailMessage','SmsMessage','FaxInteraction','FaxMessage','OpenchannelInteraction','OpenchannelMessage','CmHopperHistory','ChatQueueReport','FaxQueueReport','MailQueueReport','OpenchannelQueueReport','SmsQueueReport','JscriptySessionReport','WhatsappInteraction','WhatsappQueueReport','create','bulkCreate','each','duplicates','$or','findOrCreate','spread','show','omit','format','cf_%d','$and','pickBy','table','id\x20=\x20?','toParam','phone','getTags','rawAttributes','pick','options','nolimit','setTags','findOne','getHoppers','ContactId','include','getHopperHistories','getHopperFinals','CmHopperFinal','includeAll','uploadCsv','No\x20ListId\x20specified','No\x20association\x20keys\x20specified!','binding_values','No\x20association\x20values\x20specified!','socket_timestamp','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','binding_keys','Incorrect\x20binding\x20parameters\x20passed!','zipObject','No\x20phone\x20column\x20specified','firstName','server/files/tmp','file','filename','0777','child_process','fork','../../components/import/cm/csv','CompanyId','File\x20uploaded\x20correctly!','upload','createReadStream','parse','meta','import','binding','No\x20firstName\x20column\x20specified','../../components/import/cm/csv2','stringify','message','start\x20child\x20process\x20correctly!','pid','exit','error\x20child\x20process','getJourney','mail','chat','sms','openchannel','fax','whatsapp','includes','channel','toLowerCase','Invalid\x20channel','range','isValid','Invalid\x20date\x20for\x20range\x20to\x20filter','Invalid\x20createdAt\x20filter','voice','source','destination','callerid','starttime','endtime','duration','note','createdAt','userDisposition','userSecondDisposition','userThirdDisposition','fullname','alias','findAndCountAll','Website','Account','closed','disposition','thirdDisposition','UserId','key','customerIp','osName','ratingMessage','ratingType','ratingValue','referer','subject','substatus','threadId','startCase','Owner','flatten'];(function(_0x1eb82d,_0x1e23cb){var _0x2c9502=function(_0x4a3500){while(--_0x4a3500){_0x1eb82d['push'](_0x1eb82d['shift']());}};_0x2c9502(++_0x1e23cb);}(_0x6c28,0x119));var _0x86c2=function(_0x1e29bb,_0x1caaad){_0x1e29bb=_0x1e29bb-0x0;var _0x5a4864=_0x6c28[_0x1e29bb];return _0x5a4864;};'use strict';var moment=require('moment');var BPromise=require('bluebird');var util=require(_0x86c2('0x0'));var path=require(_0x86c2('0x1'));var fs=require('fs');var _=require(_0x86c2('0x2'));var squel=require(_0x86c2('0x3'));var Papa=require('papaparse');var Redis=require(_0x86c2('0x4'));var qs=require(_0x86c2('0x5'));var as=require(_0x86c2('0x6'));var logger=require(_0x86c2('0x7'))('api');var config=require(_0x86c2('0x8'));var db=require(_0x86c2('0x9'))['db'];config['redis']=_[_0x86c2('0xa')](config[_0x86c2('0xb')],{'host':_0x86c2('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x86c2('0xd'))[_0x86c2('0xe')](socket);function respondWithResult(_0x71e0cf,_0x422701){_0x422701=_0x422701||0xc8;return function(_0x3afdbf){if(_0x3afdbf){return _0x71e0cf[_0x86c2('0xf')](_0x422701)['json'](_0x3afdbf);}};}function respondWithFilteredResult(_0xaab7b,_0x1d59be){return function(_0x5d1b59){if(_0x5d1b59){var _0x4ccc7b=typeof _0x1d59be[_0x86c2('0x10')]===_0x86c2('0x11')&&typeof _0x1d59be[_0x86c2('0x12')]===_0x86c2('0x11');var _0x36e7e8=_0x5d1b59[_0x86c2('0x13')];var _0x15ca46=_0x4ccc7b?0x0:_0x1d59be[_0x86c2('0x10')];var _0x134299=_0x4ccc7b?_0x5d1b59[_0x86c2('0x13')]:_0x1d59be[_0x86c2('0x10')]+_0x1d59be['limit'];var _0x14b87c;if(_0x134299>=_0x36e7e8){_0x134299=_0x36e7e8;_0x14b87c=0xc8;}else{_0x14b87c=0xce;}_0xaab7b[_0x86c2('0xf')](_0x14b87c);return _0xaab7b[_0x86c2('0x14')](_0x86c2('0x15'),_0x15ca46+'-'+_0x134299+'/'+_0x36e7e8)[_0x86c2('0x16')](_0x5d1b59);}return null;};}function saveUpdates(_0x13946c){return function(_0x2c1b74){if(_0x2c1b74){return _0x2c1b74[_0x86c2('0x17')](_0x13946c)['then'](function(_0x3ab3e5){return _0x3ab3e5;});}return null;};}function removeEntity(_0x3363ef){return function(_0x3b7241){if(_0x3b7241){return _0x3b7241[_0x86c2('0x18')]()['then'](function(){_0x3363ef[_0x86c2('0xf')](0xcc)[_0x86c2('0x19')]();});}};}function handleEntityNotFound(_0x524136){return function(_0x1d2d0a){if(!_0x1d2d0a){_0x524136[_0x86c2('0x1a')](0x194);}return _0x1d2d0a;};}function handleError(_0x325b2c,_0x553353){_0x553353=_0x553353||0x1f4;return function(_0x17226c){logger[_0x86c2('0x1b')](_0x17226c[_0x86c2('0x1c')]);if(_0x17226c['name']){delete _0x17226c[_0x86c2('0x1d')];}_0x325b2c['status'](_0x553353)[_0x86c2('0x1e')](_0x17226c);};}exports[_0x86c2('0x1f')]=function(_0x4aec04,_0xeb632){var _0x594179={},_0x29730a={},_0x5298d0={'count':0x0,'rows':[]};return db[_0x86c2('0x20')]['describe']()[_0x86c2('0x21')](function(_0x53b9c7){var _0x10aec2=[];for(var _0x3ef7fc=0x0;_0x3ef7fc<Object['keys'](_0x53b9c7)[_0x86c2('0x22')];_0x3ef7fc++){var _0x4ce893=Object['keys'](_0x53b9c7)[_0x3ef7fc];if(_['startsWith'](_0x4ce893,_0x86c2('0x23'))){_0x10aec2[_0x86c2('0x24')](db[_0x86c2('0x25')]['findOne']({'where':{'id':_['trimStart'](_0x4ce893,_0x86c2('0x23'))},'raw':!![]}));}}return BPromise[_0x86c2('0x26')](_0x10aec2)[_0x86c2('0x21')](function(_0x4ff8f3){for(var _0x42f3b1=0x0;_0x42f3b1<_0x4ff8f3[_0x86c2('0x22')];_0x42f3b1++){if(_0x4ff8f3[_0x42f3b1]){var _0x239df5=_0x86c2('0x23')+_0x4ff8f3[_0x42f3b1]['id'];var _0x14e971=_0x53b9c7[_0x239df5];_0x14e971[_0x86c2('0x27')]=_0x4ff8f3[_0x42f3b1][_0x86c2('0x28')];}}return _0x53b9c7;});})[_0x86c2('0x21')](function(_0x453888){_0x29730a[_0x86c2('0x29')]=_[_0x86c2('0x2a')](_0x453888);_0x29730a[_0x86c2('0x2b')]=_[_0x86c2('0x2a')](_0x4aec04[_0x86c2('0x2b')]);_0x29730a[_0x86c2('0x2c')]=_[_0x86c2('0x2d')](_0x29730a[_0x86c2('0x29')],_0x29730a['query']);_0x594179[_0x86c2('0x2e')]=_['intersection'](_0x29730a[_0x86c2('0x29')],qs[_0x86c2('0x2f')](_0x4aec04['query']['fields']));_0x594179[_0x86c2('0x2e')]=_0x594179[_0x86c2('0x2e')]['length']?_0x594179[_0x86c2('0x2e')]:_0x29730a[_0x86c2('0x29')];if(!_0x4aec04[_0x86c2('0x2b')][_0x86c2('0x30')]('nolimit')){_0x594179['limit']=qs[_0x86c2('0x12')](_0x4aec04[_0x86c2('0x2b')][_0x86c2('0x12')]);_0x594179[_0x86c2('0x10')]=qs['offset'](_0x4aec04['query'][_0x86c2('0x10')]);}_0x594179[_0x86c2('0x31')]=qs[_0x86c2('0x32')](_0x4aec04[_0x86c2('0x2b')]['sort']);_0x594179['where']=qs[_0x86c2('0x2c')](_['pick'](_0x4aec04[_0x86c2('0x2b')],_0x29730a[_0x86c2('0x2c')]),_0x453888);var _0x2e4b34=[];var _0x3973b6=squel[_0x86c2('0x33')]()[_0x86c2('0x34')]('id')[_0x86c2('0x34')]('name')[_0x86c2('0x34')](_0x86c2('0x35'))[_0x86c2('0x36')](_0x86c2('0x37'));var _0x8fde6=squel['select']()[_0x86c2('0x36')](_0x86c2('0x38'),'c')['left_join'](_0x86c2('0x39'),'uc',_0x86c2('0x3a'))[_0x86c2('0x3b')]('cm_contact_has_tags','ct',_0x86c2('0x3c'))['left_join'](_0x86c2('0x37'),'t','t.id\x20=\x20ct.TagId')[_0x86c2('0x3d')](_0x86c2('0x3e'));var _0x408fbe=squel['expr']();var _0x59660c=[];var _0x494388=squel[_0x86c2('0x3f')]();var _0x3eab6b;if(_0x4aec04['query'][_0x86c2('0x40')]){_0x3eab6b=as[_0x86c2('0x41')](_0x4aec04[_0x86c2('0x2b')][_0x86c2('0x40')]);var _0x43affc=_0x3eab6b['sqlOperator'];for(var _0x3c1b7b=0x0;_0x3c1b7b<_0x3eab6b[_0x86c2('0x42')][_0x86c2('0x22')];_0x3c1b7b++){var _0x34b686=_0x3eab6b[_0x86c2('0x42')][_0x3c1b7b];var _0x54e967='c';var _0x1c99d3=_(_0x453888)['keys']()[_0x86c2('0x43')](function(_0x2f30d3){return _0x2f30d3===_0x34b686['field'];});if(_0x1c99d3)_0x1c99d3=_0x453888[_0x34b686['field']];if(!_0x1c99d3){if(_0x34b686[_0x86c2('0x34')]===_0x86c2('0x44')){var _0x4df093=_0x34b686[_0x86c2('0x45')][_0x86c2('0x46')](',')[_0x86c2('0x47')](function(_0x287795){return Number(_0x287795);});_0x4df093[_0x86c2('0x48')](function(_0x598a05){_0x494388['or'](_0x86c2('0x49'),'%,'+_0x598a05+',%');});_0x59660c=_[_0x86c2('0x4a')](_0x59660c,_0x4df093);}else if(_0x34b686[_0x86c2('0x34')]===_0x86c2('0x4b')){_0x408fbe[_0x86c2('0x4c')](_0x86c2('0x4d'),_0x34b686[_0x86c2('0x45')]);}}else{if(_0x34b686[_0x86c2('0x34')]==='dateOfBirth'||_0x1c99d3[_0x86c2('0x27')]==='datetime')_0x34b686[_0x86c2('0x4e')]=_0x86c2('0x4f');var _0x2747a0=as['buildExpression'](_0x54e967,_0x1c99d3[_0x86c2('0x28')],_0x34b686);_0x408fbe[_0x43affc](_0x2747a0[_0x86c2('0x50')],_0x2747a0[_0x86c2('0x45')][_0x86c2('0x51')],_0x2747a0[_0x86c2('0x45')][_0x86c2('0x19')]);}}}else{var _0x368589=_(Object[_0x86c2('0x2a')](_0x4aec04['query']))[_0x86c2('0x47')](function(_0x1bb2e7){return _0x453888['hasOwnProperty'](_0x1bb2e7)?_0x1bb2e7:undefined;})[_0x86c2('0x52')](function(_0x39694f){return!_[_0x86c2('0x53')](_0x39694f);})[_0x86c2('0x45')]();if(_0x4aec04[_0x86c2('0x2b')][_0x86c2('0x54')])_0x368589[_0x86c2('0x24')](_0x86c2('0x54'));if(!_[_0x86c2('0x55')](_0x368589)){_0x368589[_0x86c2('0x48')](function(_0x32c22d){if(_0x32c22d==='ListId'){_0x8fde6['where'](_0x86c2('0x56'),[][_0x86c2('0x57')](_0x4aec04[_0x86c2('0x2b')][_0x32c22d]));}else if(_0x32c22d==='Contact'){var _0x3d75a0='%'+_0x4aec04[_0x86c2('0x2b')][_0x32c22d]+'%';_0x8fde6[_0x86c2('0x3d')](_0x86c2('0x58'),_0x3d75a0);}else{_0x8fde6[_0x86c2('0x3d')]('c.'+_0x32c22d+'\x20=\x20?',_0x4aec04['query'][_0x32c22d]);}});}if(_0x4aec04[_0x86c2('0x2b')][_0x86c2('0x59')]){_0x59660c=_['isArray'](_0x4aec04[_0x86c2('0x2b')][_0x86c2('0x59')])?_0x4aec04['query']['tag']:new Array(_0x4aec04[_0x86c2('0x2b')][_0x86c2('0x59')]);_0x59660c['forEach'](function(_0x2a8443){_0x494388['or'](_0x86c2('0x49'),'%,'+_0x2a8443+',%');});}if(_0x4aec04[_0x86c2('0x2b')]['filter']){var _0x2e228b=_0x4aec04[_0x86c2('0x2b')]['filter'][_0x86c2('0x5a')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(_0x2e228b[_0x86c2('0x46')]('\x20')[_0x86c2('0x22')]>0x1){_0x408fbe['or'](_0x86c2('0x5b'),qs[_0x86c2('0x5c')](_0x2e228b),null);}else{if(qs['isNumeric'](_0x2e228b)){_0x408fbe['or'](_0x86c2('0x5d'),_0x2e228b+'%');_0x408fbe['or'](_0x86c2('0x5e'),_0x2e228b+'%');_0x408fbe['or'](_0x86c2('0x5f'),_0x2e228b+'%');_0x408fbe['or'](_0x86c2('0x60'),_0x2e228b+'%');}else if(qs['isEmail'](_0x2e228b)){_0x408fbe['or'](_0x86c2('0x61'),_0x2e228b+'%');}else{_0x408fbe['or'](_0x86c2('0x62'),'%'+_0x2e228b+'%');_0x408fbe['or'](_0x86c2('0x63'),'%'+_0x2e228b+'%');_0x408fbe['or']('c.email\x20LIKE\x20?','%'+_0x2e228b+'%');}}}}_0x8fde6['where'](_0x408fbe);_0x8fde6[_0x86c2('0x64')](_0x86c2('0x65'));var _0xe6a849={'type':db[_0x86c2('0x66')]['QueryTypes'][_0x86c2('0x67')],'raw':!![]};var _0x2a3d77=_0x8fde6[_0x86c2('0x68')]()['field'](_0x86c2('0x65'));if(_0x594179[_0x86c2('0x31')]){_0x594179['order'][_0x86c2('0x48')](function(_0x1bec90){_0x8fde6[_0x86c2('0x31')]('c.'+_0x1bec90[0x0],_0x1bec90[0x1]===_0x86c2('0x69')?![]:!![]);});}if(!_[_0x86c2('0x55')](_0x59660c)){_0x8fde6['having'](_0x494388);_0x2a3d77[_0x86c2('0x3d')]('t.id\x20IN\x20?',_0x59660c);}BPromise['resolve']()[_0x86c2('0x21')](function(){if(!_0x3eab6b)return;if(_0x4aec04[_0x86c2('0x6a')]['role']!==_0x86c2('0x6b'))return;if(!_['some'](_0x3eab6b[_0x86c2('0x42')],[_0x86c2('0x34'),_0x86c2('0x4b')])){return _0x4aec04[_0x86c2('0x6a')]['getLists']({'attributes':['id'],'raw':!![]})[_0x86c2('0x21')](function(_0xde4e87){if(_[_0x86c2('0x55')](_0xde4e87)){_0x2a3d77['where'](_0x86c2('0x6c'));_0x8fde6[_0x86c2('0x3d')](_0x86c2('0x6c'));}else{_0x2a3d77['where'](_0x86c2('0x56'),_[_0x86c2('0x47')](_0xde4e87,'id'));_0x8fde6[_0x86c2('0x3d')]('c.ListId\x20IN\x20?',_[_0x86c2('0x47')](_0xde4e87,'id'));}});}})[_0x86c2('0x21')](function(){if(_0x4aec04[_0x86c2('0x6a')]['role']===_0x86c2('0x6b')&&!_0x3eab6b&&!_0x4aec04[_0x86c2('0x2b')][_0x86c2('0x6d')])return[];return db[_0x86c2('0x6e')]['query'](_0x2a3d77['toString'](),_0xe6a849);})['then'](function(_0x2b32b4){_0x5298d0[_0x86c2('0x13')]=_0x2b32b4[_0x86c2('0x22')];if(_0x5298d0[_0x86c2('0x13')]===0x0)return[];return db[_0x86c2('0x6e')]['query'](_0x3973b6[_0x86c2('0x6f')](),_0xe6a849)[_0x86c2('0x21')](function(_0x164391){_0x2e4b34=_['keyBy'](_0x164391,'id');_0xe6a849=_[_0x86c2('0x70')](_0xe6a849,{'model':db['CmContact'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x4aec04['query'][_0x86c2('0x2f')]){_0x594179[_0x86c2('0x2e')][_0x86c2('0x48')](function(_0x2e2663){_0x8fde6[_0x86c2('0x34')]('c.'+_0x2e2663);});}else{_0x8fde6[_0x86c2('0x34')]('c.id');_0x8fde6[_0x86c2('0x34')](_0x86c2('0x71'));_0x8fde6[_0x86c2('0x34')](_0x86c2('0x72'));_0x8fde6[_0x86c2('0x34')](_0x86c2('0x73'));_0x8fde6[_0x86c2('0x34')](_0x86c2('0x74'));_0x8fde6[_0x86c2('0x34')](_0x86c2('0x75'));_0x8fde6[_0x86c2('0x34')]('c.email');_0x8fde6[_0x86c2('0x34')](_0x86c2('0x76'));_0x8fde6[_0x86c2('0x34')]('c.createdAt');_0x8fde6[_0x86c2('0x34')](_0x86c2('0x77'));_0x8fde6[_0x86c2('0x34')](_0x86c2('0x78'));_0x8fde6[_0x86c2('0x34')](_0x86c2('0x79'),_0x86c2('0x7a'));}if(_0x594179[_0x86c2('0x12')])_0x8fde6['limit'](_0x594179[_0x86c2('0x12')]);if(_0x594179[_0x86c2('0x10')])_0x8fde6[_0x86c2('0x10')](_0x594179['offset']);return db[_0x86c2('0x6e')][_0x86c2('0x2b')](_0x8fde6[_0x86c2('0x6f')](),_0xe6a849);});})[_0x86c2('0x21')](function(_0x1c5691){_0x1c5691[_0x86c2('0x48')](function(_0x5a928c){if(_0x5a928c[_0x86c2('0x7a')]){_0x5a928c['Tags']=[];_0x5a928c[_0x86c2('0x7a')][_0x86c2('0x46')](',')[_0x86c2('0x48')](function(_0x4ec9e6){_0x5a928c[_0x86c2('0x7b')][_0x86c2('0x24')](_0x2e4b34[_0x4ec9e6]);});}delete _0x5a928c[_0x86c2('0x7a')];});_0x5298d0[_0x86c2('0x7c')]=_0x1c5691;return _0x5298d0;})[_0x86c2('0x21')](respondWithFilteredResult(_0xeb632,_0x594179));})[_0x86c2('0x7d')](handleError(_0xeb632,null));};exports[_0x86c2('0x18')]=function(_0x34f514,_0x1d9601){return db[_0x86c2('0x20')][_0x86c2('0x43')]({'where':{'id':_0x34f514[_0x86c2('0x7e')]['id']}})[_0x86c2('0x21')](handleEntityNotFound(_0x1d9601,null))[_0x86c2('0x21')](removeEntity(_0x1d9601,null))['catch'](handleError(_0x1d9601,null));};exports[_0x86c2('0x7f')]=function(_0x35e9a0,_0x5a03d4){return db[_0x86c2('0x20')][_0x86c2('0x7f')]()[_0x86c2('0x21')](function(_0x223f0e){delete _0x223f0e['tags'];for(var _0x326ee0=0x0;_0x326ee0<Object[_0x86c2('0x2a')](_0x223f0e)[_0x86c2('0x22')];_0x326ee0++){var _0x5c56e1=Object[_0x86c2('0x2a')](_0x223f0e)[_0x326ee0];if(!_[_0x86c2('0x80')](_0x5c56e1,_0x86c2('0x23'))){_0x223f0e[_0x5c56e1][_0x86c2('0x81')]=_0x5c56e1;_0x223f0e[_0x5c56e1]['displayName']=_0x5c56e1;}}return _0x223f0e;})[_0x86c2('0x21')](function(_0x2ce173){var _0x105511={'where':Boolean(_0x35e9a0['query'][_0x86c2('0x82')])===!![]?undefined:{'$or':[{'ListId':_0x35e9a0[_0x86c2('0x2b')]['id']},{'ListId':null}]},'raw':!![]};return db['CmCustomField'][_0x86c2('0x83')](_0x105511)[_0x86c2('0x21')](function(_0x34bd85){for(var _0x128f1a=0x0;_0x128f1a<_0x34bd85[_0x86c2('0x22')];_0x128f1a++){var _0x58f051=_0x86c2('0x23')+_0x34bd85[_0x128f1a]['id'];_0x2ce173[_0x58f051][_0x86c2('0x81')]=_0x58f051;_0x2ce173[_0x58f051][_0x86c2('0x84')]=_0x34bd85[_0x128f1a]['alias'];_0x2ce173[_0x58f051][_0x86c2('0x85')]={'type':_0x34bd85[_0x128f1a][_0x86c2('0x28')],'values':_0x34bd85[_0x128f1a][_0x86c2('0x86')]};}Object[_0x86c2('0x2a')](_0x2ce173)[_0x86c2('0x48')](function(_0x1b5edf){if(!_0x2ce173[_0x1b5edf]['hasOwnProperty'](_0x86c2('0x81'))){delete _0x2ce173[_0x1b5edf];}});return _0x2ce173;});})[_0x86c2('0x21')](respondWithResult(_0x5a03d4,null))['catch'](handleError(_0x5a03d4,null));};exports[_0x86c2('0x70')]=function(_0x5aac49,_0x18d648){var _0x4aa826;var _0x24ff12;var _0x36bb95;if(_0x5aac49['body']['id']){delete _0x5aac49['body']['id'];}return db[_0x86c2('0x20')][_0x86c2('0x83')]({'where':{'id':[_0x5aac49[_0x86c2('0x87')]['to'],_0x5aac49[_0x86c2('0x87')][_0x86c2('0x36')]]}})[_0x86c2('0x21')](function(_0x479aae){if(_0x479aae){if(_0x479aae['length']!==0x2){return null;}_0x479aae[0x0]=_0x479aae[0x0][_0x86c2('0x88')]({'plain':!![]});_0x479aae[0x1]=_0x479aae[0x1]['get']({'plain':!![]});delete _0x479aae[0x0]['id'];delete _0x479aae[0x1]['id'];return _['mergeWith'](_0x479aae[0x0],_0x479aae[0x1],function(_0x377b92,_0x301f99){if(Array['isArray'](_0x301f99)&&!_0x301f99['length']){return _0x377b92;}else if(!_0x301f99){return _0x377b92;}});}})[_0x86c2('0x21')](handleEntityNotFound(_0x18d648,null))[_0x86c2('0x21')](function(_0x551953){if(_0x551953){if(_0x551953[_0x86c2('0x89')]&&_[_0x86c2('0x8a')](_0x551953['tags'])){_0x551953[_0x86c2('0x89')]=_0x551953[_0x86c2('0x89')][_0x86c2('0x8b')]();}logger[_0x86c2('0x8c')]('[CmContact][merge]\x20to\x20%s\x20from\x20%s',_0x5aac49[_0x86c2('0x87')]['to'],_0x5aac49[_0x86c2('0x87')]['from']);return db[_0x86c2('0x8d')][_0x86c2('0x18')]({'where':{'ContactId':[_0x5aac49[_0x86c2('0x87')]['to'],_0x5aac49[_0x86c2('0x87')][_0x86c2('0x36')]]}})[_0x86c2('0x21')](function(_0x3912c6){logger[_0x86c2('0x8c')](_0x86c2('0x8e'),_0x3912c6);return db[_0x86c2('0x8f')][_0x86c2('0x18')]({'where':{'ContactId':[_0x5aac49['body']['to'],_0x5aac49['body']['from']]}})['then'](function(_0x18f88b){logger[_0x86c2('0x8c')](_0x86c2('0x90'),_0x18f88b);return db[_0x86c2('0x20')]['create'](_0x551953);});});}})[_0x86c2('0x21')](function(_0x3f7d0d){if(_0x3f7d0d){_0x4aa826=_0x3f7d0d;_0x24ff12={'ContactId':_0x4aa826['id']};_0x36bb95={'where':{'ContactId':[_0x5aac49[_0x86c2('0x87')]['to'],_0x5aac49['body'][_0x86c2('0x36')]]}};return db[_0x86c2('0x91')]['update'](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0x92')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db['ChatOfflineMessage']['update'](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db['MailInteraction'][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0x93')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db['MailInteraction'][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0x93')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db['SmsInteraction']['update'](_0x24ff12,_0x36bb95);}})['then'](function(){if(_0x4aa826){return db[_0x86c2('0x94')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0x95')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0x96')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0x97')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0x98')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db['CmHopperFinal'][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})['then'](function(){if(_0x4aa826){return db[_0x86c2('0x99')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})['then'](function(){if(_0x4aa826){return db['ReportAgentPreview'][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db['VoiceCallReport'][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0x9a')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0x9b')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})['then'](function(){if(_0x4aa826){return db[_0x86c2('0x9c')]['update'](_0x24ff12,_0x36bb95);}})['then'](function(){if(_0x4aa826){return db[_0x86c2('0x9d')]['update'](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0x9e')]['update'](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0x9f')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0xa0')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db['WhatsappMessage']['update'](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db[_0x86c2('0xa1')][_0x86c2('0x17')](_0x24ff12,_0x36bb95);}})[_0x86c2('0x21')](function(){if(_0x4aa826){return db['CmContact'][_0x86c2('0x18')]({'where':{'id':[_0x5aac49[_0x86c2('0x87')]['to'],_0x5aac49['body'][_0x86c2('0x36')]]}});}})['then'](function(){if(_0x4aa826){return _0x4aa826;}})[_0x86c2('0x21')](respondWithResult(_0x18d648,null))[_0x86c2('0x7d')](handleError(_0x18d648,null));};exports[_0x86c2('0xa2')]=function(_0x14da7e,_0x4b111a){return db[_0x86c2('0x20')]['describe']()[_0x86c2('0x21')](function(_0x3f547e){if(_0x14da7e[_0x86c2('0x87')][_0x86c2('0x89')]&&_['isArray'](_0x14da7e[_0x86c2('0x87')][_0x86c2('0x89')])){if(_0x14da7e[_0x86c2('0x87')][_0x86c2('0x89')][_0x86c2('0x22')]){_0x14da7e['body'][_0x86c2('0x89')]=_0x14da7e[_0x86c2('0x87')][_0x86c2('0x89')][_0x86c2('0x8b')](';')+';';}else{_0x14da7e[_0x86c2('0x87')]['tags']=null;}}else{_0x14da7e['body'][_0x86c2('0x89')]=null;}return db[_0x86c2('0x20')][_0x86c2('0xa2')](_0x14da7e[_0x86c2('0x87')],{'fields':_[_0x86c2('0x2a')](_0x3f547e),'raw':!![]});})['then'](respondWithResult(_0x4b111a,0xc9))[_0x86c2('0x7d')](handleError(_0x4b111a,null));};exports[_0x86c2('0xa3')]=function(_0x16fdd3,_0x3c51ac){var _0x395b6c=0x0;var _0x5891da=0x0;var _0x102590=0x0;return db[_0x86c2('0x20')][_0x86c2('0x7f')]()[_0x86c2('0x21')](function(_0x5b1ce7){return BPromise[_0x86c2('0xa4')](_0x16fdd3[_0x86c2('0x87')],function(_0x249a2a){var _0x537ee3={'where':{'$or':[]},'defaults':_0x249a2a,'fields':_[_0x86c2('0x2a')](_0x5b1ce7),'raw':!![]};if(_0x249a2a[_0x86c2('0xa5')]){for(var _0x5c388b=0x0;_0x5c388b<_0x249a2a[_0x86c2('0xa5')][_0x86c2('0x22')];_0x5c388b++){var _0x40249f={};_0x40249f[_0x249a2a[_0x86c2('0xa5')][_0x5c388b]]=_0x249a2a[_0x249a2a[_0x86c2('0xa5')][_0x5c388b]];_0x537ee3['where'][_0x86c2('0xa6')][_0x86c2('0x24')](_0x40249f);}_0x537ee3[_0x86c2('0x3d')][_0x86c2('0x6d')]=_0x249a2a[_0x86c2('0x6d')];}return db[_0x86c2('0x20')][_0x86c2('0xa7')](_0x537ee3)[_0x86c2('0xa8')](function(_0x2dcb8a,_0x361b9a){if(_0x361b9a){_0x395b6c++;}else{_0x102590++;}})[_0x86c2('0x7d')](function(){_0x5891da++;});});})[_0x86c2('0x21')](function(_0x55b228){if(_0x55b228){return{'success':_0x395b6c,'failure':_0x5891da,'duplicates':_0x102590};}})[_0x86c2('0x21')](respondWithResult(_0x3c51ac,0xc9))['catch'](handleError(_0x3c51ac,null));};exports[_0x86c2('0xa9')]=function(_0x3e4d5f,_0x5c5a45){var _0x1f3b8c;return db['CmContact']['describe']()[_0x86c2('0x21')](function(_0x4562e5){return db[_0x86c2('0x20')]['find']({'where':{'id':_0x3e4d5f[_0x86c2('0x7e')]['id']},'include':[{'model':db['Tag'],'as':_0x86c2('0x7b'),'attributes':['id',_0x86c2('0x1d'),_0x86c2('0x35')],'required':_0x3e4d5f[_0x86c2('0x2b')]['tag']?!![]:![]}],'attributes':_[_0x86c2('0x2a')](_0x4562e5)});})['then'](function(_0x545bd2){if(!_[_0x86c2('0x53')](_0x545bd2)){_0x1f3b8c=_0x545bd2[_0x86c2('0x88')]({'plain':!![]});var _0x52c1a4={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x545bd2&&_0x545bd2['ListId']){if(_0x545bd2[_0x86c2('0x6d')]){_0x52c1a4[_0x86c2('0x3d')]['$and']['push']({'ListId':{'$ne':_0x545bd2[_0x86c2('0x6d')]}});}}return db[_0x86c2('0x25')][_0x86c2('0x83')](_0x52c1a4);}})[_0x86c2('0x21')](function(_0x42bc89){if(!_[_0x86c2('0x53')](_0x42bc89)){return _[_0x86c2('0xaa')](_0x1f3b8c,_[_0x86c2('0x47')](_0x42bc89,function(_0x23be3a){return util[_0x86c2('0xab')](_0x86c2('0xac'),_0x23be3a['id']);}));}})['then'](handleEntityNotFound(_0x5c5a45,null))[_0x86c2('0x21')](respondWithResult(_0x5c5a45,null))[_0x86c2('0x7d')](handleError(_0x5c5a45,null));};exports[_0x86c2('0x17')]=function(_0x14f9a1,_0x2a1f53){var _0xdf821a;if(_0x14f9a1[_0x86c2('0x87')]['id']){delete _0x14f9a1[_0x86c2('0x87')]['id'];}return db[_0x86c2('0x20')][_0x86c2('0x43')]({'where':{'id':_0x14f9a1[_0x86c2('0x7e')]['id']}})[_0x86c2('0x21')](handleEntityNotFound(_0x2a1f53,null))[_0x86c2('0x21')](saveUpdates(_0x14f9a1['body'],null))[_0x86c2('0x21')](function(_0x17719a){_0xdf821a=_0x17719a;var _0x39615b={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x17719a&&_0x17719a[_0x86c2('0x6d')]){if(_0x17719a[_0x86c2('0x6d')]){_0x39615b[_0x86c2('0x3d')][_0x86c2('0xad')][_0x86c2('0x24')]({'ListId':{'$ne':_0x17719a['ListId']}});}}return db[_0x86c2('0x25')][_0x86c2('0x83')](_0x39615b);})['then'](function(_0x3af939){if(_0x3af939){return _[_0x86c2('0xaa')](_[_0x86c2('0xae')](_0x14f9a1[_0x86c2('0x87')],function(_0x233fb3,_0x2d4af6){return _[_0x86c2('0x80')](_0x2d4af6,_0x86c2('0x23'));}),_['map'](_0x3af939,function(_0x54bb35){return util[_0x86c2('0xab')](_0x86c2('0xac'),_0x54bb35['id']);}));}})[_0x86c2('0x21')](function(_0x151ce7){if(_0x151ce7&&!_['isEmpty'](_0x151ce7)){var _0x2818aa=squel[_0x86c2('0x17')]()[_0x86c2('0xaf')](_0x86c2('0x38'))['setFields'](_0x151ce7)[_0x86c2('0x3d')](_0x86c2('0xb0'),_0x14f9a1[_0x86c2('0x7e')]['id'])[_0x86c2('0xb1')]();return db['sequelize'][_0x86c2('0x2b')](_0x2818aa[_0x86c2('0x50')],{'replacements':_0x2818aa[_0x86c2('0x86')]});}})[_0x86c2('0x21')](function(){if(_0x14f9a1[_0x86c2('0x87')]['phone']&&_0xdf821a){return db[_0x86c2('0x8d')][_0x86c2('0x17')]({'phone':_0x14f9a1['body'][_0x86c2('0xb2')]},{'where':{'ContactId':_0xdf821a['id']}});}})[_0x86c2('0x21')](function(){return _0xdf821a;})['then'](respondWithResult(_0x2a1f53,null))['catch'](handleError(_0x2a1f53,null));};exports[_0x86c2('0xb3')]=function(_0x40d575,_0x375bed){var _0xfc97c7={};var _0x3b1d8b={};var _0x2d3762;var _0x2e61ac;return db[_0x86c2('0x20')]['findOne']({'where':{'id':_0x40d575[_0x86c2('0x7e')]['id']}})[_0x86c2('0x21')](handleEntityNotFound(_0x375bed,null))[_0x86c2('0x21')](function(_0x76a65c){if(_0x76a65c){_0x2d3762=_0x76a65c;_0x3b1d8b[_0x86c2('0x29')]=_[_0x86c2('0x2a')](db[_0x86c2('0x44')][_0x86c2('0xb4')]);_0x3b1d8b['query']=_[_0x86c2('0x2a')](_0x40d575[_0x86c2('0x2b')]);_0x3b1d8b[_0x86c2('0x2c')]=_[_0x86c2('0x2d')](_0x3b1d8b['model'],_0x3b1d8b[_0x86c2('0x2b')]);_0xfc97c7[_0x86c2('0x2e')]=_[_0x86c2('0x2d')](_0x3b1d8b[_0x86c2('0x29')],qs[_0x86c2('0x2f')](_0x40d575[_0x86c2('0x2b')][_0x86c2('0x2f')]));_0xfc97c7[_0x86c2('0x2e')]=_0xfc97c7['attributes'][_0x86c2('0x22')]?_0xfc97c7[_0x86c2('0x2e')]:_0x3b1d8b['model'];_0xfc97c7[_0x86c2('0x31')]=qs[_0x86c2('0x32')](_0x40d575['query'][_0x86c2('0x32')]);_0xfc97c7[_0x86c2('0x3d')]=qs[_0x86c2('0x2c')](_[_0x86c2('0xb5')](_0x40d575[_0x86c2('0x2b')],_0x3b1d8b[_0x86c2('0x2c')]));if(_0x40d575[_0x86c2('0x2b')][_0x86c2('0x52')]){_0xfc97c7[_0x86c2('0x3d')]=_[_0x86c2('0x70')](_0xfc97c7[_0x86c2('0x3d')],{'$or':_[_0x86c2('0x47')](_0xfc97c7[_0x86c2('0x2e')],function(_0x4ed24b){var _0x574fce={};_0x574fce[_0x4ed24b]={'$like':'%'+_0x40d575['query']['filter']+'%'};return _0x574fce;})});}_0xfc97c7=_[_0x86c2('0x70')]({},_0xfc97c7,_0x40d575[_0x86c2('0xb6')]);return _0x2d3762[_0x86c2('0xb3')](_0xfc97c7);}})[_0x86c2('0x21')](function(_0x1fd6e3){if(_0x1fd6e3){_0x2e61ac=_0x1fd6e3['length'];if(!_0x40d575[_0x86c2('0x2b')][_0x86c2('0x30')](_0x86c2('0xb7'))){_0xfc97c7[_0x86c2('0x12')]=qs[_0x86c2('0x12')](_0x40d575['query'][_0x86c2('0x12')]);_0xfc97c7[_0x86c2('0x10')]=qs[_0x86c2('0x10')](_0x40d575[_0x86c2('0x2b')][_0x86c2('0x10')]);}return _0x2d3762['getTags'](_0xfc97c7);}})[_0x86c2('0x21')](function(_0x174838){if(_0x174838){return _0x174838?{'count':_0x2e61ac,'rows':_0x174838}:null;}})['then'](respondWithResult(_0x375bed,null))[_0x86c2('0x7d')](handleError(_0x375bed,null));};exports[_0x86c2('0xb8')]=function(_0x18a0d8,_0x37b8f4){if(_0x18a0d8[_0x86c2('0x87')]['id']){delete _0x18a0d8[_0x86c2('0x87')]['id'];}return db[_0x86c2('0x20')][_0x86c2('0xb9')]({'where':{'id':_0x18a0d8[_0x86c2('0x7e')]['id']}})['then'](handleEntityNotFound(_0x37b8f4,null))['then'](function(_0x42434d){if(_0x42434d){return _0x42434d[_0x86c2('0xb8')](_0x18a0d8['body']['ids']||[]);}return null;})[_0x86c2('0x21')](respondWithResult(_0x37b8f4,null))[_0x86c2('0x7d')](handleError(_0x37b8f4,null));};exports[_0x86c2('0xba')]=function(_0x6c945,_0x9ba982){var _0x2f50e0={'raw':![],'where':{}};var _0x4b3168={};var _0x24aca7={'count':0x0,'rows':[]};return db[_0x86c2('0x20')][_0x86c2('0xb9')]({'where':{'id':_0x6c945[_0x86c2('0x7e')]['id']}})['then'](handleEntityNotFound(_0x9ba982,null))[_0x86c2('0x21')](function(_0x5942f0){if(_0x5942f0){_0x4b3168[_0x86c2('0x29')]=_[_0x86c2('0x2a')](db[_0x86c2('0x8d')][_0x86c2('0xb4')]);_0x4b3168['query']=_[_0x86c2('0x2a')](_0x6c945['query']);_0x4b3168['filters']=_['intersection'](_0x4b3168['model'],_0x4b3168[_0x86c2('0x2b')]);_0x2f50e0[_0x86c2('0x2e')]=_[_0x86c2('0x2d')](_0x4b3168[_0x86c2('0x29')],qs[_0x86c2('0x2f')](_0x6c945[_0x86c2('0x2b')][_0x86c2('0x2f')]));_0x2f50e0[_0x86c2('0x2e')]=_0x2f50e0[_0x86c2('0x2e')][_0x86c2('0x22')]?_0x2f50e0[_0x86c2('0x2e')]:_0x4b3168[_0x86c2('0x29')];if(!_0x6c945[_0x86c2('0x2b')][_0x86c2('0x30')](_0x86c2('0xb7'))){_0x2f50e0[_0x86c2('0x12')]=qs['limit'](_0x6c945[_0x86c2('0x2b')][_0x86c2('0x12')]);_0x2f50e0['offset']=qs[_0x86c2('0x10')](_0x6c945[_0x86c2('0x2b')][_0x86c2('0x10')]);}_0x2f50e0[_0x86c2('0x31')]=qs['sort'](_0x6c945[_0x86c2('0x2b')][_0x86c2('0x32')]);_0x2f50e0[_0x86c2('0x3d')]=qs['filters'](_[_0x86c2('0xb5')](_0x6c945[_0x86c2('0x2b')],_0x4b3168[_0x86c2('0x2c')]));_0x2f50e0[_0x86c2('0x3d')][_0x86c2('0xbb')]=_0x5942f0['id'];if(_0x6c945[_0x86c2('0x2b')][_0x86c2('0x52')]){_0x2f50e0['where']=_[_0x86c2('0x70')](_0x2f50e0[_0x86c2('0x3d')],{'$or':_[_0x86c2('0x47')](_0x2f50e0['attributes'],function(_0x39fa43){var _0x3a7910={};_0x3a7910[_0x39fa43]={'$like':'%'+_0x6c945[_0x86c2('0x2b')][_0x86c2('0x52')]+'%'};return _0x3a7910;})});}_0x2f50e0=_[_0x86c2('0x70')]({},_0x2f50e0,_0x6c945[_0x86c2('0xb6')]);return db[_0x86c2('0x8d')]['count']({'where':_0x2f50e0['where']})['then'](function(_0x51e062){_0x24aca7[_0x86c2('0x13')]=_0x51e062;if(_0x6c945[_0x86c2('0x2b')]['includeAll']){_0x2f50e0[_0x86c2('0xbc')]=[{'all':!![]}];}return db[_0x86c2('0x8d')][_0x86c2('0x83')](_0x2f50e0);})[_0x86c2('0x21')](function(_0xdbdc1b){_0x24aca7[_0x86c2('0x7c')]=_0xdbdc1b;return _0x24aca7;});}})['then'](respondWithFilteredResult(_0x9ba982,_0x2f50e0))[_0x86c2('0x7d')](handleError(_0x9ba982,null));};exports[_0x86c2('0xbd')]=function(_0x23f798,_0x3c483a){var _0x31ce18={'raw':!![],'where':{}};var _0xe6c5f0={};var _0xdace43={'count':0x0,'rows':[]};return db[_0x86c2('0x20')][_0x86c2('0xb9')]({'where':{'id':_0x23f798[_0x86c2('0x7e')]['id']}})[_0x86c2('0x21')](handleEntityNotFound(_0x3c483a,null))[_0x86c2('0x21')](function(_0x3bd0ab){if(_0x3bd0ab){_0xe6c5f0[_0x86c2('0x29')]=_['keys'](db['CmHopperHistory'][_0x86c2('0xb4')]);_0xe6c5f0[_0x86c2('0x2b')]=_[_0x86c2('0x2a')](_0x23f798['query']);_0xe6c5f0[_0x86c2('0x2c')]=_[_0x86c2('0x2d')](_0xe6c5f0[_0x86c2('0x29')],_0xe6c5f0['query']);_0x31ce18[_0x86c2('0x2e')]=_[_0x86c2('0x2d')](_0xe6c5f0['model'],qs['fields'](_0x23f798[_0x86c2('0x2b')]['fields']));_0x31ce18[_0x86c2('0x2e')]=_0x31ce18[_0x86c2('0x2e')][_0x86c2('0x22')]?_0x31ce18[_0x86c2('0x2e')]:_0xe6c5f0[_0x86c2('0x29')];if(!_0x23f798[_0x86c2('0x2b')][_0x86c2('0x30')]('nolimit')){_0x31ce18[_0x86c2('0x12')]=qs[_0x86c2('0x12')](_0x23f798[_0x86c2('0x2b')][_0x86c2('0x12')]);_0x31ce18[_0x86c2('0x10')]=qs[_0x86c2('0x10')](_0x23f798[_0x86c2('0x2b')]['offset']);}_0x31ce18[_0x86c2('0x31')]=qs[_0x86c2('0x32')](_0x23f798[_0x86c2('0x2b')][_0x86c2('0x32')]);_0x31ce18['where']=qs[_0x86c2('0x2c')](_[_0x86c2('0xb5')](_0x23f798[_0x86c2('0x2b')],_0xe6c5f0[_0x86c2('0x2c')]));_0x31ce18[_0x86c2('0x3d')]['ContactId']=_0x3bd0ab['id'];if(_0x23f798[_0x86c2('0x2b')]['filter']){_0x31ce18[_0x86c2('0x3d')]=_[_0x86c2('0x70')](_0x31ce18['where'],{'$or':_['map'](_0x31ce18[_0x86c2('0x2e')],function(_0x1a6d5e){var _0x502f4d={};_0x502f4d[_0x1a6d5e]={'$like':'%'+_0x23f798[_0x86c2('0x2b')][_0x86c2('0x52')]+'%'};return _0x502f4d;})});}_0x31ce18=_[_0x86c2('0x70')]({},_0x31ce18,_0x23f798[_0x86c2('0xb6')]);return db[_0x86c2('0x99')]['count']({'where':_0x31ce18[_0x86c2('0x3d')]})[_0x86c2('0x21')](function(_0x3ba4da){_0xdace43['count']=_0x3ba4da;if(_0x23f798['query']['includeAll']){_0x31ce18[_0x86c2('0xbc')]=[{'all':!![]}];}return db[_0x86c2('0x99')]['findAll'](_0x31ce18);})[_0x86c2('0x21')](function(_0x46ce18){_0xdace43[_0x86c2('0x7c')]=_0x46ce18;return _0xdace43;});}})[_0x86c2('0x21')](respondWithFilteredResult(_0x3c483a,_0x31ce18))[_0x86c2('0x7d')](handleError(_0x3c483a,null));};exports[_0x86c2('0xbe')]=function(_0x18352d,_0x2eaf69){var _0x451e88={'raw':!![],'where':{}};var _0x541e2e={};var _0x27e183={'count':0x0,'rows':[]};return db[_0x86c2('0x20')]['findOne']({'where':{'id':_0x18352d['params']['id']}})['then'](handleEntityNotFound(_0x2eaf69,null))[_0x86c2('0x21')](function(_0x5b8f0b){if(_0x5b8f0b){_0x541e2e[_0x86c2('0x29')]=_['keys'](db['CmHopperFinal']['rawAttributes']);_0x541e2e[_0x86c2('0x2b')]=_[_0x86c2('0x2a')](_0x18352d['query']);_0x541e2e[_0x86c2('0x2c')]=_[_0x86c2('0x2d')](_0x541e2e[_0x86c2('0x29')],_0x541e2e['query']);_0x451e88[_0x86c2('0x2e')]=_[_0x86c2('0x2d')](_0x541e2e[_0x86c2('0x29')],qs[_0x86c2('0x2f')](_0x18352d[_0x86c2('0x2b')][_0x86c2('0x2f')]));_0x451e88[_0x86c2('0x2e')]=_0x451e88[_0x86c2('0x2e')][_0x86c2('0x22')]?_0x451e88[_0x86c2('0x2e')]:_0x541e2e[_0x86c2('0x29')];if(!_0x18352d[_0x86c2('0x2b')][_0x86c2('0x30')](_0x86c2('0xb7'))){_0x451e88['limit']=qs['limit'](_0x18352d['query'][_0x86c2('0x12')]);_0x451e88['offset']=qs['offset'](_0x18352d[_0x86c2('0x2b')][_0x86c2('0x10')]);}_0x451e88[_0x86c2('0x31')]=qs[_0x86c2('0x32')](_0x18352d[_0x86c2('0x2b')][_0x86c2('0x32')]);_0x451e88[_0x86c2('0x3d')]=qs[_0x86c2('0x2c')](_['pick'](_0x18352d['query'],_0x541e2e[_0x86c2('0x2c')]));_0x451e88[_0x86c2('0x3d')][_0x86c2('0xbb')]=_0x5b8f0b['id'];if(_0x18352d[_0x86c2('0x2b')][_0x86c2('0x52')]){_0x451e88[_0x86c2('0x3d')]=_[_0x86c2('0x70')](_0x451e88[_0x86c2('0x3d')],{'$or':_[_0x86c2('0x47')](_0x451e88[_0x86c2('0x2e')],function(_0x2824e0){var _0x502f44={};_0x502f44[_0x2824e0]={'$like':'%'+_0x18352d[_0x86c2('0x2b')]['filter']+'%'};return _0x502f44;})});}_0x451e88=_['merge']({},_0x451e88,_0x18352d['options']);return db[_0x86c2('0xbf')][_0x86c2('0x13')]({'where':_0x451e88[_0x86c2('0x3d')]})['then'](function(_0x2649de){_0x27e183[_0x86c2('0x13')]=_0x2649de;if(_0x18352d[_0x86c2('0x2b')]['includeAll']){_0x451e88[_0x86c2('0xbc')]=[{'all':!![]}];}return db[_0x86c2('0xbf')][_0x86c2('0x83')](_0x451e88);})['then'](function(_0x4edbda){_0x27e183['rows']=_0x4edbda;return _0x27e183;});}})[_0x86c2('0x21')](respondWithFilteredResult(_0x2eaf69,_0x451e88))[_0x86c2('0x7d')](handleError(_0x2eaf69,null));};exports['getJscriptySessions']=function(_0x351dfa,_0x4ad864){var _0x286c13={'raw':!![],'where':{}};var _0x499801={};var _0x2ef603={'count':0x0,'rows':[]};return db[_0x86c2('0x20')]['findOne']({'where':{'id':_0x351dfa[_0x86c2('0x7e')]['id']}})[_0x86c2('0x21')](handleEntityNotFound(_0x4ad864,null))[_0x86c2('0x21')](function(_0x4c528c){if(_0x4c528c){_0x499801[_0x86c2('0x29')]=_[_0x86c2('0x2a')](db[_0x86c2('0x9f')][_0x86c2('0xb4')]);_0x499801[_0x86c2('0x2b')]=_[_0x86c2('0x2a')](_0x351dfa[_0x86c2('0x2b')]);_0x499801['filters']=_[_0x86c2('0x2d')](_0x499801['model'],_0x499801[_0x86c2('0x2b')]);_0x286c13[_0x86c2('0x2e')]=_['intersection'](_0x499801[_0x86c2('0x29')],qs[_0x86c2('0x2f')](_0x351dfa[_0x86c2('0x2b')]['fields']));_0x286c13[_0x86c2('0x2e')]=_0x286c13[_0x86c2('0x2e')]['length']?_0x286c13['attributes']:_0x499801[_0x86c2('0x29')];if(!_0x351dfa[_0x86c2('0x2b')][_0x86c2('0x30')](_0x86c2('0xb7'))){_0x286c13[_0x86c2('0x12')]=qs[_0x86c2('0x12')](_0x351dfa['query'][_0x86c2('0x12')]);_0x286c13[_0x86c2('0x10')]=qs[_0x86c2('0x10')](_0x351dfa[_0x86c2('0x2b')][_0x86c2('0x10')]);}_0x286c13[_0x86c2('0x31')]=qs[_0x86c2('0x32')](_0x351dfa['query'][_0x86c2('0x32')]);_0x286c13[_0x86c2('0x3d')]=qs[_0x86c2('0x2c')](_[_0x86c2('0xb5')](_0x351dfa[_0x86c2('0x2b')],_0x499801[_0x86c2('0x2c')]));_0x286c13['where'][_0x86c2('0xbb')]=_0x4c528c['id'];if(_0x351dfa['query'][_0x86c2('0x52')]){_0x286c13[_0x86c2('0x3d')]=_[_0x86c2('0x70')](_0x286c13[_0x86c2('0x3d')],{'$or':_[_0x86c2('0x47')](_0x286c13['attributes'],function(_0x403d3d){var _0x5b6695={};_0x5b6695[_0x403d3d]={'$like':'%'+_0x351dfa[_0x86c2('0x2b')][_0x86c2('0x52')]+'%'};return _0x5b6695;})});}_0x286c13=_['merge']({},_0x286c13,_0x351dfa[_0x86c2('0xb6')]);return db[_0x86c2('0x9f')][_0x86c2('0x13')]({'where':_0x286c13['where']})['then'](function(_0x29bb4b){_0x2ef603[_0x86c2('0x13')]=_0x29bb4b;if(_0x351dfa[_0x86c2('0x2b')][_0x86c2('0xc0')]){_0x286c13['include']=[{'all':!![]}];}return db[_0x86c2('0x9f')][_0x86c2('0x83')](_0x286c13);})[_0x86c2('0x21')](function(_0x3c9cc7){_0x2ef603['rows']=_0x3c9cc7;return _0x2ef603;});}})['then'](respondWithFilteredResult(_0x4ad864,_0x286c13))['catch'](handleError(_0x4ad864,null));};exports[_0x86c2('0xc1')]=function(_0x6b706d,_0x5ad970){try{if(!_0x6b706d['body'][_0x86c2('0x6d')]){throw new Error(_0x86c2('0xc2'));}if(!_0x6b706d['body']['binding_keys']){throw new Error(_0x86c2('0xc3'));}if(!_0x6b706d[_0x86c2('0x87')][_0x86c2('0xc4')]){throw new Error(_0x86c2('0xc5'));}if(!_0x6b706d[_0x86c2('0x87')][_0x86c2('0xc6')]){throw new Error(_0x86c2('0xc7'));}var _0x495206=_0x6b706d[_0x86c2('0x87')][_0x86c2('0xc8')]['split'](',');var _0x3a380d=_0x6b706d[_0x86c2('0x87')][_0x86c2('0xc4')][_0x86c2('0x46')](',');if(!_0x495206[_0x86c2('0x22')]||!_0x3a380d[_0x86c2('0x22')]||_0x495206[_0x86c2('0x22')]!==_0x3a380d['length']){throw new Error(_0x86c2('0xc9'));}_0x6b706d['body'][_0x86c2('0x2f')]=_[_0x86c2('0xca')](_0x495206,_0x3a380d);if(!_0x6b706d[_0x86c2('0x87')][_0x86c2('0x2f')][_0x86c2('0xb2')]){throw new Error(_0x86c2('0xcb'));}if(!_0x6b706d[_0x86c2('0x87')][_0x86c2('0x2f')][_0x86c2('0xcc')]){throw new Error('No\x20firstName\x20column\x20specified');}var _0x233e2a=path['join'](config['root'],_0x86c2('0xcd'),_0x6b706d[_0x86c2('0xce')][_0x86c2('0xcf')]);fs['chmodSync'](_0x233e2a,parseInt(_0x86c2('0xd0'),0x8));var _0x2f169e=require(_0x86c2('0xd1'))[_0x86c2('0xd2')](path[_0x86c2('0x8b')](__dirname,_0x86c2('0xd3')),[_0x233e2a,_0x6b706d['body'][_0x86c2('0xc8')],_0x6b706d[_0x86c2('0x87')][_0x86c2('0xc4')],_0x6b706d['body']['ListId'],_0x6b706d[_0x86c2('0x87')][_0x86c2('0xd4')],_0x6b706d[_0x86c2('0x87')]['duplicates'],_0x6b706d[_0x86c2('0x87')][_0x86c2('0xc6')]]);return _0x5ad970['status'](0xc8)[_0x86c2('0x16')]({'message':_0x86c2('0xd5'),'pid':_0x2f169e['pid']});}catch(_0x52b5a6){return _0x5ad970[_0x86c2('0xf')](0x1f4)[_0x86c2('0x1e')](_0x52b5a6);}};exports[_0x86c2('0xd6')]=function(_0x9e8272,_0x4c42f6){var _0x272628=fs[_0x86c2('0xd7')](_0x9e8272[_0x86c2('0xce')]['path']);Papa[_0x86c2('0xd8')](_0x272628,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x3533d5){return _0x4c42f6[_0x86c2('0xf')](0xc8)['json']({'file':_0x9e8272[_0x86c2('0xce')],'fields':_0x3533d5[_0x86c2('0xd9')][_0x86c2('0x2f')]});}});};exports[_0x86c2('0xda')]=function(_0x3969f9,_0x3b3031){return db[_0x86c2('0x4b')][_0x86c2('0x83')]({'raw':!![],'attributes':['id'],'where':{'role':_0x86c2('0x6b')}})[_0x86c2('0x21')](function(_0x82c0d7){var _0x39c8b3=![];if(!_0x3969f9[_0x86c2('0x87')][_0x86c2('0x6d')]){throw new Error(_0x86c2('0xc2'));}if(!_0x3969f9[_0x86c2('0x87')][_0x86c2('0xdb')][_0x86c2('0xb2')]){throw new Error(_0x86c2('0xcb'));}if(!_0x3969f9[_0x86c2('0x87')][_0x86c2('0xdb')][_0x86c2('0xcc')]){throw new Error(_0x86c2('0xdc'));}if(!_0x3969f9['body']['socket_timestamp']){throw new Error(_0x86c2('0xc7'));}var _0x1e1889=require(_0x86c2('0xd1'))[_0x86c2('0xd2')](path[_0x86c2('0x8b')](__dirname,_0x86c2('0xdd')),[_0x3969f9['params']['id'],JSON[_0x86c2('0xde')](_0x3969f9[_0x86c2('0x87')]),JSON[_0x86c2('0xde')](_0x82c0d7)]);_0x1e1889['on'](_0x86c2('0xdf'),function(){_0x39c8b3=!![];return _0x3b3031['status'](0xc8)[_0x86c2('0x16')]({'message':_0x86c2('0xe0'),'pid':_0x1e1889[_0x86c2('0xe1')]});});_0x1e1889['on'](_0x86c2('0xe2'),function(_0x96f9b3){if(_0x96f9b3&&!_0x39c8b3){return _0x3b3031[_0x86c2('0xf')](0x1f4)[_0x86c2('0x16')]({'message':_0x86c2('0xe3'),'pid':_0x1e1889['pid']});}});})[_0x86c2('0x7d')](handleError(_0x3b3031,null));};exports[_0x86c2('0xe4')]=function(_0x2ade5c,_0x1e3929){var _0x2e4eda=[_0x86c2('0xe5'),_0x86c2('0xe6'),_0x86c2('0xe7'),_0x86c2('0xe8'),_0x86c2('0xe9'),_0x86c2('0xea'),'voice'];var _0x110bd7={'offset':0x0,'order':qs[_0x86c2('0x32')]('-createdAt')},_0x577257={'count':0x0,'rows':[]};Promise['resolve']()[_0x86c2('0x21')](function(){if(_0x2ade5c[_0x86c2('0x2b')]['channel']){if(!_[_0x86c2('0xeb')](_0x2e4eda,_0x2ade5c['query'][_0x86c2('0xec')][_0x86c2('0xed')]())){throw new Error(_0x86c2('0xee'));}_0x2e4eda=[_0x2ade5c['query'][_0x86c2('0xec')]['toLowerCase']()];}if(_0x2ade5c['query'][_0x86c2('0xef')]){try{var _0x1b7e64=JSON[_0x86c2('0xd8')](_0x2ade5c[_0x86c2('0x2b')][_0x86c2('0xef')]);if(!moment(_0x1b7e64[_0x86c2('0x36')])[_0x86c2('0xf0')]()){throw new Error('Invalid\x20date\x20for\x20range\x20from\x20filter');}if(!moment(_0x1b7e64['to'])[_0x86c2('0xf0')]()){throw new Error(_0x86c2('0xf1'));}}catch(_0x571f57){throw new Error(_0x86c2('0xf2'));}}if(!_0x2ade5c[_0x86c2('0x2b')][_0x86c2('0x30')](_0x86c2('0xb7'))){_0x110bd7[_0x86c2('0x12')]=qs[_0x86c2('0x12')](_0x2ade5c[_0x86c2('0x2b')][_0x86c2('0x12')]||0xa);_0x110bd7[_0x86c2('0x10')]=qs[_0x86c2('0x10')](_0x2ade5c[_0x86c2('0x2b')][_0x86c2('0x10')]);}var _0x2f08eb=_0x2e4eda[_0x86c2('0x47')](function(_0x53e7af){if(_0x53e7af===_0x86c2('0xf3')){var _0x350b74={'attributes':['id','uniqueid','type',_0x86c2('0xf4'),_0x86c2('0xf5'),_0x86c2('0xf6'),_0x86c2('0xf7'),_0x86c2('0xf8'),_0x86c2('0xf9'),_0x86c2('0xfa'),_0x86c2('0xfb'),_0x86c2('0xfc'),_0x86c2('0xfd'),_0x86c2('0xfe'),'UserId'],'where':{'ContactId':_0x2ade5c[_0x86c2('0x7e')]['id']},'include':[{'model':db['User'],'as':'User','attributes':['id','name',_0x86c2('0xff'),_0x86c2('0x100')]}],'order':[[_0x86c2('0xfb'),'DESC']]};if(_0x2ade5c[_0x86c2('0x2b')][_0x86c2('0xef')]){_0x350b74['where'][_0x86c2('0xfb')]={'$gte':_0x1b7e64[_0x86c2('0x36')],'$lte':_0x1b7e64['to']};}return db['VoiceCallReport'][_0x86c2('0x101')](_0x350b74)[_0x86c2('0x21')](function(_0x4879e4){_0x577257['count']+=_0x4879e4[_0x86c2('0x13')];return _[_0x86c2('0x47')](_0x4879e4[_0x86c2('0x7c')],function(_0x394421){var _0x49d18f=_0x394421['get']({'plain':!![]});_0x49d18f[_0x86c2('0xec')]=_0x53e7af;if(_0x49d18f[_0x86c2('0x4b')]){_0x49d18f[_0x86c2('0x4b')]={'id':_0x49d18f[_0x86c2('0x4b')]['id'],'name':_0x49d18f['User'][_0x86c2('0x1d')],'fullname':_0x49d18f['User'][_0x86c2('0xff')],'alias':_0x49d18f[_0x86c2('0x4b')]['alias']};}return _0x49d18f;});});}else{var _0x22dc51=_['startCase'](_0x53e7af)+(_0x53e7af===_0x86c2('0xe6')?_0x86c2('0x102'):_0x86c2('0x103'));var _0x19aee5={'attributes':['id',_0x86c2('0x104'),'closedAt',_0x86c2('0xfb'),'note',_0x86c2('0x105'),'secondDisposition',_0x86c2('0x106'),_0x86c2('0x107'),_0x22dc51+'Id'],'where':{'ContactId':_0x2ade5c[_0x86c2('0x7e')]['id']},'include':[{'model':db[_0x22dc51],'as':_0x86c2('0x103'),'attributes':['id',_0x86c2('0x1d'),_0x86c2('0x108')]},{'model':db[_0x86c2('0x4b')],'as':'Owner','attributes':['id',_0x86c2('0x1d'),'fullname']},{'model':db['Tag'],'as':_0x86c2('0x7b'),'attributes':['id',_0x86c2('0x1d'),_0x86c2('0x35')],'through':{'attributes':[]}}],'order':[['createdAt',_0x86c2('0x69')]]};if(_0x2ade5c[_0x86c2('0x2b')]['range']){_0x19aee5[_0x86c2('0x3d')][_0x86c2('0xfb')]={'$gte':_0x1b7e64[_0x86c2('0x36')],'$lte':_0x1b7e64['to']};}switch(_0x53e7af){case'chat':_0x19aee5[_0x86c2('0x2e')][_0x86c2('0x24')]('browserName',_0x86c2('0x109'),'customerPort','deviceModel',_0x86c2('0x10a'),_0x86c2('0x10b'),_0x86c2('0x10c'),_0x86c2('0x10d'),_0x86c2('0x10e'));break;case _0x86c2('0xe5'):_0x19aee5['attributes'][_0x86c2('0x24')](_0x86c2('0x10f'),_0x86c2('0x110'));break;case _0x86c2('0xe8'):_0x19aee5[_0x86c2('0x2e')][_0x86c2('0x24')]('externalUrl',_0x86c2('0x111'));break;}return db[_[_0x86c2('0x112')](_0x53e7af)+'Interaction'][_0x86c2('0x101')](_0x19aee5)[_0x86c2('0x21')](function(_0x68615e){_0x577257[_0x86c2('0x13')]+=_0x68615e[_0x86c2('0x13')];return _[_0x86c2('0x47')](_0x68615e[_0x86c2('0x7c')],function(_0x50f652){var _0x249c9e=_0x50f652['get']({'plain':!![]});_0x249c9e[_0x86c2('0xec')]=_0x53e7af;if(_0x249c9e['Owner']){_0x249c9e['Owner']={'id':_0x249c9e[_0x86c2('0x113')]['id'],'name':_0x249c9e[_0x86c2('0x113')][_0x86c2('0x1d')],'fullname':_0x249c9e[_0x86c2('0x113')][_0x86c2('0xff')]};}return _0x249c9e;});});}});return Promise[_0x86c2('0x26')](_0x2f08eb);})[_0x86c2('0x21')](function(_0xb86d40){return _(_0xb86d40)[_0x86c2('0x114')]()[_0x86c2('0x115')](_0x86c2('0xfb'))['reverse']()['value']();})[_0x86c2('0x21')](function(_0x18b45b){_0x577257[_0x86c2('0x7c')]=_0x110bd7['limit']?_0x18b45b[_0x86c2('0x116')](_0x110bd7[_0x86c2('0x10')],_0x110bd7[_0x86c2('0x10')]+_0x110bd7[_0x86c2('0x12')]):_0x18b45b;return _0x577257;})['then'](respondWithFilteredResult(_0x1e3929,_0x110bd7))[_0x86c2('0x7d')](handleError(_0x1e3929,null));};