7dd1090d71ac9be147ea2b5f9fc6c6c174a62aef
[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 _0x42d4=['scheduledat','ContactId','ListId','createdAt','updatedAt','priority','UserId','recallme','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','cm_hopper','toString','cm_hopper_black','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.createdAt','cm_contacts.priority','\x22onlyIfOpen\x22','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','CmHopperId','OrderBy','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','CompanyId','scheduledAt','id\x20IN\x20?','MIN(id)','group','Received\x20SIGINT','error','message','exit','errors','info','query','spread','catch','campaigns.dialTimezone','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','sequelize','voice_queues.id','voice_queues.dialTimezone','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','voice_queues_has_cm_lists.CmListId=','timezones','utcOffset','set','offset','dialTimezone','main','start','binding','clone','socket_timestamp','root','server/files/tmp','.csv','keys','includes','header','findAll','name','_description','writeFileSync','parse','createReadStream','data','rows','find','hasOwnProperty','replace','isValid','isNaN','agent\x20not\x20exists','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','firstName','trim','itemTypeId','SystemRow','appendFileSync','Abort\x20parser','abort','SystemError','step','duplicates','CREATE\x20TABLE\x20','campaigns_','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','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',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','contactId','contactTypeId','orderBy','voice_queues','VoiceQueueId','voice_queues_has_cm_blacklists','CampaignId','campaigns_has_cm_blacklists','campaigns','affectedRows','emit','contact:import:','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','uncaughtException','path','papaparse','util','bluebird','moment','ioredis','../../../mysqldb','../../../config/logger','import','redis','defaults','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','select','field','phone','from','join','.id\x20=\x20','where','\x20=\x20','AdditionalPhones','then','push','all','split','length','isNil','filter','CmContactHasItem','findOne','update','updated','create','PHONE','inserted','cm_contacts.phone','cm_contacts.id','cm_contacts.ListId','cm_contacts.updatedAt','cm_contacts.UserId','insert','into','fromQuery'];(function(_0x352fbf,_0x17cd4f){var _0x3d4c9b=function(_0x424bf5){while(--_0x424bf5){_0x352fbf['push'](_0x352fbf['shift']());}};_0x3d4c9b(++_0x17cd4f);}(_0x42d4,0x1e5));var _0x442d=function(_0x32e419,_0xff0455){_0x32e419=_0x32e419-0x0;var _0x1f0315=_0x42d4[_0x32e419];return _0x1f0315;};'use strict';var fs=require('fs');var path=require(_0x442d('0x0'));var _=require('lodash');var Papa=require(_0x442d('0x1'));var util=require(_0x442d('0x2'));var BPromise=require(_0x442d('0x3'));var moment=require(_0x442d('0x4'));var squel=require('squel');var Redis=require(_0x442d('0x5'));var db=require(_0x442d('0x6'))['db'];var config=require('../../../config/environment');var shared=require('../../../config/environment/shared');var logger=require(_0x442d('0x7'))(_0x442d('0x8'));config[_0x442d('0x9')]=_[_0x442d('0xa')](config[_0x442d('0x9')],{'host':_0x442d('0xb'),'port':0x18eb});var socket=require(_0x442d('0xc'))(new Redis(config['redis']));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0x442d('0xd')]('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'](_0x442d('0xe'));function isEmail(_0x161564){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'](_0x161564);}function selectNotIn(_0x5e740b,_0x29cd67,_0xf6c7e4,_0x1e3c9e,_0x492467){return squel[_0x442d('0xf')]()[_0x442d('0x10')](_0x442d('0x11'))[_0x442d('0x12')](_0x1e3c9e)[_0x442d('0x13')](_0x29cd67,null,_0x29cd67+_0x442d('0x14')+_0x1e3c9e+'.'+_0xf6c7e4)[_0x442d('0x15')](_0x1e3c9e+'.'+_0xf6c7e4+_0x442d('0x16')+_0x5e740b+'.'+_0xf6c7e4)[_0x442d('0x15')](_0x29cd67+'.dialCheckDuplicateType\x20IN\x20('+_0x492467[_0x442d('0x13')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0xcc4fc2,_0x6afab3){promisesAdditionalPhones=[];return db['CmContact']['findAll']({'raw':!![],'attributes':['id',_0x442d('0x17')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x442d('0x18')](function(_0x303209){if(_0x303209!==null){var _0x1f4e4d=[];for(var _0x1e8ad1=0x0;_0x1e8ad1<_0x303209['length'];_0x1e8ad1++){var _0x10d7d6=_0x303209[_0x1e8ad1];_0x1f4e4d[_0x442d('0x19')](insertAdditionalPhones(_0x10d7d6));}}Promise[_0x442d('0x1a')](_0x1f4e4d)[_0x442d('0x18')](function(){_0xcc4fc2({'val':0x1});});});});}function insertAdditionalPhones(_0x5e3c44){return new Promise(function(_0x586aca,_0x2e6321){var _0x29fe52=_0x5e3c44[_0x442d('0x17')];var _0x494d95=_0x29fe52[_0x442d('0x1b')](';');var _0xa9e4f0=[];orderBy=0x0;for(var _0x189e6f=0x0;_0x189e6f<_0x494d95[_0x442d('0x1c')];_0x189e6f++){_0xa9e4f0['push'](splitAdditionalPhone(_0x5e3c44['id'],_0x494d95[_0x189e6f]));}Promise['all'](_0xa9e4f0)[_0x442d('0x18')](function(){_0x586aca({'val':_0x494d95[_0x442d('0x1c')]});});});}function splitAdditionalPhone(_0x12d4ce,_0x2519af){return new Promise(function(_0x6a2964,_0x2d2300){var _0x3190ad=_0x2519af[_0x442d('0x1b')](':');var _0x2d139c=_0x3190ad[0x0];var _0x3d637c=_0x3190ad[0x1];if(!_[_0x442d('0x1d')](_0x3d637c)){var _0xf9d1ec=_0x3d637c[_0x442d('0x1b')]('|');var _0x29d35a=[];for(var _0x385c24=0x0;_0x385c24<_0xf9d1ec[_0x442d('0x1c')];_0x385c24++){if(_0xf9d1ec[_0x385c24]!==''){var _0x270769=_[_0x442d('0x1e')](promisesAdditionalPhones,{'contactId':_0x12d4ce,'phone':_0xf9d1ec[_0x385c24]});if(_0x270769[_0x442d('0x1c')]==0x0){orderBy++;promisesAdditionalPhones['push']({'contactId':_0x12d4ce,'contactTypeId':_0x2d139c,'phone':_0xf9d1ec[_0x385c24],'orderBy':orderBy});}}}_0x6a2964({'ok':0x1});}else _0x6a2964({'res':0x0});});}function createAdditionalPhone(_0x5c8a9a,_0x1a029c,_0x460586,_0x3a4579){var _0x521085='';var _0x2653bf='';var _0x413e2f=_0x460586[_0x442d('0x1b')]('§');_0x521085=_0x413e2f[0x0];if(_0x413e2f[_0x442d('0x1c')]==0x2)_0x2653bf=_0x413e2f[0x1];return new Promise(function(_0x5b1019,_0x195491){return db[_0x442d('0x1f')][_0x442d('0x20')]({'where':{'CmContactId':_0x5c8a9a,'item':_0x521085}})[_0x442d('0x18')](function(_0x52faf){if(_0x52faf){return db[_0x442d('0x1f')][_0x442d('0x21')]({'ItemTypeId':_0x1a029c,'description':_0x2653bf,'OrderBy':_0x3a4579},{'where':{'CmContactId':_0x5c8a9a,'item':_0x521085}})[_0x442d('0x18')](function(_0x3a638e){_0x5b1019({'res':_0x442d('0x22')});});}else{return db[_0x442d('0x1f')][_0x442d('0x23')]({'CmContactId':_0x5c8a9a,'item':_0x521085,'description':_0x2653bf,'ItemTypeId':_0x1a029c,'OrderBy':_0x3a4579,'ItemClass':_0x442d('0x24')})[_0x442d('0x18')](function(_0x5c9521){_0x5b1019({'res':_0x442d('0x25')});});}});});}function insertCmHopper(_0x2d162c,_0x262d91,_0x2ea550,_0x1ed887,_0x17c154){var _0x49514d=[_0x442d('0x26'),'cm_contacts.scheduledat',_0x442d('0x27'),_0x442d('0x28'),_0x262d91+'.'+_0x1ed887,'cm_contacts.createdAt',_0x442d('0x29'),'cm_contacts.priority',_0x442d('0x2a'),'\x22'+_0x17c154+'\x22'];return squel[_0x442d('0x2b')]()[_0x442d('0x2c')]('cm_hopper')[_0x442d('0x2d')]([_0x442d('0x11'),_0x442d('0x2e'),_0x442d('0x2f'),_0x442d('0x30'),_0x1ed887,_0x442d('0x31'),_0x442d('0x32'),_0x442d('0x33'),_0x442d('0x34'),_0x442d('0x35')],squel['select']()[_0x442d('0x36')](_0x49514d)[_0x442d('0x12')](_0x262d91)[_0x442d('0x13')](_0x442d('0x37'),null,_0x442d('0x38')+_0x262d91+_0x442d('0x39'))['join'](_0x2ea550,null,_0x2ea550+'.id\x20=\x20'+_0x262d91+'.'+_0x1ed887)[_0x442d('0x15')](_0x262d91+_0x442d('0x3a'),_0x2d162c)[_0x442d('0x15')](_0x442d('0x3b'),NOW)[_0x442d('0x15')](_0x442d('0x3c'),selectNotIn(_0x262d91,_0x2ea550,_0x1ed887,'cm_hopper',[_0x442d('0x3d'),'\x22onlyIfOpen\x22']))[_0x442d('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x262d91,_0x2ea550,_0x1ed887,_0x442d('0x3e'),[_0x442d('0x3d')])))[_0x442d('0x3f')]();}function insertCmHopperBlack(_0x39d99a,_0x3b22c5,_0x2efc42,_0x34ff2f){var _0x4e2613=[_0x442d('0x26'),_0x442d('0x27'),'cm_contacts.ListId',_0x3b22c5+'.'+_0x34ff2f,'cm_contacts.createdAt',_0x442d('0x29')];return squel[_0x442d('0x2b')]()[_0x442d('0x2c')](_0x442d('0x40'))[_0x442d('0x2d')]([_0x442d('0x11'),'ContactId','ListId',_0x34ff2f,_0x442d('0x31'),_0x442d('0x32')],squel[_0x442d('0xf')]()[_0x442d('0x36')](_0x4e2613)['from'](_0x3b22c5)['join'](_0x442d('0x37'),null,_0x442d('0x38')+_0x3b22c5+_0x442d('0x39'))[_0x442d('0x13')](_0x2efc42,null,_0x2efc42+_0x442d('0x14')+_0x3b22c5+'.'+_0x34ff2f)[_0x442d('0x15')](_0x3b22c5+_0x442d('0x3a'),_0x39d99a)[_0x442d('0x15')](_0x442d('0x3b'),NOW)['where'](_0x442d('0x3c'),squel['select']()[_0x442d('0x10')](_0x442d('0x11'))[_0x442d('0x12')](_0x442d('0x40'))['where'](_0x442d('0x41'),_0x39d99a)[_0x442d('0x15')](_0x34ff2f+'\x20=\x20'+_0x3b22c5+'.'+_0x34ff2f)))[_0x442d('0x3f')]();}function insertTzCmHopper(_0x25c31f,_0x529bc0,_0x152862,_0x5fb3b0,_0x18bbc1,_0x15a871){var _0x552eb5=[_0x442d('0x26'),_0x442d('0x42')+_0x15a871+_0x442d('0x43'),'cm_contacts.id',_0x442d('0x28'),_0x529bc0+'.'+_0x5fb3b0,_0x442d('0x44'),_0x442d('0x29'),_0x442d('0x45'),_0x442d('0x2a'),'\x22'+_0x18bbc1+'\x22'];var _0x4a65bf=squel[_0x442d('0x2b')]()[_0x442d('0x2c')](_0x442d('0x3e'))[_0x442d('0x2d')]([_0x442d('0x11'),_0x442d('0x2e'),'ContactId',_0x442d('0x30'),_0x5fb3b0,_0x442d('0x31'),_0x442d('0x32'),'priority','UserId',_0x442d('0x35')],squel[_0x442d('0xf')]()['fields'](_0x552eb5)[_0x442d('0x12')](_0x529bc0)[_0x442d('0x13')]('cm_contacts',null,'cm_contacts.ListId\x20=\x20'+_0x529bc0+'.CmListId')[_0x442d('0x13')](_0x152862,null,_0x152862+'.id\x20=\x20'+_0x529bc0+'.'+_0x5fb3b0)[_0x442d('0x13')](_0x15a871,null,_0x15a871+'.id\x20=\x20'+_0x529bc0+'.'+_0x5fb3b0)[_0x442d('0x15')](_0x529bc0+'.CmListId\x20=\x20?',_0x25c31f)[_0x442d('0x15')](_0x442d('0x3b'),NOW)['where'](_0x442d('0x3c'),selectNotIn(_0x529bc0,_0x152862,_0x5fb3b0,_0x442d('0x3e'),['\x22always\x22',_0x442d('0x46')]))[_0x442d('0x15')](_0x442d('0x3c'),selectNotIn(_0x529bc0,_0x152862,_0x5fb3b0,_0x442d('0x3e'),['\x22always\x22'])))['toString']();return _0x4a65bf;}function insertTzCmHopperBlack(_0xc78b57,_0x10b38d,_0x6ecefa,_0x2a6ad2){var _0x457def=[_0x442d('0x26'),_0x442d('0x27'),'cm_contacts.ListId',_0x10b38d+'.'+_0x2a6ad2,'cm_contacts.createdAt',_0x442d('0x29')];return squel[_0x442d('0x2b')]()[_0x442d('0x2c')]('cm_hopper_black')[_0x442d('0x2d')]([_0x442d('0x11'),_0x442d('0x2f'),'ListId',_0x2a6ad2,_0x442d('0x31'),'updatedAt'],squel[_0x442d('0xf')]()[_0x442d('0x36')](_0x457def)['from'](_0x10b38d)['join']('cm_contacts',null,'cm_contacts.ListId\x20=\x20'+_0x10b38d+_0x442d('0x39'))[_0x442d('0x13')](_0x6ecefa,null,_0x6ecefa+_0x442d('0x14')+_0x10b38d+'.'+_0x2a6ad2)[_0x442d('0x15')](_0x10b38d+'.CmListId\x20=\x20?',_0xc78b57)['where']('cm_contacts.createdAt\x20=\x20?',NOW)[_0x442d('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel['select']()[_0x442d('0x10')]('phone')['from'](_0x442d('0x40'))['where'](_0x442d('0x41'),_0xc78b57)[_0x442d('0x15')](_0x2a6ad2+'\x20=\x20'+_0x10b38d+'.'+_0x2a6ad2)))[_0x442d('0x3f')]();}function insertCmHopperAdditionalPhones(_0x1abaab){var _0x5d109b=['cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy',_0x442d('0x47'),_0x442d('0x48')];return squel[_0x442d('0x2b')]()[_0x442d('0x2c')]('cm_hopper_additional_phones')[_0x442d('0x2d')]([_0x442d('0x49'),_0x442d('0x11'),_0x442d('0x4a'),_0x442d('0x31'),_0x442d('0x32')],squel[_0x442d('0xf')]()[_0x442d('0x36')](_0x5d109b)['from']('cm_hopper')['join'](_0x442d('0x37'),null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0x442d('0x13')]('cm_contact_has_items',null,_0x442d('0x4b'))['where'](_0x442d('0x4c'),_0x1abaab)['where'](_0x442d('0x3b'),NOW))[_0x442d('0x3f')]();}function insertCmContact(_0x551de7,_0xe62f18,_0x5253f3,_0x5ab148){var _0x160dfe=_[_0x442d('0x4d')](_['keys'](_0x5ab148),['ListId',_0x442d('0x4e'),_0x442d('0x31'),'updatedAt',_0x442d('0x4f')]);return squel[_0x442d('0x2b')]()[_0x442d('0x2c')](_0x442d('0x37'))[_0x442d('0x2d')](_0x160dfe,squel[_0x442d('0xf')]()[_0x442d('0x36')](_0x160dfe)[_0x442d('0x12')](_0xe62f18)[_0x442d('0x15')]('('+_0x5253f3['join'](',')+')\x20NOT\x20IN\x20?',squel[_0x442d('0xf')]()[_0x442d('0x36')](_0x5253f3)['from']('cm_contacts')['where'](_0x442d('0x41'),_0x551de7)[_0x442d('0x15')]('deletedAt\x20IS\x20NULL'))['where'](_0x442d('0x50'),squel[_0x442d('0xf')]()[_0x442d('0x10')](_0x442d('0x51'),'min_id')[_0x442d('0x12')](_0xe62f18)[_0x442d('0x52')](_0x5253f3['join'](','))))[_0x442d('0x3f')]();}function handleStop(){logger['info'](_0x442d('0x53'));stopped=!![];}function handleUncaughtException(_0x280a70){logger[_0x442d('0x54')](_0x280a70[_0x442d('0x55')]);process[_0x442d('0x56')](0x1);}function handleError(_0x9137b1,_0x2939c4){stats[_0x442d('0x57')]['push']({'name':_0x2939c4['code'],'message':_0x2939c4['message'],'row':_0x9137b1});}function handleQuery(_0x5d00fb){logger[_0x442d('0x58')](_0x5d00fb);return db['sequelize'][_0x442d('0x59')](_0x5d00fb)[_0x442d('0x5a')](function(_0x40b016){results[_0x442d('0x19')](_0x40b016);})[_0x442d('0x5b')](function(_0x5828a4){logger[_0x442d('0x54')](_0x5828a4[_0x442d('0x55')]);});}function updateTzCampaigns(_0x485fcd){return new Promise(function(_0x46839f,_0x4feef0){var _0x1b5e6f=squel['select']()[_0x442d('0x36')](['campaigns.id',_0x442d('0x5c')])[_0x442d('0x12')]('campaigns')[_0x442d('0x13')](_0x442d('0x5d'),null,_0x442d('0x5e'))[_0x442d('0x15')]('campaigns_has_cm_lists.CmListId='+_0x485fcd);db[_0x442d('0x5f')][_0x442d('0x59')](_0x1b5e6f['toString']())[_0x442d('0x5a')](function(_0x2d52cb){var _0x17772a=[];for(var _0x2f7d60=0x0;_0x2f7d60<_0x2d52cb['length'];_0x2f7d60++){_0x17772a[_0x442d('0x19')](getTimezoneData(_0x2d52cb[_0x2f7d60],tmp_campaigns));}BPromise['all'](_0x17772a)[_0x442d('0x18')](function(){_0x46839f({'val':0x1});});})[_0x442d('0x5b')](function(_0x297583){logger[_0x442d('0x54')](_0x297583[_0x442d('0x55')]);_0x46839f({'val':0x0});});});}function updateTzVoiceQueues(_0x2252af){return new Promise(function(_0x2bcd7c,_0x45001a){var _0x896268=squel['select']()[_0x442d('0x36')]([_0x442d('0x60'),_0x442d('0x61')])['from']('voice_queues')[_0x442d('0x13')](_0x442d('0x62'),null,_0x442d('0x63'))['where'](_0x442d('0x64')+_0x2252af);db[_0x442d('0x5f')][_0x442d('0x59')](_0x896268[_0x442d('0x3f')]())['spread'](function(_0x299fc6){var _0x1fb315=[];for(var _0x4d9d81=0x0;_0x4d9d81<_0x299fc6['length'];_0x4d9d81++){_0x1fb315[_0x442d('0x19')](getTimezoneData(_0x299fc6[_0x4d9d81],tmp_voice_queues));}BPromise['all'](_0x1fb315)[_0x442d('0x18')](function(){_0x2bcd7c({'val':0x1});});})[_0x442d('0x5b')](function(_0x1e8937){logger[_0x442d('0x54')](_0x1e8937['message']);_0x2bcd7c({'val':0x0});});});}function getTimezoneData(_0x1b12bf,_0x496510){return new Promise(function(_0x19dfcc,_0xfc6290){var _0x13a0e0=shared[_0x442d('0x65')];var _0x43e4a1=_0x13a0e0[_0x1b12bf['dialTimezone']];if(_['isNil'](_0x43e4a1)){_0x19dfcc({'ret':0x1});}else{var _0x458d74=_0x43e4a1[_0x442d('0x66')];var _0x4c76c9=squel[_0x442d('0x2b')]()[_0x442d('0x2c')](_0x496510)[_0x442d('0x67')]('id',_0x1b12bf['id'])[_0x442d('0x67')](_0x442d('0x68'),_0x458d74)[_0x442d('0x67')](_0x442d('0x69'),_0x1b12bf[_0x442d('0x69')])[_0x442d('0x3f')]();return db[_0x442d('0x5f')][_0x442d('0x59')](_0x4c76c9)[_0x442d('0x5a')](function(_0x534ad5){_0x19dfcc({'ret':0x1});})['catch'](function(_0x1c0d22){logger[_0x442d('0x54')](_0x1c0d22[_0x442d('0x55')]);_0xfc6290({'ret':0x1});});}});}function handleTZQuery(_0x312eb6){logger[_0x442d('0x58')](_0x312eb6);return db[_0x442d('0x5f')]['query'](_0x312eb6)[_0x442d('0x5a')](function(_0x50523e){})[_0x442d('0x5b')](function(_0x431fe3){logger[_0x442d('0x54')](_0x431fe3[_0x442d('0x55')]);});}function main(_0x32fa00,_0x4d13f6,_0x225aa3,_0x1da14c){logger[_0x442d('0x58')](_0x442d('0x6a'),_0x32fa00,JSON['stringify'](_0x4d13f6));process['send'](_0x442d('0x6b'));var _0x310a15=_0x4d13f6[_0x442d('0x6c')];var _0xc96524=_[_0x442d('0x6d')](_0x310a15);var _0xf39590=_0x4d13f6[_0x442d('0x6e')];var _0x496ea4=path[_0x442d('0x13')](config[_0x442d('0x6f')],_0x442d('0x70'),_0xf39590+_0x442d('0x71'));hasTZ=_[_0x442d('0x72')](_0x310a15)[_0x442d('0x73')]('dialTimezone');var _0x403053=_['keys'](_0x310a15)[_0x442d('0x13')]();logger[_0x442d('0x58')](_0x442d('0x74'),_0x403053);db['ContactItemType'][_0x442d('0x75')]({'raw':!![],'attributes':['id',_0x442d('0x76')]})[_0x442d('0x18')](function(_0x54cef0){for(var _0x524510=0x0;_0x524510<_0x54cef0['length'];_0x524510++){if(_0x54cef0[_0x524510][_0x442d('0x76')]in _0x310a15){contactItemTypes[_0x442d('0x19')](_0x54cef0[_0x524510]);delete _0xc96524[_0x54cef0[_0x524510]['name']];hasAdditionalPhones=!![];}for(var _0x1352d7 in _0x310a15){if(_0x54cef0[_0x524510][_0x442d('0x76')]+_0x442d('0x77')===_0x1352d7){phoneDescriptions[_0x442d('0x19')]({'itemTypeId':_0x54cef0[_0x524510]['id'],'description':_0x1352d7});delete _0xc96524[_0x1352d7];}}}if(hasAdditionalPhones)_0xc96524[_0x442d('0x17')]='';var _0x3fefa2=_['keys'](_0xc96524)[_0x442d('0x13')]();logger[_0x442d('0x58')](_0x442d('0x74'),_0x3fefa2);fs[_0x442d('0x78')](_0x496ea4,_0x3fefa2+'\x0a');Papa[_0x442d('0x79')](fs[_0x442d('0x7a')](_0x32fa00),{'header':!![],'skipEmptyLines':!![],'step':function(_0xa4be42,_0x1aabb1){try{for(var _0x5557fc=0x0,_0x6060f4=[];_0x5557fc<_0xa4be42[_0x442d('0x7b')][_0x442d('0x1c')];_0x5557fc++){stats[_0x442d('0x7c')]+=0x1;if(_0xa4be42[_0x442d('0x57')][_0x5557fc]){handleError(_0xa4be42['data'][_0x5557fc],_0xa4be42[_0x442d('0x57')][_0x5557fc]);}else{var _0x1ac88d=[];var _0xe62ec3=[];var _0x5f52db={};for(var _0x374ea0 in _0x310a15){let _0x495f3f=contactItemTypes[_0x442d('0x7d')](_0x3c09d5=>_0x3c09d5[_0x442d('0x76')]===_0x374ea0);let _0x410ce3=contactItemTypes[_0x442d('0x7d')](_0x84c7e8=>_0x84c7e8[_0x442d('0x76')]+_0x442d('0x77')===_0x374ea0);if(_[_0x442d('0x1d')](_0x495f3f)&&_['isNil'](_0x410ce3)){if(_0x310a15[_0x442d('0x7e')](_0x374ea0)){if(_0xa4be42[_0x442d('0x7b')][_0x5557fc][_0x310a15[_0x374ea0]]){var _0x55e326=_['trim'](_0xa4be42['data'][_0x5557fc][_0x310a15[_0x374ea0]][_0x442d('0x7f')](/"/g,'\x27'));switch(_0x374ea0){case _0x442d('0x2e'):var _0x460231=moment(_0x55e326,_0x442d('0xe'),!![]);if(_0x460231[_0x442d('0x80')]()){_0x6060f4['push']('\x22'+_0x55e326+'\x22');}else{_0x1ac88d[_0x442d('0x19')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0x442d('0x33'):var _0x38b225=parseInt(_0x55e326);_0x55e326=_[_0x442d('0x81')](_0x38b225)||_0x38b225<0x0||_0x38b225>0x4?_0x1da14c?0x3:0x2:_0x38b225;_0x6060f4[_0x442d('0x19')]('\x22'+_0x55e326+'\x22');break;case _0x442d('0x34'):var _0x50cb4e=parseInt(_0x55e326);if(_['isNumber'](_0x50cb4e)&&_[_0x442d('0x73')](_0x225aa3,_0x50cb4e)){_0x6060f4[_0x442d('0x19')]('\x22'+_0x50cb4e+'\x22');}else{_0x1ac88d['push'](_0x442d('0x82'));}break;case'email':if(isEmail(_0x55e326)){_0x6060f4['push']('\x22'+_0x55e326+'\x22');}else{_0x1ac88d[_0x442d('0x19')](_0x442d('0x83'));}break;case _0x442d('0x84'):var _0x4d2167=moment(_0x55e326,_0x442d('0x85'),!![]);if(_0x4d2167[_0x442d('0x80')]()){_0x6060f4[_0x442d('0x19')]('\x22'+_0x55e326+'\x22');}else{_0x1ac88d[_0x442d('0x19')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;case _0x442d('0x69'):var _0x206f50=shared[_0x442d('0x65')];var _0x1c2134=_0x206f50[_0x55e326];if(!_[_0x442d('0x1d')](_0x1c2134)){var _0x4dc087=_0x1c2134['utcOffset'];_0x6060f4['push']('\x22'+_0x55e326+'\x22');_0x6060f4[_0x442d('0x19')]('\x22'+_0x4dc087+'\x22');}break;default:_0x6060f4[_0x442d('0x19')]('\x22'+_0x55e326+'\x22');}}else{switch(_0x374ea0){case _0x442d('0x86'):case _0x442d('0x11'):_0x1ac88d[_0x442d('0x19')](_0x374ea0+'\x20not\x20specified');break;default:_0x6060f4[_0x442d('0x19')]('\x22\x22');}}}}else{var _0x2f3a02='';if(!_[_0x442d('0x1d')](_0x495f3f)){if(!_0x5f52db[_0x442d('0x7e')](_0x495f3f['id'])){if(!_[_0x442d('0x1d')](_0xa4be42['data'][_0x5557fc][_0x310a15[_0x374ea0]])){var _0x55e326=_[_0x442d('0x87')](_0xa4be42[_0x442d('0x7b')][_0x5557fc][_0x310a15[_0x374ea0]][_0x442d('0x7f')](/"/g,'\x27'));var _0x2cc864=phoneDescriptions['find'](_0x561002=>_0x561002[_0x442d('0x88')]===_0x495f3f['id']);if(!_[_0x442d('0x1d')](_0x2cc864)){var _0x5627a7=_[_0x442d('0x87')](_0xa4be42['data'][_0x5557fc][_0x310a15[_0x2cc864['description']]]['replace'](/"/g,'\x27'));if(!_['isNil'](_0x5627a7))_0x55e326=_0x55e326+'§'+_0x5627a7;}if(_0x2f3a02=='')_0x2f3a02=_0x55e326;else _0x2f3a02+='|'+_0x55e326;}_0xe62ec3['push'](_0x495f3f['id']+':'+_0x2f3a02);_0x5f52db[_0x495f3f['id']]=0x1;}}}}if(hasAdditionalPhones){_0x6060f4[_0x442d('0x19')]('\x22'+_0xe62ec3['join'](';')+'\x22');}if(_0x1ac88d[_0x442d('0x1c')]){handleError(_0xa4be42[_0x442d('0x7b')][_0x5557fc],{'code':_0x442d('0x89'),'message':_0x1ac88d['join']()});}else{fs[_0x442d('0x8a')](_0x496ea4,_0x6060f4[_0x442d('0x13')]()+'\x0a');}_0x6060f4=[];}if(!(stats[_0x442d('0x7c')]%0xc8)){socket['emit']('contact:import:'+_0xf39590,stats);stats[_0x442d('0x57')]=[];}}if(stopped){logger[_0x442d('0x58')](_0x442d('0x8b'));_0x1aabb1[_0x442d('0x8c')]();}}catch(_0x9cb596){handleError(_0xa4be42[_0x442d('0x7b')][_0x5557fc],{'code':_0x442d('0x8d'),'message':_0x9cb596['message']});logger[_0x442d('0x54')](_0x442d('0x8e'),_0x9cb596['message']);}},'complete':function(){try{var _0x223859=[];var _0x34a782=[];var _0xcaabd7=_0x442d('0x37');if(_0x4d13f6[_0x442d('0x8f')]&&_0x4d13f6['duplicates'][_0x442d('0x1c')]){_0xcaabd7='cm_contacts_'+_0xf39590;_0x223859[_0x442d('0x19')](_0x442d('0x90')+_0xcaabd7+'\x20LIKE\x20cm_contacts;');}tmp_campaigns=_0x442d('0x91')+_0xf39590;tmp_voice_queues=_0x442d('0x92')+_0xf39590;_0x34a782[_0x442d('0x19')](_0x442d('0x90')+tmp_campaigns+_0x442d('0x93'));_0x34a782['push']('CREATE\x20TABLE\x20'+tmp_voice_queues+_0x442d('0x93'));BPromise[_0x442d('0x94')](_0x34a782,handleTZQuery)[_0x442d('0x18')](function(_0x185060){updateTzCampaigns(_0x4d13f6[_0x442d('0x30')])['then'](function(_0x1e392c){updateTzVoiceQueues(_0x4d13f6[_0x442d('0x30')])['then'](function(_0x2579c0){if(hasTZ)_0x3fefa2=_0x3fefa2[_0x442d('0x7f')](_0x442d('0x69'),'dialTimezone,utcOffset');var _0x494d0d=util['format'](_0x442d('0x95'),_0x496ea4,_0xcaabd7,_0x3fefa2,_0x4d13f6[_0x442d('0x30')],_0x4d13f6[_0x442d('0x4e')]||null,NOW,NOW);if(_['isNil'](_0x310a15[_0x442d('0x2e')])){_0x494d0d+=_0x442d('0x96');}_0x223859['push'](_0x494d0d);if(_0x4d13f6[_0x442d('0x8f')]&&_0x4d13f6[_0x442d('0x8f')][_0x442d('0x1c')]){_0x223859[_0x442d('0x19')](insertCmContact(_0x4d13f6[_0x442d('0x30')],_0xcaabd7,_0x4d13f6[_0x442d('0x8f')],_0x310a15));_0x223859[_0x442d('0x19')](_0x442d('0x97')+_0xcaabd7+';');}BPromise[_0x442d('0x94')](_0x223859,handleQuery)[_0x442d('0x18')](function(_0x503e85){BPromise[_0x442d('0x1a')]([handleAdditionalPhones()])[_0x442d('0x18')](function(){_0x223859=[];for(var _0x5a4de8=0x0;_0x5a4de8<promisesAdditionalPhones[_0x442d('0x1c')];_0x5a4de8++){if(promisesAdditionalPhones[_0x5a4de8]['phone']!='§'){_0x223859[_0x442d('0x19')](createAdditionalPhone(promisesAdditionalPhones[_0x5a4de8][_0x442d('0x98')],promisesAdditionalPhones[_0x5a4de8][_0x442d('0x99')],promisesAdditionalPhones[_0x5a4de8][_0x442d('0x11')],promisesAdditionalPhones[_0x5a4de8][_0x442d('0x9a')]));}}BPromise['all'](_0x223859)['then'](function(){_0x223859=[];if(hasTZ){_0x223859[_0x442d('0x19')](insertTzCmHopper(_0x4d13f6[_0x442d('0x30')],'voice_queues_has_cm_lists',_0x442d('0x9b'),_0x442d('0x9c'),_0x1da14c,tmp_voice_queues));_0x223859['push'](insertTzCmHopperBlack(_0x4d13f6[_0x442d('0x30')],_0x442d('0x9d'),'voice_queues',_0x442d('0x9c')));_0x223859[_0x442d('0x19')](insertTzCmHopper(_0x4d13f6['ListId'],'campaigns_has_cm_lists','campaigns',_0x442d('0x9e'),_0x1da14c,tmp_campaigns));_0x223859[_0x442d('0x19')](insertTzCmHopperBlack(_0x4d13f6[_0x442d('0x30')],_0x442d('0x9f'),'campaigns','CampaignId'));_0x223859[_0x442d('0x19')](insertCmHopperAdditionalPhones(_0x4d13f6[_0x442d('0x30')]));}else{_0x223859[_0x442d('0x19')](insertCmHopper(_0x4d13f6[_0x442d('0x30')],_0x442d('0x62'),_0x442d('0x9b'),_0x442d('0x9c'),_0x1da14c));_0x223859[_0x442d('0x19')](insertCmHopperBlack(_0x4d13f6[_0x442d('0x30')],_0x442d('0x9d'),_0x442d('0x9b'),_0x442d('0x9c')));_0x223859[_0x442d('0x19')](insertCmHopper(_0x4d13f6[_0x442d('0x30')],_0x442d('0x5d'),_0x442d('0xa0'),_0x442d('0x9e'),_0x1da14c));_0x223859[_0x442d('0x19')](insertCmHopperBlack(_0x4d13f6['ListId'],_0x442d('0x9f'),_0x442d('0xa0'),_0x442d('0x9e')));_0x223859[_0x442d('0x19')](insertCmHopperAdditionalPhones(_0x4d13f6['ListId']));}_0x223859[_0x442d('0x19')]('DROP\x20TABLE\x20'+tmp_campaigns+';');_0x223859['push'](_0x442d('0x97')+tmp_voice_queues+';');BPromise[_0x442d('0x94')](_0x223859,handleQuery)[_0x442d('0x18')](function(_0x24f6be){stats['finish']=!![];stats[_0x442d('0xa1')]=_0x4d13f6[_0x442d('0x8f')]&&_0x4d13f6[_0x442d('0x8f')][_0x442d('0x1c')]?results[0x2]['affectedRows']:results[0x0][_0x442d('0xa1')];socket[_0x442d('0xa2')](_0x442d('0xa3')+_0xf39590,stats);fs['unlink'](_0x32fa00);fs[_0x442d('0xa4')](_0x496ea4);process[_0x442d('0x56')](0x0);})[_0x442d('0x5b')](function(_0x262c6b){logger[_0x442d('0x54')](_0x262c6b['message']);process['exit'](0x1);});});});})['catch'](function(_0xf5f450){logger[_0x442d('0x54')](_0xf5f450[_0x442d('0x55')]);process[_0x442d('0x56')](0x1);});});});});}catch(_0x56e758){logger[_0x442d('0x54')](_0x442d('0xa5'),_0x56e758[_0x442d('0x55')]);process['exit'](0x1);}},'error':function(_0x4f1a0a,_0x2c4fea,_0x31853c,_0x3faa55){throw new Error(_0x3faa55);}});});}function validate(){if(process[_0x442d('0xa6')]&&process[_0x442d('0xa6')][_0x442d('0x1c')]<0x4){throw new Error(_0x442d('0xa7'));}var _0x459ed2=path[_0x442d('0x13')](config[_0x442d('0x6f')],_0x442d('0x70'),process[_0x442d('0xa6')][0x2]);if(!fs[_0x442d('0xa8')](_0x459ed2)){throw new Error('file\x20doesn\x27t\x20exists');}var _0x321221={};try{_0x321221=JSON[_0x442d('0x79')](process['argv'][0x3]);if(!_0x321221[_0x442d('0x6c')]){throw new Error(_0x442d('0xa9'));}if(!_0x321221[_0x442d('0x6c')][_0x442d('0x11')]){throw new Error(_0x442d('0xaa'));}if(!_0x321221['binding'][_0x442d('0x86')]){throw new Error(_0x442d('0xab'));}var _0x110ba2=0x0;if(_0x321221[_0x442d('0x6c')][_0x442d('0x34')]){_0x110ba2=0x1;}if(!_0x321221[_0x442d('0x30')]){throw new Error(_0x442d('0xac'));}}catch(_0x66615b){throw new Error(_0x442d('0xad'));}var _0x13840a=[];try{_0x13840a=_[_0x442d('0xae')](JSON['parse'](process[_0x442d('0xa6')][0x4]),'id');}catch(_0x2ab9f6){logger[_0x442d('0x58')](_0x442d('0xaf'));}main(_0x459ed2,_0x321221,_0x13840a,_0x110ba2);}validate();process['on']('SIGINT',handleStop);process['on'](_0x442d('0xb0'),handleUncaughtException);