Built motion from commit 20b39a97.|2.6.29
[motion2.git] / server / components / import / cm / csvUpdates.js
index 4381256..7b6a497 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x04fa=['message','split','CmContactHasItem','update','updated','create','PHONE','CmHopper','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','ContactId','ListId','updatedAt','priority','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.id\x20=\x20','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22onlyIfOpen\x22','\x22always\x22','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_hopper_black','fromQuery','createdAt','ListId\x20=\x20?','\x20=\x20?','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_hopper_additional_phones','CmHopperId','cm_contact_has_items','concat','MIN(id)','min_id','group','toString','info','Received\x20SIGINT','error','exit','errors','code','query','stringify','send','binding','clone','socket_timestamp','server/files/tmp','.csv','body','ContactItemType','findAll','name','_description','keys','header','writeFileSync','parse','createReadStream','data','rows','find','isNil','hasOwnProperty','trim','replace','YYYY-MM-DD\x20HH:mm:ss','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','includes','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','itemTypeId','description','SystemRow','appendFileSync','emit','contact:import:','Abort\x20parser','abort','SystemError','step','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','format','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27','CompanyId',',\x20scheduledAt\x20=\x20NOW()','each','contact','contactId','contactTypeId','orderBy','DROP\x20TABLE\x20','finish','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','root','existsSync','file\x20doesn\x27t\x20exists','UserId','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','lodash','papaparse','util','bluebird','moment','ioredis','../../../config/environment','../../../config/logger','import','defaults','redis','localhost','YYYYMMDDHHmmss','select','field','from','join','where','.dialCheckDuplicateType\x20IN\x20(','sequelize','select\x20*\x20from\x20','spread','length','phone','AdditionalPhones','push','all','then','catch'];(function(_0x1fd138,_0xd626e2){var _0x6cabbc=function(_0x4c2771){while(--_0x4c2771){_0x1fd138['push'](_0x1fd138['shift']());}};_0x6cabbc(++_0xd626e2);}(_0x04fa,0x119));var _0xa04f=function(_0x54376c,_0x47d41c){_0x54376c=_0x54376c-0x0;var _0x3533e7=_0x04fa[_0x54376c];return _0x3533e7;};'use strict';var fs=require('fs');var path=require('path');var _=require(_0xa04f('0x0'));var Papa=require(_0xa04f('0x1'));var util=require(_0xa04f('0x2'));var BPromise=require(_0xa04f('0x3'));var moment=require(_0xa04f('0x4'));var squel=require('squel');var Redis=require(_0xa04f('0x5'));var db=require('../../../mysqldb')['db'];var config=require(_0xa04f('0x6'));var logger=require(_0xa04f('0x7'))(_0xa04f('0x8'));config['redis']=_[_0xa04f('0x9')](config[_0xa04f('0xa')],{'host':_0xa04f('0xb'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xa04f('0xa')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var promisesContact=[];var orderBy=0x0;var updatedRows=0x0;var stopped=![];var NOW=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');var tempTableName='cm_contacts_temp_'+moment()['format'](_0xa04f('0xc'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];function isEmail(_0x497a13){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/['test'](_0x497a13);}function selectNotIn(_0x4005da,_0x33ad5a,_0x50539b,_0x3e4235,_0x485814){return squel[_0xa04f('0xd')]()[_0xa04f('0xe')]('phone')[_0xa04f('0xf')](_0x3e4235)[_0xa04f('0x10')](_0x33ad5a,null,_0x33ad5a+'.id\x20=\x20'+_0x3e4235+'.'+_0x50539b)['where'](_0x3e4235+'.'+_0x50539b+'\x20=\x20'+_0x4005da+'.'+_0x50539b)[_0xa04f('0x11')](_0x33ad5a+_0xa04f('0x12')+_0x485814[_0xa04f('0x10')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0xb396b,_0x24a32d){promisesAdditionalPhones=[];promisesContact=[];return db[_0xa04f('0x13')]['query'](_0xa04f('0x14')+tempTableName)[_0xa04f('0x15')](function(_0x509830){if(_0x509830!==null){var _0x202232=[];for(var _0x2e58de=0x0;_0x2e58de<_0x509830[_0xa04f('0x16')];_0x2e58de++){var _0x2b00e6=_0x509830[_0x2e58de];if(!_['isNil'](_0x2b00e6[_0xa04f('0x17')])){if(!_['isNil'](_0x2b00e6[_0xa04f('0x18')]))_0x202232[_0xa04f('0x19')](insertAdditionalPhones(_0x2b00e6));promisesContact['push']({'contact':_0x2b00e6});}}}Promise[_0xa04f('0x1a')](_0x202232)[_0xa04f('0x1b')](function(){_0xb396b({'val':0x1});});})[_0xa04f('0x1c')](function(_0x4ee169){logger['error'](_0x4ee169[_0xa04f('0x1d')]);});});}function insertAdditionalPhones(_0x5c2a71){return new Promise(function(_0x5d68f4,_0x141fc8){var _0x3bf269=_0x5c2a71['AdditionalPhones'];if(_['isNil'](_0x3bf269))_0x141fc8({'val':0x0});else{var _0x3c07a5=_0x3bf269[_0xa04f('0x1e')](';');var _0x17d471=[];orderBy=0x0;for(var _0x3f7268=0x0;_0x3f7268<_0x3c07a5[_0xa04f('0x16')];_0x3f7268++){_0x17d471[_0xa04f('0x19')](splitAdditionalPhone(_0x5c2a71['id'],_0x3c07a5[_0x3f7268]));}Promise[_0xa04f('0x1a')](_0x17d471)[_0xa04f('0x1b')](function(){_0x5d68f4({'val':_0x3c07a5[_0xa04f('0x16')]});});}});}function splitAdditionalPhone(_0x3ee16d,_0x3f6cab){return new Promise(function(_0x1b1dad,_0x10ae93){var _0x15f0cc=_0x3f6cab['split'](':');var _0x18c13e=_0x15f0cc[0x0];var _0xee0a84=_0x15f0cc[0x1];if(_0xee0a84!==''){var _0x2a0a91=_0xee0a84['split']('|');var _0x54ed09=[];for(var _0x3faa79=0x0;_0x3faa79<_0x2a0a91[_0xa04f('0x16')];_0x3faa79++){if(_0x2a0a91[_0x3faa79]!==''){var _0x12fac3=_['filter'](promisesAdditionalPhones,{'contactId':_0x3ee16d,'phone':_0x2a0a91[_0x3faa79]});if(_0x12fac3[_0xa04f('0x16')]==0x0){orderBy++;promisesAdditionalPhones[_0xa04f('0x19')]({'contactId':_0x3ee16d,'contactTypeId':_0x18c13e,'phone':_0x2a0a91[_0x3faa79],'orderBy':orderBy});}}}_0x1b1dad({'ok':0x1});}else _0x1b1dad({'res':0x0});});}function createAdditionalPhone(_0x3d50c9,_0x5c27cc,_0x3c6ccd,_0x1c0cc5){var _0x25a96f='';var _0x7e0865='';var _0x1e441c=_0x3c6ccd[_0xa04f('0x1e')]('§');_0x25a96f=_0x1e441c[0x0];if(_0x1e441c[_0xa04f('0x16')]==0x2)_0x7e0865=_0x1e441c[0x1];return new Promise(function(_0x4bde12,_0x406131){return db[_0xa04f('0x1f')]['findOne']({'where':{'CmContactId':_0x3d50c9,'item':_0x25a96f}})['then'](function(_0x27f968){if(_0x27f968){return db[_0xa04f('0x1f')][_0xa04f('0x20')]({'ItemTypeId':_0x5c27cc,'description':_0x7e0865,'OrderBy':_0x1c0cc5},{'where':{'CmContactId':_0x3d50c9,'item':_0x25a96f}})[_0xa04f('0x1b')](function(_0xec37a0){_0x4bde12({'res':_0xa04f('0x21')});});}else{return db['CmContactHasItem'][_0xa04f('0x22')]({'CmContactId':_0x3d50c9,'item':_0x25a96f,'ItemTypeId':_0x5c27cc,'description':_0x7e0865,'OrderBy':_0x1c0cc5,'ItemClass':_0xa04f('0x23')})[_0xa04f('0x1b')](function(_0x4b1ec8){_0x4bde12({'res':'inserted'});});}});});}function updateContact(_0x4b22e7){return new Promise(function(_0x380ae5,_0x264f76){var _0x3fe0b9=_0x4b22e7['id'];delete _0x4b22e7['id'];return db['CmContact']['update'](_0x4b22e7,{'where':{'id':_0x3fe0b9}})[_0xa04f('0x1b')](function(_0x1e1471){updatedRows+=0x1;return db[_0xa04f('0x24')][_0xa04f('0x20')]({'phone':_0x4b22e7[_0xa04f('0x17')]},{'where':{'ContactId':_0x3fe0b9}})[_0xa04f('0x1b')](function(_0x5d874a){_0x380ae5({'ret':'OK'});});});});}function insertCmHopper(_0xc6cb01,_0x31c613,_0x158996,_0x5b92ae,_0x295fca){var _0xb727c9=[_0xa04f('0x25'),_0xa04f('0x26'),'cm_contacts.id','cm_contacts.ListId',_0x31c613+'.'+_0x5b92ae,'cm_contacts.createdAt',_0xa04f('0x27'),_0xa04f('0x28'),_0xa04f('0x29'),'\x22'+_0x295fca+'\x22'];return squel[_0xa04f('0x2a')]()[_0xa04f('0x2b')](_0xa04f('0x2c'))['fromQuery'](['phone','scheduledat',_0xa04f('0x2d'),_0xa04f('0x2e'),_0x5b92ae,'createdAt',_0xa04f('0x2f'),_0xa04f('0x30'),'UserId','recallme'],squel[_0xa04f('0xd')]()[_0xa04f('0x31')](_0xb727c9)[_0xa04f('0xf')](_0x31c613)[_0xa04f('0x10')](_0xa04f('0x32'),null,_0xa04f('0x33')+_0x31c613+_0xa04f('0x34'))['join'](_0x158996,null,_0x158996+_0xa04f('0x35')+_0x31c613+'.'+_0x5b92ae)['where'](_0x31c613+_0xa04f('0x36'),_0xc6cb01)['where'](_0xa04f('0x37'),NOW)[_0xa04f('0x11')](_0xa04f('0x38'),selectNotIn(_0x31c613,_0x158996,_0x5b92ae,_0xa04f('0x2c'),['\x22always\x22',_0xa04f('0x39')]))['where'](_0xa04f('0x38'),selectNotIn(_0x31c613,_0x158996,_0x5b92ae,_0xa04f('0x2c'),[_0xa04f('0x3a')])))['toString']();}function insertCmHopperBlack(_0x54ea98,_0x5abd61,_0x731d6b,_0x34a56b){var _0x350806=['cm_contacts.phone',_0xa04f('0x3b'),_0xa04f('0x3c'),_0x5abd61+'.'+_0x34a56b,_0xa04f('0x3d'),'cm_contacts.updatedAt'];return squel[_0xa04f('0x2a')]()[_0xa04f('0x2b')](_0xa04f('0x3e'))[_0xa04f('0x3f')]([_0xa04f('0x17'),_0xa04f('0x2d'),_0xa04f('0x2e'),_0x34a56b,_0xa04f('0x40'),_0xa04f('0x2f')],squel[_0xa04f('0xd')]()[_0xa04f('0x31')](_0x350806)['from'](_0x5abd61)['join'](_0xa04f('0x32'),null,_0xa04f('0x33')+_0x5abd61+_0xa04f('0x34'))['join'](_0x731d6b,null,_0x731d6b+_0xa04f('0x35')+_0x5abd61+'.'+_0x34a56b)[_0xa04f('0x11')](_0x5abd61+_0xa04f('0x36'),_0x54ea98)[_0xa04f('0x11')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0xa04f('0x11')](_0xa04f('0x38'),squel[_0xa04f('0xd')]()[_0xa04f('0xe')](_0xa04f('0x17'))[_0xa04f('0xf')](_0xa04f('0x3e'))[_0xa04f('0x11')](_0xa04f('0x41'),_0x54ea98)['where'](_0x34a56b+_0xa04f('0x42'),_0x5abd61+'.'+_0x34a56b)))['toString']();}function insertCmHopperAdditionalPhones(_0x347d0a){var _0x25ab33=[_0xa04f('0x43'),_0xa04f('0x44'),_0xa04f('0x45'),'cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt'];return squel[_0xa04f('0x2a')]()[_0xa04f('0x2b')](_0xa04f('0x46'))['fromQuery']([_0xa04f('0x47'),_0xa04f('0x17'),'OrderBy',_0xa04f('0x40'),'updatedAt'],squel[_0xa04f('0xd')]()['fields'](_0x25ab33)[_0xa04f('0xf')](_0xa04f('0x2c'))['join'](_0xa04f('0x32'),null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0xa04f('0x10')](_0xa04f('0x48'),null,'cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId')[_0xa04f('0x11')]('cm_hopper.ListId\x20=\x20?',_0x347d0a)[_0xa04f('0x11')]('cm_contacts.createdAt\x20=\x20?',NOW))['toString']();}function insertCmContact(_0x28b5ab,_0x46dd1b,_0x489f1f,_0x29d25b){var _0x301c7a=_[_0xa04f('0x49')](_['keys'](_0x29d25b),['ListId','CompanyId',_0xa04f('0x40'),_0xa04f('0x2f')]);return squel[_0xa04f('0x2a')]()[_0xa04f('0x2b')](_0xa04f('0x32'))['fromQuery'](_0x301c7a,squel[_0xa04f('0xd')]()['fields'](_0x301c7a)[_0xa04f('0xf')](_0x46dd1b)[_0xa04f('0x11')]('('+_0x489f1f['join'](',')+')\x20NOT\x20IN\x20?',squel[_0xa04f('0xd')]()[_0xa04f('0x31')](_0x489f1f)[_0xa04f('0xf')](_0xa04f('0x32'))['where'](_0xa04f('0x41'),_0x28b5ab))['where']('id\x20IN\x20?',squel[_0xa04f('0xd')]()[_0xa04f('0xe')](_0xa04f('0x4a'),_0xa04f('0x4b'))[_0xa04f('0xf')](_0x46dd1b)[_0xa04f('0x4c')](_0x489f1f['join'](','))))[_0xa04f('0x4d')]();}function handleStop(){logger[_0xa04f('0x4e')](_0xa04f('0x4f'));stopped=!![];}function handleUncaughtException(_0x519fc4){logger[_0xa04f('0x50')](_0x519fc4['message']);process[_0xa04f('0x51')](0x1);}function handleError(_0x36bdec,_0x271bdf){stats[_0xa04f('0x52')]['push']({'name':_0x271bdf[_0xa04f('0x53')],'message':_0x271bdf[_0xa04f('0x1d')],'row':_0x36bdec});}function handleQuery(_0x3cf00c){logger['info'](_0x3cf00c);return db[_0xa04f('0x13')][_0xa04f('0x54')](_0x3cf00c)['spread'](function(_0x2f3cab){results['push'](_0x2f3cab);})[_0xa04f('0x1c')](function(_0x5002ae){logger['error'](_0x5002ae[_0xa04f('0x1d')]);});}function main(_0x5552e8,_0x3c95c4,_0x594ff2,_0x3fb16b){logger['info']('main',_0x5552e8,JSON[_0xa04f('0x55')](_0x3c95c4));process[_0xa04f('0x56')]('start');var _0x586c4b=_0x3c95c4[_0xa04f('0x57')];var _0x42e7a1=_[_0xa04f('0x58')](_0x586c4b);var _0x2e5aec=_0x3c95c4[_0xa04f('0x59')];var _0x2dac33=path['join'](config['root'],_0xa04f('0x5a'),_0x2e5aec+_0xa04f('0x5b'));logger[_0xa04f('0x4e')](_0xa04f('0x5c'),_0x3c95c4);db[_0xa04f('0x5d')][_0xa04f('0x5e')]({'raw':!![],'attributes':['id',_0xa04f('0x5f')]})[_0xa04f('0x1b')](function(_0x5f0011){for(var _0x56567c=0x0;_0x56567c<_0x5f0011[_0xa04f('0x16')];_0x56567c++){if(_0x5f0011[_0x56567c][_0xa04f('0x5f')]in _0x586c4b){contactItemTypes[_0xa04f('0x19')](_0x5f0011[_0x56567c]);delete _0x42e7a1[_0x5f0011[_0x56567c]['name']];hasAdditionalPhones=!![];}for(var _0x5db09a in _0x586c4b){if(_0x5f0011[_0x56567c][_0xa04f('0x5f')]+_0xa04f('0x60')===_0x5db09a){phoneDescriptions[_0xa04f('0x19')]({'itemTypeId':_0x5f0011[_0x56567c]['id'],'description':_0x5db09a});delete _0x42e7a1[_0x5db09a];}}}if(hasAdditionalPhones)_0x42e7a1[_0xa04f('0x18')]='';var _0x51cc6d=_[_0xa04f('0x61')](_0x42e7a1)[_0xa04f('0x10')]();logger[_0xa04f('0x4e')](_0xa04f('0x62'),_0x51cc6d);fs[_0xa04f('0x63')](_0x2dac33,_0x51cc6d+'\x0a');Papa[_0xa04f('0x64')](fs[_0xa04f('0x65')](_0x5552e8),{'header':!![],'skipEmptyLines':!![],'step':function(_0x37ffa9,_0x8e1e8e){try{for(var _0xadb3fa=0x0,_0x2b56b2=[];_0xadb3fa<_0x37ffa9[_0xa04f('0x66')][_0xa04f('0x16')];_0xadb3fa++){stats[_0xa04f('0x67')]+=0x1;if(_0x37ffa9[_0xa04f('0x52')][_0xadb3fa]){handleError(_0x37ffa9[_0xa04f('0x66')][_0xadb3fa],_0x37ffa9[_0xa04f('0x52')][_0xadb3fa]);}else{var _0x4d6001=[];var _0x3b313c=[];var _0x32492f={};for(var _0x4ccc32 in _0x586c4b){let _0x2f8eb3=contactItemTypes[_0xa04f('0x68')](_0x593894=>_0x593894['name']===_0x4ccc32);let _0x35242f=contactItemTypes[_0xa04f('0x68')](_0x201771=>_0x201771[_0xa04f('0x5f')]+_0xa04f('0x60')===_0x4ccc32);if(_['isNil'](_0x2f8eb3)&&_[_0xa04f('0x69')](_0x35242f)){if(_0x586c4b[_0xa04f('0x6a')](_0x4ccc32)){if(_0x37ffa9[_0xa04f('0x66')][_0xadb3fa][_0x586c4b[_0x4ccc32]]){var _0x5dcc42=_[_0xa04f('0x6b')](_0x37ffa9[_0xa04f('0x66')][_0xadb3fa][_0x586c4b[_0x4ccc32]][_0xa04f('0x6c')](/"/g,'\x27'));switch(_0x4ccc32){case'scheduledat':var _0x191a2b=moment(_0x5dcc42,_0xa04f('0x6d'),!![]);if(_0x191a2b['isValid']()){_0x2b56b2[_0xa04f('0x19')]('\x22'+_0x5dcc42+'\x22');}else{_0x4d6001[_0xa04f('0x19')](_0xa04f('0x6e'));}break;case _0xa04f('0x30'):var _0x4b15f7=parseInt(_0x5dcc42);_0x5dcc42=_['isNaN'](_0x4b15f7)||_0x4b15f7<0x0||_0x4b15f7>0x4?_0x3fb16b?0x3:0x2:_0x4b15f7;_0x2b56b2[_0xa04f('0x19')]('\x22'+_0x5dcc42+'\x22');break;case'UserId':var _0x1eff96=parseInt(_0x5dcc42);if(_['isNumber'](_0x1eff96)&&_[_0xa04f('0x6f')](_0x594ff2,_0x1eff96)){_0x2b56b2['push']('\x22'+_0x1eff96+'\x22');}else{_0x4d6001[_0xa04f('0x19')](_0xa04f('0x70'));}break;case _0xa04f('0x71'):if(isEmail(_0x5dcc42)){_0x2b56b2['push']('\x22'+_0x5dcc42+'\x22');}else{_0x4d6001[_0xa04f('0x19')](_0xa04f('0x72'));}break;case _0xa04f('0x73'):var _0xff6e96=moment(_0x5dcc42,_0xa04f('0x74'),!![]);if(_0xff6e96['isValid']()){_0x2b56b2[_0xa04f('0x19')]('\x22'+_0x5dcc42+'\x22');}else{_0x4d6001[_0xa04f('0x19')](_0xa04f('0x75'));}break;default:_0x2b56b2['push']('\x22'+_0x5dcc42+'\x22');}}else{switch(_0x4ccc32){case _0xa04f('0x76'):case'phone':_0x4d6001[_0xa04f('0x19')](_0x4ccc32+_0xa04f('0x77'));break;default:_0x2b56b2[_0xa04f('0x19')]('\x22\x22');}}}}else{var _0x4c9d9d='';if(!_['isNil'](_0x2f8eb3)){if(!_0x32492f['hasOwnProperty'](_0x2f8eb3['id'])){for(var _0x153bf0=0x0;_0x153bf0<_0x586c4b[_0x4ccc32]['length'];_0x153bf0++){var _0x5dcc42=_[_0xa04f('0x6b')](_0x37ffa9[_0xa04f('0x66')][_0xadb3fa][_0x586c4b[_0x4ccc32][_0x153bf0]]['replace'](/"/g,'\x27'));var _0x3ad490=phoneDescriptions[_0xa04f('0x68')](_0x5db333=>_0x5db333[_0xa04f('0x78')]===_0x2f8eb3['id']);if(!_[_0xa04f('0x69')](_0x3ad490)){var _0x4a480e=_[_0xa04f('0x6b')](_0x37ffa9['data'][_0xadb3fa][_0x586c4b[_0x3ad490[_0xa04f('0x79')]][0x0]][_0xa04f('0x6c')](/"/g,'\x27'));if(!_[_0xa04f('0x69')](_0x4a480e))_0x5dcc42=_0x5dcc42+'§'+_0x4a480e;}if(_0x4c9d9d=='')_0x4c9d9d=_0x5dcc42;else _0x4c9d9d+='|'+_0x5dcc42;}_0x3b313c[_0xa04f('0x19')](_0x2f8eb3['id']+':'+_0x4c9d9d);_0x32492f[_0x2f8eb3['id']]=0x1;}}}}if(hasAdditionalPhones){_0x2b56b2[_0xa04f('0x19')]('\x22'+_0x3b313c['join'](';')+'\x22');}if(_0x4d6001[_0xa04f('0x16')]){handleError(_0x37ffa9[_0xa04f('0x66')][_0xadb3fa],{'code':_0xa04f('0x7a'),'message':_0x4d6001[_0xa04f('0x10')]()});}else{fs[_0xa04f('0x7b')](_0x2dac33,_0x2b56b2[_0xa04f('0x10')]()+'\x0a');}_0x2b56b2=[];}if(!(stats['rows']%0xc8)){socket[_0xa04f('0x7c')](_0xa04f('0x7d')+_0x2e5aec,stats);stats[_0xa04f('0x52')]=[];}}if(stopped){logger['info'](_0xa04f('0x7e'));_0x8e1e8e[_0xa04f('0x7f')]();}}catch(_0x4cbce6){handleError(_0x37ffa9['data'][_0xadb3fa],{'code':_0xa04f('0x80'),'message':_0x4cbce6[_0xa04f('0x1d')]});logger[_0xa04f('0x50')](_0xa04f('0x81'),_0x4cbce6[_0xa04f('0x1d')]);}},'complete':function(){try{var _0xe1195f=[];var _0x21eb43=tempTableName;_0xe1195f['push'](_0xa04f('0x82')+_0x21eb43+_0xa04f('0x83'));logger['info']('CIS\x20len',contactItemTypes[_0xa04f('0x16')]);var _0x19788a=util[_0xa04f('0x84')](_0xa04f('0x85'),_0x2dac33,_0x21eb43,_0x51cc6d,_0x3c95c4[_0xa04f('0x2e')],_0x3c95c4[_0xa04f('0x86')]||null,NOW,NOW);if(_[_0xa04f('0x69')](_0x586c4b['scheduledat'])){_0x19788a+=_0xa04f('0x87');}_0xe1195f['push'](_0x19788a);BPromise[_0xa04f('0x88')](_0xe1195f,handleQuery)[_0xa04f('0x1b')](function(_0x5da120){BPromise[_0xa04f('0x1a')]([handleAdditionalPhones()])['then'](function(){_0xe1195f=[];for(var _0x572020=0x0;_0x572020<promisesContact[_0xa04f('0x16')];_0x572020++){_0xe1195f[_0xa04f('0x19')](updateContact(promisesContact[_0x572020][_0xa04f('0x89')]));}BPromise[_0xa04f('0x1a')](_0xe1195f)[_0xa04f('0x1b')](function(){_0xe1195f=[];for(var _0x2aa701=0x0;_0x2aa701<promisesAdditionalPhones[_0xa04f('0x16')];_0x2aa701++){_0xe1195f[_0xa04f('0x19')](createAdditionalPhone(promisesAdditionalPhones[_0x2aa701][_0xa04f('0x8a')],promisesAdditionalPhones[_0x2aa701][_0xa04f('0x8b')],promisesAdditionalPhones[_0x2aa701][_0xa04f('0x17')],promisesAdditionalPhones[_0x2aa701][_0xa04f('0x8c')]));}BPromise['all'](_0xe1195f)[_0xa04f('0x1b')](function(){_0xe1195f=[];_0xe1195f['push'](insertCmHopperAdditionalPhones(_0x3c95c4['ListId']));_0xe1195f[_0xa04f('0x19')](_0xa04f('0x8d')+_0x21eb43+';');BPromise[_0xa04f('0x88')](_0xe1195f,handleQuery)[_0xa04f('0x1b')](function(_0x4c4fec){stats[_0xa04f('0x8e')]=!![];stats['affectedRows']=updatedRows;socket[_0xa04f('0x7c')](_0xa04f('0x7d')+_0x2e5aec,stats);fs[_0xa04f('0x8f')](_0x5552e8);fs[_0xa04f('0x8f')](_0x2dac33);process['exit'](0x0);})['catch'](function(_0x2681da){logger[_0xa04f('0x50')](_0x2681da['message']);process[_0xa04f('0x51')](0x1);});});});});})[_0xa04f('0x1c')](function(_0x45c717){logger[_0xa04f('0x50')](_0x45c717[_0xa04f('0x1d')]);process[_0xa04f('0x51')](0x1);});}catch(_0x36d1e8){logger['error'](_0xa04f('0x90'),_0x36d1e8[_0xa04f('0x1d')]);process['exit'](0x1);}},'error':function(_0x863488,_0x244253,_0x59d86e,_0x40148d){throw new Error(_0x40148d);}});});}function validate(){if(process[_0xa04f('0x91')]&&process[_0xa04f('0x91')][_0xa04f('0x16')]<0x4){throw new Error(_0xa04f('0x92'));}var _0xc2361e=path[_0xa04f('0x10')](config[_0xa04f('0x93')],_0xa04f('0x5a'),process['argv'][0x2]);if(!fs[_0xa04f('0x94')](_0xc2361e)){throw new Error(_0xa04f('0x95'));}var _0x9fdd95={};try{_0x9fdd95=JSON[_0xa04f('0x64')](process['argv'][0x3]);if(!_0x9fdd95[_0xa04f('0x57')]){throw new Error('binding\x20doesn\x27t\x20exists');}var _0x3d2494=0x0;if(_0x9fdd95[_0xa04f('0x57')][_0xa04f('0x96')]){_0x3d2494=0x1;}if(!_0x9fdd95['ListId']){throw new Error(_0xa04f('0x97'));}}catch(_0x4e5a4d){throw new Error(_0xa04f('0x98'));}var _0x3773be=[];try{_0x3773be=_[_0xa04f('0x99')](JSON[_0xa04f('0x64')](process[_0xa04f('0x91')][0x4]),'id');}catch(_0x368ffd){logger[_0xa04f('0x4e')](_0xa04f('0x9a'));}main(_0xc2361e,_0x9fdd95,_0x3773be,_0x3d2494);}validate();process['on']('SIGINT',handleStop);process['on']('uncaughtException',handleUncaughtException);
\ No newline at end of file
+var _0xa057=['.dialCheckDuplicateType\x20IN\x20(','join','sequelize','query','length','isNil','AdditionalPhones','all','catch','split','push','then','filter','findOne','update','CmContactHasItem','create','PHONE','inserted','CmContact','CmHopper','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','cm_hopper','ListId','createdAt','updatedAt','priority','UserId','recallme','select','fields','.CmListId','.id\x20=\x20','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.ListId','cm_hopper_black','fromQuery','ContactId','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId\x20=\x20?','toString','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.updatedAt','insert','into','cm_hopper_additional_phones','CmHopperId','OrderBy','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','keys',')\x20NOT\x20IN\x20?','ListId\x20=\x20?','field','MIN(id)','min_id','info','error','message','errors','code','spread','main','send','start','binding','clone','socket_timestamp','root','server/files/tmp','body','ContactItemType','findAll','name','header','writeFileSync','parse','rows','find','hasOwnProperty','data','trim','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','includes','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','replace','description','SystemRow','appendFileSync','Abort\x20parser','abort','SystemError','step','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27','CompanyId','scheduledat','each','contact','contactTypeId','orderBy','DROP\x20TABLE\x20','affectedRows','emit','unlink','exit','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','ListId\x20is\x20mandatory','map','SIGINT','uncaughtException','path','lodash','util','bluebird','moment','ioredis','../../../mysqldb','../../../config/logger','defaults','redis','localhost','format','YYYY-MM-DD\x20HH:mm:ss','YYYYMMDDHHmmss','test','phone','from','\x20=\x20','where'];(function(_0xccf869,_0x2556a5){var _0x21a9db=function(_0xcc4835){while(--_0xcc4835){_0xccf869['push'](_0xccf869['shift']());}};_0x21a9db(++_0x2556a5);}(_0xa057,0x123));var _0x7a05=function(_0x1eb637,_0x444e9b){_0x1eb637=_0x1eb637-0x0;var _0x1702af=_0xa057[_0x1eb637];return _0x1702af;};'use strict';var fs=require('fs');var path=require(_0x7a05('0x0'));var _=require(_0x7a05('0x1'));var Papa=require('papaparse');var util=require(_0x7a05('0x2'));var BPromise=require(_0x7a05('0x3'));var moment=require(_0x7a05('0x4'));var squel=require('squel');var Redis=require(_0x7a05('0x5'));var db=require(_0x7a05('0x6'))['db'];var config=require('../../../config/environment');var logger=require(_0x7a05('0x7'))('import');config['redis']=_[_0x7a05('0x8')](config[_0x7a05('0x9')],{'host':_0x7a05('0xa'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x7a05('0x9')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var promisesContact=[];var orderBy=0x0;var updatedRows=0x0;var stopped=![];var NOW=moment()[_0x7a05('0xb')](_0x7a05('0xc'));var tempTableName='cm_contacts_temp_'+moment()[_0x7a05('0xb')](_0x7a05('0xd'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];function isEmail(_0x417ca9){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/[_0x7a05('0xe')](_0x417ca9);}function selectNotIn(_0x1e2f9e,_0xa3c03e,_0x4a7a63,_0x73b0d8,_0x463a80){return squel['select']()['field'](_0x7a05('0xf'))[_0x7a05('0x10')](_0x73b0d8)['join'](_0xa3c03e,null,_0xa3c03e+'.id\x20=\x20'+_0x73b0d8+'.'+_0x4a7a63)['where'](_0x73b0d8+'.'+_0x4a7a63+_0x7a05('0x11')+_0x1e2f9e+'.'+_0x4a7a63)[_0x7a05('0x12')](_0xa3c03e+_0x7a05('0x13')+_0x463a80[_0x7a05('0x14')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x31c140,_0x351ac2){promisesAdditionalPhones=[];promisesContact=[];return db[_0x7a05('0x15')][_0x7a05('0x16')]('select\x20*\x20from\x20'+tempTableName)['spread'](function(_0x37d394){if(_0x37d394!==null){var _0x8ad482=[];for(var _0x480c8b=0x0;_0x480c8b<_0x37d394[_0x7a05('0x17')];_0x480c8b++){var _0x3b45e9=_0x37d394[_0x480c8b];if(!_['isNil'](_0x3b45e9[_0x7a05('0xf')])){if(!_[_0x7a05('0x18')](_0x3b45e9[_0x7a05('0x19')]))_0x8ad482['push'](insertAdditionalPhones(_0x3b45e9));promisesContact['push']({'contact':_0x3b45e9});}}}Promise[_0x7a05('0x1a')](_0x8ad482)['then'](function(){_0x31c140({'val':0x1});});})[_0x7a05('0x1b')](function(_0x37a562){logger['error'](_0x37a562['message']);});});}function insertAdditionalPhones(_0x4d8c17){return new Promise(function(_0x2acc80,_0x296177){var _0x443f33=_0x4d8c17[_0x7a05('0x19')];if(_['isNil'](_0x443f33))_0x296177({'val':0x0});else{var _0x1db649=_0x443f33[_0x7a05('0x1c')](';');var _0x3e9ef2=[];orderBy=0x0;for(var _0x593c1b=0x0;_0x593c1b<_0x1db649[_0x7a05('0x17')];_0x593c1b++){_0x3e9ef2[_0x7a05('0x1d')](splitAdditionalPhone(_0x4d8c17['id'],_0x1db649[_0x593c1b]));}Promise[_0x7a05('0x1a')](_0x3e9ef2)[_0x7a05('0x1e')](function(){_0x2acc80({'val':_0x1db649[_0x7a05('0x17')]});});}});}function splitAdditionalPhone(_0x472bdd,_0xb23a2a){return new Promise(function(_0x29c958,_0x133f49){var _0x219a94=_0xb23a2a[_0x7a05('0x1c')](':');var _0x4beb4a=_0x219a94[0x0];var _0x591ab5=_0x219a94[0x1];if(_0x591ab5!==''){var _0x5a2fc5=_0x591ab5[_0x7a05('0x1c')]('|');var _0x172d79=[];for(var _0x124697=0x0;_0x124697<_0x5a2fc5[_0x7a05('0x17')];_0x124697++){if(_0x5a2fc5[_0x124697]!==''){var _0x465dd6=_[_0x7a05('0x1f')](promisesAdditionalPhones,{'contactId':_0x472bdd,'phone':_0x5a2fc5[_0x124697]});if(_0x465dd6[_0x7a05('0x17')]==0x0){orderBy++;promisesAdditionalPhones[_0x7a05('0x1d')]({'contactId':_0x472bdd,'contactTypeId':_0x4beb4a,'phone':_0x5a2fc5[_0x124697],'orderBy':orderBy});}}}_0x29c958({'ok':0x1});}else _0x29c958({'res':0x0});});}function createAdditionalPhone(_0xc45b3e,_0x4a5cf8,_0x49e37b,_0x20a4f2){var _0x57e4e2='';var _0x4f26bc='';var _0x2cd660=_0x49e37b[_0x7a05('0x1c')]('§');_0x57e4e2=_0x2cd660[0x0];if(_0x2cd660[_0x7a05('0x17')]==0x2)_0x4f26bc=_0x2cd660[0x1];return new Promise(function(_0x210c6f,_0x37a4f6){return db['CmContactHasItem'][_0x7a05('0x20')]({'where':{'CmContactId':_0xc45b3e,'item':_0x57e4e2}})[_0x7a05('0x1e')](function(_0x37dbf1){if(_0x37dbf1){return db['CmContactHasItem'][_0x7a05('0x21')]({'ItemTypeId':_0x4a5cf8,'description':_0x4f26bc,'OrderBy':_0x20a4f2},{'where':{'CmContactId':_0xc45b3e,'item':_0x57e4e2}})[_0x7a05('0x1e')](function(_0xae8ebe){_0x210c6f({'res':'updated'});});}else{return db[_0x7a05('0x22')][_0x7a05('0x23')]({'CmContactId':_0xc45b3e,'item':_0x57e4e2,'ItemTypeId':_0x4a5cf8,'description':_0x4f26bc,'OrderBy':_0x20a4f2,'ItemClass':_0x7a05('0x24')})[_0x7a05('0x1e')](function(_0x5a8587){_0x210c6f({'res':_0x7a05('0x25')});});}});});}function updateContact(_0x4dd3b1){return new Promise(function(_0x2580fe,_0x41ec2a){var _0x560575=_0x4dd3b1['id'];delete _0x4dd3b1['id'];return db[_0x7a05('0x26')][_0x7a05('0x21')](_0x4dd3b1,{'where':{'id':_0x560575}})[_0x7a05('0x1e')](function(_0x4e52bd){updatedRows+=0x1;return db[_0x7a05('0x27')][_0x7a05('0x21')]({'phone':_0x4dd3b1['phone']},{'where':{'ContactId':_0x560575}})[_0x7a05('0x1e')](function(_0x40ed80){_0x2580fe({'ret':'OK'});});});});}function insertCmHopper(_0x4f0fb6,_0x5ec5e1,_0x3de609,_0x423418,_0x547c40){var _0x1a62a6=[_0x7a05('0x28'),_0x7a05('0x29'),_0x7a05('0x2a'),'cm_contacts.ListId',_0x5ec5e1+'.'+_0x423418,_0x7a05('0x2b'),_0x7a05('0x2c'),_0x7a05('0x2d'),_0x7a05('0x2e'),'\x22'+_0x547c40+'\x22'];return squel['insert']()['into'](_0x7a05('0x2f'))['fromQuery']([_0x7a05('0xf'),'scheduledat','ContactId',_0x7a05('0x30'),_0x423418,_0x7a05('0x31'),_0x7a05('0x32'),_0x7a05('0x33'),_0x7a05('0x34'),_0x7a05('0x35')],squel[_0x7a05('0x36')]()[_0x7a05('0x37')](_0x1a62a6)[_0x7a05('0x10')](_0x5ec5e1)[_0x7a05('0x14')]('cm_contacts',null,'cm_contacts.ListId\x20=\x20'+_0x5ec5e1+_0x7a05('0x38'))[_0x7a05('0x14')](_0x3de609,null,_0x3de609+_0x7a05('0x39')+_0x5ec5e1+'.'+_0x423418)[_0x7a05('0x12')](_0x5ec5e1+'.CmListId\x20=\x20?',_0x4f0fb6)[_0x7a05('0x12')](_0x7a05('0x3a'),NOW)['where'](_0x7a05('0x3b'),selectNotIn(_0x5ec5e1,_0x3de609,_0x423418,_0x7a05('0x2f'),[_0x7a05('0x3c'),_0x7a05('0x3d')]))[_0x7a05('0x12')](_0x7a05('0x3b'),selectNotIn(_0x5ec5e1,_0x3de609,_0x423418,_0x7a05('0x2f'),[_0x7a05('0x3c')])))['toString']();}function insertCmHopperBlack(_0x411f47,_0x1ab496,_0x255d61,_0x487e85){var _0x12d5f0=[_0x7a05('0x28'),_0x7a05('0x2a'),_0x7a05('0x3e'),_0x1ab496+'.'+_0x487e85,'cm_contacts.createdAt',_0x7a05('0x2c')];return squel['insert']()['into'](_0x7a05('0x3f'))[_0x7a05('0x40')](['phone',_0x7a05('0x41'),_0x7a05('0x30'),_0x487e85,_0x7a05('0x31'),_0x7a05('0x32')],squel[_0x7a05('0x36')]()[_0x7a05('0x37')](_0x12d5f0)[_0x7a05('0x10')](_0x1ab496)[_0x7a05('0x14')](_0x7a05('0x42'),null,_0x7a05('0x43')+_0x1ab496+_0x7a05('0x38'))[_0x7a05('0x14')](_0x255d61,null,_0x255d61+_0x7a05('0x39')+_0x1ab496+'.'+_0x487e85)[_0x7a05('0x12')](_0x1ab496+_0x7a05('0x44'),_0x411f47)['where'](_0x7a05('0x3a'),NOW)[_0x7a05('0x12')](_0x7a05('0x3b'),squel[_0x7a05('0x36')]()['field'](_0x7a05('0xf'))[_0x7a05('0x10')](_0x7a05('0x3f'))[_0x7a05('0x12')]('ListId\x20=\x20?',_0x411f47)[_0x7a05('0x12')](_0x487e85+'\x20=\x20?',_0x1ab496+'.'+_0x487e85)))[_0x7a05('0x45')]();}function insertCmHopperAdditionalPhones(_0x3b871f){var _0x4876f0=[_0x7a05('0x46'),_0x7a05('0x47'),_0x7a05('0x48'),'cm_contact_has_items.createdAt',_0x7a05('0x49')];return squel[_0x7a05('0x4a')]()[_0x7a05('0x4b')](_0x7a05('0x4c'))['fromQuery']([_0x7a05('0x4d'),'phone',_0x7a05('0x4e'),_0x7a05('0x31'),_0x7a05('0x32')],squel[_0x7a05('0x36')]()[_0x7a05('0x37')](_0x4876f0)[_0x7a05('0x10')](_0x7a05('0x2f'))[_0x7a05('0x14')](_0x7a05('0x42'),null,_0x7a05('0x4f'))['join'](_0x7a05('0x50'),null,_0x7a05('0x51'))[_0x7a05('0x12')](_0x7a05('0x52'),_0x3b871f)[_0x7a05('0x12')](_0x7a05('0x3a'),NOW))[_0x7a05('0x45')]();}function insertCmContact(_0x54a5d8,_0x197b83,_0x27eff0,_0x254202){var _0x50d1c0=_['concat'](_[_0x7a05('0x53')](_0x254202),[_0x7a05('0x30'),'CompanyId',_0x7a05('0x31'),_0x7a05('0x32')]);return squel[_0x7a05('0x4a')]()[_0x7a05('0x4b')](_0x7a05('0x42'))[_0x7a05('0x40')](_0x50d1c0,squel[_0x7a05('0x36')]()['fields'](_0x50d1c0)[_0x7a05('0x10')](_0x197b83)[_0x7a05('0x12')]('('+_0x27eff0[_0x7a05('0x14')](',')+_0x7a05('0x54'),squel[_0x7a05('0x36')]()[_0x7a05('0x37')](_0x27eff0)[_0x7a05('0x10')](_0x7a05('0x42'))[_0x7a05('0x12')](_0x7a05('0x55'),_0x54a5d8))[_0x7a05('0x12')]('id\x20IN\x20?',squel[_0x7a05('0x36')]()[_0x7a05('0x56')](_0x7a05('0x57'),_0x7a05('0x58'))[_0x7a05('0x10')](_0x197b83)['group'](_0x27eff0['join'](','))))[_0x7a05('0x45')]();}function handleStop(){logger[_0x7a05('0x59')]('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x4e98d7){logger[_0x7a05('0x5a')](_0x4e98d7[_0x7a05('0x5b')]);process['exit'](0x1);}function handleError(_0x14ffa8,_0x42183a){stats[_0x7a05('0x5c')][_0x7a05('0x1d')]({'name':_0x42183a[_0x7a05('0x5d')],'message':_0x42183a[_0x7a05('0x5b')],'row':_0x14ffa8});}function handleQuery(_0x8ebae){logger[_0x7a05('0x59')](_0x8ebae);return db['sequelize'][_0x7a05('0x16')](_0x8ebae)[_0x7a05('0x5e')](function(_0x9bf39a){results[_0x7a05('0x1d')](_0x9bf39a);})['catch'](function(_0xc3e758){logger[_0x7a05('0x5a')](_0xc3e758['message']);});}function main(_0x5e618f,_0x5703f3,_0x2247b1,_0x4e405d){logger['info'](_0x7a05('0x5f'),_0x5e618f,JSON['stringify'](_0x5703f3));process[_0x7a05('0x60')](_0x7a05('0x61'));var _0x3bbab7=_0x5703f3[_0x7a05('0x62')];var _0x6c4afd=_[_0x7a05('0x63')](_0x3bbab7);var _0x40e672=_0x5703f3[_0x7a05('0x64')];var _0xb46043=path[_0x7a05('0x14')](config[_0x7a05('0x65')],_0x7a05('0x66'),_0x40e672+'.csv');logger[_0x7a05('0x59')](_0x7a05('0x67'),_0x5703f3);db[_0x7a05('0x68')][_0x7a05('0x69')]({'raw':!![],'attributes':['id',_0x7a05('0x6a')]})[_0x7a05('0x1e')](function(_0x3984d2){for(var _0x87560d=0x0;_0x87560d<_0x3984d2[_0x7a05('0x17')];_0x87560d++){if(_0x3984d2[_0x87560d][_0x7a05('0x6a')]in _0x3bbab7){contactItemTypes[_0x7a05('0x1d')](_0x3984d2[_0x87560d]);delete _0x6c4afd[_0x3984d2[_0x87560d][_0x7a05('0x6a')]];hasAdditionalPhones=!![];}for(var _0x2758e6 in _0x3bbab7){if(_0x3984d2[_0x87560d][_0x7a05('0x6a')]+'_description'===_0x2758e6){phoneDescriptions['push']({'itemTypeId':_0x3984d2[_0x87560d]['id'],'description':_0x2758e6});delete _0x6c4afd[_0x2758e6];}}}if(hasAdditionalPhones)_0x6c4afd[_0x7a05('0x19')]='';var _0x414260=_[_0x7a05('0x53')](_0x6c4afd)['join']();logger['info'](_0x7a05('0x6b'),_0x414260);fs[_0x7a05('0x6c')](_0xb46043,_0x414260+'\x0a');Papa[_0x7a05('0x6d')](fs['createReadStream'](_0x5e618f),{'header':!![],'skipEmptyLines':!![],'step':function(_0x147bb0,_0x4d7bd4){try{for(var _0x2e3031=0x0,_0x54a209=[];_0x2e3031<_0x147bb0['data'][_0x7a05('0x17')];_0x2e3031++){stats[_0x7a05('0x6e')]+=0x1;if(_0x147bb0[_0x7a05('0x5c')][_0x2e3031]){handleError(_0x147bb0['data'][_0x2e3031],_0x147bb0[_0x7a05('0x5c')][_0x2e3031]);}else{var _0x3b3b5d=[];var _0x530db9=[];var _0x3e9dff={};for(var _0x1788db in _0x3bbab7){let _0x37b696=contactItemTypes[_0x7a05('0x6f')](_0x418f4a=>_0x418f4a[_0x7a05('0x6a')]===_0x1788db);let _0xeedb6a=contactItemTypes[_0x7a05('0x6f')](_0x4503e0=>_0x4503e0[_0x7a05('0x6a')]+'_description'===_0x1788db);if(_[_0x7a05('0x18')](_0x37b696)&&_['isNil'](_0xeedb6a)){if(_0x3bbab7[_0x7a05('0x70')](_0x1788db)){if(_0x147bb0[_0x7a05('0x71')][_0x2e3031][_0x3bbab7[_0x1788db]]){var _0x45e46d=_[_0x7a05('0x72')](_0x147bb0[_0x7a05('0x71')][_0x2e3031][_0x3bbab7[_0x1788db]]['replace'](/"/g,'\x27'));switch(_0x1788db){case'scheduledat':var _0x544c5c=moment(_0x45e46d,'YYYY-MM-DD\x20HH:mm:ss',!![]);if(_0x544c5c[_0x7a05('0x73')]()){_0x54a209['push']('\x22'+_0x45e46d+'\x22');}else{_0x3b3b5d[_0x7a05('0x1d')](_0x7a05('0x74'));}break;case'priority':var _0x112095=parseInt(_0x45e46d);_0x45e46d=_['isNaN'](_0x112095)||_0x112095<0x0||_0x112095>0x4?_0x4e405d?0x3:0x2:_0x112095;_0x54a209[_0x7a05('0x1d')]('\x22'+_0x45e46d+'\x22');break;case _0x7a05('0x34'):var _0x108a30=parseInt(_0x45e46d);if(_['isNumber'](_0x108a30)&&_[_0x7a05('0x75')](_0x2247b1,_0x108a30)){_0x54a209['push']('\x22'+_0x108a30+'\x22');}else{_0x3b3b5d[_0x7a05('0x1d')](_0x7a05('0x76'));}break;case _0x7a05('0x77'):if(isEmail(_0x45e46d)){_0x54a209[_0x7a05('0x1d')]('\x22'+_0x45e46d+'\x22');}else{_0x3b3b5d[_0x7a05('0x1d')](_0x7a05('0x78'));}break;case'dateOfBirth':var _0x5ee102=moment(_0x45e46d,'YYYY-MM-DD',!![]);if(_0x5ee102[_0x7a05('0x73')]()){_0x54a209['push']('\x22'+_0x45e46d+'\x22');}else{_0x3b3b5d[_0x7a05('0x1d')](_0x7a05('0x79'));}break;default:_0x54a209['push']('\x22'+_0x45e46d+'\x22');}}else{switch(_0x1788db){case _0x7a05('0x7a'):case _0x7a05('0xf'):_0x3b3b5d[_0x7a05('0x1d')](_0x1788db+_0x7a05('0x7b'));break;default:_0x54a209[_0x7a05('0x1d')]('\x22\x22');}}}}else{var _0x2c40ee='';if(!_['isNil'](_0x37b696)){if(!_0x3e9dff[_0x7a05('0x70')](_0x37b696['id'])){for(var _0xfd9395=0x0;_0xfd9395<_0x3bbab7[_0x1788db]['length'];_0xfd9395++){var _0x45e46d=_[_0x7a05('0x72')](_0x147bb0[_0x7a05('0x71')][_0x2e3031][_0x3bbab7[_0x1788db][_0xfd9395]][_0x7a05('0x7c')](/"/g,'\x27'));var _0x2cefdf=phoneDescriptions[_0x7a05('0x6f')](_0xbcb153=>_0xbcb153['itemTypeId']===_0x37b696['id']);if(!_[_0x7a05('0x18')](_0x2cefdf)){var _0x1e3344=_[_0x7a05('0x72')](_0x147bb0[_0x7a05('0x71')][_0x2e3031][_0x3bbab7[_0x2cefdf[_0x7a05('0x7d')]][0x0]][_0x7a05('0x7c')](/"/g,'\x27'));if(!_[_0x7a05('0x18')](_0x1e3344))_0x45e46d=_0x45e46d+'§'+_0x1e3344;}if(_0x2c40ee=='')_0x2c40ee=_0x45e46d;else _0x2c40ee+='|'+_0x45e46d;}_0x530db9[_0x7a05('0x1d')](_0x37b696['id']+':'+_0x2c40ee);_0x3e9dff[_0x37b696['id']]=0x1;}}}}if(hasAdditionalPhones){_0x54a209[_0x7a05('0x1d')]('\x22'+_0x530db9['join'](';')+'\x22');}if(_0x3b3b5d[_0x7a05('0x17')]){handleError(_0x147bb0[_0x7a05('0x71')][_0x2e3031],{'code':_0x7a05('0x7e'),'message':_0x3b3b5d[_0x7a05('0x14')]()});}else{fs[_0x7a05('0x7f')](_0xb46043,_0x54a209[_0x7a05('0x14')]()+'\x0a');}_0x54a209=[];}if(!(stats['rows']%0xc8)){socket['emit']('contact:import:'+_0x40e672,stats);stats['errors']=[];}}if(stopped){logger[_0x7a05('0x59')](_0x7a05('0x80'));_0x4d7bd4[_0x7a05('0x81')]();}}catch(_0x2a0f66){handleError(_0x147bb0['data'][_0x2e3031],{'code':_0x7a05('0x82'),'message':_0x2a0f66[_0x7a05('0x5b')]});logger[_0x7a05('0x5a')](_0x7a05('0x83'),_0x2a0f66['message']);}},'complete':function(){try{var _0x572c6b=[];var _0x1ffe0c=tempTableName;_0x572c6b[_0x7a05('0x1d')](_0x7a05('0x84')+_0x1ffe0c+_0x7a05('0x85'));logger[_0x7a05('0x59')]('CIS\x20len',contactItemTypes[_0x7a05('0x17')]);var _0x51a993=util['format'](_0x7a05('0x86'),_0xb46043,_0x1ffe0c,_0x414260,_0x5703f3[_0x7a05('0x30')],_0x5703f3[_0x7a05('0x87')]||null,NOW,NOW);if(_['isNil'](_0x3bbab7[_0x7a05('0x88')])){_0x51a993+=',\x20scheduledAt\x20=\x20NOW()';}_0x572c6b[_0x7a05('0x1d')](_0x51a993);BPromise[_0x7a05('0x89')](_0x572c6b,handleQuery)[_0x7a05('0x1e')](function(_0x1e6e83){BPromise[_0x7a05('0x1a')]([handleAdditionalPhones()])[_0x7a05('0x1e')](function(){_0x572c6b=[];for(var _0x4df7a5=0x0;_0x4df7a5<promisesContact[_0x7a05('0x17')];_0x4df7a5++){_0x572c6b[_0x7a05('0x1d')](updateContact(promisesContact[_0x4df7a5][_0x7a05('0x8a')]));}BPromise['all'](_0x572c6b)[_0x7a05('0x1e')](function(){_0x572c6b=[];for(var _0x1b00ae=0x0;_0x1b00ae<promisesAdditionalPhones['length'];_0x1b00ae++){_0x572c6b[_0x7a05('0x1d')](createAdditionalPhone(promisesAdditionalPhones[_0x1b00ae]['contactId'],promisesAdditionalPhones[_0x1b00ae][_0x7a05('0x8b')],promisesAdditionalPhones[_0x1b00ae][_0x7a05('0xf')],promisesAdditionalPhones[_0x1b00ae][_0x7a05('0x8c')]));}BPromise['all'](_0x572c6b)['then'](function(){_0x572c6b=[];_0x572c6b[_0x7a05('0x1d')](insertCmHopperAdditionalPhones(_0x5703f3[_0x7a05('0x30')]));_0x572c6b[_0x7a05('0x1d')](_0x7a05('0x8d')+_0x1ffe0c+';');BPromise[_0x7a05('0x89')](_0x572c6b,handleQuery)['then'](function(_0x1f79cc){stats['finish']=!![];stats[_0x7a05('0x8e')]=updatedRows;socket[_0x7a05('0x8f')]('contact:import:'+_0x40e672,stats);fs[_0x7a05('0x90')](_0x5e618f);fs[_0x7a05('0x90')](_0xb46043);process[_0x7a05('0x91')](0x0);})[_0x7a05('0x1b')](function(_0x38c344){logger['error'](_0x38c344[_0x7a05('0x5b')]);process[_0x7a05('0x91')](0x1);});});});});})[_0x7a05('0x1b')](function(_0x2136ab){logger[_0x7a05('0x5a')](_0x2136ab[_0x7a05('0x5b')]);process[_0x7a05('0x91')](0x1);});}catch(_0x1b5357){logger[_0x7a05('0x5a')](_0x7a05('0x92'),_0x1b5357[_0x7a05('0x5b')]);process[_0x7a05('0x91')](0x1);}},'error':function(_0x1be93c,_0x1ec4fe,_0x45392c,_0xb0aa9b){throw new Error(_0xb0aa9b);}});});}function validate(){if(process[_0x7a05('0x93')]&&process[_0x7a05('0x93')][_0x7a05('0x17')]<0x4){throw new Error(_0x7a05('0x94'));}var _0x51697c=path[_0x7a05('0x14')](config['root'],_0x7a05('0x66'),process[_0x7a05('0x93')][0x2]);if(!fs['existsSync'](_0x51697c)){throw new Error(_0x7a05('0x95'));}var _0x4d591b={};try{_0x4d591b=JSON['parse'](process['argv'][0x3]);if(!_0x4d591b[_0x7a05('0x62')]){throw new Error(_0x7a05('0x96'));}var _0x222951=0x0;if(_0x4d591b[_0x7a05('0x62')]['UserId']){_0x222951=0x1;}if(!_0x4d591b[_0x7a05('0x30')]){throw new Error(_0x7a05('0x97'));}}catch(_0x118019){throw new Error('body\x20id\x20mandatory');}var _0x3a4b1b=[];try{_0x3a4b1b=_[_0x7a05('0x98')](JSON['parse'](process[_0x7a05('0x93')][0x4]),'id');}catch(_0x2ffd55){logger[_0x7a05('0x59')]('No\x20agent\x20available');}main(_0x51697c,_0x4d591b,_0x3a4b1b,_0x222951);}validate();process['on'](_0x7a05('0x99'),handleStop);process['on'](_0x7a05('0x9a'),handleUncaughtException);
\ No newline at end of file