Built motion from commit 10af8726.|2.6.34
[motion2.git] / server / components / import / cm / csv2.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 _0xde4e=['field','from','join','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','CmContact','findAll','AdditionalPhones','then','length','push','all','split','CmContactHasItem','findOne','update','inserted','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','insert','into','fromQuery','phone','scheduledat','ContactId','createdAt','updatedAt','priority','recallme','fields','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_hopper','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.phone\x20NOT\x20IN\x20(?)','toString','ListId','cm_contacts.ListId\x20=\x20','cm_contacts.phone','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','UserId','cm_contacts','.CmListId','cm_hopper_black','ListId\x20=\x20?','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_hopper_additional_phones','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','scheduledAt','deletedAt\x20IS\x20NULL','MIN(id)','group','message','errors','code','info','query','spread','catch','campaigns.id','campaigns.dialTimezone','campaigns','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','error','voice_queues.id','voice_queues.dialTimezone','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','sequelize','timezones','isNil','utcOffset','set','offset','main','stringify','send','binding','clone','socket_timestamp','root','.csv','includes','dialTimezone','header','ContactItemType','name','_description','writeFileSync','createReadStream','data','find','hasOwnProperty','trim','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','email','email\x20wrong\x20format','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','replace','description','SystemRow','emit','contact:import:','Abort\x20parser','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','dialTimezone,utcOffset','CompanyId',',\x20scheduledAt\x20=\x20NOW()','contactId','orderBy','voice_queues','VoiceQueueId','voice_queues_has_cm_blacklists','campaigns_has_cm_blacklists','CampaignId','DROP\x20TABLE\x20','finish','affectedRows','unlink','exit','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','server/files/tmp','existsSync','file\x20doesn\x27t\x20exists','parse','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','path','lodash','papaparse','util','moment','squel','ioredis','../../../config/environment','../../../config/environment/shared','../../../config/logger','import','redis','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test','select'];(function(_0x29dfde,_0x4821ef){var _0x413045=function(_0x4f7ffe){while(--_0x4f7ffe){_0x29dfde['push'](_0x29dfde['shift']());}};_0x413045(++_0x4821ef);}(_0xde4e,0xa8));var _0xede4=function(_0x3c48a8,_0x19bd2e){_0x3c48a8=_0x3c48a8-0x0;var _0x373dad=_0xde4e[_0x3c48a8];return _0x373dad;};'use strict';var fs=require('fs');var path=require(_0xede4('0x0'));var _=require(_0xede4('0x1'));var Papa=require(_0xede4('0x2'));var util=require(_0xede4('0x3'));var BPromise=require('bluebird');var moment=require(_0xede4('0x4'));var squel=require(_0xede4('0x5'));var Redis=require(_0xede4('0x6'));var db=require('../../../mysqldb')['db'];var config=require(_0xede4('0x7'));var shared=require(_0xede4('0x8'));var logger=require(_0xede4('0x9'))(_0xede4('0xa'));config['redis']=_['defaults'](config[_0xede4('0xb')],{'host':_0xede4('0xc'),'port':0x18eb});var socket=require(_0xede4('0xd'))(new Redis(config[_0xede4('0xb')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0xede4('0xe')]('YYYY-MM-DD\x20HH:mm:ss');var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()['format'](_0xede4('0xf'));function isEmail(_0x1ed6c2){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))*$/[_0xede4('0x10')](_0x1ed6c2);}function selectNotIn(_0x588486,_0x4c6890,_0x38a93b,_0x512dd7,_0x178044){return squel[_0xede4('0x11')]()[_0xede4('0x12')]('phone')[_0xede4('0x13')](_0x512dd7)[_0xede4('0x14')](_0x4c6890,null,_0x4c6890+_0xede4('0x15')+_0x512dd7+'.'+_0x38a93b)[_0xede4('0x16')](_0x512dd7+'.'+_0x38a93b+_0xede4('0x17')+_0x588486+'.'+_0x38a93b)[_0xede4('0x16')](_0x4c6890+_0xede4('0x18')+_0x178044[_0xede4('0x14')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x476d71,_0x1aa230){promisesAdditionalPhones=[];return db[_0xede4('0x19')][_0xede4('0x1a')]({'raw':!![],'attributes':['id',_0xede4('0x1b')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0xede4('0x1c')](function(_0x2f3f07){if(_0x2f3f07!==null){var _0x5e1419=[];for(var _0x245177=0x0;_0x245177<_0x2f3f07[_0xede4('0x1d')];_0x245177++){var _0x44ca12=_0x2f3f07[_0x245177];_0x5e1419[_0xede4('0x1e')](insertAdditionalPhones(_0x44ca12));}}Promise[_0xede4('0x1f')](_0x5e1419)[_0xede4('0x1c')](function(){_0x476d71({'val':0x1});});});});}function insertAdditionalPhones(_0x55b45b){return new Promise(function(_0x8efbee,_0x2b030d){var _0x5c53bc=_0x55b45b[_0xede4('0x1b')];var _0x12677c=_0x5c53bc[_0xede4('0x20')](';');var _0x57d636=[];orderBy=0x0;for(var _0x4a0be8=0x0;_0x4a0be8<_0x12677c[_0xede4('0x1d')];_0x4a0be8++){_0x57d636[_0xede4('0x1e')](splitAdditionalPhone(_0x55b45b['id'],_0x12677c[_0x4a0be8]));}Promise[_0xede4('0x1f')](_0x57d636)['then'](function(){_0x8efbee({'val':_0x12677c[_0xede4('0x1d')]});});});}function splitAdditionalPhone(_0x441067,_0x4b4720){return new Promise(function(_0x36d52f,_0x5c5ccd){var _0x41222d=_0x4b4720[_0xede4('0x20')](':');var _0x86ace0=_0x41222d[0x0];var _0x45c324=_0x41222d[0x1];if(!_['isNil'](_0x45c324)){var _0x487be2=_0x45c324[_0xede4('0x20')]('|');var _0x3ebae3=[];for(var _0x5e3b51=0x0;_0x5e3b51<_0x487be2['length'];_0x5e3b51++){if(_0x487be2[_0x5e3b51]!==''){var _0x5b3feb=_['filter'](promisesAdditionalPhones,{'contactId':_0x441067,'phone':_0x487be2[_0x5e3b51]});if(_0x5b3feb[_0xede4('0x1d')]==0x0){orderBy++;promisesAdditionalPhones['push']({'contactId':_0x441067,'contactTypeId':_0x86ace0,'phone':_0x487be2[_0x5e3b51],'orderBy':orderBy});}}}_0x36d52f({'ok':0x1});}else _0x36d52f({'res':0x0});});}function createAdditionalPhone(_0x301e25,_0x201851,_0x403def,_0x25e5ea){var _0x2b5256='';var _0x4e3652='';var _0xaa8883=_0x403def[_0xede4('0x20')]('§');_0x2b5256=_0xaa8883[0x0];if(_0xaa8883[_0xede4('0x1d')]==0x2)_0x4e3652=_0xaa8883[0x1];return new Promise(function(_0x4b23ab,_0x237f3e){return db[_0xede4('0x21')][_0xede4('0x22')]({'where':{'CmContactId':_0x301e25,'item':_0x2b5256}})[_0xede4('0x1c')](function(_0x581733){if(_0x581733){return db['CmContactHasItem'][_0xede4('0x23')]({'ItemTypeId':_0x201851,'description':_0x4e3652,'OrderBy':_0x25e5ea},{'where':{'CmContactId':_0x301e25,'item':_0x2b5256}})[_0xede4('0x1c')](function(_0x5b7ffb){_0x4b23ab({'res':'updated'});});}else{return db[_0xede4('0x21')]['create']({'CmContactId':_0x301e25,'item':_0x2b5256,'description':_0x4e3652,'ItemTypeId':_0x201851,'OrderBy':_0x25e5ea,'ItemClass':'PHONE'})[_0xede4('0x1c')](function(_0x303fdc){_0x4b23ab({'res':_0xede4('0x24')});});}});});}function insertCmHopper(_0x2f825e,_0x488503,_0x46d220,_0x35d368,_0x1150f1){var _0x3686fd=['cm_contacts.phone',_0xede4('0x25'),_0xede4('0x26'),_0xede4('0x27'),_0x488503+'.'+_0x35d368,_0xede4('0x28'),_0xede4('0x29'),_0xede4('0x2a'),_0xede4('0x2b'),'\x22'+_0x1150f1+'\x22'];return squel[_0xede4('0x2c')]()[_0xede4('0x2d')]('cm_hopper')[_0xede4('0x2e')]([_0xede4('0x2f'),_0xede4('0x30'),_0xede4('0x31'),'ListId',_0x35d368,_0xede4('0x32'),_0xede4('0x33'),_0xede4('0x34'),'UserId',_0xede4('0x35')],squel[_0xede4('0x11')]()[_0xede4('0x36')](_0x3686fd)[_0xede4('0x13')](_0x488503)[_0xede4('0x14')]('cm_contacts',null,'cm_contacts.ListId\x20=\x20'+_0x488503+'.CmListId')[_0xede4('0x14')](_0x46d220,null,_0x46d220+_0xede4('0x15')+_0x488503+'.'+_0x35d368)[_0xede4('0x16')](_0x488503+_0xede4('0x37'),_0x2f825e)[_0xede4('0x16')](_0xede4('0x38'),NOW)['where']('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x488503,_0x46d220,_0x35d368,_0xede4('0x39'),[_0xede4('0x3a'),_0xede4('0x3b')]))['where'](_0xede4('0x3c'),selectNotIn(_0x488503,_0x46d220,_0x35d368,_0xede4('0x39'),['\x22always\x22'])))[_0xede4('0x3d')]();}function insertCmHopperBlack(_0x2099ca,_0x56a276,_0x38caf1,_0x4ee7ce){var _0xa8748a=['cm_contacts.phone','cm_contacts.id',_0xede4('0x27'),_0x56a276+'.'+_0x4ee7ce,_0xede4('0x28'),_0xede4('0x29')];return squel[_0xede4('0x2c')]()[_0xede4('0x2d')]('cm_hopper_black')[_0xede4('0x2e')](['phone',_0xede4('0x31'),_0xede4('0x3e'),_0x4ee7ce,_0xede4('0x32'),_0xede4('0x33')],squel[_0xede4('0x11')]()[_0xede4('0x36')](_0xa8748a)[_0xede4('0x13')](_0x56a276)[_0xede4('0x14')]('cm_contacts',null,_0xede4('0x3f')+_0x56a276+'.CmListId')[_0xede4('0x14')](_0x38caf1,null,_0x38caf1+_0xede4('0x15')+_0x56a276+'.'+_0x4ee7ce)['where'](_0x56a276+'.CmListId\x20=\x20?',_0x2099ca)[_0xede4('0x16')](_0xede4('0x38'),NOW)[_0xede4('0x16')](_0xede4('0x3c'),squel[_0xede4('0x11')]()[_0xede4('0x12')]('phone')[_0xede4('0x13')]('cm_hopper_black')['where']('ListId\x20=\x20?',_0x2099ca)[_0xede4('0x16')](_0x4ee7ce+_0xede4('0x17')+_0x56a276+'.'+_0x4ee7ce)))[_0xede4('0x3d')]();}function insertTzCmHopper(_0x2d6049,_0x14a297,_0x21b16c,_0xeb000c,_0x198c06,_0x368c0c){var _0xfb58af=[_0xede4('0x40'),_0xede4('0x41')+_0x368c0c+_0xede4('0x42'),'cm_contacts.id',_0xede4('0x27'),_0x14a297+'.'+_0xeb000c,'cm_contacts.createdAt',_0xede4('0x29'),_0xede4('0x2a'),_0xede4('0x2b'),'\x22'+_0x198c06+'\x22'];var _0x358425=squel[_0xede4('0x2c')]()['into'](_0xede4('0x39'))[_0xede4('0x2e')]([_0xede4('0x2f'),_0xede4('0x30'),_0xede4('0x31'),'ListId',_0xeb000c,_0xede4('0x32'),_0xede4('0x33'),'priority',_0xede4('0x43'),_0xede4('0x35')],squel[_0xede4('0x11')]()[_0xede4('0x36')](_0xfb58af)[_0xede4('0x13')](_0x14a297)[_0xede4('0x14')](_0xede4('0x44'),null,_0xede4('0x3f')+_0x14a297+_0xede4('0x45'))['join'](_0x21b16c,null,_0x21b16c+_0xede4('0x15')+_0x14a297+'.'+_0xeb000c)[_0xede4('0x14')](_0x368c0c,null,_0x368c0c+_0xede4('0x15')+_0x14a297+'.'+_0xeb000c)[_0xede4('0x16')](_0x14a297+'.CmListId\x20=\x20?',_0x2d6049)['where']('cm_contacts.createdAt\x20=\x20?',NOW)[_0xede4('0x16')](_0xede4('0x3c'),selectNotIn(_0x14a297,_0x21b16c,_0xeb000c,'cm_hopper',[_0xede4('0x3a'),_0xede4('0x3b')]))[_0xede4('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x14a297,_0x21b16c,_0xeb000c,_0xede4('0x39'),[_0xede4('0x3a')])))[_0xede4('0x3d')]();return _0x358425;}function insertTzCmHopperBlack(_0x7a9fa9,_0x5257b7,_0x2f434d,_0x897c9a){var _0x45d969=[_0xede4('0x40'),'cm_contacts.id',_0xede4('0x27'),_0x5257b7+'.'+_0x897c9a,_0xede4('0x28'),_0xede4('0x29')];return squel['insert']()[_0xede4('0x2d')](_0xede4('0x46'))['fromQuery'](['phone',_0xede4('0x31'),_0xede4('0x3e'),_0x897c9a,_0xede4('0x32'),_0xede4('0x33')],squel['select']()['fields'](_0x45d969)[_0xede4('0x13')](_0x5257b7)[_0xede4('0x14')](_0xede4('0x44'),null,_0xede4('0x3f')+_0x5257b7+_0xede4('0x45'))[_0xede4('0x14')](_0x2f434d,null,_0x2f434d+_0xede4('0x15')+_0x5257b7+'.'+_0x897c9a)[_0xede4('0x16')](_0x5257b7+_0xede4('0x37'),_0x7a9fa9)[_0xede4('0x16')](_0xede4('0x38'),NOW)['where']('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0xede4('0x11')]()[_0xede4('0x12')](_0xede4('0x2f'))[_0xede4('0x13')]('cm_hopper_black')[_0xede4('0x16')](_0xede4('0x47'),_0x7a9fa9)[_0xede4('0x16')](_0x897c9a+_0xede4('0x17')+_0x5257b7+'.'+_0x897c9a)))[_0xede4('0x3d')]();}function insertCmHopperAdditionalPhones(_0x5abce4){var _0x443ff1=[_0xede4('0x48'),_0xede4('0x49'),_0xede4('0x4a'),_0xede4('0x4b'),'cm_contact_has_items.updatedAt'];return squel[_0xede4('0x2c')]()['into'](_0xede4('0x4c'))[_0xede4('0x2e')](['CmHopperId',_0xede4('0x2f'),_0xede4('0x4d'),_0xede4('0x32'),_0xede4('0x33')],squel['select']()['fields'](_0x443ff1)[_0xede4('0x13')]('cm_hopper')[_0xede4('0x14')](_0xede4('0x44'),null,_0xede4('0x4e'))[_0xede4('0x14')](_0xede4('0x4f'),null,_0xede4('0x50'))[_0xede4('0x16')](_0xede4('0x51'),_0x5abce4)[_0xede4('0x16')]('cm_contacts.createdAt\x20=\x20?',NOW))[_0xede4('0x3d')]();}function insertCmContact(_0x514f59,_0x2bb614,_0x419f47,_0x5d4b46){var _0x3a0d9a=_['concat'](_[_0xede4('0x52')](_0x5d4b46),[_0xede4('0x3e'),'CompanyId',_0xede4('0x32'),_0xede4('0x33'),_0xede4('0x53')]);return squel[_0xede4('0x2c')]()[_0xede4('0x2d')]('cm_contacts')[_0xede4('0x2e')](_0x3a0d9a,squel[_0xede4('0x11')]()[_0xede4('0x36')](_0x3a0d9a)[_0xede4('0x13')](_0x2bb614)[_0xede4('0x16')]('('+_0x419f47[_0xede4('0x14')](',')+')\x20NOT\x20IN\x20?',squel[_0xede4('0x11')]()['fields'](_0x419f47)[_0xede4('0x13')](_0xede4('0x44'))[_0xede4('0x16')](_0xede4('0x47'),_0x514f59)['where'](_0xede4('0x54')))[_0xede4('0x16')]('id\x20IN\x20?',squel['select']()[_0xede4('0x12')](_0xede4('0x55'),'min_id')[_0xede4('0x13')](_0x2bb614)[_0xede4('0x56')](_0x419f47[_0xede4('0x14')](','))))[_0xede4('0x3d')]();}function handleStop(){logger['info']('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x1e1926){logger['error'](_0x1e1926[_0xede4('0x57')]);process['exit'](0x1);}function handleError(_0x4dc3e6,_0x1ce054){stats[_0xede4('0x58')][_0xede4('0x1e')]({'name':_0x1ce054[_0xede4('0x59')],'message':_0x1ce054['message'],'row':_0x4dc3e6});}function handleQuery(_0x131afb){logger[_0xede4('0x5a')](_0x131afb);return db['sequelize'][_0xede4('0x5b')](_0x131afb)[_0xede4('0x5c')](function(_0x29ad44){results['push'](_0x29ad44);})[_0xede4('0x5d')](function(_0x5b08b9){logger['error'](_0x5b08b9[_0xede4('0x57')]);});}function updateTzCampaigns(_0x49c972){return new Promise(function(_0x10f168,_0x52df7d){var _0x15016c=squel[_0xede4('0x11')]()[_0xede4('0x36')]([_0xede4('0x5e'),_0xede4('0x5f')])[_0xede4('0x13')](_0xede4('0x60'))[_0xede4('0x14')](_0xede4('0x61'),null,_0xede4('0x62'))['where'](_0xede4('0x63')+_0x49c972);db['sequelize'][_0xede4('0x5b')](_0x15016c[_0xede4('0x3d')]())[_0xede4('0x5c')](function(_0x57d885){var _0x535ea8=[];for(var _0x4c1796=0x0;_0x4c1796<_0x57d885['length'];_0x4c1796++){_0x535ea8[_0xede4('0x1e')](getTimezoneData(_0x57d885[_0x4c1796],tmp_campaigns));}BPromise[_0xede4('0x1f')](_0x535ea8)['then'](function(){_0x10f168({'val':0x1});});})[_0xede4('0x5d')](function(_0x4df672){logger[_0xede4('0x64')](_0x4df672[_0xede4('0x57')]);_0x10f168({'val':0x0});});});}function updateTzVoiceQueues(_0x6116c1){return new Promise(function(_0x2a40a3,_0x5d4665){var _0x92c94c=squel[_0xede4('0x11')]()[_0xede4('0x36')]([_0xede4('0x65'),_0xede4('0x66')])[_0xede4('0x13')]('voice_queues')['join'](_0xede4('0x67'),null,_0xede4('0x68'))[_0xede4('0x16')]('voice_queues_has_cm_lists.CmListId='+_0x6116c1);db[_0xede4('0x69')][_0xede4('0x5b')](_0x92c94c[_0xede4('0x3d')]())[_0xede4('0x5c')](function(_0x4fb01c){var _0xeec176=[];for(var _0x519443=0x0;_0x519443<_0x4fb01c[_0xede4('0x1d')];_0x519443++){_0xeec176[_0xede4('0x1e')](getTimezoneData(_0x4fb01c[_0x519443],tmp_voice_queues));}BPromise[_0xede4('0x1f')](_0xeec176)['then'](function(){_0x2a40a3({'val':0x1});});})[_0xede4('0x5d')](function(_0x5d8c2a){logger['error'](_0x5d8c2a[_0xede4('0x57')]);_0x2a40a3({'val':0x0});});});}function getTimezoneData(_0x48f5c2,_0x234a96){return new Promise(function(_0xc9a476,_0x5377df){var _0x2b6954=shared[_0xede4('0x6a')];var _0x4cc16f=_0x2b6954[_0x48f5c2['dialTimezone']];if(_[_0xede4('0x6b')](_0x4cc16f)){_0xc9a476({'ret':0x1});}else{var _0x376646=_0x4cc16f[_0xede4('0x6c')];var _0x5588d=squel['insert']()[_0xede4('0x2d')](_0x234a96)[_0xede4('0x6d')]('id',_0x48f5c2['id'])['set'](_0xede4('0x6e'),_0x376646)[_0xede4('0x6d')]('dialTimezone',_0x48f5c2['dialTimezone'])[_0xede4('0x3d')]();return db[_0xede4('0x69')][_0xede4('0x5b')](_0x5588d)[_0xede4('0x5c')](function(_0x9d7b59){_0xc9a476({'ret':0x1});})[_0xede4('0x5d')](function(_0x2a67c2){logger[_0xede4('0x64')](_0x2a67c2['message']);_0x5377df({'ret':0x1});});}});}function handleTZQuery(_0x459e69){logger[_0xede4('0x5a')](_0x459e69);return db[_0xede4('0x69')][_0xede4('0x5b')](_0x459e69)[_0xede4('0x5c')](function(_0x179647){})[_0xede4('0x5d')](function(_0x265b2d){logger[_0xede4('0x64')](_0x265b2d[_0xede4('0x57')]);});}function main(_0x413158,_0x205c93,_0x101030,_0x3029a7){logger[_0xede4('0x5a')](_0xede4('0x6f'),_0x413158,JSON[_0xede4('0x70')](_0x205c93));process[_0xede4('0x71')]('start');var _0x52dddb=_0x205c93[_0xede4('0x72')];var _0x546a92=_[_0xede4('0x73')](_0x52dddb);var _0x336669=_0x205c93[_0xede4('0x74')];var _0x47ef3a=path[_0xede4('0x14')](config[_0xede4('0x75')],'server/files/tmp',_0x336669+_0xede4('0x76'));hasTZ=_[_0xede4('0x52')](_0x52dddb)[_0xede4('0x77')](_0xede4('0x78'));var _0x3b1993=_[_0xede4('0x52')](_0x52dddb)['join']();logger['info'](_0xede4('0x79'),_0x3b1993);db[_0xede4('0x7a')][_0xede4('0x1a')]({'raw':!![],'attributes':['id',_0xede4('0x7b')]})[_0xede4('0x1c')](function(_0x2bbe1a){for(var _0x157e4c=0x0;_0x157e4c<_0x2bbe1a['length'];_0x157e4c++){if(_0x2bbe1a[_0x157e4c][_0xede4('0x7b')]in _0x52dddb){contactItemTypes['push'](_0x2bbe1a[_0x157e4c]);delete _0x546a92[_0x2bbe1a[_0x157e4c]['name']];hasAdditionalPhones=!![];}for(var _0x25cf69 in _0x52dddb){if(_0x2bbe1a[_0x157e4c]['name']+_0xede4('0x7c')===_0x25cf69){phoneDescriptions['push']({'itemTypeId':_0x2bbe1a[_0x157e4c]['id'],'description':_0x25cf69});delete _0x546a92[_0x25cf69];}}}if(hasAdditionalPhones)_0x546a92[_0xede4('0x1b')]='';var _0x1efc85=_['keys'](_0x546a92)[_0xede4('0x14')]();logger['info'](_0xede4('0x79'),_0x1efc85);fs[_0xede4('0x7d')](_0x47ef3a,_0x1efc85+'\x0a');Papa['parse'](fs[_0xede4('0x7e')](_0x413158),{'header':!![],'skipEmptyLines':!![],'step':function(_0x18f536,_0x278c55){try{for(var _0x2f2b26=0x0,_0x57d7df=[];_0x2f2b26<_0x18f536[_0xede4('0x7f')][_0xede4('0x1d')];_0x2f2b26++){stats['rows']+=0x1;if(_0x18f536[_0xede4('0x58')][_0x2f2b26]){handleError(_0x18f536[_0xede4('0x7f')][_0x2f2b26],_0x18f536[_0xede4('0x58')][_0x2f2b26]);}else{var _0xa28963=[];var _0xff4f2d=[];var _0x23636a={};for(var _0x1cb93a in _0x52dddb){let _0x2dea52=contactItemTypes[_0xede4('0x80')](_0x8e790a=>_0x8e790a[_0xede4('0x7b')]===_0x1cb93a);let _0x295536=contactItemTypes[_0xede4('0x80')](_0x4b9f09=>_0x4b9f09['name']+_0xede4('0x7c')===_0x1cb93a);if(_[_0xede4('0x6b')](_0x2dea52)&&_['isNil'](_0x295536)){if(_0x52dddb[_0xede4('0x81')](_0x1cb93a)){if(_0x18f536[_0xede4('0x7f')][_0x2f2b26][_0x52dddb[_0x1cb93a]]){var _0x29b147=_[_0xede4('0x82')](_0x18f536[_0xede4('0x7f')][_0x2f2b26][_0x52dddb[_0x1cb93a]]['replace'](/"/g,'\x27'));switch(_0x1cb93a){case _0xede4('0x30'):var _0x5ad318=moment(_0x29b147,_0xede4('0xf'),!![]);if(_0x5ad318[_0xede4('0x83')]()){_0x57d7df['push']('\x22'+_0x29b147+'\x22');}else{_0xa28963[_0xede4('0x1e')](_0xede4('0x84'));}break;case _0xede4('0x34'):var _0x1e3329=parseInt(_0x29b147);_0x29b147=_[_0xede4('0x85')](_0x1e3329)||_0x1e3329<0x0||_0x1e3329>0x4?_0x3029a7?0x3:0x2:_0x1e3329;_0x57d7df[_0xede4('0x1e')]('\x22'+_0x29b147+'\x22');break;case'UserId':var _0x4a69e2=parseInt(_0x29b147);if(_[_0xede4('0x86')](_0x4a69e2)&&_['includes'](_0x101030,_0x4a69e2)){_0x57d7df['push']('\x22'+_0x4a69e2+'\x22');}else{_0xa28963[_0xede4('0x1e')]('agent\x20not\x20exists');}break;case _0xede4('0x87'):if(isEmail(_0x29b147)){_0x57d7df[_0xede4('0x1e')]('\x22'+_0x29b147+'\x22');}else{_0xa28963[_0xede4('0x1e')](_0xede4('0x88'));}break;case'dateOfBirth':var _0x321084=moment(_0x29b147,_0xede4('0x89'),!![]);if(_0x321084['isValid']()){_0x57d7df['push']('\x22'+_0x29b147+'\x22');}else{_0xa28963['push'](_0xede4('0x8a'));}break;case'dialTimezone':var _0x5efda1=shared[_0xede4('0x6a')];var _0x1f56f8=_0x5efda1[_0x29b147];if(!_[_0xede4('0x6b')](_0x1f56f8)){var _0x11afd8=_0x1f56f8[_0xede4('0x6c')];_0x57d7df[_0xede4('0x1e')]('\x22'+_0x29b147+'\x22');_0x57d7df[_0xede4('0x1e')]('\x22'+_0x11afd8+'\x22');}break;default:_0x57d7df[_0xede4('0x1e')]('\x22'+_0x29b147+'\x22');}}else{switch(_0x1cb93a){case _0xede4('0x8b'):case _0xede4('0x2f'):_0xa28963['push'](_0x1cb93a+_0xede4('0x8c'));break;default:_0x57d7df['push']('\x22\x22');}}}}else{var _0x321699='';if(!_[_0xede4('0x6b')](_0x2dea52)){if(!_0x23636a[_0xede4('0x81')](_0x2dea52['id'])){if(!_[_0xede4('0x6b')](_0x18f536['data'][_0x2f2b26][_0x52dddb[_0x1cb93a]])){var _0x29b147=_['trim'](_0x18f536[_0xede4('0x7f')][_0x2f2b26][_0x52dddb[_0x1cb93a]][_0xede4('0x8d')](/"/g,'\x27'));var _0x2ef0a3=phoneDescriptions[_0xede4('0x80')](_0x1921ae=>_0x1921ae['itemTypeId']===_0x2dea52['id']);if(!_[_0xede4('0x6b')](_0x2ef0a3)){var _0xfc7725=_[_0xede4('0x82')](_0x18f536['data'][_0x2f2b26][_0x52dddb[_0x2ef0a3[_0xede4('0x8e')]]][_0xede4('0x8d')](/"/g,'\x27'));if(!_[_0xede4('0x6b')](_0xfc7725))_0x29b147=_0x29b147+'§'+_0xfc7725;}if(_0x321699=='')_0x321699=_0x29b147;else _0x321699+='|'+_0x29b147;}_0xff4f2d[_0xede4('0x1e')](_0x2dea52['id']+':'+_0x321699);_0x23636a[_0x2dea52['id']]=0x1;}}}}if(hasAdditionalPhones){_0x57d7df[_0xede4('0x1e')]('\x22'+_0xff4f2d[_0xede4('0x14')](';')+'\x22');}if(_0xa28963['length']){handleError(_0x18f536['data'][_0x2f2b26],{'code':_0xede4('0x8f'),'message':_0xa28963[_0xede4('0x14')]()});}else{fs['appendFileSync'](_0x47ef3a,_0x57d7df[_0xede4('0x14')]()+'\x0a');}_0x57d7df=[];}if(!(stats['rows']%0xc8)){socket[_0xede4('0x90')](_0xede4('0x91')+_0x336669,stats);stats['errors']=[];}}if(stopped){logger[_0xede4('0x5a')](_0xede4('0x92'));_0x278c55['abort']();}}catch(_0x326b4b){handleError(_0x18f536[_0xede4('0x7f')][_0x2f2b26],{'code':_0xede4('0x93'),'message':_0x326b4b[_0xede4('0x57')]});logger['error'](_0xede4('0x94'),_0x326b4b[_0xede4('0x57')]);}},'complete':function(){try{var _0x4cd747=[];var _0x566a14=[];var _0x451fc3=_0xede4('0x44');if(_0x205c93['duplicates']&&_0x205c93[_0xede4('0x95')][_0xede4('0x1d')]){_0x451fc3=_0xede4('0x96')+_0x336669;_0x4cd747[_0xede4('0x1e')](_0xede4('0x97')+_0x451fc3+_0xede4('0x98'));}tmp_campaigns=_0xede4('0x99')+_0x336669;tmp_voice_queues=_0xede4('0x9a')+_0x336669;_0x566a14[_0xede4('0x1e')]('CREATE\x20TABLE\x20'+tmp_campaigns+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');_0x566a14['push'](_0xede4('0x97')+tmp_voice_queues+_0xede4('0x9b'));BPromise[_0xede4('0x9c')](_0x566a14,handleTZQuery)[_0xede4('0x1c')](function(_0x63ccb9){updateTzCampaigns(_0x205c93[_0xede4('0x3e')])[_0xede4('0x1c')](function(_0x2c4fc9){updateTzVoiceQueues(_0x205c93[_0xede4('0x3e')])[_0xede4('0x1c')](function(_0x461579){if(hasTZ)_0x1efc85=_0x1efc85[_0xede4('0x8d')](_0xede4('0x78'),_0xede4('0x9d'));var _0x3213ae=util[_0xede4('0xe')]('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\x20id\x20=\x20NULL,\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27',_0x47ef3a,_0x451fc3,_0x1efc85,_0x205c93['ListId'],_0x205c93[_0xede4('0x9e')]||null,NOW,NOW);if(_[_0xede4('0x6b')](_0x52dddb[_0xede4('0x30')])){_0x3213ae+=_0xede4('0x9f');}_0x4cd747[_0xede4('0x1e')](_0x3213ae);if(_0x205c93[_0xede4('0x95')]&&_0x205c93[_0xede4('0x95')][_0xede4('0x1d')]){_0x4cd747['push'](insertCmContact(_0x205c93[_0xede4('0x3e')],_0x451fc3,_0x205c93[_0xede4('0x95')],_0x52dddb));_0x4cd747[_0xede4('0x1e')]('DROP\x20TABLE\x20'+_0x451fc3+';');}BPromise[_0xede4('0x9c')](_0x4cd747,handleQuery)[_0xede4('0x1c')](function(_0x28f572){BPromise[_0xede4('0x1f')]([handleAdditionalPhones()])[_0xede4('0x1c')](function(){_0x4cd747=[];for(var _0x4bbdd2=0x0;_0x4bbdd2<promisesAdditionalPhones[_0xede4('0x1d')];_0x4bbdd2++){if(promisesAdditionalPhones[_0x4bbdd2][_0xede4('0x2f')]!='§'){_0x4cd747[_0xede4('0x1e')](createAdditionalPhone(promisesAdditionalPhones[_0x4bbdd2][_0xede4('0xa0')],promisesAdditionalPhones[_0x4bbdd2]['contactTypeId'],promisesAdditionalPhones[_0x4bbdd2][_0xede4('0x2f')],promisesAdditionalPhones[_0x4bbdd2][_0xede4('0xa1')]));}}BPromise[_0xede4('0x1f')](_0x4cd747)[_0xede4('0x1c')](function(){_0x4cd747=[];if(hasTZ){_0x4cd747[_0xede4('0x1e')](insertTzCmHopper(_0x205c93[_0xede4('0x3e')],_0xede4('0x67'),_0xede4('0xa2'),_0xede4('0xa3'),_0x3029a7,tmp_voice_queues));_0x4cd747['push'](insertTzCmHopperBlack(_0x205c93['ListId'],_0xede4('0xa4'),'voice_queues',_0xede4('0xa3')));_0x4cd747[_0xede4('0x1e')](insertTzCmHopper(_0x205c93[_0xede4('0x3e')],'campaigns_has_cm_lists',_0xede4('0x60'),'CampaignId',_0x3029a7,tmp_campaigns));_0x4cd747[_0xede4('0x1e')](insertTzCmHopperBlack(_0x205c93['ListId'],_0xede4('0xa5'),_0xede4('0x60'),_0xede4('0xa6')));_0x4cd747[_0xede4('0x1e')](insertCmHopperAdditionalPhones(_0x205c93[_0xede4('0x3e')]));}else{_0x4cd747['push'](insertCmHopper(_0x205c93[_0xede4('0x3e')],'voice_queues_has_cm_lists',_0xede4('0xa2'),_0xede4('0xa3'),_0x3029a7));_0x4cd747['push'](insertCmHopperBlack(_0x205c93[_0xede4('0x3e')],'voice_queues_has_cm_blacklists','voice_queues',_0xede4('0xa3')));_0x4cd747[_0xede4('0x1e')](insertCmHopper(_0x205c93[_0xede4('0x3e')],'campaigns_has_cm_lists',_0xede4('0x60'),'CampaignId',_0x3029a7));_0x4cd747[_0xede4('0x1e')](insertCmHopperBlack(_0x205c93[_0xede4('0x3e')],_0xede4('0xa5'),_0xede4('0x60'),_0xede4('0xa6')));_0x4cd747[_0xede4('0x1e')](insertCmHopperAdditionalPhones(_0x205c93['ListId']));}_0x4cd747[_0xede4('0x1e')]('DROP\x20TABLE\x20'+tmp_campaigns+';');_0x4cd747[_0xede4('0x1e')](_0xede4('0xa7')+tmp_voice_queues+';');BPromise[_0xede4('0x9c')](_0x4cd747,handleQuery)[_0xede4('0x1c')](function(_0x5141e6){stats[_0xede4('0xa8')]=!![];stats['affectedRows']=_0x205c93[_0xede4('0x95')]&&_0x205c93['duplicates']['length']?results[0x2]['affectedRows']:results[0x0][_0xede4('0xa9')];socket[_0xede4('0x90')](_0xede4('0x91')+_0x336669,stats);fs[_0xede4('0xaa')](_0x413158);fs[_0xede4('0xaa')](_0x47ef3a);process[_0xede4('0xab')](0x0);})[_0xede4('0x5d')](function(_0x3abcb1){logger[_0xede4('0x64')](_0x3abcb1[_0xede4('0x57')]);process['exit'](0x1);});});});})[_0xede4('0x5d')](function(_0x91cb8a){logger[_0xede4('0x64')](_0x91cb8a[_0xede4('0x57')]);process['exit'](0x1);});});});});}catch(_0x3c950c){logger[_0xede4('0x64')](_0xede4('0xac'),_0x3c950c['message']);process[_0xede4('0xab')](0x1);}},'error':function(_0x3b6e1f,_0x189909,_0x3cd4b9,_0x2c5651){throw new Error(_0x2c5651);}});});}function validate(){if(process[_0xede4('0xad')]&&process['argv']['length']<0x4){throw new Error(_0xede4('0xae'));}var _0x136725=path[_0xede4('0x14')](config['root'],_0xede4('0xaf'),process[_0xede4('0xad')][0x2]);if(!fs[_0xede4('0xb0')](_0x136725)){throw new Error(_0xede4('0xb1'));}var _0x2ce473={};try{_0x2ce473=JSON[_0xede4('0xb2')](process[_0xede4('0xad')][0x3]);if(!_0x2ce473[_0xede4('0x72')]){throw new Error(_0xede4('0xb3'));}if(!_0x2ce473[_0xede4('0x72')]['phone']){throw new Error(_0xede4('0xb4'));}if(!_0x2ce473['binding'][_0xede4('0x8b')]){throw new Error('firstName\x20is\x20mandatory');}var _0x49f8d9=0x0;if(_0x2ce473['binding'][_0xede4('0x43')]){_0x49f8d9=0x1;}if(!_0x2ce473[_0xede4('0x3e')]){throw new Error(_0xede4('0xb5'));}}catch(_0x28c6fc){throw new Error(_0xede4('0xb6'));}var _0x3869bb=[];try{_0x3869bb=_[_0xede4('0xb7')](JSON[_0xede4('0xb2')](process[_0xede4('0xad')][0x4]),'id');}catch(_0x26e1e2){logger[_0xede4('0x5a')](_0xede4('0xb8'));}main(_0x136725,_0x2ce473,_0x3869bb,_0x49f8d9);}validate();process['on'](_0xede4('0xb9'),handleStop);process['on']('uncaughtException',handleUncaughtException);