44024b69a271230dc29f7fdbd1d18270f819fb15
[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 _0x70e0=['split','map','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','and','uc.UserId\x20=\x20?','dateOfBirth','datetime','castTo','DATE','buildExpression','text','filter','Contact','push','isEmpty','where','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','\x20=\x20?','tag','replace','\x27\x27\x27\x27','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.mobile\x20LIKE\x20?','c.firstName\x20LIKE\x20?','c.lastName\x20LIKE\x20?','c.email\x20LIKE\x20?','group','c.id','Sequelize','SELECT','clone','DESC','having','t.id\x20IN\x20?','resolve','some','User','getLists','c.ListId\x20IS\x20NULL','c.ListId\x20IN\x20?','sequelize','toString','keyBy','c.firstName','c.mobile','c.email','c.ListId','c.deletedAt','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','Tags','params','catch','describe','tags','cf_','columnName','CmCustomField','findAll','displayName','alias','custom','body','get','mergeWith','isArray','join','info','[CmContact][merge]\x20to\x20%s\x20from\x20%s','CmHopper','[CmContact][merge][destroy][CmHopper],\x20%s','[CmContact][merge][destroy][CmHopperBlack],\x20%s','create','MailInteraction','MailMessage','SmsInteraction','SmsMessage','FaxInteraction','FaxMessage','OpenchannelInteraction','OpenchannelMessage','CmHopperFinal','CmHopperHistory','ReportAgentPreview','ChatQueueReport','MailQueueReport','OpenchannelQueueReport','SmsQueueReport','bulkCreate','duplicates','ListId','findOrCreate','spread','show','find','format','cf_%d','omit','pickBy','table','cm_contacts','id\x20=\x20?','toParam','values','phone','getTags','rawAttributes','merge','nolimit','findOne','setTags','ids','include','rows','getHopperHistories','ContactId','options','includeAll','getHopperFinals','getJscriptySessions','JscriptySessionReport','No\x20ListId\x20specified','binding_keys','binding_values','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','No\x20phone\x20column\x20specified','firstName','No\x20firstName\x20column\x20specified','root','server/files/tmp','file','chmodSync','fork','CompanyId','socket_timestamp','File\x20uploaded\x20correctly!','pid','upload','createReadStream','meta','import','binding','child_process','../../components/import/cm/csv2','stringify','message','start\x20child\x20process\x20correctly!','exit','html-pdf','eml-format','rimraf','request-promise','moment','bluebird','mustache','path','to-csv','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','end','count','offset','limit','json','save','update','then','destroy','sendStatus','stack','name','status','send','index','CmContact','length','keys','startsWith','trimStart','all','fieldType','type','model','query','filters','intersection','attributes','fields','hasOwnProperty','order','sort','pick','select','field','color','tools_tags','from','left_join','cm_contact_has_tags','ct.CmContactId\x20=\x20c.id','t.id\x20=\x20ct.TagId','c.deletedAt\x20IS\x20NULL','expr','parseSearch','search','sqlOperator','conditions','Tag','value'];(function(_0x130f70,_0x52be2d){var _0x36b76c=function(_0x527a69){while(--_0x527a69){_0x130f70['push'](_0x130f70['shift']());}};_0x36b76c(++_0x52be2d);}(_0x70e0,0x17b));var _0x070e=function(_0x2f2113,_0x50d986){_0x2f2113=_0x2f2113-0x0;var _0xf5ceb9=_0x70e0[_0x2f2113];return _0xf5ceb9;};'use strict';var pdf=require(_0x070e('0x0'));var emlformat=require(_0x070e('0x1'));var rimraf=require(_0x070e('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x070e('0x3'));var moment=require(_0x070e('0x4'));var BPromise=require(_0x070e('0x5'));var Mustache=require(_0x070e('0x6'));var util=require('util');var path=require(_0x070e('0x7'));var sox=require('sox');var csv=require(_0x070e('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x070e('0x9'));var jsforce=require(_0x070e('0xa'));var deskjs=require(_0x070e('0xb'));var toCsv=require(_0x070e('0x8'));var querystring=require(_0x070e('0xc'));var Papa=require(_0x070e('0xd'));var Redis=require(_0x070e('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x070e('0xf'));var hardwareService=require(_0x070e('0x10'));var logger=require(_0x070e('0x11'))(_0x070e('0x12'));var utils=require(_0x070e('0x13'));var config=require(_0x070e('0x14'));var licenseUtil=require(_0x070e('0x15'));var db=require(_0x070e('0x16'))['db'];config[_0x070e('0x17')]=_[_0x070e('0x18')](config[_0x070e('0x17')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x070e('0x17')]));require('./cmContact.socket')['register'](socket);function respondWithStatusCode(_0x5bae0f,_0x11d2ce){_0x11d2ce=_0x11d2ce||0xcc;return function(_0x14c3fd){if(_0x14c3fd){return _0x5bae0f['sendStatus'](_0x11d2ce);}return _0x5bae0f['status'](_0x11d2ce)[_0x070e('0x19')]();};}function respondWithResult(_0xeae1a5,_0x180897){_0x180897=_0x180897||0xc8;return function(_0x19d9da){if(_0x19d9da){return _0xeae1a5['status'](_0x180897)['json'](_0x19d9da);}};}function respondWithFilteredResult(_0x17e2e4,_0x2bd937){return function(_0x38f6e6){if(_0x38f6e6){var _0x2060cc=_0x38f6e6[_0x070e('0x1a')],_0x364b3f=_0x2bd937[_0x070e('0x1b')],_0x5037eb=_0x2bd937[_0x070e('0x1b')]+_0x2bd937[_0x070e('0x1c')],_0x3938b5;if(_0x5037eb>=_0x2060cc){_0x5037eb=_0x2060cc;_0x3938b5=0xc8;}else{_0x3938b5=0xce;}_0x17e2e4['status'](_0x3938b5);return _0x17e2e4['set']('Content-Range',_0x364b3f+'-'+_0x5037eb+'/'+_0x2060cc)[_0x070e('0x1d')](_0x38f6e6);}return null;};}function patchUpdates(_0x3004f0){return function(_0x20dc60){try{jsonpatch['apply'](_0x20dc60,_0x3004f0,!![]);}catch(_0x5b184){return BPromise['reject'](_0x5b184);}return _0x20dc60[_0x070e('0x1e')]();};}function saveUpdates(_0x3f6985,_0x27a01e){return function(_0x33e8c6){if(_0x33e8c6){return _0x33e8c6[_0x070e('0x1f')](_0x3f6985)[_0x070e('0x20')](function(_0xe405e){return _0xe405e;});}return null;};}function removeEntity(_0x164cdf,_0x595c7e){return function(_0x2f8055){if(_0x2f8055){return _0x2f8055[_0x070e('0x21')]()[_0x070e('0x20')](function(){_0x164cdf['status'](0xcc)[_0x070e('0x19')]();});}};}function handleEntityNotFound(_0x5f3e9d,_0x4a2dbd){return function(_0x2ccbd7){if(!_0x2ccbd7){_0x5f3e9d[_0x070e('0x22')](0x194);}return _0x2ccbd7;};}function handleError(_0x41deb1,_0x1743cc){_0x1743cc=_0x1743cc||0x1f4;return function(_0x4763c6){logger['error'](_0x4763c6[_0x070e('0x23')]);if(_0x4763c6[_0x070e('0x24')]){delete _0x4763c6[_0x070e('0x24')];}_0x41deb1[_0x070e('0x25')](_0x1743cc)[_0x070e('0x26')](_0x4763c6);};}exports[_0x070e('0x27')]=function(_0x1a1892,_0x26373b){var _0x5e8326={},_0x282344={},_0x351641={'count':0x0,'rows':[]};return db[_0x070e('0x28')]['describe']()['then'](function(_0x13097f){var _0x46065c=[];for(var _0xa6c0ab=0x0;_0xa6c0ab<Object['keys'](_0x13097f)[_0x070e('0x29')];_0xa6c0ab++){var _0x1741a1=Object[_0x070e('0x2a')](_0x13097f)[_0xa6c0ab];if(_[_0x070e('0x2b')](_0x1741a1,'cf_')){_0x46065c['push'](db['CmCustomField']['findOne']({'where':{'id':_[_0x070e('0x2c')](_0x1741a1,'cf_')},'raw':!![]}));}}return BPromise[_0x070e('0x2d')](_0x46065c)[_0x070e('0x20')](function(_0x4f8130){for(var _0x47a739=0x0;_0x47a739<_0x4f8130[_0x070e('0x29')];_0x47a739++){if(_0x4f8130[_0x47a739]){var _0x3454c7='cf_'+_0x4f8130[_0x47a739]['id'];var _0x546a16=_0x13097f[_0x3454c7];_0x546a16[_0x070e('0x2e')]=_0x4f8130[_0x47a739][_0x070e('0x2f')];}}return _0x13097f;});})[_0x070e('0x20')](function(_0x31fdc5){_0x282344[_0x070e('0x30')]=_['keys'](_0x31fdc5);_0x282344['query']=_[_0x070e('0x2a')](_0x1a1892[_0x070e('0x31')]);_0x282344[_0x070e('0x32')]=_[_0x070e('0x33')](_0x282344[_0x070e('0x30')],_0x282344['query']);_0x5e8326[_0x070e('0x34')]=_[_0x070e('0x33')](_0x282344['model'],qs[_0x070e('0x35')](_0x1a1892[_0x070e('0x31')]['fields']));_0x5e8326['attributes']=_0x5e8326['attributes'][_0x070e('0x29')]?_0x5e8326[_0x070e('0x34')]:_0x282344[_0x070e('0x30')];if(!_0x1a1892[_0x070e('0x31')][_0x070e('0x36')]('nolimit')){_0x5e8326[_0x070e('0x1c')]=qs[_0x070e('0x1c')](_0x1a1892[_0x070e('0x31')]['limit']);_0x5e8326[_0x070e('0x1b')]=qs[_0x070e('0x1b')](_0x1a1892[_0x070e('0x31')]['offset']);}_0x5e8326[_0x070e('0x37')]=qs[_0x070e('0x38')](_0x1a1892['query'][_0x070e('0x38')]);_0x5e8326['where']=qs[_0x070e('0x32')](_[_0x070e('0x39')](_0x1a1892[_0x070e('0x31')],_0x282344[_0x070e('0x32')]),_0x31fdc5);var _0xd03404=[];var _0x47b929=squel[_0x070e('0x3a')]()['field']('id')['field'](_0x070e('0x24'))[_0x070e('0x3b')](_0x070e('0x3c'))['from'](_0x070e('0x3d'));var _0x1223be=squel[_0x070e('0x3a')]()[_0x070e('0x3e')]('cm_contacts','c')[_0x070e('0x3f')]('cm_user_has_contacts','uc','uc.CmContactId\x20=\x20c.id')['left_join'](_0x070e('0x40'),'ct',_0x070e('0x41'))[_0x070e('0x3f')](_0x070e('0x3d'),'t',_0x070e('0x42'))['where'](_0x070e('0x43'));var _0x59037e=squel[_0x070e('0x44')]();var _0x42245d=[];var _0xff760c=squel['expr']();var _0x54285a;if(_0x1a1892[_0x070e('0x31')]['search']){_0x54285a=as[_0x070e('0x45')](_0x1a1892[_0x070e('0x31')][_0x070e('0x46')]);var _0x5f5675=_0x54285a[_0x070e('0x47')];for(var _0x20a1ee=0x0;_0x20a1ee<_0x54285a['conditions']['length'];_0x20a1ee++){var _0x35f302=_0x54285a[_0x070e('0x48')][_0x20a1ee];var _0x2d43ce='c';var _0x1fc7c4=_(_0x31fdc5)[_0x070e('0x2a')]()['find'](function(_0x20b80e){return _0x20b80e===_0x35f302[_0x070e('0x3b')];});if(_0x1fc7c4)_0x1fc7c4=_0x31fdc5[_0x35f302[_0x070e('0x3b')]];if(!_0x1fc7c4){if(_0x35f302[_0x070e('0x3b')]===_0x070e('0x49')){var _0xcd1c61=_0x35f302[_0x070e('0x4a')][_0x070e('0x4b')](',')[_0x070e('0x4c')](function(_0x66a3f3){return Number(_0x66a3f3);});_0xcd1c61[_0x070e('0x4d')](function(_0x3be553){_0xff760c['or'](_0x070e('0x4e'),'%,'+_0x3be553+',%');});_0x42245d=_[_0x070e('0x4f')](_0x42245d,_0xcd1c61);}else if(_0x35f302[_0x070e('0x3b')]==='User'){_0x59037e[_0x070e('0x50')](_0x070e('0x51'),_0x35f302[_0x070e('0x4a')]);}}else{if(_0x35f302[_0x070e('0x3b')]===_0x070e('0x52')||_0x1fc7c4[_0x070e('0x2e')]===_0x070e('0x53'))_0x35f302[_0x070e('0x54')]=_0x070e('0x55');var _0x5744c5=as[_0x070e('0x56')](_0x2d43ce,_0x1fc7c4['type'],_0x35f302);_0x59037e[_0x5f5675](_0x5744c5[_0x070e('0x57')],_0x5744c5[_0x070e('0x4a')]['start'],_0x5744c5[_0x070e('0x4a')][_0x070e('0x19')]);}}}else{var _0x25466f=_(Object[_0x070e('0x2a')](_0x1a1892[_0x070e('0x31')]))[_0x070e('0x4c')](function(_0x83f21e){return _0x31fdc5['hasOwnProperty'](_0x83f21e)?_0x83f21e:undefined;})[_0x070e('0x58')](function(_0x5bacbd){return!_['isNil'](_0x5bacbd);})[_0x070e('0x4a')]();if(_0x1a1892[_0x070e('0x31')][_0x070e('0x59')])_0x25466f[_0x070e('0x5a')](_0x070e('0x59'));if(!_[_0x070e('0x5b')](_0x25466f)){_0x25466f[_0x070e('0x4d')](function(_0x343785){if(_0x343785==='ListId'){_0x1223be[_0x070e('0x5c')]('c.ListId\x20IN\x20?',[]['concat'](_0x1a1892[_0x070e('0x31')][_0x343785]));}else if(_0x343785===_0x070e('0x59')){var _0x589aee='%'+_0x1a1892[_0x070e('0x31')][_0x343785]+'%';_0x1223be[_0x070e('0x5c')](_0x070e('0x5d'),_0x589aee);}else{_0x1223be[_0x070e('0x5c')]('c.'+_0x343785+_0x070e('0x5e'),_0x1a1892[_0x070e('0x31')][_0x343785]);}});}if(_0x1a1892[_0x070e('0x31')]['tag']){_0x42245d=_['isArray'](_0x1a1892['query'][_0x070e('0x5f')])?_0x1a1892[_0x070e('0x31')][_0x070e('0x5f')]:new Array(_0x1a1892[_0x070e('0x31')]['tag']);_0x42245d[_0x070e('0x4d')](function(_0x5d3c3a){_0xff760c['or'](_0x070e('0x4e'),'%,'+_0x5d3c3a+',%');});}if(_0x1a1892[_0x070e('0x31')][_0x070e('0x58')]){var _0x24f303=_0x1a1892[_0x070e('0x31')][_0x070e('0x58')]['replace']('\x5c','\x5c\x5c')[_0x070e('0x60')]('\x27\x27',_0x070e('0x61'));if(_0x24f303[_0x070e('0x4b')]('\x20')['length']>0x1){_0x59037e['or'](_0x070e('0x62'),qs[_0x070e('0x63')](_0x24f303),null);}else{if(qs['isNumeric'](_0x24f303)){_0x59037e['or'](_0x070e('0x64'),_0x24f303+'%');_0x59037e['or']('c.phone\x20LIKE\x20?',_0x24f303+'%');_0x59037e['or'](_0x070e('0x65'),_0x24f303+'%');_0x59037e['or']('c.fax\x20LIKE\x20?',_0x24f303+'%');}else if(qs['isEmail'](_0x24f303)){_0x59037e['or']('c.email\x20LIKE\x20?',_0x24f303+'%');}else{_0x59037e['or'](_0x070e('0x66'),'%'+_0x24f303+'%');_0x59037e['or'](_0x070e('0x67'),'%'+_0x24f303+'%');_0x59037e['or'](_0x070e('0x68'),'%'+_0x24f303+'%');}}}}_0x1223be[_0x070e('0x5c')](_0x59037e);_0x1223be[_0x070e('0x69')](_0x070e('0x6a'));var _0x498bc6={'type':db[_0x070e('0x6b')]['QueryTypes'][_0x070e('0x6c')],'raw':!![]};var _0x52becf=_0x1223be[_0x070e('0x6d')]()[_0x070e('0x3b')]('c.id');if(_0x5e8326[_0x070e('0x37')]){_0x5e8326['order'][_0x070e('0x4d')](function(_0x139630){_0x1223be[_0x070e('0x37')]('c.'+_0x139630[0x0],_0x139630[0x1]===_0x070e('0x6e')?![]:!![]);});}if(!_[_0x070e('0x5b')](_0x42245d)){_0x1223be[_0x070e('0x6f')](_0xff760c);_0x52becf[_0x070e('0x5c')](_0x070e('0x70'),_0x42245d);}BPromise[_0x070e('0x71')]()[_0x070e('0x20')](function(){if(_0x54285a&&!_[_0x070e('0x72')](_0x54285a[_0x070e('0x48')],[_0x070e('0x3b'),_0x070e('0x73')])){return _0x1a1892['user'][_0x070e('0x74')]({'attributes':['id'],'raw':!![]})[_0x070e('0x20')](function(_0x381c83){if(_[_0x070e('0x5b')](_0x381c83)){_0x52becf['where'](_0x070e('0x75'));_0x1223be[_0x070e('0x5c')](_0x070e('0x75'));}else{_0x52becf[_0x070e('0x5c')](_0x070e('0x76'),_[_0x070e('0x4c')](_0x381c83,'id'));_0x1223be['where'](_0x070e('0x76'),_[_0x070e('0x4c')](_0x381c83,'id'));}});}else{return;}})[_0x070e('0x20')](function(){db[_0x070e('0x77')]['query'](_0x52becf[_0x070e('0x78')](),_0x498bc6)['then'](function(_0x10d95d){_0x351641[_0x070e('0x1a')]=_0x10d95d[_0x070e('0x29')];if(_0x351641[_0x070e('0x1a')]===0x0)return[];return db[_0x070e('0x77')]['query'](_0x47b929[_0x070e('0x78')](),_0x498bc6);})[_0x070e('0x20')](function(_0x8cc913){_0xd03404=_[_0x070e('0x79')](_0x8cc913,'id');_0x498bc6=_['merge'](_0x498bc6,{'model':db[_0x070e('0x28')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1a1892['query'][_0x070e('0x35')]){_0x5e8326[_0x070e('0x34')][_0x070e('0x4d')](function(_0x57585e){_0x1223be[_0x070e('0x3b')]('c.'+_0x57585e);});}else{_0x1223be['field'](_0x070e('0x6a'));_0x1223be['field'](_0x070e('0x7a'));_0x1223be[_0x070e('0x3b')]('c.lastName');_0x1223be[_0x070e('0x3b')]('c.phone');_0x1223be[_0x070e('0x3b')](_0x070e('0x7b'));_0x1223be['field']('c.fax');_0x1223be[_0x070e('0x3b')](_0x070e('0x7c'));_0x1223be[_0x070e('0x3b')](_0x070e('0x7d'));_0x1223be[_0x070e('0x3b')](_0x070e('0x7e'));_0x1223be[_0x070e('0x3b')](_0x070e('0x7f'),_0x070e('0x80'));}if(_0x5e8326[_0x070e('0x1c')])_0x1223be[_0x070e('0x1c')](_0x5e8326[_0x070e('0x1c')]);if(_0x5e8326[_0x070e('0x1b')])_0x1223be['offset'](_0x5e8326[_0x070e('0x1b')]);return db[_0x070e('0x77')]['query'](_0x1223be['toString'](),_0x498bc6);})[_0x070e('0x20')](function(_0x2a4de5){_0x2a4de5[_0x070e('0x4d')](function(_0x24bbc7){if(_0x24bbc7[_0x070e('0x80')]){_0x24bbc7[_0x070e('0x81')]=[];_0x24bbc7[_0x070e('0x80')][_0x070e('0x4b')](',')[_0x070e('0x4d')](function(_0x2c80e3){_0x24bbc7[_0x070e('0x81')][_0x070e('0x5a')](_0xd03404[_0x2c80e3]);});}delete _0x24bbc7[_0x070e('0x80')];});_0x351641['rows']=_0x2a4de5;return _0x351641;})['then'](respondWithFilteredResult(_0x26373b,_0x5e8326));});})['catch'](handleError(_0x26373b,null));};exports[_0x070e('0x21')]=function(_0x2e4b4a,_0x2c4e67){return db[_0x070e('0x28')]['find']({'where':{'id':_0x2e4b4a[_0x070e('0x82')]['id']}})[_0x070e('0x20')](handleEntityNotFound(_0x2c4e67,null))[_0x070e('0x20')](removeEntity(_0x2c4e67,null))[_0x070e('0x83')](handleError(_0x2c4e67,null));};exports[_0x070e('0x84')]=function(_0x264d6a,_0x4a7129){return db[_0x070e('0x28')]['describe']()[_0x070e('0x20')](function(_0x413df0){delete _0x413df0[_0x070e('0x85')];for(var _0x3aa620=0x0;_0x3aa620<Object[_0x070e('0x2a')](_0x413df0)['length'];_0x3aa620++){var _0x63e78b=Object[_0x070e('0x2a')](_0x413df0)[_0x3aa620];if(!_['startsWith'](_0x63e78b,_0x070e('0x86'))){_0x413df0[_0x63e78b][_0x070e('0x87')]=_0x63e78b;_0x413df0[_0x63e78b]['displayName']=_0x63e78b;}}return _0x413df0;})[_0x070e('0x20')](function(_0x6efb89){var _0xf0aef8={'where':{'$or':[{'ListId':_0x264d6a['query']['id']},{'ListId':null}]},'raw':!![]};return db[_0x070e('0x88')][_0x070e('0x89')](_0xf0aef8)[_0x070e('0x20')](function(_0x1ad0bf){for(var _0x2082a8=0x0;_0x2082a8<_0x1ad0bf[_0x070e('0x29')];_0x2082a8++){var _0x3961a6=_0x070e('0x86')+_0x1ad0bf[_0x2082a8]['id'];_0x6efb89[_0x3961a6][_0x070e('0x87')]=_0x3961a6;_0x6efb89[_0x3961a6][_0x070e('0x8a')]=_0x1ad0bf[_0x2082a8][_0x070e('0x8b')];_0x6efb89[_0x3961a6][_0x070e('0x8c')]={'type':_0x1ad0bf[_0x2082a8][_0x070e('0x2f')],'values':_0x1ad0bf[_0x2082a8]['values']};}Object[_0x070e('0x2a')](_0x6efb89)[_0x070e('0x4d')](function(_0x392c45){if(!_0x6efb89[_0x392c45][_0x070e('0x36')](_0x070e('0x87'))){delete _0x6efb89[_0x392c45];}});return _0x6efb89;});})[_0x070e('0x20')](respondWithResult(_0x4a7129,null))['catch'](handleError(_0x4a7129,null));};exports['merge']=function(_0x4a8563,_0x3c9abf){var _0x44a9f0;var _0x39cd65;var _0x141099;if(_0x4a8563['body']['id']){delete _0x4a8563[_0x070e('0x8d')]['id'];}return db[_0x070e('0x28')][_0x070e('0x89')]({'where':{'id':[_0x4a8563['body']['to'],_0x4a8563[_0x070e('0x8d')]['from']]}})[_0x070e('0x20')](function(_0x396902){if(_0x396902){if(_0x396902['length']!==0x2){return null;}_0x396902[0x0]=_0x396902[0x0]['get']({'plain':!![]});_0x396902[0x1]=_0x396902[0x1][_0x070e('0x8e')]({'plain':!![]});delete _0x396902[0x0]['id'];delete _0x396902[0x1]['id'];return _[_0x070e('0x8f')](_0x396902[0x0],_0x396902[0x1],function(_0x56573e,_0xf6d872){if(Array['isArray'](_0xf6d872)&&!_0xf6d872['length']){return _0x56573e;}else if(!_0xf6d872){return _0x56573e;}});}})['then'](handleEntityNotFound(_0x3c9abf,null))[_0x070e('0x20')](function(_0x283cc4){if(_0x283cc4){if(_0x283cc4[_0x070e('0x85')]&&_[_0x070e('0x90')](_0x283cc4[_0x070e('0x85')])){_0x283cc4[_0x070e('0x85')]=_0x283cc4[_0x070e('0x85')][_0x070e('0x91')]();}logger[_0x070e('0x92')](_0x070e('0x93'),_0x4a8563[_0x070e('0x8d')]['to'],_0x4a8563[_0x070e('0x8d')][_0x070e('0x3e')]);return db[_0x070e('0x94')][_0x070e('0x21')]({'where':{'ContactId':[_0x4a8563[_0x070e('0x8d')]['to'],_0x4a8563[_0x070e('0x8d')][_0x070e('0x3e')]]}})[_0x070e('0x20')](function(_0x2948c3){logger[_0x070e('0x92')](_0x070e('0x95'),_0x2948c3);return db['CmHopperBlack'][_0x070e('0x21')]({'where':{'ContactId':[_0x4a8563[_0x070e('0x8d')]['to'],_0x4a8563[_0x070e('0x8d')][_0x070e('0x3e')]]}})['then'](function(_0x2f26d1){logger[_0x070e('0x92')](_0x070e('0x96'),_0x2f26d1);return db[_0x070e('0x28')][_0x070e('0x97')](_0x283cc4);});});}})[_0x070e('0x20')](function(_0x5e6444){if(_0x5e6444){_0x44a9f0=_0x5e6444;_0x39cd65={'ContactId':_0x44a9f0['id']};_0x141099={'where':{'ContactId':[_0x4a8563['body']['to'],_0x4a8563['body'][_0x070e('0x3e')]]}};return db['ChatInteraction'][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db['ChatMessage'][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db['ChatOfflineMessage']['update'](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0x98')][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0x99')]['update'](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db['MailInteraction'][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db['MailMessage'][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0x9a')][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0x9b')]['update'](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0x9c')][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0x9d')]['update'](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0x9e')][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0x9f')][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0xa0')][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0xa1')][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0xa2')][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db['VoiceCallReport']['update'](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0xa3')]['update'](_0x39cd65,_0x141099);}})['then'](function(){if(_0x44a9f0){return db['FaxQueueReport']['update'](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0xa4')][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0xa5')][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db[_0x070e('0xa6')][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db['JscriptySessionReport'][_0x070e('0x1f')](_0x39cd65,_0x141099);}})[_0x070e('0x20')](function(){if(_0x44a9f0){return db['CmContact'][_0x070e('0x21')]({'where':{'id':[_0x4a8563[_0x070e('0x8d')]['to'],_0x4a8563[_0x070e('0x8d')][_0x070e('0x3e')]]}});}})['then'](function(){if(_0x44a9f0){return _0x44a9f0;}})[_0x070e('0x20')](respondWithResult(_0x3c9abf,null))[_0x070e('0x83')](handleError(_0x3c9abf,null));};exports[_0x070e('0x97')]=function(_0x46d83e,_0x51b43f){return db[_0x070e('0x28')][_0x070e('0x84')]()[_0x070e('0x20')](function(_0xebbb53){if(_0x46d83e[_0x070e('0x8d')][_0x070e('0x85')]&&_[_0x070e('0x90')](_0x46d83e[_0x070e('0x8d')][_0x070e('0x85')])){if(_0x46d83e[_0x070e('0x8d')][_0x070e('0x85')]['length']){_0x46d83e[_0x070e('0x8d')][_0x070e('0x85')]=_0x46d83e['body']['tags'][_0x070e('0x91')](';')+';';}else{_0x46d83e['body'][_0x070e('0x85')]=null;}}else{_0x46d83e[_0x070e('0x8d')][_0x070e('0x85')]=null;}return db[_0x070e('0x28')][_0x070e('0x97')](_0x46d83e[_0x070e('0x8d')],{'fields':_[_0x070e('0x2a')](_0xebbb53),'raw':!![]});})['then'](respondWithResult(_0x51b43f,0xc9))[_0x070e('0x83')](handleError(_0x51b43f,null));};exports[_0x070e('0xa7')]=function(_0x2543df,_0x2a80bd){var _0x4a9c99=[];var _0x4e4065=0x0;var _0x113faa=0x0;var _0x205305=0x0;return db[_0x070e('0x28')]['describe']()[_0x070e('0x20')](function(_0xf5b732){return BPromise['each'](_0x2543df[_0x070e('0x8d')],function(_0x344289){var _0x7af3cd={'where':{'$or':[]},'defaults':_0x344289,'fields':_[_0x070e('0x2a')](_0xf5b732),'raw':!![]};if(_0x344289[_0x070e('0xa8')]){for(var _0x2bd6db=0x0;_0x2bd6db<_0x344289['duplicates']['length'];_0x2bd6db++){var _0x739f73={};_0x739f73[_0x344289['duplicates'][_0x2bd6db]]=_0x344289[_0x344289[_0x070e('0xa8')][_0x2bd6db]];_0x7af3cd[_0x070e('0x5c')]['$or'][_0x070e('0x5a')](_0x739f73);}_0x7af3cd['where'][_0x070e('0xa9')]=_0x344289[_0x070e('0xa9')];}return db[_0x070e('0x28')][_0x070e('0xaa')](_0x7af3cd)[_0x070e('0xab')](function(_0x21ffd6,_0x5b30df){if(_0x5b30df){_0x4e4065++;}else{_0x205305++;}})[_0x070e('0x83')](function(_0x406e44){console['error'](_0x406e44);_0x113faa++;});});})['then'](function(_0x46d778){if(_0x46d778){return{'success':_0x4e4065,'failure':_0x113faa,'duplicates':_0x205305};}})[_0x070e('0x20')](respondWithResult(_0x2a80bd,0xc9))[_0x070e('0x83')](handleError(_0x2a80bd,null));};exports[_0x070e('0xac')]=function(_0x3893a5,_0x3e2c30,_0x42bf72){var _0x442cca;return db['CmContact'][_0x070e('0x84')]()[_0x070e('0x20')](function(_0x26a0be){return db[_0x070e('0x28')][_0x070e('0xad')]({'where':{'id':_0x3893a5[_0x070e('0x82')]['id']},'include':[{'model':db[_0x070e('0x49')],'as':_0x070e('0x81'),'attributes':['id','name',_0x070e('0x3c')],'required':_0x3893a5[_0x070e('0x31')][_0x070e('0x5f')]?!![]:![]}],'attributes':_[_0x070e('0x2a')](_0x26a0be)});})[_0x070e('0x20')](function(_0x3473ae){_0x442cca=_0x3473ae[_0x070e('0x8e')]({'plain':!![]});var _0x4223f9={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x3473ae&&_0x3473ae[_0x070e('0xa9')]){if(_0x3473ae[_0x070e('0xa9')]){_0x4223f9['where']['$and'][_0x070e('0x5a')]({'ListId':{'$ne':_0x3473ae[_0x070e('0xa9')]}});}}return db[_0x070e('0x88')]['findAll'](_0x4223f9);})[_0x070e('0x20')](function(_0x36dfb5){return _['omit'](_0x442cca,_[_0x070e('0x4c')](_0x36dfb5,function(_0x2b6909){return util[_0x070e('0xae')](_0x070e('0xaf'),_0x2b6909['id']);}));})[_0x070e('0x20')](handleEntityNotFound(_0x3e2c30,null))[_0x070e('0x20')](respondWithResult(_0x3e2c30,null))['catch'](handleError(_0x3e2c30,null));};exports['update']=function(_0x2e2a5a,_0x3f3d7e){var _0x532f83;if(_0x2e2a5a[_0x070e('0x8d')]['id']){delete _0x2e2a5a[_0x070e('0x8d')]['id'];}return db[_0x070e('0x28')][_0x070e('0xad')]({'where':{'id':_0x2e2a5a[_0x070e('0x82')]['id']}})[_0x070e('0x20')](handleEntityNotFound(_0x3f3d7e,null))['then'](saveUpdates(_0x2e2a5a[_0x070e('0x8d')],null))[_0x070e('0x20')](function(_0x5d7a66){_0x532f83=_0x5d7a66;var _0x44ab7c={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x5d7a66&&_0x5d7a66[_0x070e('0xa9')]){if(_0x5d7a66[_0x070e('0xa9')]){_0x44ab7c[_0x070e('0x5c')]['$and']['push']({'ListId':{'$ne':_0x5d7a66[_0x070e('0xa9')]}});}}return db[_0x070e('0x88')][_0x070e('0x89')](_0x44ab7c);})[_0x070e('0x20')](function(_0x238e64){if(_0x238e64){return _[_0x070e('0xb0')](_[_0x070e('0xb1')](_0x2e2a5a[_0x070e('0x8d')],function(_0xdca2d3,_0x29a42c){return _['startsWith'](_0x29a42c,_0x070e('0x86'));}),_[_0x070e('0x4c')](_0x238e64,function(_0x1de175){return util[_0x070e('0xae')]('cf_%d',_0x1de175['id']);}));}})[_0x070e('0x20')](function(_0x35ddab){if(_0x35ddab&&!_['isEmpty'](_0x35ddab)){var _0x4b559b=squel[_0x070e('0x1f')]()[_0x070e('0xb2')](_0x070e('0xb3'))['setFields'](_0x35ddab)[_0x070e('0x5c')](_0x070e('0xb4'),_0x2e2a5a[_0x070e('0x82')]['id'])[_0x070e('0xb5')]();return db[_0x070e('0x77')]['query'](_0x4b559b[_0x070e('0x57')],{'replacements':_0x4b559b[_0x070e('0xb6')]});}})['then'](function(){if(_0x2e2a5a[_0x070e('0x8d')]['phone']&&_0x532f83){return db['CmHopper']['update']({'phone':_0x2e2a5a[_0x070e('0x8d')][_0x070e('0xb7')]},{'where':{'ContactId':_0x532f83['id']}});}})[_0x070e('0x20')](function(){return _0x532f83;})[_0x070e('0x20')](respondWithResult(_0x3f3d7e,null))['catch'](handleError(_0x3f3d7e,null));};exports[_0x070e('0xb8')]=function(_0x1ed436,_0x500fa9,_0x3c6a6e){var _0xa9694a={};var _0x24448e={};var _0x41afe5;var _0x4ea0a6;return db[_0x070e('0x28')]['findOne']({'where':{'id':_0x1ed436[_0x070e('0x82')]['id']}})['then'](handleEntityNotFound(_0x500fa9,null))[_0x070e('0x20')](function(_0x3b9472){if(_0x3b9472){_0x41afe5=_0x3b9472;_0x24448e[_0x070e('0x30')]=_['keys'](db[_0x070e('0x49')][_0x070e('0xb9')]);_0x24448e[_0x070e('0x31')]=_['keys'](_0x1ed436[_0x070e('0x31')]);_0x24448e[_0x070e('0x32')]=_['intersection'](_0x24448e[_0x070e('0x30')],_0x24448e[_0x070e('0x31')]);_0xa9694a['attributes']=_['intersection'](_0x24448e['model'],qs['fields'](_0x1ed436[_0x070e('0x31')][_0x070e('0x35')]));_0xa9694a[_0x070e('0x34')]=_0xa9694a[_0x070e('0x34')][_0x070e('0x29')]?_0xa9694a[_0x070e('0x34')]:_0x24448e[_0x070e('0x30')];_0xa9694a[_0x070e('0x37')]=qs['sort'](_0x1ed436['query']['sort']);_0xa9694a['where']=qs[_0x070e('0x32')](_[_0x070e('0x39')](_0x1ed436[_0x070e('0x31')],_0x24448e[_0x070e('0x32')]));if(_0x1ed436[_0x070e('0x31')]['filter']){_0xa9694a['where']=_[_0x070e('0xba')](_0xa9694a[_0x070e('0x5c')],{'$or':_['map'](_0xa9694a[_0x070e('0x34')],function(_0x46e19f){var _0x239385={};_0x239385[_0x46e19f]={'$like':'%'+_0x1ed436[_0x070e('0x31')][_0x070e('0x58')]+'%'};return _0x239385;})});}_0xa9694a=_[_0x070e('0xba')]({},_0xa9694a,_0x1ed436['options']);return _0x41afe5[_0x070e('0xb8')](_0xa9694a);}})[_0x070e('0x20')](function(_0xb56b8e){if(_0xb56b8e){_0x4ea0a6=_0xb56b8e['length'];if(!_0x1ed436[_0x070e('0x31')][_0x070e('0x36')](_0x070e('0xbb'))){_0xa9694a[_0x070e('0x1c')]=qs['limit'](_0x1ed436[_0x070e('0x31')][_0x070e('0x1c')]);_0xa9694a['offset']=qs[_0x070e('0x1b')](_0x1ed436[_0x070e('0x31')]['offset']);}return _0x41afe5[_0x070e('0xb8')](_0xa9694a);}})['then'](function(_0x438384){if(_0x438384){return _0x438384?{'count':_0x4ea0a6,'rows':_0x438384}:null;}})['then'](respondWithResult(_0x500fa9,null))[_0x070e('0x83')](handleError(_0x500fa9,null));};exports['setTags']=function(_0x5cd12d,_0x1c4f6c,_0x5df2fa){if(_0x5cd12d['body']['id']){delete _0x5cd12d[_0x070e('0x8d')]['id'];}return db[_0x070e('0x28')][_0x070e('0xbc')]({'where':{'id':_0x5cd12d[_0x070e('0x82')]['id']}})[_0x070e('0x20')](handleEntityNotFound(_0x1c4f6c,null))['then'](function(_0x29e1f8){if(_0x29e1f8){return _0x29e1f8[_0x070e('0xbd')](_0x5cd12d[_0x070e('0x8d')][_0x070e('0xbe')]||[]);}return null;})[_0x070e('0x20')](respondWithResult(_0x1c4f6c,null))[_0x070e('0x83')](handleError(_0x1c4f6c,null));};exports['getHoppers']=function(_0x15e8fb,_0x264089,_0x6aca88){var _0x44c780={'raw':![],'where':{}};var _0x5817a0={};var _0x5e22a6={'count':0x0,'rows':[]};return db[_0x070e('0x28')][_0x070e('0xbc')]({'where':{'id':_0x15e8fb[_0x070e('0x82')]['id']}})[_0x070e('0x20')](handleEntityNotFound(_0x264089,null))[_0x070e('0x20')](function(_0x150ff2){if(_0x150ff2){_0x5817a0['model']=_[_0x070e('0x2a')](db[_0x070e('0x94')][_0x070e('0xb9')]);_0x5817a0[_0x070e('0x31')]=_[_0x070e('0x2a')](_0x15e8fb[_0x070e('0x31')]);_0x5817a0['filters']=_['intersection'](_0x5817a0[_0x070e('0x30')],_0x5817a0[_0x070e('0x31')]);_0x44c780[_0x070e('0x34')]=_[_0x070e('0x33')](_0x5817a0[_0x070e('0x30')],qs[_0x070e('0x35')](_0x15e8fb[_0x070e('0x31')]['fields']));_0x44c780[_0x070e('0x34')]=_0x44c780['attributes'][_0x070e('0x29')]?_0x44c780['attributes']:_0x5817a0['model'];if(!_0x15e8fb['query'][_0x070e('0x36')](_0x070e('0xbb'))){_0x44c780[_0x070e('0x1c')]=qs[_0x070e('0x1c')](_0x15e8fb[_0x070e('0x31')][_0x070e('0x1c')]);_0x44c780[_0x070e('0x1b')]=qs[_0x070e('0x1b')](_0x15e8fb[_0x070e('0x31')]['offset']);}_0x44c780[_0x070e('0x37')]=qs[_0x070e('0x38')](_0x15e8fb[_0x070e('0x31')][_0x070e('0x38')]);_0x44c780[_0x070e('0x5c')]=qs[_0x070e('0x32')](_[_0x070e('0x39')](_0x15e8fb[_0x070e('0x31')],_0x5817a0[_0x070e('0x32')]));_0x44c780['where']['ContactId']=_0x150ff2['id'];if(_0x15e8fb[_0x070e('0x31')][_0x070e('0x58')]){_0x44c780['where']=_[_0x070e('0xba')](_0x44c780['where'],{'$or':_['map'](_0x44c780[_0x070e('0x34')],function(_0x92de3e){var _0x48c1df={};_0x48c1df[_0x92de3e]={'$like':'%'+_0x15e8fb[_0x070e('0x31')][_0x070e('0x58')]+'%'};return _0x48c1df;})});}_0x44c780=_[_0x070e('0xba')]({},_0x44c780,_0x15e8fb['options']);return db['CmHopper'][_0x070e('0x1a')]({'where':_0x44c780[_0x070e('0x5c')]})[_0x070e('0x20')](function(_0x4b4744){_0x5e22a6[_0x070e('0x1a')]=_0x4b4744;if(_0x15e8fb[_0x070e('0x31')]['includeAll']){_0x44c780[_0x070e('0xbf')]=[{'all':!![]}];}return db[_0x070e('0x94')][_0x070e('0x89')](_0x44c780);})[_0x070e('0x20')](function(_0x3f7b2c){_0x5e22a6[_0x070e('0xc0')]=_0x3f7b2c;return _0x5e22a6;});}})[_0x070e('0x20')](respondWithFilteredResult(_0x264089,_0x44c780))[_0x070e('0x83')](handleError(_0x264089,null));};exports[_0x070e('0xc1')]=function(_0x9f719f,_0x3f37c0,_0x2b45d5){var _0x1b8cc9={'raw':!![],'where':{}};var _0x2b56d9={};var _0x148dd1={'count':0x0,'rows':[]};return db[_0x070e('0x28')][_0x070e('0xbc')]({'where':{'id':_0x9f719f['params']['id']}})['then'](handleEntityNotFound(_0x3f37c0,null))['then'](function(_0x52b206){if(_0x52b206){_0x2b56d9[_0x070e('0x30')]=_[_0x070e('0x2a')](db[_0x070e('0xa1')]['rawAttributes']);_0x2b56d9[_0x070e('0x31')]=_[_0x070e('0x2a')](_0x9f719f[_0x070e('0x31')]);_0x2b56d9['filters']=_[_0x070e('0x33')](_0x2b56d9[_0x070e('0x30')],_0x2b56d9[_0x070e('0x31')]);_0x1b8cc9[_0x070e('0x34')]=_['intersection'](_0x2b56d9[_0x070e('0x30')],qs[_0x070e('0x35')](_0x9f719f[_0x070e('0x31')]['fields']));_0x1b8cc9[_0x070e('0x34')]=_0x1b8cc9[_0x070e('0x34')][_0x070e('0x29')]?_0x1b8cc9[_0x070e('0x34')]:_0x2b56d9[_0x070e('0x30')];if(!_0x9f719f[_0x070e('0x31')][_0x070e('0x36')](_0x070e('0xbb'))){_0x1b8cc9[_0x070e('0x1c')]=qs['limit'](_0x9f719f['query'][_0x070e('0x1c')]);_0x1b8cc9['offset']=qs['offset'](_0x9f719f[_0x070e('0x31')][_0x070e('0x1b')]);}_0x1b8cc9[_0x070e('0x37')]=qs[_0x070e('0x38')](_0x9f719f[_0x070e('0x31')][_0x070e('0x38')]);_0x1b8cc9['where']=qs[_0x070e('0x32')](_[_0x070e('0x39')](_0x9f719f[_0x070e('0x31')],_0x2b56d9[_0x070e('0x32')]));_0x1b8cc9['where'][_0x070e('0xc2')]=_0x52b206['id'];if(_0x9f719f['query'][_0x070e('0x58')]){_0x1b8cc9[_0x070e('0x5c')]=_[_0x070e('0xba')](_0x1b8cc9[_0x070e('0x5c')],{'$or':_[_0x070e('0x4c')](_0x1b8cc9[_0x070e('0x34')],function(_0x131756){var _0x1102a8={};_0x1102a8[_0x131756]={'$like':'%'+_0x9f719f[_0x070e('0x31')]['filter']+'%'};return _0x1102a8;})});}_0x1b8cc9=_[_0x070e('0xba')]({},_0x1b8cc9,_0x9f719f[_0x070e('0xc3')]);return db[_0x070e('0xa1')][_0x070e('0x1a')]({'where':_0x1b8cc9[_0x070e('0x5c')]})[_0x070e('0x20')](function(_0x100991){_0x148dd1[_0x070e('0x1a')]=_0x100991;if(_0x9f719f['query'][_0x070e('0xc4')]){_0x1b8cc9[_0x070e('0xbf')]=[{'all':!![]}];}return db['CmHopperHistory']['findAll'](_0x1b8cc9);})[_0x070e('0x20')](function(_0x2e2ebf){_0x148dd1[_0x070e('0xc0')]=_0x2e2ebf;return _0x148dd1;});}})[_0x070e('0x20')](respondWithFilteredResult(_0x3f37c0,_0x1b8cc9))[_0x070e('0x83')](handleError(_0x3f37c0,null));};exports[_0x070e('0xc5')]=function(_0x545fb5,_0x5c44b4,_0x236ccb){var _0x37fb87={'raw':!![],'where':{}};var _0x5079d9={};var _0x31d3fa={'count':0x0,'rows':[]};return db['CmContact'][_0x070e('0xbc')]({'where':{'id':_0x545fb5[_0x070e('0x82')]['id']}})['then'](handleEntityNotFound(_0x5c44b4,null))[_0x070e('0x20')](function(_0xec9a1c){if(_0xec9a1c){_0x5079d9['model']=_['keys'](db[_0x070e('0xa0')]['rawAttributes']);_0x5079d9[_0x070e('0x31')]=_[_0x070e('0x2a')](_0x545fb5[_0x070e('0x31')]);_0x5079d9['filters']=_[_0x070e('0x33')](_0x5079d9[_0x070e('0x30')],_0x5079d9['query']);_0x37fb87[_0x070e('0x34')]=_[_0x070e('0x33')](_0x5079d9[_0x070e('0x30')],qs[_0x070e('0x35')](_0x545fb5[_0x070e('0x31')][_0x070e('0x35')]));_0x37fb87[_0x070e('0x34')]=_0x37fb87[_0x070e('0x34')][_0x070e('0x29')]?_0x37fb87[_0x070e('0x34')]:_0x5079d9['model'];if(!_0x545fb5[_0x070e('0x31')][_0x070e('0x36')](_0x070e('0xbb'))){_0x37fb87['limit']=qs['limit'](_0x545fb5[_0x070e('0x31')][_0x070e('0x1c')]);_0x37fb87[_0x070e('0x1b')]=qs[_0x070e('0x1b')](_0x545fb5['query'][_0x070e('0x1b')]);}_0x37fb87['order']=qs['sort'](_0x545fb5[_0x070e('0x31')]['sort']);_0x37fb87[_0x070e('0x5c')]=qs[_0x070e('0x32')](_[_0x070e('0x39')](_0x545fb5[_0x070e('0x31')],_0x5079d9['filters']));_0x37fb87[_0x070e('0x5c')]['ContactId']=_0xec9a1c['id'];if(_0x545fb5[_0x070e('0x31')][_0x070e('0x58')]){_0x37fb87[_0x070e('0x5c')]=_[_0x070e('0xba')](_0x37fb87[_0x070e('0x5c')],{'$or':_[_0x070e('0x4c')](_0x37fb87[_0x070e('0x34')],function(_0x22f791){var _0xa4fe4e={};_0xa4fe4e[_0x22f791]={'$like':'%'+_0x545fb5[_0x070e('0x31')][_0x070e('0x58')]+'%'};return _0xa4fe4e;})});}_0x37fb87=_[_0x070e('0xba')]({},_0x37fb87,_0x545fb5[_0x070e('0xc3')]);return db[_0x070e('0xa0')][_0x070e('0x1a')]({'where':_0x37fb87[_0x070e('0x5c')]})['then'](function(_0x48ea98){_0x31d3fa[_0x070e('0x1a')]=_0x48ea98;if(_0x545fb5[_0x070e('0x31')]['includeAll']){_0x37fb87[_0x070e('0xbf')]=[{'all':!![]}];}return db[_0x070e('0xa0')]['findAll'](_0x37fb87);})[_0x070e('0x20')](function(_0x5ad1aa){_0x31d3fa['rows']=_0x5ad1aa;return _0x31d3fa;});}})[_0x070e('0x20')](respondWithFilteredResult(_0x5c44b4,_0x37fb87))[_0x070e('0x83')](handleError(_0x5c44b4,null));};exports[_0x070e('0xc6')]=function(_0xbf9592,_0xc61c02,_0x165811){var _0x57f869={'raw':!![],'where':{}};var _0x3a01db={};var _0x283199={'count':0x0,'rows':[]};return db[_0x070e('0x28')]['findOne']({'where':{'id':_0xbf9592[_0x070e('0x82')]['id']}})[_0x070e('0x20')](handleEntityNotFound(_0xc61c02,null))[_0x070e('0x20')](function(_0x1a6a01){if(_0x1a6a01){_0x3a01db['model']=_['keys'](db[_0x070e('0xc7')][_0x070e('0xb9')]);_0x3a01db[_0x070e('0x31')]=_[_0x070e('0x2a')](_0xbf9592[_0x070e('0x31')]);_0x3a01db[_0x070e('0x32')]=_[_0x070e('0x33')](_0x3a01db['model'],_0x3a01db[_0x070e('0x31')]);_0x57f869[_0x070e('0x34')]=_[_0x070e('0x33')](_0x3a01db[_0x070e('0x30')],qs[_0x070e('0x35')](_0xbf9592[_0x070e('0x31')][_0x070e('0x35')]));_0x57f869[_0x070e('0x34')]=_0x57f869[_0x070e('0x34')][_0x070e('0x29')]?_0x57f869[_0x070e('0x34')]:_0x3a01db[_0x070e('0x30')];if(!_0xbf9592[_0x070e('0x31')][_0x070e('0x36')](_0x070e('0xbb'))){_0x57f869['limit']=qs[_0x070e('0x1c')](_0xbf9592[_0x070e('0x31')][_0x070e('0x1c')]);_0x57f869[_0x070e('0x1b')]=qs[_0x070e('0x1b')](_0xbf9592[_0x070e('0x31')][_0x070e('0x1b')]);}_0x57f869['order']=qs[_0x070e('0x38')](_0xbf9592[_0x070e('0x31')][_0x070e('0x38')]);_0x57f869[_0x070e('0x5c')]=qs[_0x070e('0x32')](_[_0x070e('0x39')](_0xbf9592[_0x070e('0x31')],_0x3a01db[_0x070e('0x32')]));_0x57f869[_0x070e('0x5c')]['ContactId']=_0x1a6a01['id'];if(_0xbf9592[_0x070e('0x31')][_0x070e('0x58')]){_0x57f869[_0x070e('0x5c')]=_[_0x070e('0xba')](_0x57f869[_0x070e('0x5c')],{'$or':_[_0x070e('0x4c')](_0x57f869[_0x070e('0x34')],function(_0x3239bf){var _0x19fe1d={};_0x19fe1d[_0x3239bf]={'$like':'%'+_0xbf9592[_0x070e('0x31')][_0x070e('0x58')]+'%'};return _0x19fe1d;})});}_0x57f869=_[_0x070e('0xba')]({},_0x57f869,_0xbf9592[_0x070e('0xc3')]);return db[_0x070e('0xc7')][_0x070e('0x1a')]({'where':_0x57f869[_0x070e('0x5c')]})[_0x070e('0x20')](function(_0x5608f9){_0x283199[_0x070e('0x1a')]=_0x5608f9;if(_0xbf9592[_0x070e('0x31')][_0x070e('0xc4')]){_0x57f869[_0x070e('0xbf')]=[{'all':!![]}];}return db['JscriptySessionReport'][_0x070e('0x89')](_0x57f869);})[_0x070e('0x20')](function(_0x1fd493){_0x283199[_0x070e('0xc0')]=_0x1fd493;return _0x283199;});}})['then'](respondWithFilteredResult(_0xc61c02,_0x57f869))[_0x070e('0x83')](handleError(_0xc61c02,null));};exports['uploadCsv']=function(_0xbca218,_0x56ba4a,_0x59383a){try{if(!_0xbca218[_0x070e('0x8d')][_0x070e('0xa9')]){throw new Error(_0x070e('0xc8'));}if(!_0xbca218['body'][_0x070e('0xc9')]){throw new Error('No\x20association\x20keys\x20specified!');}if(!_0xbca218[_0x070e('0x8d')][_0x070e('0xca')]){throw new Error('No\x20association\x20values\x20specified!');}if(!_0xbca218[_0x070e('0x8d')]['socket_timestamp']){throw new Error(_0x070e('0xcb'));}var _0x51cb1=_0xbca218[_0x070e('0x8d')]['binding_keys']['split'](',');var _0x3caa66=_0xbca218['body'][_0x070e('0xca')][_0x070e('0x4b')](',');if(!_0x51cb1[_0x070e('0x29')]||!_0x3caa66[_0x070e('0x29')]||_0x51cb1[_0x070e('0x29')]!==_0x3caa66[_0x070e('0x29')]){throw new Error('Incorrect\x20binding\x20parameters\x20passed!');}_0xbca218['body'][_0x070e('0x35')]=_['zipObject'](_0x51cb1,_0x3caa66);if(!_0xbca218['body'][_0x070e('0x35')][_0x070e('0xb7')]){throw new Error(_0x070e('0xcc'));}if(!_0xbca218['body'][_0x070e('0x35')][_0x070e('0xcd')]){throw new Error(_0x070e('0xce'));}var _0x4dfac3=path['join'](config[_0x070e('0xcf')],_0x070e('0xd0'),_0xbca218[_0x070e('0xd1')]['filename']);fs[_0x070e('0xd2')](_0x4dfac3,parseInt('0777',0x8));var _0x2e9263=require('child_process')[_0x070e('0xd3')](path[_0x070e('0x91')](__dirname,'../../components/import/cm/csv'),[_0x4dfac3,_0xbca218[_0x070e('0x8d')][_0x070e('0xc9')],_0xbca218[_0x070e('0x8d')][_0x070e('0xca')],_0xbca218[_0x070e('0x8d')][_0x070e('0xa9')],_0xbca218[_0x070e('0x8d')][_0x070e('0xd4')],_0xbca218[_0x070e('0x8d')][_0x070e('0xa8')],_0xbca218[_0x070e('0x8d')][_0x070e('0xd5')]]);return _0x56ba4a[_0x070e('0x25')](0xc8)['json']({'message':_0x070e('0xd6'),'pid':_0x2e9263[_0x070e('0xd7')]});}catch(_0xa029a1){return _0x56ba4a['status'](0x1f4)['send'](_0xa029a1);}};exports[_0x070e('0xd8')]=function(_0x288003,_0x5ab97b,_0x134ca4){var _0x800c97=fs[_0x070e('0xd9')](_0x288003['file'][_0x070e('0x7')]);Papa['parse'](_0x800c97,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x27fc1f){return _0x5ab97b[_0x070e('0x25')](0xc8)['json']({'file':_0x288003[_0x070e('0xd1')],'fields':_0x27fc1f[_0x070e('0xda')][_0x070e('0x35')]});}});};exports[_0x070e('0xdb')]=function(_0x49bb8a,_0x19e6a3,_0x117c38){return db[_0x070e('0x73')][_0x070e('0x89')]({'raw':!![],'attributes':['id'],'where':{'role':'agent'}})[_0x070e('0x20')](function(_0x29e61d){var _0x39ac44=![];if(!_0x49bb8a[_0x070e('0x8d')]['ListId']){throw new Error('No\x20ListId\x20specified');}if(!_0x49bb8a['body'][_0x070e('0xdc')]['phone']){throw new Error(_0x070e('0xcc'));}if(!_0x49bb8a[_0x070e('0x8d')]['binding'][_0x070e('0xcd')]){throw new Error('No\x20firstName\x20column\x20specified');}if(!_0x49bb8a['body'][_0x070e('0xd5')]){throw new Error(_0x070e('0xcb'));}var _0x2715ca=require(_0x070e('0xdd'))[_0x070e('0xd3')](path[_0x070e('0x91')](__dirname,_0x070e('0xde')),[_0x49bb8a[_0x070e('0x82')]['id'],JSON[_0x070e('0xdf')](_0x49bb8a[_0x070e('0x8d')]),JSON[_0x070e('0xdf')](_0x29e61d)]);_0x2715ca['on'](_0x070e('0xe0'),function(_0x5ad2ce){_0x39ac44=!![];return _0x19e6a3[_0x070e('0x25')](0xc8)[_0x070e('0x1d')]({'message':_0x070e('0xe1'),'pid':_0x2715ca[_0x070e('0xd7')]});});_0x2715ca['on'](_0x070e('0xe2'),function(_0x20b861){if(_0x20b861&&!_0x39ac44){return _0x19e6a3['status'](0x1f4)['json']({'message':'error\x20child\x20process','pid':_0x2715ca[_0x070e('0xd7')]});}});})[_0x070e('0x83')](handleError(_0x19e6a3,null));};