0ed841bce3756c51d1e33b87d788dc2ad8709255
[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 _0x4de3=['VoiceQueueId','campaigns_has_cm_lists','campaigns_has_cm_blacklists','CampaignId','voice_queues_has_cm_blacklists','each','finish','affectedRows','contact:import:','unlink','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','SIGINT','uncaughtException','path','lodash','util','squel','ioredis','../../../mysqldb','../../../config/environment','../../../config/environment/shared','../../../config/logger','redis','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','select','field','phone','from','join','.id\x20=\x20','\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','CmContact','findAll','then','length','push','all','AdditionalPhones','split','isNil','filter','CmContactHasItem','updated','create','PHONE','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','scheduledat','ListId','createdAt','updatedAt','priority','UserId','recallme','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','toString','cm_hopper_black','ContactId','fields','cm_contacts','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','fromQuery','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.updatedAt','CmHopperId','OrderBy','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','concat','keys','deletedAt\x20IS\x20NULL','MIN(id)','min_id','info','error','message','exit','errors','query','campaigns.id','campaigns.dialTimezone','campaigns','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','sequelize','catch','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','voice_queues_has_cm_lists.CmListId=','spread','timezones','dialTimezone','utcOffset','set','offset','stringify','send','start','binding','clone','socket_timestamp','root','server/files/tmp','.csv','name','header','writeFileSync','parse','createReadStream','data','rows','find','trim','replace','isValid','isNaN','isNumber','agent\x20not\x20exists','email','email\x20wrong\x20format','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','hasOwnProperty','itemTypeId','description','SystemRow','appendFileSync','emit','Abort\x20parser','abort','SystemError','step','duplicates','campaigns_','CREATE\x20TABLE\x20','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','dialTimezone,utcOffset','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','CompanyId',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','contactTypeId','orderBy'];(function(_0x550cd6,_0x23ec3f){var _0x3964bb=function(_0x565f46){while(--_0x565f46){_0x550cd6['push'](_0x550cd6['shift']());}};_0x3964bb(++_0x23ec3f);}(_0x4de3,0x17f));var _0x34de=function(_0x484379,_0x3dbc39){_0x484379=_0x484379-0x0;var _0x4e6909=_0x4de3[_0x484379];return _0x4e6909;};'use strict';var fs=require('fs');var path=require(_0x34de('0x0'));var _=require(_0x34de('0x1'));var Papa=require('papaparse');var util=require(_0x34de('0x2'));var BPromise=require('bluebird');var moment=require('moment');var squel=require(_0x34de('0x3'));var Redis=require(_0x34de('0x4'));var db=require(_0x34de('0x5'))['db'];var config=require(_0x34de('0x6'));var shared=require(_0x34de('0x7'));var logger=require(_0x34de('0x8'))('import');config[_0x34de('0x9')]=_['defaults'](config[_0x34de('0x9')],{'host':_0x34de('0xa'),'port':0x18eb});var socket=require(_0x34de('0xb'))(new Redis(config[_0x34de('0x9')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()['format']('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()[_0x34de('0xc')](_0x34de('0xd'));function isEmail(_0x211cf6){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'](_0x211cf6);}function selectNotIn(_0x454c47,_0x397fef,_0x3d3819,_0x2efc77,_0x12435b){return squel[_0x34de('0xe')]()[_0x34de('0xf')](_0x34de('0x10'))[_0x34de('0x11')](_0x2efc77)[_0x34de('0x12')](_0x397fef,null,_0x397fef+_0x34de('0x13')+_0x2efc77+'.'+_0x3d3819)['where'](_0x2efc77+'.'+_0x3d3819+_0x34de('0x14')+_0x454c47+'.'+_0x3d3819)[_0x34de('0x15')](_0x397fef+_0x34de('0x16')+_0x12435b[_0x34de('0x12')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x149447,_0x5d6b76){promisesAdditionalPhones=[];return db[_0x34de('0x17')][_0x34de('0x18')]({'raw':!![],'attributes':['id','AdditionalPhones'],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x34de('0x19')](function(_0x381733){if(_0x381733!==null){var _0x2a2eec=[];for(var _0x4d0143=0x0;_0x4d0143<_0x381733[_0x34de('0x1a')];_0x4d0143++){var _0x255ff0=_0x381733[_0x4d0143];_0x2a2eec[_0x34de('0x1b')](insertAdditionalPhones(_0x255ff0));}}Promise[_0x34de('0x1c')](_0x2a2eec)[_0x34de('0x19')](function(){_0x149447({'val':0x1});});});});}function insertAdditionalPhones(_0x445430){return new Promise(function(_0x3e1cab,_0x3b0928){var _0x4cdc93=_0x445430[_0x34de('0x1d')];var _0x5b7b9f=_0x4cdc93[_0x34de('0x1e')](';');var _0x4de6e4=[];orderBy=0x0;for(var _0x4dd927=0x0;_0x4dd927<_0x5b7b9f[_0x34de('0x1a')];_0x4dd927++){_0x4de6e4[_0x34de('0x1b')](splitAdditionalPhone(_0x445430['id'],_0x5b7b9f[_0x4dd927]));}Promise[_0x34de('0x1c')](_0x4de6e4)[_0x34de('0x19')](function(){_0x3e1cab({'val':_0x5b7b9f[_0x34de('0x1a')]});});});}function splitAdditionalPhone(_0x35777d,_0xe6ebd1){return new Promise(function(_0x3d148c,_0x4ef6c5){var _0x55c733=_0xe6ebd1[_0x34de('0x1e')](':');var _0x3a087c=_0x55c733[0x0];var _0x15c7e9=_0x55c733[0x1];if(!_[_0x34de('0x1f')](_0x15c7e9)){var _0x11c38a=_0x15c7e9[_0x34de('0x1e')]('|');var _0x5df873=[];for(var _0x2f363b=0x0;_0x2f363b<_0x11c38a[_0x34de('0x1a')];_0x2f363b++){if(_0x11c38a[_0x2f363b]!==''){var _0x2d6f7f=_[_0x34de('0x20')](promisesAdditionalPhones,{'contactId':_0x35777d,'phone':_0x11c38a[_0x2f363b]});if(_0x2d6f7f['length']==0x0){orderBy++;promisesAdditionalPhones['push']({'contactId':_0x35777d,'contactTypeId':_0x3a087c,'phone':_0x11c38a[_0x2f363b],'orderBy':orderBy});}}}_0x3d148c({'ok':0x1});}else _0x3d148c({'res':0x0});});}function createAdditionalPhone(_0x4591ec,_0x27da57,_0x234f32,_0x4bbea9){var _0x5cb234='';var _0x41557e='';var _0x352dc0=_0x234f32[_0x34de('0x1e')]('§');_0x5cb234=_0x352dc0[0x0];if(_0x352dc0[_0x34de('0x1a')]==0x2)_0x41557e=_0x352dc0[0x1];return new Promise(function(_0x556ea1,_0x31f29f){return db[_0x34de('0x21')]['findOne']({'where':{'CmContactId':_0x4591ec,'item':_0x5cb234}})[_0x34de('0x19')](function(_0x5576a8){if(_0x5576a8){return db['CmContactHasItem']['update']({'ItemTypeId':_0x27da57,'description':_0x41557e,'OrderBy':_0x4bbea9},{'where':{'CmContactId':_0x4591ec,'item':_0x5cb234}})[_0x34de('0x19')](function(_0x5e89cf){_0x556ea1({'res':_0x34de('0x22')});});}else{return db[_0x34de('0x21')][_0x34de('0x23')]({'CmContactId':_0x4591ec,'item':_0x5cb234,'description':_0x41557e,'ItemTypeId':_0x27da57,'OrderBy':_0x4bbea9,'ItemClass':_0x34de('0x24')})[_0x34de('0x19')](function(_0xd28990){_0x556ea1({'res':'inserted'});});}});});}function insertCmHopper(_0x2da579,_0x186c57,_0x52664b,_0x1c34fc,_0x451f6b){var _0x5ac0e3=[_0x34de('0x25'),_0x34de('0x26'),_0x34de('0x27'),_0x34de('0x28'),_0x186c57+'.'+_0x1c34fc,_0x34de('0x29'),_0x34de('0x2a'),_0x34de('0x2b'),_0x34de('0x2c'),'\x22'+_0x451f6b+'\x22'];return squel[_0x34de('0x2d')]()[_0x34de('0x2e')](_0x34de('0x2f'))['fromQuery'](['phone',_0x34de('0x30'),'ContactId',_0x34de('0x31'),_0x1c34fc,_0x34de('0x32'),_0x34de('0x33'),_0x34de('0x34'),_0x34de('0x35'),_0x34de('0x36')],squel[_0x34de('0xe')]()['fields'](_0x5ac0e3)[_0x34de('0x11')](_0x186c57)[_0x34de('0x12')]('cm_contacts',null,_0x34de('0x37')+_0x186c57+_0x34de('0x38'))[_0x34de('0x12')](_0x52664b,null,_0x52664b+_0x34de('0x13')+_0x186c57+'.'+_0x1c34fc)[_0x34de('0x15')](_0x186c57+_0x34de('0x39'),_0x2da579)['where'](_0x34de('0x3a'),NOW)[_0x34de('0x15')](_0x34de('0x3b'),selectNotIn(_0x186c57,_0x52664b,_0x1c34fc,_0x34de('0x2f'),[_0x34de('0x3c'),_0x34de('0x3d')]))[_0x34de('0x15')](_0x34de('0x3b'),selectNotIn(_0x186c57,_0x52664b,_0x1c34fc,_0x34de('0x2f'),[_0x34de('0x3c')])))[_0x34de('0x3e')]();}function insertCmHopperBlack(_0x305e09,_0x3fc90e,_0x4183ec,_0x50aadd){var _0x15d82d=[_0x34de('0x25'),_0x34de('0x27'),_0x34de('0x28'),_0x3fc90e+'.'+_0x50aadd,_0x34de('0x29'),_0x34de('0x2a')];return squel['insert']()[_0x34de('0x2e')](_0x34de('0x3f'))['fromQuery'](['phone',_0x34de('0x40'),_0x34de('0x31'),_0x50aadd,_0x34de('0x32'),_0x34de('0x33')],squel[_0x34de('0xe')]()[_0x34de('0x41')](_0x15d82d)[_0x34de('0x11')](_0x3fc90e)[_0x34de('0x12')](_0x34de('0x42'),null,_0x34de('0x37')+_0x3fc90e+_0x34de('0x38'))[_0x34de('0x12')](_0x4183ec,null,_0x4183ec+_0x34de('0x13')+_0x3fc90e+'.'+_0x50aadd)[_0x34de('0x15')](_0x3fc90e+'.CmListId\x20=\x20?',_0x305e09)[_0x34de('0x15')]('cm_contacts.createdAt\x20=\x20?',NOW)['where'](_0x34de('0x3b'),squel[_0x34de('0xe')]()[_0x34de('0xf')](_0x34de('0x10'))[_0x34de('0x11')](_0x34de('0x3f'))[_0x34de('0x15')](_0x34de('0x43'),_0x305e09)['where'](_0x50aadd+_0x34de('0x14')+_0x3fc90e+'.'+_0x50aadd)))[_0x34de('0x3e')]();}function insertTzCmHopper(_0x5e99d9,_0x9b1f45,_0x298b3f,_0x1190f2,_0x29af3f,_0x286bf1){var _0x1a21ca=['cm_contacts.phone',_0x34de('0x44')+_0x286bf1+'.offset-cm_contacts.utcOffset\x20minute)',_0x34de('0x27'),_0x34de('0x28'),_0x9b1f45+'.'+_0x1190f2,_0x34de('0x29'),_0x34de('0x2a'),_0x34de('0x2b'),'cm_contacts.UserId','\x22'+_0x29af3f+'\x22'];var _0x18d2f1=squel[_0x34de('0x2d')]()[_0x34de('0x2e')]('cm_hopper')[_0x34de('0x45')]([_0x34de('0x10'),_0x34de('0x30'),_0x34de('0x40'),_0x34de('0x31'),_0x1190f2,'createdAt','updatedAt',_0x34de('0x34'),_0x34de('0x35'),_0x34de('0x36')],squel[_0x34de('0xe')]()[_0x34de('0x41')](_0x1a21ca)[_0x34de('0x11')](_0x9b1f45)['join'](_0x34de('0x42'),null,_0x34de('0x37')+_0x9b1f45+'.CmListId')[_0x34de('0x12')](_0x298b3f,null,_0x298b3f+_0x34de('0x13')+_0x9b1f45+'.'+_0x1190f2)[_0x34de('0x12')](_0x286bf1,null,_0x286bf1+_0x34de('0x13')+_0x9b1f45+'.'+_0x1190f2)[_0x34de('0x15')](_0x9b1f45+_0x34de('0x39'),_0x5e99d9)[_0x34de('0x15')](_0x34de('0x3a'),NOW)[_0x34de('0x15')](_0x34de('0x3b'),selectNotIn(_0x9b1f45,_0x298b3f,_0x1190f2,_0x34de('0x2f'),[_0x34de('0x3c'),'\x22onlyIfOpen\x22']))[_0x34de('0x15')](_0x34de('0x3b'),selectNotIn(_0x9b1f45,_0x298b3f,_0x1190f2,'cm_hopper',['\x22always\x22'])))['toString']();return _0x18d2f1;}function insertTzCmHopperBlack(_0x279319,_0x4db30f,_0x1b79b7,_0x419654){var _0x3a2953=[_0x34de('0x25'),_0x34de('0x27'),_0x34de('0x28'),_0x4db30f+'.'+_0x419654,'cm_contacts.createdAt',_0x34de('0x2a')];return squel[_0x34de('0x2d')]()['into'](_0x34de('0x3f'))[_0x34de('0x45')]([_0x34de('0x10'),'ContactId','ListId',_0x419654,_0x34de('0x32'),_0x34de('0x33')],squel[_0x34de('0xe')]()[_0x34de('0x41')](_0x3a2953)[_0x34de('0x11')](_0x4db30f)[_0x34de('0x12')](_0x34de('0x42'),null,_0x34de('0x37')+_0x4db30f+_0x34de('0x38'))[_0x34de('0x12')](_0x1b79b7,null,_0x1b79b7+'.id\x20=\x20'+_0x4db30f+'.'+_0x419654)[_0x34de('0x15')](_0x4db30f+_0x34de('0x39'),_0x279319)['where'](_0x34de('0x3a'),NOW)[_0x34de('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0x34de('0xe')]()[_0x34de('0xf')]('phone')[_0x34de('0x11')](_0x34de('0x3f'))[_0x34de('0x15')](_0x34de('0x43'),_0x279319)[_0x34de('0x15')](_0x419654+'\x20=\x20'+_0x4db30f+'.'+_0x419654)))[_0x34de('0x3e')]();}function insertCmHopperAdditionalPhones(_0x201e8b){var _0x459a4c=[_0x34de('0x46'),_0x34de('0x47'),_0x34de('0x48'),'cm_contact_has_items.createdAt',_0x34de('0x49')];return squel['insert']()[_0x34de('0x2e')]('cm_hopper_additional_phones')['fromQuery']([_0x34de('0x4a'),_0x34de('0x10'),_0x34de('0x4b'),_0x34de('0x32'),_0x34de('0x33')],squel[_0x34de('0xe')]()[_0x34de('0x41')](_0x459a4c)['from'](_0x34de('0x2f'))[_0x34de('0x12')]('cm_contacts',null,_0x34de('0x4c'))[_0x34de('0x12')](_0x34de('0x4d'),null,_0x34de('0x4e'))[_0x34de('0x15')]('cm_hopper.ListId\x20=\x20?',_0x201e8b)[_0x34de('0x15')]('cm_contacts.createdAt\x20=\x20?',NOW))[_0x34de('0x3e')]();}function insertCmContact(_0x4301c6,_0x229d86,_0x5c3374,_0x51ea9b){var _0x4f19c8=_[_0x34de('0x4f')](_[_0x34de('0x50')](_0x51ea9b),[_0x34de('0x31'),'CompanyId',_0x34de('0x32'),'updatedAt','scheduledAt']);return squel[_0x34de('0x2d')]()[_0x34de('0x2e')](_0x34de('0x42'))['fromQuery'](_0x4f19c8,squel[_0x34de('0xe')]()[_0x34de('0x41')](_0x4f19c8)[_0x34de('0x11')](_0x229d86)[_0x34de('0x15')]('('+_0x5c3374['join'](',')+')\x20NOT\x20IN\x20?',squel[_0x34de('0xe')]()[_0x34de('0x41')](_0x5c3374)[_0x34de('0x11')](_0x34de('0x42'))[_0x34de('0x15')](_0x34de('0x43'),_0x4301c6)[_0x34de('0x15')](_0x34de('0x51')))[_0x34de('0x15')]('id\x20IN\x20?',squel[_0x34de('0xe')]()[_0x34de('0xf')](_0x34de('0x52'),_0x34de('0x53'))[_0x34de('0x11')](_0x229d86)['group'](_0x5c3374[_0x34de('0x12')](','))))[_0x34de('0x3e')]();}function handleStop(){logger[_0x34de('0x54')]('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x7c3158){logger[_0x34de('0x55')](_0x7c3158[_0x34de('0x56')]);process[_0x34de('0x57')](0x1);}function handleError(_0x5b14f1,_0x68b59){stats[_0x34de('0x58')][_0x34de('0x1b')]({'name':_0x68b59['code'],'message':_0x68b59[_0x34de('0x56')],'row':_0x5b14f1});}function handleQuery(_0x5aaa5f){logger[_0x34de('0x54')](_0x5aaa5f);return db['sequelize'][_0x34de('0x59')](_0x5aaa5f)['spread'](function(_0x53690e){results[_0x34de('0x1b')](_0x53690e);})['catch'](function(_0x136487){logger[_0x34de('0x55')](_0x136487[_0x34de('0x56')]);});}function updateTzCampaigns(_0x2cf75c){return new Promise(function(_0x248ce8,_0x18d8e0){var _0x127511=squel['select']()[_0x34de('0x41')]([_0x34de('0x5a'),_0x34de('0x5b')])[_0x34de('0x11')](_0x34de('0x5c'))[_0x34de('0x12')]('campaigns_has_cm_lists',null,_0x34de('0x5d'))[_0x34de('0x15')](_0x34de('0x5e')+_0x2cf75c);db[_0x34de('0x5f')][_0x34de('0x59')](_0x127511[_0x34de('0x3e')]())['spread'](function(_0x565761){var _0x24dcf8=[];for(var _0x367076=0x0;_0x367076<_0x565761['length'];_0x367076++){_0x24dcf8[_0x34de('0x1b')](getTimezoneData(_0x565761[_0x367076],tmp_campaigns));}BPromise[_0x34de('0x1c')](_0x24dcf8)['then'](function(){_0x248ce8({'val':0x1});});})[_0x34de('0x60')](function(_0x252c08){logger[_0x34de('0x55')](_0x252c08[_0x34de('0x56')]);_0x248ce8({'val':0x0});});});}function updateTzVoiceQueues(_0x54d979){return new Promise(function(_0x4b515e,_0x5971d0){var _0x53c852=squel[_0x34de('0xe')]()[_0x34de('0x41')]([_0x34de('0x61'),_0x34de('0x62')])[_0x34de('0x11')](_0x34de('0x63'))[_0x34de('0x12')](_0x34de('0x64'),null,_0x34de('0x65'))[_0x34de('0x15')](_0x34de('0x66')+_0x54d979);db[_0x34de('0x5f')][_0x34de('0x59')](_0x53c852[_0x34de('0x3e')]())[_0x34de('0x67')](function(_0x58c5dc){var _0x4d44ed=[];for(var _0x12612c=0x0;_0x12612c<_0x58c5dc[_0x34de('0x1a')];_0x12612c++){_0x4d44ed[_0x34de('0x1b')](getTimezoneData(_0x58c5dc[_0x12612c],tmp_voice_queues));}BPromise[_0x34de('0x1c')](_0x4d44ed)[_0x34de('0x19')](function(){_0x4b515e({'val':0x1});});})[_0x34de('0x60')](function(_0x5b8ce4){logger[_0x34de('0x55')](_0x5b8ce4[_0x34de('0x56')]);_0x4b515e({'val':0x0});});});}function getTimezoneData(_0x2d6f98,_0x210604){return new Promise(function(_0x55d355,_0x54d77d){var _0x41654e=shared[_0x34de('0x68')];var _0x47d331=_0x41654e[_0x2d6f98[_0x34de('0x69')]];if(_[_0x34de('0x1f')](_0x47d331)){_0x55d355({'ret':0x1});}else{var _0x2b8818=_0x47d331[_0x34de('0x6a')];var _0x2d147d=squel[_0x34de('0x2d')]()[_0x34de('0x2e')](_0x210604)[_0x34de('0x6b')]('id',_0x2d6f98['id'])[_0x34de('0x6b')](_0x34de('0x6c'),_0x2b8818)['set'](_0x34de('0x69'),_0x2d6f98['dialTimezone'])[_0x34de('0x3e')]();return db[_0x34de('0x5f')][_0x34de('0x59')](_0x2d147d)['spread'](function(_0x54076a){_0x55d355({'ret':0x1});})[_0x34de('0x60')](function(_0xecf1e6){logger['error'](_0xecf1e6[_0x34de('0x56')]);_0x54d77d({'ret':0x1});});}});}function handleTZQuery(_0x5a8d64){logger[_0x34de('0x54')](_0x5a8d64);return db[_0x34de('0x5f')][_0x34de('0x59')](_0x5a8d64)[_0x34de('0x67')](function(_0x2c53cb){})[_0x34de('0x60')](function(_0x151480){logger[_0x34de('0x55')](_0x151480[_0x34de('0x56')]);});}function main(_0x1c2cce,_0x1a3e64,_0x5a15a4,_0x1d9ab4){logger[_0x34de('0x54')]('main',_0x1c2cce,JSON[_0x34de('0x6d')](_0x1a3e64));process[_0x34de('0x6e')](_0x34de('0x6f'));var _0x3b84f5=_0x1a3e64[_0x34de('0x70')];var _0x455422=_[_0x34de('0x71')](_0x3b84f5);var _0x25a54d=_0x1a3e64[_0x34de('0x72')];var _0x4ee067=path[_0x34de('0x12')](config[_0x34de('0x73')],_0x34de('0x74'),_0x25a54d+_0x34de('0x75'));hasTZ=_[_0x34de('0x50')](_0x3b84f5)['includes'](_0x34de('0x69'));var _0x57189d=_['keys'](_0x3b84f5)[_0x34de('0x12')]();logger[_0x34de('0x54')]('header',_0x57189d);db['ContactItemType'][_0x34de('0x18')]({'raw':!![],'attributes':['id',_0x34de('0x76')]})[_0x34de('0x19')](function(_0x3a1a97){for(var _0x35452c=0x0;_0x35452c<_0x3a1a97[_0x34de('0x1a')];_0x35452c++){if(_0x3a1a97[_0x35452c][_0x34de('0x76')]in _0x3b84f5){contactItemTypes[_0x34de('0x1b')](_0x3a1a97[_0x35452c]);delete _0x455422[_0x3a1a97[_0x35452c]['name']];hasAdditionalPhones=!![];}for(var _0x138d28 in _0x3b84f5){if(_0x3a1a97[_0x35452c][_0x34de('0x76')]+'_description'===_0x138d28){phoneDescriptions[_0x34de('0x1b')]({'itemTypeId':_0x3a1a97[_0x35452c]['id'],'description':_0x138d28});delete _0x455422[_0x138d28];}}}if(hasAdditionalPhones)_0x455422['AdditionalPhones']='';var _0x495961=_[_0x34de('0x50')](_0x455422)[_0x34de('0x12')]();logger[_0x34de('0x54')](_0x34de('0x77'),_0x495961);fs[_0x34de('0x78')](_0x4ee067,_0x495961+'\x0a');Papa[_0x34de('0x79')](fs[_0x34de('0x7a')](_0x1c2cce),{'header':!![],'skipEmptyLines':!![],'step':function(_0x392e3b,_0x1e1663){try{for(var _0x45c021=0x0,_0x23101d=[];_0x45c021<_0x392e3b[_0x34de('0x7b')][_0x34de('0x1a')];_0x45c021++){stats[_0x34de('0x7c')]+=0x1;if(_0x392e3b[_0x34de('0x58')][_0x45c021]){handleError(_0x392e3b['data'][_0x45c021],_0x392e3b[_0x34de('0x58')][_0x45c021]);}else{var _0x48b694=[];var _0x5da944=[];var _0xb16dea={};for(var _0x5ced11 in _0x3b84f5){let _0x21d28d=contactItemTypes['find'](_0x311eaa=>_0x311eaa[_0x34de('0x76')]===_0x5ced11);let _0x5490b1=contactItemTypes[_0x34de('0x7d')](_0xc5c2b6=>_0xc5c2b6[_0x34de('0x76')]+'_description'===_0x5ced11);if(_[_0x34de('0x1f')](_0x21d28d)&&_['isNil'](_0x5490b1)){if(_0x3b84f5['hasOwnProperty'](_0x5ced11)){if(_0x392e3b['data'][_0x45c021][_0x3b84f5[_0x5ced11]]){var _0x3328b9=_[_0x34de('0x7e')](_0x392e3b['data'][_0x45c021][_0x3b84f5[_0x5ced11]][_0x34de('0x7f')](/"/g,'\x27'));switch(_0x5ced11){case _0x34de('0x30'):var _0x265562=moment(_0x3328b9,_0x34de('0xd'),!![]);if(_0x265562[_0x34de('0x80')]()){_0x23101d[_0x34de('0x1b')]('\x22'+_0x3328b9+'\x22');}else{_0x48b694[_0x34de('0x1b')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0x34de('0x34'):var _0x5da488=parseInt(_0x3328b9);_0x3328b9=_[_0x34de('0x81')](_0x5da488)||_0x5da488<0x0||_0x5da488>0x4?_0x1d9ab4?0x3:0x2:_0x5da488;_0x23101d['push']('\x22'+_0x3328b9+'\x22');break;case _0x34de('0x35'):var _0x5504e9=parseInt(_0x3328b9);if(_[_0x34de('0x82')](_0x5504e9)&&_['includes'](_0x5a15a4,_0x5504e9)){_0x23101d[_0x34de('0x1b')]('\x22'+_0x5504e9+'\x22');}else{_0x48b694['push'](_0x34de('0x83'));}break;case _0x34de('0x84'):if(isEmail(_0x3328b9)){_0x23101d[_0x34de('0x1b')]('\x22'+_0x3328b9+'\x22');}else{_0x48b694[_0x34de('0x1b')](_0x34de('0x85'));}break;case'dateOfBirth':var _0x483e2f=moment(_0x3328b9,_0x34de('0x86'),!![]);if(_0x483e2f[_0x34de('0x80')]()){_0x23101d[_0x34de('0x1b')]('\x22'+_0x3328b9+'\x22');}else{_0x48b694[_0x34de('0x1b')](_0x34de('0x87'));}break;case _0x34de('0x69'):var _0x32d2b8=shared[_0x34de('0x68')];var _0x3fd74b=_0x32d2b8[_0x3328b9];if(!_[_0x34de('0x1f')](_0x3fd74b)){var _0x58e583=_0x3fd74b[_0x34de('0x6a')];_0x23101d[_0x34de('0x1b')]('\x22'+_0x3328b9+'\x22');_0x23101d[_0x34de('0x1b')]('\x22'+_0x58e583+'\x22');}break;default:_0x23101d[_0x34de('0x1b')]('\x22'+_0x3328b9+'\x22');}}else{switch(_0x5ced11){case'firstName':case _0x34de('0x10'):_0x48b694[_0x34de('0x1b')](_0x5ced11+'\x20not\x20specified');break;default:_0x23101d[_0x34de('0x1b')]('\x22\x22');}}}}else{var _0x5d77ad='';if(!_[_0x34de('0x1f')](_0x21d28d)){if(!_0xb16dea[_0x34de('0x88')](_0x21d28d['id'])){if(!_[_0x34de('0x1f')](_0x392e3b['data'][_0x45c021][_0x3b84f5[_0x5ced11]])){var _0x3328b9=_[_0x34de('0x7e')](_0x392e3b[_0x34de('0x7b')][_0x45c021][_0x3b84f5[_0x5ced11]][_0x34de('0x7f')](/"/g,'\x27'));var _0x1bcf9c=phoneDescriptions[_0x34de('0x7d')](_0x4008cc=>_0x4008cc[_0x34de('0x89')]===_0x21d28d['id']);if(!_[_0x34de('0x1f')](_0x1bcf9c)){var _0x23d3ee=_[_0x34de('0x7e')](_0x392e3b[_0x34de('0x7b')][_0x45c021][_0x3b84f5[_0x1bcf9c[_0x34de('0x8a')]]][_0x34de('0x7f')](/"/g,'\x27'));if(!_['isNil'](_0x23d3ee))_0x3328b9=_0x3328b9+'§'+_0x23d3ee;}if(_0x5d77ad=='')_0x5d77ad=_0x3328b9;else _0x5d77ad+='|'+_0x3328b9;}_0x5da944[_0x34de('0x1b')](_0x21d28d['id']+':'+_0x5d77ad);_0xb16dea[_0x21d28d['id']]=0x1;}}}}if(hasAdditionalPhones){_0x23101d[_0x34de('0x1b')]('\x22'+_0x5da944['join'](';')+'\x22');}if(_0x48b694[_0x34de('0x1a')]){handleError(_0x392e3b[_0x34de('0x7b')][_0x45c021],{'code':_0x34de('0x8b'),'message':_0x48b694[_0x34de('0x12')]()});}else{fs[_0x34de('0x8c')](_0x4ee067,_0x23101d[_0x34de('0x12')]()+'\x0a');}_0x23101d=[];}if(!(stats['rows']%0xc8)){socket[_0x34de('0x8d')]('contact:import:'+_0x25a54d,stats);stats[_0x34de('0x58')]=[];}}if(stopped){logger[_0x34de('0x54')](_0x34de('0x8e'));_0x1e1663[_0x34de('0x8f')]();}}catch(_0x249f3e){handleError(_0x392e3b['data'][_0x45c021],{'code':_0x34de('0x90'),'message':_0x249f3e[_0x34de('0x56')]});logger['error'](_0x34de('0x91'),_0x249f3e[_0x34de('0x56')]);}},'complete':function(){try{var _0x4616f4=[];var _0xb9a888=[];var _0x4be2a1=_0x34de('0x42');if(_0x1a3e64[_0x34de('0x92')]&&_0x1a3e64[_0x34de('0x92')][_0x34de('0x1a')]){_0x4be2a1='cm_contacts_'+_0x25a54d;_0x4616f4['push']('CREATE\x20TABLE\x20'+_0x4be2a1+'\x20LIKE\x20cm_contacts;');}tmp_campaigns=_0x34de('0x93')+_0x25a54d;tmp_voice_queues='voice_queues_'+_0x25a54d;_0xb9a888[_0x34de('0x1b')](_0x34de('0x94')+tmp_campaigns+_0x34de('0x95'));_0xb9a888[_0x34de('0x1b')]('CREATE\x20TABLE\x20'+tmp_voice_queues+_0x34de('0x95'));BPromise['each'](_0xb9a888,handleTZQuery)[_0x34de('0x19')](function(_0x354fb9){updateTzCampaigns(_0x1a3e64['ListId'])[_0x34de('0x19')](function(_0x51312a){updateTzVoiceQueues(_0x1a3e64['ListId'])[_0x34de('0x19')](function(_0x2a10b7){if(hasTZ)_0x495961=_0x495961[_0x34de('0x7f')]('dialTimezone',_0x34de('0x96'));var _0x34f834=util['format'](_0x34de('0x97'),_0x4ee067,_0x4be2a1,_0x495961,_0x1a3e64[_0x34de('0x31')],_0x1a3e64[_0x34de('0x98')]||null,NOW,NOW);if(_[_0x34de('0x1f')](_0x3b84f5[_0x34de('0x30')])){_0x34f834+=_0x34de('0x99');}_0x4616f4[_0x34de('0x1b')](_0x34f834);if(_0x1a3e64[_0x34de('0x92')]&&_0x1a3e64[_0x34de('0x92')]['length']){_0x4616f4[_0x34de('0x1b')](insertCmContact(_0x1a3e64[_0x34de('0x31')],_0x4be2a1,_0x1a3e64[_0x34de('0x92')],_0x3b84f5));_0x4616f4['push'](_0x34de('0x9a')+_0x4be2a1+';');}BPromise['each'](_0x4616f4,handleQuery)[_0x34de('0x19')](function(_0x6b76b7){BPromise[_0x34de('0x1c')]([handleAdditionalPhones()])['then'](function(){_0x4616f4=[];for(var _0x5350e4=0x0;_0x5350e4<promisesAdditionalPhones[_0x34de('0x1a')];_0x5350e4++){if(promisesAdditionalPhones[_0x5350e4][_0x34de('0x10')]!='§'){_0x4616f4[_0x34de('0x1b')](createAdditionalPhone(promisesAdditionalPhones[_0x5350e4]['contactId'],promisesAdditionalPhones[_0x5350e4][_0x34de('0x9b')],promisesAdditionalPhones[_0x5350e4]['phone'],promisesAdditionalPhones[_0x5350e4][_0x34de('0x9c')]));}}BPromise[_0x34de('0x1c')](_0x4616f4)[_0x34de('0x19')](function(){_0x4616f4=[];if(hasTZ){_0x4616f4[_0x34de('0x1b')](insertTzCmHopper(_0x1a3e64[_0x34de('0x31')],_0x34de('0x64'),_0x34de('0x63'),_0x34de('0x9d'),_0x1d9ab4,tmp_voice_queues));_0x4616f4[_0x34de('0x1b')](insertTzCmHopperBlack(_0x1a3e64[_0x34de('0x31')],'voice_queues_has_cm_blacklists',_0x34de('0x63'),'VoiceQueueId'));_0x4616f4['push'](insertTzCmHopper(_0x1a3e64['ListId'],_0x34de('0x9e'),_0x34de('0x5c'),'CampaignId',_0x1d9ab4,tmp_campaigns));_0x4616f4['push'](insertTzCmHopperBlack(_0x1a3e64['ListId'],_0x34de('0x9f'),_0x34de('0x5c'),_0x34de('0xa0')));_0x4616f4['push'](insertCmHopperAdditionalPhones(_0x1a3e64[_0x34de('0x31')]));}else{_0x4616f4[_0x34de('0x1b')](insertCmHopper(_0x1a3e64[_0x34de('0x31')],'voice_queues_has_cm_lists',_0x34de('0x63'),'VoiceQueueId',_0x1d9ab4));_0x4616f4[_0x34de('0x1b')](insertCmHopperBlack(_0x1a3e64[_0x34de('0x31')],_0x34de('0xa1'),_0x34de('0x63'),'VoiceQueueId'));_0x4616f4['push'](insertCmHopper(_0x1a3e64[_0x34de('0x31')],'campaigns_has_cm_lists',_0x34de('0x5c'),_0x34de('0xa0'),_0x1d9ab4));_0x4616f4[_0x34de('0x1b')](insertCmHopperBlack(_0x1a3e64[_0x34de('0x31')],_0x34de('0x9f'),'campaigns',_0x34de('0xa0')));_0x4616f4['push'](insertCmHopperAdditionalPhones(_0x1a3e64[_0x34de('0x31')]));}_0x4616f4[_0x34de('0x1b')]('DROP\x20TABLE\x20'+tmp_campaigns+';');_0x4616f4['push'](_0x34de('0x9a')+tmp_voice_queues+';');BPromise[_0x34de('0xa2')](_0x4616f4,handleQuery)[_0x34de('0x19')](function(_0x54803e){stats[_0x34de('0xa3')]=!![];stats[_0x34de('0xa4')]=_0x1a3e64[_0x34de('0x92')]&&_0x1a3e64[_0x34de('0x92')]['length']?results[0x2][_0x34de('0xa4')]:results[0x0][_0x34de('0xa4')];socket[_0x34de('0x8d')](_0x34de('0xa5')+_0x25a54d,stats);fs['unlink'](_0x1c2cce);fs[_0x34de('0xa6')](_0x4ee067);process['exit'](0x0);})[_0x34de('0x60')](function(_0xc42ce5){logger[_0x34de('0x55')](_0xc42ce5[_0x34de('0x56')]);process[_0x34de('0x57')](0x1);});});});})['catch'](function(_0x277e33){logger[_0x34de('0x55')](_0x277e33['message']);process[_0x34de('0x57')](0x1);});});});});}catch(_0x50c1b7){logger[_0x34de('0x55')]('complete',_0x50c1b7[_0x34de('0x56')]);process[_0x34de('0x57')](0x1);}},'error':function(_0x1be856,_0xe9e5d1,_0x30550f,_0xb66c3b){throw new Error(_0xb66c3b);}});});}function validate(){if(process[_0x34de('0xa7')]&&process['argv'][_0x34de('0x1a')]<0x4){throw new Error(_0x34de('0xa8'));}var _0x2125e3=path[_0x34de('0x12')](config[_0x34de('0x73')],'server/files/tmp',process['argv'][0x2]);if(!fs[_0x34de('0xa9')](_0x2125e3)){throw new Error(_0x34de('0xaa'));}var _0xb7cdc3={};try{_0xb7cdc3=JSON[_0x34de('0x79')](process[_0x34de('0xa7')][0x3]);if(!_0xb7cdc3['binding']){throw new Error(_0x34de('0xab'));}if(!_0xb7cdc3[_0x34de('0x70')]['phone']){throw new Error(_0x34de('0xac'));}if(!_0xb7cdc3[_0x34de('0x70')][_0x34de('0xad')]){throw new Error(_0x34de('0xae'));}var _0x4d420b=0x0;if(_0xb7cdc3['binding'][_0x34de('0x35')]){_0x4d420b=0x1;}if(!_0xb7cdc3[_0x34de('0x31')]){throw new Error(_0x34de('0xaf'));}}catch(_0x57f0be){throw new Error(_0x34de('0xb0'));}var _0x2402e0=[];try{_0x2402e0=_[_0x34de('0xb1')](JSON['parse'](process[_0x34de('0xa7')][0x4]),'id');}catch(_0x253e83){logger[_0x34de('0x54')]('No\x20agent\x20available');}main(_0x2125e3,_0xb7cdc3,_0x2402e0,_0x4d420b);}validate();process['on'](_0x34de('0xb2'),handleStop);process['on'](_0x34de('0xb3'),handleUncaughtException);