37c76375879183835d8969ba0d83cb9cc04f03a2
[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 _0xdffd=['MailMessage','SmsInteraction','OpenchannelInteraction','OpenchannelMessage','CmContactHasItem','CmHopperHistory','ReportAgentPreview','ChatQueueReport','OpenchannelQueueReport','SmsQueueReport','JscriptySessionReport','WhatsappInteraction','WhatsappQueueReport','join','isNil','dialTimezone','utcOffset','timezones','additionalPhones','bulkCreate','duplicates','$or','where','ListId','spread','push','contact','all','Tags','Phones','ContactItemType','ItemType','literal','Phones.OrderBy','$and','omit','format','cf_%d','params','pickBy','cm_contacts','id\x20=\x20?','toParam','text','phone','CmHopper','getTags','findOne','model','Tag','filters','fields','attributes','order','sort','pick','map','options','hasOwnProperty','nolimit','setTags','ids','setAdditionalPhones','OrderBy','items','item_types','description','ItemTypeId','PHONE','item','sequelize','ItemType.OrderBy','CmHopperAdditionalPhone','getAdditionalPhones','duplicateAdditionalPhones','fromContactId','toContactId','rescheduleAdditionalPhones','intersection','ContactId','filter','includeAll','include','rows','getHopperHistories','rawAttributes','CmHopperFinal','getJscriptySessions','uploadCsv','No\x20ListId\x20specified','binding_keys','No\x20association\x20keys\x20specified!','binding_values','No\x20association\x20values\x20specified!','socket_timestamp','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','split','zipObject','No\x20phone\x20column\x20specified','firstName','No\x20firstName\x20column\x20specified','root','server/files/tmp','file','0777','fork','CompanyId','File\x20uploaded\x20correctly!','pid','upload','createReadStream','meta','import','binding','stringify','message','start\x20child\x20process\x20correctly!','exit','error\x20child\x20process','importUpdates','User','child_process','../../components/import/cm/csvUpdates','getJourney','mail','chat','openchannel','fax','voice','-createdAt','resolve','includes','channel','toLowerCase','parse','range','isValid','Invalid\x20createdAt\x20filter','source','destination','callerid','starttime','endtime','duration','note','userSecondDisposition','userThirdDisposition','fullname','DESC','createdAt','VoiceCallReport','startCase','Account','closedAt','disposition','secondDisposition','thirdDisposition','UserId','browserName','customerIp','customerPort','deviceModel','osName','ratingType','ratingValue','referer','subject','externalUrl','threadId','Interaction','findAndCountAll','Owner','flatten','sortBy','reverse','value','slice','moment','bluebird','util','path','lodash','squel','papaparse','ioredis','../../components/contacts','../../components/parsers/qs','../../config/logger','../../config/environment','../../config/environment/shared','redis','defaults','localhost','socket.io-emitter','./cmContact.socket','register','status','json','undefined','limit','count','offset','update','destroy','then','end','sendStatus','error','stack','name','send','describe','getOptions','findAll','query','user','CmContact','find','catch','tags','keys','length','startsWith','columnName','displayName','analytics','CmCustomField','cf_','alias','custom','type','values','info','Custom\x20field\x20%s\x20not\x20found\x20on\x20cm_contacts\x20table','forEach','merge','body','from','get','mergeWith','isArray','[CmContact][merge]\x20to\x20%s\x20from\x20%s','[CmContact][merge][destroy][CmHopper],\x20%s','CmHopperBlack','create','ChatInteraction','MailInteraction'];(function(_0x5ddb1c,_0x5ea4df){var _0x354adc=function(_0x2dfb1f){while(--_0x2dfb1f){_0x5ddb1c['push'](_0x5ddb1c['shift']());}};_0x354adc(++_0x5ea4df);}(_0xdffd,0x1a8));var _0xddff=function(_0x423e29,_0x4faaba){_0x423e29=_0x423e29-0x0;var _0x20290a=_0xdffd[_0x423e29];return _0x20290a;};'use strict';var moment=require(_0xddff('0x0'));var BPromise=require(_0xddff('0x1'));var util=require(_0xddff('0x2'));var path=require(_0xddff('0x3'));var fs=require('fs');var _=require(_0xddff('0x4'));var squel=require(_0xddff('0x5'));var Papa=require(_0xddff('0x6'));var Redis=require(_0xddff('0x7'));var contacts=require(_0xddff('0x8'));var qs=require(_0xddff('0x9'));var logger=require(_0xddff('0xa'))('api');var config=require(_0xddff('0xb'));var shared=require(_0xddff('0xc'));var db=require('../../mysqldb')['db'];config[_0xddff('0xd')]=_[_0xddff('0xe')](config['redis'],{'host':_0xddff('0xf'),'port':0x18eb});var socket=require(_0xddff('0x10'))(new Redis(config[_0xddff('0xd')]));require(_0xddff('0x11'))[_0xddff('0x12')](socket);function respondWithResult(_0x1d363c,_0x3ef397){_0x3ef397=_0x3ef397||0xc8;return function(_0x3c105f){if(_0x3c105f){return _0x1d363c[_0xddff('0x13')](_0x3ef397)[_0xddff('0x14')](_0x3c105f);}};}function respondWithFilteredResult(_0x14798e,_0x45ce98){return function(_0x238897){if(_0x238897){var _0x4d63fc=typeof _0x45ce98['offset']===_0xddff('0x15')&&typeof _0x45ce98[_0xddff('0x16')]===_0xddff('0x15');var _0x1b4403=_0x238897[_0xddff('0x17')];var _0xd2696d=_0x4d63fc?0x0:_0x45ce98[_0xddff('0x18')];var _0x474459=_0x4d63fc?_0x238897[_0xddff('0x17')]:_0x45ce98['offset']+_0x45ce98[_0xddff('0x16')];var _0x358dd1;if(_0x474459>=_0x1b4403){_0x474459=_0x1b4403;_0x358dd1=0xc8;}else{_0x358dd1=0xce;}_0x14798e[_0xddff('0x13')](_0x358dd1);return _0x14798e['set']('Content-Range',_0xd2696d+'-'+_0x474459+'/'+_0x1b4403)[_0xddff('0x14')](_0x238897);}return null;};}function saveUpdates(_0x143589){return function(_0x4f1d12){if(_0x4f1d12){return _0x4f1d12[_0xddff('0x19')](_0x143589)['then'](function(_0x1ac9ea){return _0x1ac9ea;});}return null;};}function removeEntity(_0x487c7e){return function(_0x21668f){if(_0x21668f){return _0x21668f[_0xddff('0x1a')]()[_0xddff('0x1b')](function(){_0x487c7e['status'](0xcc)[_0xddff('0x1c')]();});}};}function handleEntityNotFound(_0x529d5f){return function(_0x374b52){if(!_0x374b52){_0x529d5f[_0xddff('0x1d')](0x194);}return _0x374b52;};}function handleError(_0x34d754,_0x325027){_0x325027=_0x325027||0x1f4;return function(_0x32b421){logger[_0xddff('0x1e')](_0x32b421[_0xddff('0x1f')]);if(_0x32b421[_0xddff('0x20')]){delete _0x32b421['name'];}_0x34d754[_0xddff('0x13')](_0x325027)[_0xddff('0x21')](_0x32b421);};}exports['index']=function(_0x493f2c,_0x308436){var _0x5f12d8={};return contacts[_0xddff('0x22')]()['then'](function(_0x4375b2){_0x5f12d8=qs[_0xddff('0x23')](_0x4375b2,_0x493f2c);return contacts[_0xddff('0x24')](_0x493f2c[_0xddff('0x25')],_0x493f2c[_0xddff('0x26')],_0x5f12d8,_0x4375b2);})[_0xddff('0x1b')](respondWithFilteredResult(_0x308436,_0x5f12d8))['catch'](handleError(_0x308436,null));};exports[_0xddff('0x1a')]=function(_0x5e1dcd,_0x4b93e1){return db[_0xddff('0x27')][_0xddff('0x28')]({'where':{'id':_0x5e1dcd['params']['id']}})['then'](handleEntityNotFound(_0x4b93e1,null))[_0xddff('0x1b')](removeEntity(_0x4b93e1,null))[_0xddff('0x29')](handleError(_0x4b93e1,null));};exports['describe']=function(_0x157a8f,_0x282843){return db[_0xddff('0x27')][_0xddff('0x22')]()['then'](function(_0x249786){delete _0x249786[_0xddff('0x2a')];for(var _0x34c0cd=0x0;_0x34c0cd<Object[_0xddff('0x2b')](_0x249786)[_0xddff('0x2c')];_0x34c0cd++){var _0x153a74=Object[_0xddff('0x2b')](_0x249786)[_0x34c0cd];if(!_[_0xddff('0x2d')](_0x153a74,'cf_')){_0x249786[_0x153a74][_0xddff('0x2e')]=_0x153a74;_0x249786[_0x153a74][_0xddff('0x2f')]=_0x153a74;}}return _0x249786;})[_0xddff('0x1b')](function(_0x4cb8dd){var _0x27d9e8={'where':Boolean(_0x157a8f[_0xddff('0x25')][_0xddff('0x30')])===!![]?undefined:{'$or':[{'ListId':_0x157a8f[_0xddff('0x25')]['id']},{'ListId':null}]},'raw':!![]};return db[_0xddff('0x31')][_0xddff('0x24')](_0x27d9e8)['then'](function(_0x3ff191){for(var _0x511d0e=0x0;_0x511d0e<_0x3ff191['length'];_0x511d0e++){var _0x147a03=_0xddff('0x32')+_0x3ff191[_0x511d0e]['id'];if(_0x4cb8dd[_0x147a03]){_0x4cb8dd[_0x147a03][_0xddff('0x2e')]=_0x147a03;_0x4cb8dd[_0x147a03][_0xddff('0x2f')]=_0x3ff191[_0x511d0e][_0xddff('0x33')];_0x4cb8dd[_0x147a03][_0xddff('0x34')]={'type':_0x3ff191[_0x511d0e][_0xddff('0x35')],'values':_0x3ff191[_0x511d0e][_0xddff('0x36')]};}else{logger[_0xddff('0x37')](_0xddff('0x38'),_0x147a03);}}Object[_0xddff('0x2b')](_0x4cb8dd)[_0xddff('0x39')](function(_0x1f8d62){if(!_0x4cb8dd[_0x1f8d62]['hasOwnProperty'](_0xddff('0x2e'))){delete _0x4cb8dd[_0x1f8d62];}});return _0x4cb8dd;});})[_0xddff('0x1b')](respondWithResult(_0x282843,null))[_0xddff('0x29')](handleError(_0x282843,null));};exports[_0xddff('0x3a')]=function(_0x386f0f,_0x46d758){var _0x47fb57;var _0x571622;var _0x5ac8e2;if(_0x386f0f[_0xddff('0x3b')]['id']){delete _0x386f0f[_0xddff('0x3b')]['id'];}return db[_0xddff('0x27')][_0xddff('0x24')]({'where':{'id':[_0x386f0f['body']['to'],_0x386f0f[_0xddff('0x3b')][_0xddff('0x3c')]]}})[_0xddff('0x1b')](function(_0xb55f20){if(_0xb55f20){if(_0xb55f20['length']!==0x2){return null;}_0xb55f20[0x0]=_0xb55f20[0x0][_0xddff('0x3d')]({'plain':!![]});_0xb55f20[0x1]=_0xb55f20[0x1][_0xddff('0x3d')]({'plain':!![]});delete _0xb55f20[0x0]['id'];delete _0xb55f20[0x1]['id'];return _[_0xddff('0x3e')](_0xb55f20[0x0],_0xb55f20[0x1],function(_0x22b6ea,_0x4d7394){if(Array[_0xddff('0x3f')](_0x4d7394)&&!_0x4d7394[_0xddff('0x2c')]){return _0x22b6ea;}else if(!_0x4d7394){return _0x22b6ea;}});}})[_0xddff('0x1b')](handleEntityNotFound(_0x46d758,null))[_0xddff('0x1b')](function(_0x408239){if(_0x408239){if(_0x408239[_0xddff('0x2a')]&&_[_0xddff('0x3f')](_0x408239[_0xddff('0x2a')])){_0x408239['tags']=_0x408239[_0xddff('0x2a')]['join']();}logger[_0xddff('0x37')](_0xddff('0x40'),_0x386f0f[_0xddff('0x3b')]['to'],_0x386f0f[_0xddff('0x3b')][_0xddff('0x3c')]);return db['CmHopper']['destroy']({'where':{'ContactId':[_0x386f0f[_0xddff('0x3b')]['to'],_0x386f0f[_0xddff('0x3b')]['from']]}})['then'](function(_0x3c8a37){logger[_0xddff('0x37')](_0xddff('0x41'),_0x3c8a37);return db[_0xddff('0x42')][_0xddff('0x1a')]({'where':{'ContactId':[_0x386f0f[_0xddff('0x3b')]['to'],_0x386f0f['body'][_0xddff('0x3c')]]}})[_0xddff('0x1b')](function(_0x42088c){logger[_0xddff('0x37')]('[CmContact][merge][destroy][CmHopperBlack],\x20%s',_0x42088c);return db[_0xddff('0x27')][_0xddff('0x43')](_0x408239);});});}})['then'](function(_0x388bdb){if(_0x388bdb){_0x47fb57=_0x388bdb;_0x571622={'ContactId':_0x47fb57['id']};_0x5ac8e2={'where':{'ContactId':[_0x386f0f['body']['to'],_0x386f0f[_0xddff('0x3b')][_0xddff('0x3c')]]}};return db[_0xddff('0x44')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db['ChatMessage'][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})['then'](function(){if(_0x47fb57){return db['ChatOfflineMessage'][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})['then'](function(){if(_0x47fb57){return db[_0xddff('0x45')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})['then'](function(){if(_0x47fb57){return db[_0xddff('0x46')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})['then'](function(){if(_0x47fb57){return db['MailInteraction']['update'](_0x571622,_0x5ac8e2);}})['then'](function(){if(_0x47fb57){return db[_0xddff('0x46')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db[_0xddff('0x47')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db['SmsMessage'][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})['then'](function(){if(_0x47fb57){return db['FaxInteraction'][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})['then'](function(){if(_0x47fb57){return db['FaxMessage'][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db[_0xddff('0x48')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db[_0xddff('0x49')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db[_0xddff('0x4a')][_0xddff('0x19')]({'CmContactId':_0x47fb57['id']},{'where':{'CmContactId':[_0x386f0f[_0xddff('0x3b')]['to'],_0x386f0f['body'][_0xddff('0x3c')]]}});}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db['CmHopperFinal']['update'](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db[_0xddff('0x4b')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db[_0xddff('0x4c')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db['VoiceCallReport'][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db[_0xddff('0x4d')]['update'](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db['FaxQueueReport'][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})['then'](function(){if(_0x47fb57){return db['MailQueueReport']['update'](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db[_0xddff('0x4e')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db[_0xddff('0x4f')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db[_0xddff('0x50')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db[_0xddff('0x51')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db['WhatsappMessage']['update'](_0x571622,_0x5ac8e2);}})['then'](function(){if(_0x47fb57){return db[_0xddff('0x52')][_0xddff('0x19')](_0x571622,_0x5ac8e2);}})[_0xddff('0x1b')](function(){if(_0x47fb57){return db['CmContact'][_0xddff('0x1a')]({'where':{'id':[_0x386f0f['body']['to'],_0x386f0f[_0xddff('0x3b')][_0xddff('0x3c')]]}});}})['then'](function(){if(_0x47fb57){return _0x47fb57;}})[_0xddff('0x1b')](respondWithResult(_0x46d758,null))[_0xddff('0x29')](handleError(_0x46d758,null));};exports[_0xddff('0x43')]=function(_0x27767b,_0x46d4d7){return db[_0xddff('0x27')][_0xddff('0x22')]()[_0xddff('0x1b')](function(_0x197ea6){if(_0x27767b['body'][_0xddff('0x2a')]&&_[_0xddff('0x3f')](_0x27767b['body'][_0xddff('0x2a')])){if(_0x27767b['body'][_0xddff('0x2a')][_0xddff('0x2c')]){_0x27767b[_0xddff('0x3b')][_0xddff('0x2a')]=_0x27767b[_0xddff('0x3b')][_0xddff('0x2a')][_0xddff('0x53')](';')+';';}else{_0x27767b[_0xddff('0x3b')][_0xddff('0x2a')]=null;}}else{_0x27767b[_0xddff('0x3b')][_0xddff('0x2a')]=null;}if(!_[_0xddff('0x54')](_0x27767b[_0xddff('0x3b')][_0xddff('0x55')])){var _0x4cb0f5=_0x27767b[_0xddff('0x3b')][_0xddff('0x55')];if(!_[_0xddff('0x54')](shared['timezones'][_0x4cb0f5]))_0x27767b[_0xddff('0x3b')][_0xddff('0x56')]=shared[_0xddff('0x57')][_0x4cb0f5][_0xddff('0x56')];}return db[_0xddff('0x27')][_0xddff('0x43')](_0x27767b['body'],{'fields':_[_0xddff('0x2b')](_0x197ea6),'raw':!![]});})[_0xddff('0x1b')](function(_0x8edd07){if(_0x27767b[_0xddff('0x3b')]['additionalPhones']){return insertAdditionalPhones(_0x8edd07,_0x27767b['body'][_0xddff('0x58')]);}else{return _0x8edd07;}})[_0xddff('0x1b')](respondWithResult(_0x46d4d7,0xc9))['catch'](handleError(_0x46d4d7,null));};exports[_0xddff('0x59')]=function(_0x312eff,_0x221a92){var _0x20e344=0x0;var _0xfdc739=0x0;var _0x340295=0x0;var _0x289c36=[];return db[_0xddff('0x27')][_0xddff('0x22')]()['then'](function(_0x5a360f){return BPromise['each'](_0x312eff[_0xddff('0x3b')],function(_0x1426db){var _0x2d4b6b={'where':{'$or':[]},'defaults':_0x1426db,'fields':_[_0xddff('0x2b')](_0x5a360f),'raw':!![]};if(_0x1426db[_0xddff('0x5a')]){for(var _0x43ed8c=0x0;_0x43ed8c<_0x1426db['duplicates'][_0xddff('0x2c')];_0x43ed8c++){var _0x117b4a={};_0x117b4a[_0x1426db['duplicates'][_0x43ed8c]]=_0x1426db[_0x1426db[_0xddff('0x5a')][_0x43ed8c]];_0x2d4b6b['where'][_0xddff('0x5b')]['push'](_0x117b4a);}_0x2d4b6b[_0xddff('0x5c')][_0xddff('0x5d')]=_0x1426db['ListId'];}return db[_0xddff('0x27')]['findOrCreate'](_0x2d4b6b)[_0xddff('0x5e')](function(_0x52ba33,_0x3c8f57){if(_0x3c8f57){if(_0x1426db['hasOwnProperty'](_0xddff('0x58'))){_0x289c36[_0xddff('0x5f')]({'contact':_0x52ba33,'additionalPhones':_0x1426db[_0xddff('0x58')]});}_0x20e344++;}else{_0x340295++;}})[_0xddff('0x29')](function(){_0xfdc739++;});});})[_0xddff('0x1b')](function(_0x477a42){if(_0x477a42){if(_0x289c36['length']>0x0){return new Promise(function(_0x15c95f){var _0x2bf712=[];for(var _0x472b94=0x0;_0x472b94<_0x289c36[_0xddff('0x2c')];_0x472b94++){_0x2bf712[_0xddff('0x5f')](insertAdditionalPhones(_0x289c36[_0x472b94][_0xddff('0x60')],_0x289c36[_0x472b94][_0xddff('0x58')]));}Promise[_0xddff('0x61')](_0x2bf712)[_0xddff('0x1b')](function(){_0x15c95f(0x1);});})['then'](function(){return{'success':_0x20e344,'failure':_0xfdc739,'duplicates':_0x340295};});}else{return{'success':_0x20e344,'failure':_0xfdc739,'duplicates':_0x340295};}}})[_0xddff('0x1b')](respondWithResult(_0x221a92,0xc9))['catch'](handleError(_0x221a92,null));};exports['show']=function(_0x23911d,_0x2607bb){var _0x49813b;return db[_0xddff('0x27')][_0xddff('0x22')]()[_0xddff('0x1b')](function(_0x1a9e06){return db['CmContact'][_0xddff('0x28')]({'where':{'id':_0x23911d['params']['id']},'include':[{'model':db['Tag'],'as':_0xddff('0x62'),'attributes':['id',_0xddff('0x20'),'color'],'required':_0x23911d['query']['tag']?!![]:![]},{'model':db[_0xddff('0x4a')],'as':_0xddff('0x63'),'where':{'CmContactId':_0x23911d['params']['id']},'required':![],'include':[{'model':db[_0xddff('0x64')],'as':_0xddff('0x65')}]}],'order':[db['sequelize'][_0xddff('0x66')](_0xddff('0x67'))],'attributes':_[_0xddff('0x2b')](_0x1a9e06)});})['then'](function(_0x4674a9){if(!_['isNil'](_0x4674a9)){_0x49813b=_0x4674a9['get']({'plain':!![]});var _0x567102={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x4674a9&&_0x4674a9[_0xddff('0x5d')]){if(_0x4674a9[_0xddff('0x5d')]){_0x567102[_0xddff('0x5c')][_0xddff('0x68')][_0xddff('0x5f')]({'ListId':{'$ne':_0x4674a9[_0xddff('0x5d')]}});}}return db[_0xddff('0x31')]['findAll'](_0x567102);}})[_0xddff('0x1b')](function(_0x8b544f){if(!_['isNil'](_0x8b544f)){return _[_0xddff('0x69')](_0x49813b,_['map'](_0x8b544f,function(_0xa73fae){return util[_0xddff('0x6a')](_0xddff('0x6b'),_0xa73fae['id']);}));}})[_0xddff('0x1b')](handleEntityNotFound(_0x2607bb,null))[_0xddff('0x1b')](respondWithResult(_0x2607bb,null))[_0xddff('0x29')](handleError(_0x2607bb,null));};exports[_0xddff('0x19')]=function(_0x492d2c,_0x47dc03){var _0x2820bc;if(_0x492d2c[_0xddff('0x3b')]['id']){delete _0x492d2c[_0xddff('0x3b')]['id'];}if(!_[_0xddff('0x54')](_0x492d2c['body'][_0xddff('0x55')])){var _0x374a3e=_0x492d2c['body'][_0xddff('0x55')];if(!_[_0xddff('0x54')](shared[_0xddff('0x57')][_0x374a3e]))_0x492d2c[_0xddff('0x3b')][_0xddff('0x56')]=shared[_0xddff('0x57')][_0x374a3e][_0xddff('0x56')];}return db['CmContact'][_0xddff('0x28')]({'where':{'id':_0x492d2c[_0xddff('0x6c')]['id']}})[_0xddff('0x1b')](handleEntityNotFound(_0x47dc03,null))[_0xddff('0x1b')](saveUpdates(_0x492d2c[_0xddff('0x3b')],null))[_0xddff('0x1b')](function(_0x337b4e){_0x2820bc=_0x337b4e;var _0x4896ba={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x337b4e&&_0x337b4e[_0xddff('0x5d')]){if(_0x337b4e[_0xddff('0x5d')]){_0x4896ba[_0xddff('0x5c')]['$and'][_0xddff('0x5f')]({'ListId':{'$ne':_0x337b4e[_0xddff('0x5d')]}});}}return db[_0xddff('0x31')][_0xddff('0x24')](_0x4896ba);})[_0xddff('0x1b')](function(_0xc6afb0){if(_0xc6afb0){return _['omit'](_[_0xddff('0x6d')](_0x492d2c[_0xddff('0x3b')],function(_0x2108d9,_0x425276){return _[_0xddff('0x2d')](_0x425276,_0xddff('0x32'));}),_['map'](_0xc6afb0,function(_0x37e1a1){return util['format'](_0xddff('0x6b'),_0x37e1a1['id']);}));}})['then'](function(_0x4508b2){if(_0x4508b2&&!_['isEmpty'](_0x4508b2)){var _0x4d9e1d=squel[_0xddff('0x19')]()['table'](_0xddff('0x6e'))['setFields'](_0x4508b2)[_0xddff('0x5c')](_0xddff('0x6f'),_0x492d2c[_0xddff('0x6c')]['id'])[_0xddff('0x70')]();return db['sequelize'][_0xddff('0x25')](_0x4d9e1d[_0xddff('0x71')],{'replacements':_0x4d9e1d['values']});}})[_0xddff('0x1b')](function(){if(_0x492d2c[_0xddff('0x3b')][_0xddff('0x72')]&&_0x2820bc){return db[_0xddff('0x73')]['update']({'phone':_0x492d2c[_0xddff('0x3b')][_0xddff('0x72')],'OrderBy':0x0},{'where':{'ContactId':_0x2820bc['id']}});}})['then'](function(){return _0x2820bc;})[_0xddff('0x1b')](respondWithResult(_0x47dc03,null))[_0xddff('0x29')](handleError(_0x47dc03,null));};exports[_0xddff('0x74')]=function(_0x55f45f,_0x33a6da){var _0x309cdd={};var _0x45ba69={};var _0x58dc43;var _0x460a7f;return db[_0xddff('0x27')][_0xddff('0x75')]({'where':{'id':_0x55f45f[_0xddff('0x6c')]['id']}})[_0xddff('0x1b')](handleEntityNotFound(_0x33a6da,null))[_0xddff('0x1b')](function(_0x52e9a0){if(_0x52e9a0){_0x58dc43=_0x52e9a0;_0x45ba69[_0xddff('0x76')]=_[_0xddff('0x2b')](db[_0xddff('0x77')]['rawAttributes']);_0x45ba69[_0xddff('0x25')]=_[_0xddff('0x2b')](_0x55f45f[_0xddff('0x25')]);_0x45ba69[_0xddff('0x78')]=_['intersection'](_0x45ba69[_0xddff('0x76')],_0x45ba69[_0xddff('0x25')]);_0x309cdd['attributes']=_['intersection'](_0x45ba69['model'],qs[_0xddff('0x79')](_0x55f45f[_0xddff('0x25')][_0xddff('0x79')]));_0x309cdd[_0xddff('0x7a')]=_0x309cdd['attributes'][_0xddff('0x2c')]?_0x309cdd[_0xddff('0x7a')]:_0x45ba69[_0xddff('0x76')];_0x309cdd[_0xddff('0x7b')]=qs[_0xddff('0x7c')](_0x55f45f['query'][_0xddff('0x7c')]);_0x309cdd[_0xddff('0x5c')]=qs[_0xddff('0x78')](_[_0xddff('0x7d')](_0x55f45f['query'],_0x45ba69[_0xddff('0x78')]));if(_0x55f45f[_0xddff('0x25')]['filter']){_0x309cdd[_0xddff('0x5c')]=_[_0xddff('0x3a')](_0x309cdd[_0xddff('0x5c')],{'$or':_[_0xddff('0x7e')](_0x309cdd[_0xddff('0x7a')],function(_0x509069){var _0x544f62={};_0x544f62[_0x509069]={'$like':'%'+_0x55f45f[_0xddff('0x25')]['filter']+'%'};return _0x544f62;})});}_0x309cdd=_[_0xddff('0x3a')]({},_0x309cdd,_0x55f45f[_0xddff('0x7f')]);return _0x58dc43[_0xddff('0x74')](_0x309cdd);}})['then'](function(_0x45deb1){if(_0x45deb1){_0x460a7f=_0x45deb1[_0xddff('0x2c')];if(!_0x55f45f[_0xddff('0x25')][_0xddff('0x80')](_0xddff('0x81'))){_0x309cdd['limit']=qs[_0xddff('0x16')](_0x55f45f[_0xddff('0x25')][_0xddff('0x16')]);_0x309cdd[_0xddff('0x18')]=qs['offset'](_0x55f45f['query']['offset']);}return _0x58dc43[_0xddff('0x74')](_0x309cdd);}})[_0xddff('0x1b')](function(_0x4c53f8){if(_0x4c53f8){return _0x4c53f8?{'count':_0x460a7f,'rows':_0x4c53f8}:null;}})[_0xddff('0x1b')](respondWithResult(_0x33a6da,null))[_0xddff('0x29')](handleError(_0x33a6da,null));};exports[_0xddff('0x82')]=function(_0x36bad1,_0x9c8a86){if(_0x36bad1['body']['id']){delete _0x36bad1['body']['id'];}return db['CmContact']['findOne']({'where':{'id':_0x36bad1[_0xddff('0x6c')]['id']}})[_0xddff('0x1b')](handleEntityNotFound(_0x9c8a86,null))[_0xddff('0x1b')](function(_0x43153b){if(_0x43153b){return _0x43153b[_0xddff('0x82')](_0x36bad1[_0xddff('0x3b')][_0xddff('0x83')]||[]);}return null;})['then'](respondWithResult(_0x9c8a86,null))['catch'](handleError(_0x9c8a86,null));};exports[_0xddff('0x84')]=function(_0x4adee5,_0x57e9e2){var _0x35740c=[];_0x35740c['push'](addAdditionalPhones(_0x4adee5[_0xddff('0x3b')]));Promise[_0xddff('0x61')](_0x35740c)['then'](function(){_0x35740c=[];_0x35740c[_0xddff('0x5f')](deleteCmHopperPhones(_0x4adee5[_0xddff('0x3b')]['id']));_0x35740c['push'](addCmHopperPhones(_0x4adee5['body']['id']));Promise[_0xddff('0x61')](_0x35740c)['then'](function(){return[0x1];})[_0xddff('0x1b')](respondWithResult(_0x57e9e2,null));});};function addAdditionalPhones(_0x38ece5){var _0x5ae8c4;return new Promise(function(_0xf36675){return db['CmContactHasItem'][_0xddff('0x1a')]({'where':{'CmContactId':_0x38ece5['id']}})[_0xddff('0x1b')](function(){db[_0xddff('0x64')][_0xddff('0x24')]({'raw':!![],'attributes':['id',_0xddff('0x85')]})[_0xddff('0x1b')](function(_0x3060c8){var _0x30eb96=[];for(var _0x2c5a8e=0x0;_0x2c5a8e<_0x38ece5[_0xddff('0x86')][_0xddff('0x2c')];_0x2c5a8e++){var _0x3390ef=_0x38ece5[_0xddff('0x87')]?_[_0xddff('0x54')](_0x38ece5[_0xddff('0x87')][_0x2c5a8e])?'':_0x38ece5[_0xddff('0x87')][_0x2c5a8e]:_0x38ece5[_0xddff('0x86')][_0x2c5a8e]['ItemTypeId']?_0x38ece5['items'][_0x2c5a8e]['ItemTypeId']:'';var _0x79fa6b=_[_0xddff('0x54')](_0x38ece5[_0xddff('0x86')][_0x2c5a8e][_0xddff('0x88')])?'':_0x38ece5[_0xddff('0x86')][_0x2c5a8e][_0xddff('0x88')];var _0x2d13ba=_0x3390ef+':'+_0x38ece5['items'][_0x2c5a8e][_0xddff('0x72')]+'ยง'+_0x79fa6b;if(_[_0xddff('0x54')](_0x5ae8c4))_0x5ae8c4=_0x2d13ba;else _0x5ae8c4+=';'+_0x2d13ba;var _0x264a84=null;var _0x252a1a=null;if(_0x38ece5['item_types']){if(!_[_0xddff('0x54')](_0x38ece5['item_types'][_0x2c5a8e])){_0x252a1a=_['find'](_0x3060c8,function(_0x5056e4){return _0x5056e4['id']===_0x38ece5[_0xddff('0x87')][_0x2c5a8e];});if(!_[_0xddff('0x54')](_0x252a1a)){_0x264a84=_0x252a1a[_0xddff('0x85')];}}}else{if(!_[_0xddff('0x54')](_0x38ece5[_0xddff('0x86')][_0x2c5a8e])){_0x252a1a=_[_0xddff('0x28')](_0x3060c8,function(_0x5b1305){return _0x5b1305['id']===_0x38ece5[_0xddff('0x86')][_0x2c5a8e][_0xddff('0x89')];});if(!_[_0xddff('0x54')](_0x252a1a)){_0x264a84=_0x2c5a8e;}}}if(_['isNil'](_0x264a84)){_0x264a84=0x64;}_0x30eb96[_0xddff('0x5f')](addAdditionalPhone(_0x38ece5['id'],_0x38ece5['items'][_0x2c5a8e][_0xddff('0x72')],_0x38ece5[_0xddff('0x87')]?_[_0xddff('0x54')](_0x38ece5[_0xddff('0x87')][_0x2c5a8e])?null:_0x38ece5[_0xddff('0x87')][_0x2c5a8e]:_0x38ece5[_0xddff('0x86')][_0x2c5a8e][_0xddff('0x89')]?_0x38ece5[_0xddff('0x86')][_0x2c5a8e][_0xddff('0x89')]:null,_0x264a84,_0x79fa6b));}Promise[_0xddff('0x61')](_0x30eb96)[_0xddff('0x1b')](function(){db['CmContact'][_0xddff('0x19')]({'AdditionalPhones':_0x5ae8c4},{'where':{'id':_0x38ece5['id']}})[_0xddff('0x1b')](function(){_0xf36675(0x1);});});});});});}function addAdditionalPhone(_0x24b0a5,_0x53b440,_0x247c8f,_0x22677f,_0x5e7e31){return db['CmContactHasItem'][_0xddff('0x28')]({'where':{'CmContactId':_0x24b0a5,'item':_0x53b440}})[_0xddff('0x1b')](function(_0x4616b3){if(_0x4616b3)logger[_0xddff('0x37')]('contact\x20phone\x20exists',_0x4616b3);else{db[_0xddff('0x4a')][_0xddff('0x43')]({'CmContactId':_0x24b0a5,'item':_0x53b440,'ItemTypeId':_0x247c8f,'OrderBy':_0x22677f,'ItemClass':_0xddff('0x8a'),'description':_0x5e7e31});}});}function deleteCmHopperPhones(_0x52e758){return new Promise(function(_0x5f23cc){return db[_0xddff('0x73')][_0xddff('0x24')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x52e758}})[_0xddff('0x1b')](function(_0x5e42cd){db['CmHopperAdditionalPhone'][_0xddff('0x1a')]({'where':{'CmHopperId':{'$in':_[_0xddff('0x7e')](_0x5e42cd,'id')}}});})[_0xddff('0x1b')](function(){_0x5f23cc(0x1);});});}function addCmHopperPhones(_0x380113){return new Promise(function(_0x5323d9){return db[_0xddff('0x73')][_0xddff('0x24')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x380113}})[_0xddff('0x1b')](function(_0x318aa3){var _0x5aee0e=[];_[_0xddff('0x7e')](_0x318aa3,function(_0x5e1ce0){_0x5aee0e[_0xddff('0x5f')](createCmHopperPhone(_0x380113,_0x5e1ce0['id']));});Promise['all'](_0x5aee0e)[_0xddff('0x1b')](function(){_0x5323d9(0x1);});});});}function createCmHopperPhone(_0x184b4d,_0x5e139e){return new Promise(function(_0x1c0322){db[_0xddff('0x4a')][_0xddff('0x24')]({'raw':!![],'attributes':[_0xddff('0x8b'),_0xddff('0x85')],'where':{'CmContactId':_0x184b4d,'ItemClass':_0xddff('0x8a')},'include':[{'model':db[_0xddff('0x64')],'attributes':[_0xddff('0x85')],'as':_0xddff('0x65')}],'order':[_0xddff('0x85'),db[_0xddff('0x8c')][_0xddff('0x66')]('`ItemType`.OrderBy')]})[_0xddff('0x1b')](function(_0x502973){var _0x1ee1e2=0x1;var _0x216a33=_[_0xddff('0x7e')](_0x502973,function(_0x12464b){_0x12464b['CmHopperId']=_0x5e139e;_0x12464b[_0xddff('0x72')]=_0x12464b[_0xddff('0x8b')];_0x12464b[_0xddff('0x85')]=_0x1ee1e2;delete _0x12464b[_0xddff('0x8d')];_0x1ee1e2=_0x1ee1e2+0x1;return _0x12464b;});return db[_0xddff('0x8e')][_0xddff('0x59')](_0x216a33,{});})[_0xddff('0x1b')](function(){_0x1c0322(0x1);});});}function insertAdditionalPhones(_0x5b8275,_0x2b9ec3){return new Promise(function(_0xf4857d){var _0x23c86d=[];for(var _0xd868b5=0x0;_0xd868b5<_0x2b9ec3[_0xddff('0x2c')];_0xd868b5++){var _0x111c05=_0x2b9ec3[_0xd868b5];_0x23c86d[_0xddff('0x5f')](parseContactItemType(_0x111c05));}Promise['all'](_0x23c86d)[_0xddff('0x1b')](function(){var _0x496842={'id':_0x5b8275['id'],'items':_0x2b9ec3};return addAdditionalPhones(_0x496842)[_0xddff('0x1b')](function(){return addCmHopperPhones(_0x5b8275['id']);});})[_0xddff('0x1b')](function(){_0xf4857d(_0x5b8275);});});}function parseContactItemType(_0x4765ed){return new Promise(function(_0x467211){if(_0x4765ed[_0xddff('0x80')](_0xddff('0x89'))){_0x467211(_0x4765ed);}else{return db['ContactItemType'][_0xddff('0x28')]({'where':{'name':_0x4765ed[_0xddff('0x65')]}})[_0xddff('0x1b')](function(_0x4c49cd){if(_[_0xddff('0x54')](_0x4c49cd))_0x4765ed[_0xddff('0x89')]=null;else _0x4765ed[_0xddff('0x89')]=_0x4c49cd['id'];_0x467211(_0x4765ed);});}});}exports[_0xddff('0x8f')]=function(_0x337881,_0x53f86b){return db[_0xddff('0x4a')]['findAll']({'raw':!![],'where':{'CmContactId':_0x337881[_0xddff('0x6c')]['id'],'ItemClass':_0xddff('0x8a')},'include':[{'model':db[_0xddff('0x64')],'as':_0xddff('0x65')}],'order':[[_0xddff('0x85')],[db[_0xddff('0x8c')][_0xddff('0x66')]('`ItemType`.OrderBy')]]})[_0xddff('0x1b')](function(_0x570380){return _0x570380;})[_0xddff('0x1b')](respondWithResult(_0x53f86b,null))[_0xddff('0x29')](handleError(_0x53f86b,null));};exports[_0xddff('0x90')]=function(_0x4ea54d,_0xc1698e){return db[_0xddff('0x4a')][_0xddff('0x24')]({'raw':!![],'where':{'CmContactId':_0x4ea54d[_0xddff('0x3b')][_0xddff('0x91')]}})[_0xddff('0x1b')](function(_0x50b3cc){var _0x41aae2=_[_0xddff('0x7e')](_0x50b3cc,function(_0x4030a9){_0x4030a9['CmContactId']=_0x4ea54d['body']['toContactId'];return _0x4030a9;});return db[_0xddff('0x4a')][_0xddff('0x59')](_0x41aae2,{});})[_0xddff('0x1b')](function(){return addCmHopperPhones(_0x4ea54d[_0xddff('0x3b')][_0xddff('0x92')]);})[_0xddff('0x1b')](function(){return['ok'];})['then'](respondWithResult(_0xc1698e,null))[_0xddff('0x29')](handleError(_0xc1698e,null));};exports[_0xddff('0x93')]=function(_0x5521e4,_0x411f2a){var _0x3fd386=[];_0x3fd386[_0xddff('0x5f')](createCmHopperPhone(_0x5521e4['body']['id'],_0x5521e4[_0xddff('0x3b')]['hopperId']));Promise[_0xddff('0x61')](_0x3fd386)[_0xddff('0x1b')](function(){return[0x1];})[_0xddff('0x1b')](respondWithResult(_0x411f2a,null));};exports['getHoppers']=function(_0xacf113,_0x187067){var _0x1f991d={'raw':![],'where':{}};var _0x185418={};var _0x53906f={'count':0x0,'rows':[]};return db[_0xddff('0x27')][_0xddff('0x75')]({'where':{'id':_0xacf113['params']['id']}})[_0xddff('0x1b')](handleEntityNotFound(_0x187067,null))[_0xddff('0x1b')](function(_0x51504d){if(_0x51504d){_0x185418['model']=_['keys'](db[_0xddff('0x73')]['rawAttributes']);_0x185418[_0xddff('0x25')]=_[_0xddff('0x2b')](_0xacf113[_0xddff('0x25')]);_0x185418[_0xddff('0x78')]=_[_0xddff('0x94')](_0x185418['model'],_0x185418[_0xddff('0x25')]);_0x1f991d[_0xddff('0x7a')]=_[_0xddff('0x94')](_0x185418['model'],qs['fields'](_0xacf113[_0xddff('0x25')][_0xddff('0x79')]));_0x1f991d[_0xddff('0x7a')]=_0x1f991d[_0xddff('0x7a')][_0xddff('0x2c')]?_0x1f991d[_0xddff('0x7a')]:_0x185418[_0xddff('0x76')];if(!_0xacf113[_0xddff('0x25')][_0xddff('0x80')](_0xddff('0x81'))){_0x1f991d[_0xddff('0x16')]=qs[_0xddff('0x16')](_0xacf113[_0xddff('0x25')][_0xddff('0x16')]);_0x1f991d[_0xddff('0x18')]=qs['offset'](_0xacf113[_0xddff('0x25')][_0xddff('0x18')]);}_0x1f991d[_0xddff('0x7b')]=qs[_0xddff('0x7c')](_0xacf113[_0xddff('0x25')][_0xddff('0x7c')]);_0x1f991d[_0xddff('0x5c')]=qs['filters'](_[_0xddff('0x7d')](_0xacf113[_0xddff('0x25')],_0x185418[_0xddff('0x78')]));_0x1f991d['where'][_0xddff('0x95')]=_0x51504d['id'];if(_0xacf113[_0xddff('0x25')][_0xddff('0x96')]){_0x1f991d[_0xddff('0x5c')]=_[_0xddff('0x3a')](_0x1f991d[_0xddff('0x5c')],{'$or':_[_0xddff('0x7e')](_0x1f991d[_0xddff('0x7a')],function(_0x11cdbd){var _0x4839e2={};_0x4839e2[_0x11cdbd]={'$like':'%'+_0xacf113[_0xddff('0x25')][_0xddff('0x96')]+'%'};return _0x4839e2;})});}_0x1f991d=_[_0xddff('0x3a')]({},_0x1f991d,_0xacf113[_0xddff('0x7f')]);return db[_0xddff('0x73')][_0xddff('0x17')]({'where':_0x1f991d[_0xddff('0x5c')]})[_0xddff('0x1b')](function(_0x4268f4){_0x53906f[_0xddff('0x17')]=_0x4268f4;if(_0xacf113['query'][_0xddff('0x97')]){_0x1f991d[_0xddff('0x98')]=[{'all':!![]}];}return db['CmHopper'][_0xddff('0x24')](_0x1f991d);})[_0xddff('0x1b')](function(_0x370b1c){_0x53906f[_0xddff('0x99')]=_0x370b1c;return _0x53906f;});}})[_0xddff('0x1b')](respondWithFilteredResult(_0x187067,_0x1f991d))[_0xddff('0x29')](handleError(_0x187067,null));};exports[_0xddff('0x9a')]=function(_0x3381bb,_0x4ceefb){var _0x34468e={'raw':!![],'where':{}};var _0x446996={};var _0x1725bc={'count':0x0,'rows':[]};return db[_0xddff('0x27')][_0xddff('0x75')]({'where':{'id':_0x3381bb[_0xddff('0x6c')]['id']}})['then'](handleEntityNotFound(_0x4ceefb,null))[_0xddff('0x1b')](function(_0x315153){if(_0x315153){_0x446996[_0xddff('0x76')]=_['keys'](db[_0xddff('0x4b')]['rawAttributes']);_0x446996[_0xddff('0x25')]=_[_0xddff('0x2b')](_0x3381bb[_0xddff('0x25')]);_0x446996[_0xddff('0x78')]=_['intersection'](_0x446996[_0xddff('0x76')],_0x446996['query']);_0x34468e[_0xddff('0x7a')]=_['intersection'](_0x446996[_0xddff('0x76')],qs['fields'](_0x3381bb[_0xddff('0x25')]['fields']));_0x34468e[_0xddff('0x7a')]=_0x34468e['attributes'][_0xddff('0x2c')]?_0x34468e[_0xddff('0x7a')]:_0x446996[_0xddff('0x76')];if(!_0x3381bb['query'][_0xddff('0x80')]('nolimit')){_0x34468e[_0xddff('0x16')]=qs[_0xddff('0x16')](_0x3381bb['query'][_0xddff('0x16')]);_0x34468e[_0xddff('0x18')]=qs[_0xddff('0x18')](_0x3381bb[_0xddff('0x25')][_0xddff('0x18')]);}_0x34468e[_0xddff('0x7b')]=qs[_0xddff('0x7c')](_0x3381bb[_0xddff('0x25')][_0xddff('0x7c')]);_0x34468e[_0xddff('0x5c')]=qs[_0xddff('0x78')](_[_0xddff('0x7d')](_0x3381bb[_0xddff('0x25')],_0x446996[_0xddff('0x78')]));_0x34468e[_0xddff('0x5c')][_0xddff('0x95')]=_0x315153['id'];if(_0x3381bb[_0xddff('0x25')]['filter']){_0x34468e[_0xddff('0x5c')]=_[_0xddff('0x3a')](_0x34468e[_0xddff('0x5c')],{'$or':_[_0xddff('0x7e')](_0x34468e[_0xddff('0x7a')],function(_0x3acada){var _0x5a1310={};_0x5a1310[_0x3acada]={'$like':'%'+_0x3381bb['query'][_0xddff('0x96')]+'%'};return _0x5a1310;})});}_0x34468e=_[_0xddff('0x3a')]({},_0x34468e,_0x3381bb['options']);return db[_0xddff('0x4b')][_0xddff('0x17')]({'where':_0x34468e[_0xddff('0x5c')]})[_0xddff('0x1b')](function(_0x24293c){_0x1725bc[_0xddff('0x17')]=_0x24293c;if(_0x3381bb['query'][_0xddff('0x97')]){_0x34468e[_0xddff('0x98')]=[{'all':!![]}];}return db['CmHopperHistory']['findAll'](_0x34468e);})[_0xddff('0x1b')](function(_0xcf6047){_0x1725bc['rows']=_0xcf6047;return _0x1725bc;});}})[_0xddff('0x1b')](respondWithFilteredResult(_0x4ceefb,_0x34468e))['catch'](handleError(_0x4ceefb,null));};exports['getHopperFinals']=function(_0x4db48e,_0x5c5626){var _0x387ea5={'raw':!![],'where':{}};var _0x2383f1={};var _0x596292={'count':0x0,'rows':[]};return db[_0xddff('0x27')][_0xddff('0x75')]({'where':{'id':_0x4db48e[_0xddff('0x6c')]['id']}})[_0xddff('0x1b')](handleEntityNotFound(_0x5c5626,null))[_0xddff('0x1b')](function(_0x5331bf){if(_0x5331bf){_0x2383f1['model']=_['keys'](db['CmHopperFinal'][_0xddff('0x9b')]);_0x2383f1[_0xddff('0x25')]=_[_0xddff('0x2b')](_0x4db48e[_0xddff('0x25')]);_0x2383f1['filters']=_[_0xddff('0x94')](_0x2383f1[_0xddff('0x76')],_0x2383f1['query']);_0x387ea5[_0xddff('0x7a')]=_['intersection'](_0x2383f1[_0xddff('0x76')],qs[_0xddff('0x79')](_0x4db48e[_0xddff('0x25')][_0xddff('0x79')]));_0x387ea5[_0xddff('0x7a')]=_0x387ea5['attributes'][_0xddff('0x2c')]?_0x387ea5['attributes']:_0x2383f1[_0xddff('0x76')];if(!_0x4db48e[_0xddff('0x25')][_0xddff('0x80')](_0xddff('0x81'))){_0x387ea5[_0xddff('0x16')]=qs[_0xddff('0x16')](_0x4db48e[_0xddff('0x25')][_0xddff('0x16')]);_0x387ea5[_0xddff('0x18')]=qs[_0xddff('0x18')](_0x4db48e['query'][_0xddff('0x18')]);}_0x387ea5['order']=qs[_0xddff('0x7c')](_0x4db48e[_0xddff('0x25')][_0xddff('0x7c')]);_0x387ea5['where']=qs[_0xddff('0x78')](_['pick'](_0x4db48e[_0xddff('0x25')],_0x2383f1[_0xddff('0x78')]));_0x387ea5['where'][_0xddff('0x95')]=_0x5331bf['id'];if(_0x4db48e[_0xddff('0x25')][_0xddff('0x96')]){_0x387ea5[_0xddff('0x5c')]=_['merge'](_0x387ea5['where'],{'$or':_[_0xddff('0x7e')](_0x387ea5[_0xddff('0x7a')],function(_0x4ded4a){var _0x3932a0={};_0x3932a0[_0x4ded4a]={'$like':'%'+_0x4db48e[_0xddff('0x25')]['filter']+'%'};return _0x3932a0;})});}_0x387ea5=_[_0xddff('0x3a')]({},_0x387ea5,_0x4db48e[_0xddff('0x7f')]);return db[_0xddff('0x9c')][_0xddff('0x17')]({'where':_0x387ea5['where']})['then'](function(_0x5941f4){_0x596292[_0xddff('0x17')]=_0x5941f4;if(_0x4db48e[_0xddff('0x25')][_0xddff('0x97')]){_0x387ea5[_0xddff('0x98')]=[{'all':!![]}];}return db[_0xddff('0x9c')][_0xddff('0x24')](_0x387ea5);})[_0xddff('0x1b')](function(_0xd6deec){_0x596292[_0xddff('0x99')]=_0xd6deec;return _0x596292;});}})[_0xddff('0x1b')](respondWithFilteredResult(_0x5c5626,_0x387ea5))[_0xddff('0x29')](handleError(_0x5c5626,null));};exports[_0xddff('0x9d')]=function(_0x20d947,_0x3b5120){var _0x266258={'raw':!![],'where':{}};var _0x3096eb={};var _0x200221={'count':0x0,'rows':[]};return db[_0xddff('0x27')][_0xddff('0x75')]({'where':{'id':_0x20d947[_0xddff('0x6c')]['id']}})[_0xddff('0x1b')](handleEntityNotFound(_0x3b5120,null))[_0xddff('0x1b')](function(_0x214666){if(_0x214666){_0x3096eb[_0xddff('0x76')]=_[_0xddff('0x2b')](db[_0xddff('0x50')][_0xddff('0x9b')]);_0x3096eb[_0xddff('0x25')]=_['keys'](_0x20d947[_0xddff('0x25')]);_0x3096eb[_0xddff('0x78')]=_[_0xddff('0x94')](_0x3096eb[_0xddff('0x76')],_0x3096eb[_0xddff('0x25')]);_0x266258[_0xddff('0x7a')]=_['intersection'](_0x3096eb[_0xddff('0x76')],qs[_0xddff('0x79')](_0x20d947['query'][_0xddff('0x79')]));_0x266258[_0xddff('0x7a')]=_0x266258[_0xddff('0x7a')][_0xddff('0x2c')]?_0x266258[_0xddff('0x7a')]:_0x3096eb['model'];if(!_0x20d947[_0xddff('0x25')][_0xddff('0x80')]('nolimit')){_0x266258['limit']=qs[_0xddff('0x16')](_0x20d947[_0xddff('0x25')]['limit']);_0x266258[_0xddff('0x18')]=qs[_0xddff('0x18')](_0x20d947['query']['offset']);}_0x266258[_0xddff('0x7b')]=qs[_0xddff('0x7c')](_0x20d947[_0xddff('0x25')][_0xddff('0x7c')]);_0x266258['where']=qs[_0xddff('0x78')](_[_0xddff('0x7d')](_0x20d947['query'],_0x3096eb[_0xddff('0x78')]));_0x266258['where'][_0xddff('0x95')]=_0x214666['id'];if(_0x20d947['query'][_0xddff('0x96')]){_0x266258[_0xddff('0x5c')]=_[_0xddff('0x3a')](_0x266258[_0xddff('0x5c')],{'$or':_[_0xddff('0x7e')](_0x266258[_0xddff('0x7a')],function(_0xc1c137){var _0x4d99a1={};_0x4d99a1[_0xc1c137]={'$like':'%'+_0x20d947['query'][_0xddff('0x96')]+'%'};return _0x4d99a1;})});}_0x266258=_[_0xddff('0x3a')]({},_0x266258,_0x20d947[_0xddff('0x7f')]);return db[_0xddff('0x50')][_0xddff('0x17')]({'where':_0x266258['where']})['then'](function(_0x3ea035){_0x200221[_0xddff('0x17')]=_0x3ea035;if(_0x20d947['query'][_0xddff('0x97')]){_0x266258[_0xddff('0x98')]=[{'all':!![]}];}return db[_0xddff('0x50')][_0xddff('0x24')](_0x266258);})[_0xddff('0x1b')](function(_0x4b2eb1){_0x200221[_0xddff('0x99')]=_0x4b2eb1;return _0x200221;});}})['then'](respondWithFilteredResult(_0x3b5120,_0x266258))['catch'](handleError(_0x3b5120,null));};exports[_0xddff('0x9e')]=function(_0x42efd8,_0xb449fb){try{if(!_0x42efd8['body'][_0xddff('0x5d')]){throw new Error(_0xddff('0x9f'));}if(!_0x42efd8[_0xddff('0x3b')][_0xddff('0xa0')]){throw new Error(_0xddff('0xa1'));}if(!_0x42efd8[_0xddff('0x3b')][_0xddff('0xa2')]){throw new Error(_0xddff('0xa3'));}if(!_0x42efd8[_0xddff('0x3b')][_0xddff('0xa4')]){throw new Error(_0xddff('0xa5'));}var _0x57a7ed=_0x42efd8[_0xddff('0x3b')]['binding_keys'][_0xddff('0xa6')](',');var _0x739865=_0x42efd8[_0xddff('0x3b')][_0xddff('0xa2')][_0xddff('0xa6')](',');if(!_0x57a7ed[_0xddff('0x2c')]||!_0x739865[_0xddff('0x2c')]||_0x57a7ed[_0xddff('0x2c')]!==_0x739865[_0xddff('0x2c')]){throw new Error('Incorrect\x20binding\x20parameters\x20passed!');}_0x42efd8[_0xddff('0x3b')]['fields']=_[_0xddff('0xa7')](_0x57a7ed,_0x739865);if(!_0x42efd8[_0xddff('0x3b')]['fields'][_0xddff('0x72')]){throw new Error(_0xddff('0xa8'));}if(!_0x42efd8[_0xddff('0x3b')][_0xddff('0x79')][_0xddff('0xa9')]){throw new Error(_0xddff('0xaa'));}var _0x40d45a=path[_0xddff('0x53')](config[_0xddff('0xab')],_0xddff('0xac'),_0x42efd8[_0xddff('0xad')]['filename']);fs['chmodSync'](_0x40d45a,parseInt(_0xddff('0xae'),0x8));var _0x9495a8=require('child_process')[_0xddff('0xaf')](path[_0xddff('0x53')](__dirname,'../../components/import/cm/csv'),[_0x40d45a,_0x42efd8[_0xddff('0x3b')]['binding_keys'],_0x42efd8[_0xddff('0x3b')][_0xddff('0xa2')],_0x42efd8[_0xddff('0x3b')]['ListId'],_0x42efd8[_0xddff('0x3b')][_0xddff('0xb0')],_0x42efd8[_0xddff('0x3b')][_0xddff('0x5a')],_0x42efd8[_0xddff('0x3b')][_0xddff('0xa4')]]);return _0xb449fb[_0xddff('0x13')](0xc8)[_0xddff('0x14')]({'message':_0xddff('0xb1'),'pid':_0x9495a8[_0xddff('0xb2')]});}catch(_0x33bb68){return _0xb449fb[_0xddff('0x13')](0x1f4)[_0xddff('0x21')](_0x33bb68);}};exports[_0xddff('0xb3')]=function(_0x29be61,_0x83e28d){var _0x3c45d8=fs[_0xddff('0xb4')](_0x29be61[_0xddff('0xad')][_0xddff('0x3')]);Papa['parse'](_0x3c45d8,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x2030ee){return _0x83e28d[_0xddff('0x13')](0xc8)['json']({'file':_0x29be61[_0xddff('0xad')],'fields':_0x2030ee[_0xddff('0xb5')][_0xddff('0x79')]});}});};exports[_0xddff('0xb6')]=function(_0x24f861,_0x3284ce){return db['User']['findAll']({'raw':!![],'attributes':['id'],'where':{'role':'agent'}})['then'](function(_0x2b1e8d){var _0x593e7c=![];if(!_0x24f861[_0xddff('0x3b')][_0xddff('0x5d')]){throw new Error(_0xddff('0x9f'));}if(!_0x24f861[_0xddff('0x3b')][_0xddff('0xb7')][_0xddff('0x72')]){throw new Error(_0xddff('0xa8'));}if(!_0x24f861[_0xddff('0x3b')][_0xddff('0xb7')][_0xddff('0xa9')]){throw new Error(_0xddff('0xaa'));}if(!_0x24f861[_0xddff('0x3b')][_0xddff('0xa4')]){throw new Error(_0xddff('0xa5'));}var _0x6868df=require('child_process')['fork'](path['join'](__dirname,'../../components/import/cm/csv2'),[_0x24f861[_0xddff('0x6c')]['id'],JSON[_0xddff('0xb8')](_0x24f861[_0xddff('0x3b')]),JSON[_0xddff('0xb8')](_0x2b1e8d)]);_0x6868df['on'](_0xddff('0xb9'),function(){_0x593e7c=!![];return _0x3284ce[_0xddff('0x13')](0xc8)[_0xddff('0x14')]({'message':_0xddff('0xba'),'pid':_0x6868df[_0xddff('0xb2')]});});_0x6868df['on'](_0xddff('0xbb'),function(_0x265514){if(_0x265514&&!_0x593e7c){return _0x3284ce['status'](0x1f4)[_0xddff('0x14')]({'message':_0xddff('0xbc'),'pid':_0x6868df[_0xddff('0xb2')]});}});})['catch'](handleError(_0x3284ce,null));};exports[_0xddff('0xbd')]=function(_0x4553dc,_0x3245db){return db[_0xddff('0xbe')][_0xddff('0x24')]({'raw':!![],'attributes':['id'],'where':{'role':'agent'}})[_0xddff('0x1b')](function(_0x5d9677){var _0xf2b021=![];if(!_0x4553dc[_0xddff('0x3b')][_0xddff('0x5d')]){throw new Error('No\x20ListId\x20specified');}if(!_0x4553dc['body']['binding'][_0xddff('0x72')]){throw new Error(_0xddff('0xa8'));}if(!_0x4553dc[_0xddff('0x3b')][_0xddff('0xb7')][_0xddff('0xa9')]){throw new Error('No\x20firstName\x20column\x20specified');}if(!_0x4553dc[_0xddff('0x3b')]['socket_timestamp']){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0xa5c9b0=require(_0xddff('0xbf'))[_0xddff('0xaf')](path['join'](__dirname,_0xddff('0xc0')),[_0x4553dc[_0xddff('0x6c')]['id'],JSON['stringify'](_0x4553dc[_0xddff('0x3b')]),JSON['stringify'](_0x5d9677)]);_0xa5c9b0['on'](_0xddff('0xb9'),function(){_0xf2b021=!![];return _0x3245db[_0xddff('0x13')](0xc8)['json']({'message':_0xddff('0xba'),'pid':_0xa5c9b0[_0xddff('0xb2')]});});_0xa5c9b0['on']('exit',function(_0x3757cb){if(_0x3757cb&&!_0xf2b021){return _0x3245db['status'](0x1f4)[_0xddff('0x14')]({'message':_0xddff('0xbc'),'pid':_0xa5c9b0[_0xddff('0xb2')]});}});})[_0xddff('0x29')](handleError(_0x3245db,null));};exports[_0xddff('0xc1')]=function(_0x18b1f4,_0x26b9b0){var _0x5b6a2c=[_0xddff('0xc2'),_0xddff('0xc3'),'sms',_0xddff('0xc4'),_0xddff('0xc5'),'whatsapp',_0xddff('0xc6')];var _0x381004={'offset':0x0,'order':qs['sort'](_0xddff('0xc7'))},_0x66ec35={'count':0x0,'rows':[]};Promise[_0xddff('0xc8')]()['then'](function(){if(_0x18b1f4[_0xddff('0x25')]['channel']){if(!_[_0xddff('0xc9')](_0x5b6a2c,_0x18b1f4[_0xddff('0x25')][_0xddff('0xca')][_0xddff('0xcb')]())){throw new Error('Invalid\x20channel');}_0x5b6a2c=[_0x18b1f4[_0xddff('0x25')][_0xddff('0xca')][_0xddff('0xcb')]()];}if(_0x18b1f4[_0xddff('0x25')]['range']){try{var _0x138d54=JSON[_0xddff('0xcc')](_0x18b1f4['query'][_0xddff('0xcd')]);if(!moment(_0x138d54[_0xddff('0x3c')])[_0xddff('0xce')]()){throw new Error('Invalid\x20date\x20for\x20range\x20from\x20filter');}if(!moment(_0x138d54['to'])[_0xddff('0xce')]()){throw new Error('Invalid\x20date\x20for\x20range\x20to\x20filter');}}catch(_0x57bd32){throw new Error(_0xddff('0xcf'));}}if(!_0x18b1f4[_0xddff('0x25')][_0xddff('0x80')](_0xddff('0x81'))){_0x381004[_0xddff('0x16')]=qs[_0xddff('0x16')](_0x18b1f4[_0xddff('0x25')][_0xddff('0x16')]||0xa);_0x381004[_0xddff('0x18')]=qs[_0xddff('0x18')](_0x18b1f4[_0xddff('0x25')][_0xddff('0x18')]);}var _0x19c65f=_0x5b6a2c['map'](function(_0x2f8d38){if(_0x2f8d38===_0xddff('0xc6')){var _0x372510={'attributes':['id','uniqueid','type',_0xddff('0xd0'),_0xddff('0xd1'),_0xddff('0xd2'),_0xddff('0xd3'),_0xddff('0xd4'),_0xddff('0xd5'),_0xddff('0xd6'),'createdAt','userDisposition',_0xddff('0xd7'),_0xddff('0xd8'),'UserId'],'where':{'ContactId':_0x18b1f4['params']['id']},'include':[{'model':db[_0xddff('0xbe')],'as':_0xddff('0xbe'),'attributes':['id',_0xddff('0x20'),_0xddff('0xd9'),'alias']}],'order':[['createdAt',_0xddff('0xda')]]};if(_0x18b1f4[_0xddff('0x25')]['range']){_0x372510[_0xddff('0x5c')][_0xddff('0xdb')]={'$gte':_0x138d54[_0xddff('0x3c')],'$lte':_0x138d54['to']};}return db[_0xddff('0xdc')]['findAndCountAll'](_0x372510)['then'](function(_0xcd5309){_0x66ec35['count']+=_0xcd5309[_0xddff('0x17')];return _[_0xddff('0x7e')](_0xcd5309[_0xddff('0x99')],function(_0x52d327){var _0x41514c=_0x52d327['get']({'plain':!![]});_0x41514c[_0xddff('0xca')]=_0x2f8d38;if(_0x41514c[_0xddff('0xbe')]){_0x41514c[_0xddff('0xbe')]={'id':_0x41514c['User']['id'],'name':_0x41514c['User'][_0xddff('0x20')],'fullname':_0x41514c[_0xddff('0xbe')]['fullname'],'alias':_0x41514c['User']['alias']};}return _0x41514c;});});}else{var _0x50265d=_[_0xddff('0xdd')](_0x2f8d38)+(_0x2f8d38===_0xddff('0xc3')?'Website':_0xddff('0xde'));var _0x30476b={'attributes':['id','closed',_0xddff('0xdf'),'createdAt',_0xddff('0xd6'),_0xddff('0xe0'),_0xddff('0xe1'),_0xddff('0xe2'),_0xddff('0xe3'),_0x50265d+'Id'],'where':{'ContactId':_0x18b1f4[_0xddff('0x6c')]['id']},'include':[{'model':db[_0x50265d],'as':'Account','attributes':['id',_0xddff('0x20'),'key']},{'model':db[_0xddff('0xbe')],'as':'Owner','attributes':['id',_0xddff('0x20'),_0xddff('0xd9')]},{'model':db[_0xddff('0x77')],'as':_0xddff('0x62'),'attributes':['id',_0xddff('0x20'),'color'],'through':{'attributes':[]}}],'order':[[_0xddff('0xdb'),_0xddff('0xda')]]};if(_0x18b1f4[_0xddff('0x25')][_0xddff('0xcd')]){_0x30476b['where'][_0xddff('0xdb')]={'$gte':_0x138d54[_0xddff('0x3c')],'$lte':_0x138d54['to']};}switch(_0x2f8d38){case _0xddff('0xc3'):_0x30476b['attributes'][_0xddff('0x5f')](_0xddff('0xe4'),_0xddff('0xe5'),_0xddff('0xe6'),_0xddff('0xe7'),_0xddff('0xe8'),'ratingMessage',_0xddff('0xe9'),_0xddff('0xea'),_0xddff('0xeb'));break;case _0xddff('0xc2'):_0x30476b[_0xddff('0x7a')][_0xddff('0x5f')](_0xddff('0xec'),'substatus');break;case _0xddff('0xc4'):_0x30476b['attributes'][_0xddff('0x5f')](_0xddff('0xed'),_0xddff('0xee'));break;}return db[_[_0xddff('0xdd')](_0x2f8d38)+_0xddff('0xef')][_0xddff('0xf0')](_0x30476b)['then'](function(_0xc647ed){_0x66ec35[_0xddff('0x17')]+=_0xc647ed[_0xddff('0x17')];return _[_0xddff('0x7e')](_0xc647ed[_0xddff('0x99')],function(_0x41d1ab){var _0x6f6a3f=_0x41d1ab[_0xddff('0x3d')]({'plain':!![]});_0x6f6a3f[_0xddff('0xca')]=_0x2f8d38;if(_0x6f6a3f[_0xddff('0xf1')]){_0x6f6a3f[_0xddff('0xf1')]={'id':_0x6f6a3f[_0xddff('0xf1')]['id'],'name':_0x6f6a3f[_0xddff('0xf1')][_0xddff('0x20')],'fullname':_0x6f6a3f[_0xddff('0xf1')][_0xddff('0xd9')]};}return _0x6f6a3f;});});}});return Promise[_0xddff('0x61')](_0x19c65f);})[_0xddff('0x1b')](function(_0x2d4f40){return _(_0x2d4f40)[_0xddff('0xf2')]()[_0xddff('0xf3')](_0xddff('0xdb'))[_0xddff('0xf4')]()[_0xddff('0xf5')]();})[_0xddff('0x1b')](function(_0x4ce535){_0x66ec35[_0xddff('0x99')]=_0x381004[_0xddff('0x16')]?_0x4ce535[_0xddff('0xf6')](_0x381004[_0xddff('0x18')],_0x381004[_0xddff('0x18')]+_0x381004[_0xddff('0x16')]):_0x4ce535;return _0x66ec35;})['then'](respondWithFilteredResult(_0x26b9b0,_0x381004))[_0xddff('0x29')](handleError(_0x26b9b0,null));};