Built motion from commit c116dc8b.|2.6.30
[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 _0xeadb=['step','duplicates','cm_contacts_','campaigns_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','dialTimezone,utcOffset',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','orderBy','voice_queues','VoiceQueueId','voice_queues_has_cm_blacklists','campaigns_has_cm_lists','campaigns_has_cm_blacklists','CampaignId','finish','affectedRows','unlink','exit','complete','argv','existsSync','binding','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','SIGINT','uncaughtException','path','lodash','util','bluebird','moment','squel','ioredis','../../../mysqldb','../../../config/environment/shared','../../../config/logger','redis','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','select','field','phone','from','join','.id\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','CmContact','then','length','push','all','AdditionalPhones','split','isNil','filter','findOne','update','updated','CmContactHasItem','create','PHONE','inserted','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.ListId','cm_contacts.updatedAt','cm_contacts.UserId','insert','into','cm_hopper','scheduledat','ContactId','createdAt','updatedAt','priority','recallme','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','toString','cm_contacts.id','cm_contacts.createdAt','cm_hopper_black','fromQuery','fields','cm_contacts.createdAt\x20=\x20?','ListId\x20=\x20?','\x20=\x20','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.priority','ListId','UserId','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_hopper_additional_phones','CmHopperId','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','concat','keys','CompanyId','scheduledAt',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','min_id','group','info','error','message','code','sequelize','spread','catch','campaigns.id','campaigns.dialTimezone','campaigns','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','query','voice_queues.id','voice_queues.dialTimezone','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','timezones','dialTimezone','set','offset','main','stringify','clone','root','server/files/tmp','.csv','header','ContactItemType','findAll','name','_description','writeFileSync','parse','createReadStream','data','errors','find','hasOwnProperty','trim','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','includes','agent\x20not\x20exists','email','email\x20wrong\x20format','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','itemTypeId','description','emit','Abort\x20parser','abort','SystemError'];(function(_0x504d1e,_0x358b66){var _0xe0f72d=function(_0x28b079){while(--_0x28b079){_0x504d1e['push'](_0x504d1e['shift']());}};_0xe0f72d(++_0x358b66);}(_0xeadb,0x187));var _0xbead=function(_0x5f2690,_0x2770b3){_0x5f2690=_0x5f2690-0x0;var _0x24a8ff=_0xeadb[_0x5f2690];return _0x24a8ff;};'use strict';var fs=require('fs');var path=require(_0xbead('0x0'));var _=require(_0xbead('0x1'));var Papa=require('papaparse');var util=require(_0xbead('0x2'));var BPromise=require(_0xbead('0x3'));var moment=require(_0xbead('0x4'));var squel=require(_0xbead('0x5'));var Redis=require(_0xbead('0x6'));var db=require(_0xbead('0x7'))['db'];var config=require('../../../config/environment');var shared=require(_0xbead('0x8'));var logger=require(_0xbead('0x9'))('import');config[_0xbead('0xa')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xbead('0xb'))(new Redis(config[_0xbead('0xa')]));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()[_0xbead('0xc')](_0xbead('0xd'));function isEmail(_0x3207a2){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'](_0x3207a2);}function selectNotIn(_0x5274c6,_0x11c9bf,_0x423420,_0x8c356c,_0x234513){return squel[_0xbead('0xe')]()[_0xbead('0xf')](_0xbead('0x10'))[_0xbead('0x11')](_0x8c356c)[_0xbead('0x12')](_0x11c9bf,null,_0x11c9bf+_0xbead('0x13')+_0x8c356c+'.'+_0x423420)[_0xbead('0x14')](_0x8c356c+'.'+_0x423420+'\x20=\x20'+_0x5274c6+'.'+_0x423420)[_0xbead('0x14')](_0x11c9bf+_0xbead('0x15')+_0x234513['join']()+')');}function handleAdditionalPhones(){return new Promise(function(_0x3ba09d,_0x1a5b12){promisesAdditionalPhones=[];return db[_0xbead('0x16')]['findAll']({'raw':!![],'attributes':['id','AdditionalPhones'],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0xbead('0x17')](function(_0x268cd5){if(_0x268cd5!==null){var _0x5d9197=[];for(var _0xe395b0=0x0;_0xe395b0<_0x268cd5[_0xbead('0x18')];_0xe395b0++){var _0x838e5d=_0x268cd5[_0xe395b0];_0x5d9197[_0xbead('0x19')](insertAdditionalPhones(_0x838e5d));}}Promise[_0xbead('0x1a')](_0x5d9197)['then'](function(){_0x3ba09d({'val':0x1});});});});}function insertAdditionalPhones(_0x24d51d){return new Promise(function(_0x4b07e0,_0x478ea9){var _0x4edd81=_0x24d51d[_0xbead('0x1b')];var _0x2201cc=_0x4edd81[_0xbead('0x1c')](';');var _0x3f147b=[];orderBy=0x0;for(var _0x237517=0x0;_0x237517<_0x2201cc[_0xbead('0x18')];_0x237517++){_0x3f147b[_0xbead('0x19')](splitAdditionalPhone(_0x24d51d['id'],_0x2201cc[_0x237517]));}Promise['all'](_0x3f147b)[_0xbead('0x17')](function(){_0x4b07e0({'val':_0x2201cc[_0xbead('0x18')]});});});}function splitAdditionalPhone(_0x554e2c,_0x5dccc3){return new Promise(function(_0x2188b1,_0x41f71c){var _0x476a70=_0x5dccc3[_0xbead('0x1c')](':');var _0x18572b=_0x476a70[0x0];var _0x379d10=_0x476a70[0x1];if(!_[_0xbead('0x1d')](_0x379d10)){var _0x414200=_0x379d10[_0xbead('0x1c')]('|');var _0x24b6c6=[];for(var _0x5658f2=0x0;_0x5658f2<_0x414200['length'];_0x5658f2++){if(_0x414200[_0x5658f2]!==''){var _0xe0ca1d=_[_0xbead('0x1e')](promisesAdditionalPhones,{'contactId':_0x554e2c,'phone':_0x414200[_0x5658f2]});if(_0xe0ca1d[_0xbead('0x18')]==0x0){orderBy++;promisesAdditionalPhones['push']({'contactId':_0x554e2c,'contactTypeId':_0x18572b,'phone':_0x414200[_0x5658f2],'orderBy':orderBy});}}}_0x2188b1({'ok':0x1});}else _0x2188b1({'res':0x0});});}function createAdditionalPhone(_0x11a9f7,_0xea8f8d,_0x4ccaf2,_0x207bd9){var _0x4b81ab='';var _0x5d9fc6='';var _0x960089=_0x4ccaf2[_0xbead('0x1c')]('§');_0x4b81ab=_0x960089[0x0];if(_0x960089[_0xbead('0x18')]==0x2)_0x5d9fc6=_0x960089[0x1];return new Promise(function(_0x5a5335,_0x1b4d9f){return db['CmContactHasItem'][_0xbead('0x1f')]({'where':{'CmContactId':_0x11a9f7,'item':_0x4b81ab}})['then'](function(_0x53c0c6){if(_0x53c0c6){return db['CmContactHasItem'][_0xbead('0x20')]({'ItemTypeId':_0xea8f8d,'description':_0x5d9fc6,'OrderBy':_0x207bd9},{'where':{'CmContactId':_0x11a9f7,'item':_0x4b81ab}})[_0xbead('0x17')](function(_0x33d8f4){_0x5a5335({'res':_0xbead('0x21')});});}else{return db[_0xbead('0x22')][_0xbead('0x23')]({'CmContactId':_0x11a9f7,'item':_0x4b81ab,'description':_0x5d9fc6,'ItemTypeId':_0xea8f8d,'OrderBy':_0x207bd9,'ItemClass':_0xbead('0x24')})[_0xbead('0x17')](function(_0x4fc26d){_0x5a5335({'res':_0xbead('0x25')});});}});});}function insertCmHopper(_0x20c18f,_0x54497b,_0x2021bb,_0x21cd87,_0x1fd5fe){var _0x3fc8cd=[_0xbead('0x26'),_0xbead('0x27'),'cm_contacts.id',_0xbead('0x28'),_0x54497b+'.'+_0x21cd87,'cm_contacts.createdAt',_0xbead('0x29'),'cm_contacts.priority',_0xbead('0x2a'),'\x22'+_0x1fd5fe+'\x22'];return squel[_0xbead('0x2b')]()[_0xbead('0x2c')](_0xbead('0x2d'))['fromQuery']([_0xbead('0x10'),_0xbead('0x2e'),_0xbead('0x2f'),'ListId',_0x21cd87,_0xbead('0x30'),_0xbead('0x31'),_0xbead('0x32'),'UserId',_0xbead('0x33')],squel[_0xbead('0xe')]()['fields'](_0x3fc8cd)[_0xbead('0x11')](_0x54497b)[_0xbead('0x12')](_0xbead('0x34'),null,_0xbead('0x35')+_0x54497b+_0xbead('0x36'))['join'](_0x2021bb,null,_0x2021bb+_0xbead('0x13')+_0x54497b+'.'+_0x21cd87)['where'](_0x54497b+_0xbead('0x37'),_0x20c18f)[_0xbead('0x14')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0xbead('0x14')](_0xbead('0x38'),selectNotIn(_0x54497b,_0x2021bb,_0x21cd87,'cm_hopper',[_0xbead('0x39'),_0xbead('0x3a')]))[_0xbead('0x14')](_0xbead('0x38'),selectNotIn(_0x54497b,_0x2021bb,_0x21cd87,_0xbead('0x2d'),[_0xbead('0x39')])))[_0xbead('0x3b')]();}function insertCmHopperBlack(_0x34ce0e,_0x4cbc56,_0x30b450,_0x4c4ad9){var _0x4abe16=['cm_contacts.phone',_0xbead('0x3c'),_0xbead('0x28'),_0x4cbc56+'.'+_0x4c4ad9,_0xbead('0x3d'),_0xbead('0x29')];return squel[_0xbead('0x2b')]()[_0xbead('0x2c')](_0xbead('0x3e'))[_0xbead('0x3f')]([_0xbead('0x10'),'ContactId','ListId',_0x4c4ad9,_0xbead('0x30'),_0xbead('0x31')],squel[_0xbead('0xe')]()[_0xbead('0x40')](_0x4abe16)['from'](_0x4cbc56)['join'](_0xbead('0x34'),null,_0xbead('0x35')+_0x4cbc56+_0xbead('0x36'))[_0xbead('0x12')](_0x30b450,null,_0x30b450+_0xbead('0x13')+_0x4cbc56+'.'+_0x4c4ad9)[_0xbead('0x14')](_0x4cbc56+'.CmListId\x20=\x20?',_0x34ce0e)[_0xbead('0x14')](_0xbead('0x41'),NOW)[_0xbead('0x14')](_0xbead('0x38'),squel['select']()['field'](_0xbead('0x10'))[_0xbead('0x11')](_0xbead('0x3e'))[_0xbead('0x14')](_0xbead('0x42'),_0x34ce0e)[_0xbead('0x14')](_0x4c4ad9+_0xbead('0x43')+_0x4cbc56+'.'+_0x4c4ad9)))[_0xbead('0x3b')]();}function insertTzCmHopper(_0x6efcd,_0x83eae6,_0xf59163,_0x4322c3,_0x51af90,_0x15f8c7){var _0x7c73ce=[_0xbead('0x26'),_0xbead('0x44')+_0x15f8c7+_0xbead('0x45'),_0xbead('0x3c'),_0xbead('0x28'),_0x83eae6+'.'+_0x4322c3,_0xbead('0x3d'),_0xbead('0x29'),_0xbead('0x46'),_0xbead('0x2a'),'\x22'+_0x51af90+'\x22'];var _0x342406=squel[_0xbead('0x2b')]()[_0xbead('0x2c')](_0xbead('0x2d'))[_0xbead('0x3f')]([_0xbead('0x10'),_0xbead('0x2e'),'ContactId',_0xbead('0x47'),_0x4322c3,_0xbead('0x30'),_0xbead('0x31'),'priority',_0xbead('0x48'),'recallme'],squel[_0xbead('0xe')]()['fields'](_0x7c73ce)[_0xbead('0x11')](_0x83eae6)[_0xbead('0x12')](_0xbead('0x34'),null,'cm_contacts.ListId\x20=\x20'+_0x83eae6+_0xbead('0x36'))[_0xbead('0x12')](_0xf59163,null,_0xf59163+_0xbead('0x13')+_0x83eae6+'.'+_0x4322c3)[_0xbead('0x12')](_0x15f8c7,null,_0x15f8c7+_0xbead('0x13')+_0x83eae6+'.'+_0x4322c3)[_0xbead('0x14')](_0x83eae6+'.CmListId\x20=\x20?',_0x6efcd)['where'](_0xbead('0x41'),NOW)['where'](_0xbead('0x38'),selectNotIn(_0x83eae6,_0xf59163,_0x4322c3,_0xbead('0x2d'),['\x22always\x22',_0xbead('0x3a')]))['where'](_0xbead('0x38'),selectNotIn(_0x83eae6,_0xf59163,_0x4322c3,_0xbead('0x2d'),[_0xbead('0x39')])))[_0xbead('0x3b')]();return _0x342406;}function insertTzCmHopperBlack(_0x121cc9,_0x239bb2,_0x2cccb7,_0x4f3da5){var _0x35126a=['cm_contacts.phone',_0xbead('0x3c'),_0xbead('0x28'),_0x239bb2+'.'+_0x4f3da5,_0xbead('0x3d'),'cm_contacts.updatedAt'];return squel[_0xbead('0x2b')]()[_0xbead('0x2c')](_0xbead('0x3e'))[_0xbead('0x3f')]([_0xbead('0x10'),_0xbead('0x2f'),_0xbead('0x47'),_0x4f3da5,_0xbead('0x30'),_0xbead('0x31')],squel['select']()[_0xbead('0x40')](_0x35126a)['from'](_0x239bb2)['join'](_0xbead('0x34'),null,_0xbead('0x35')+_0x239bb2+_0xbead('0x36'))[_0xbead('0x12')](_0x2cccb7,null,_0x2cccb7+'.id\x20=\x20'+_0x239bb2+'.'+_0x4f3da5)[_0xbead('0x14')](_0x239bb2+'.CmListId\x20=\x20?',_0x121cc9)[_0xbead('0x14')](_0xbead('0x41'),NOW)[_0xbead('0x14')](_0xbead('0x38'),squel[_0xbead('0xe')]()[_0xbead('0xf')](_0xbead('0x10'))[_0xbead('0x11')](_0xbead('0x3e'))[_0xbead('0x14')](_0xbead('0x42'),_0x121cc9)['where'](_0x4f3da5+_0xbead('0x43')+_0x239bb2+'.'+_0x4f3da5)))[_0xbead('0x3b')]();}function insertCmHopperAdditionalPhones(_0x41bc1e){var _0x5e756c=[_0xbead('0x49'),_0xbead('0x4a'),_0xbead('0x4b'),'cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt'];return squel[_0xbead('0x2b')]()[_0xbead('0x2c')](_0xbead('0x4c'))[_0xbead('0x3f')]([_0xbead('0x4d'),_0xbead('0x10'),'OrderBy',_0xbead('0x30'),'updatedAt'],squel[_0xbead('0xe')]()[_0xbead('0x40')](_0x5e756c)[_0xbead('0x11')](_0xbead('0x2d'))['join'](_0xbead('0x34'),null,_0xbead('0x4e'))[_0xbead('0x12')](_0xbead('0x4f'),null,_0xbead('0x50'))[_0xbead('0x14')]('cm_hopper.ListId\x20=\x20?',_0x41bc1e)[_0xbead('0x14')]('cm_contacts.createdAt\x20=\x20?',NOW))[_0xbead('0x3b')]();}function insertCmContact(_0x485812,_0x16347c,_0x4c2a5b,_0xc55f23){var _0xaea7c8=_[_0xbead('0x51')](_[_0xbead('0x52')](_0xc55f23),[_0xbead('0x47'),_0xbead('0x53'),_0xbead('0x30'),_0xbead('0x31'),_0xbead('0x54')]);return squel[_0xbead('0x2b')]()[_0xbead('0x2c')](_0xbead('0x34'))[_0xbead('0x3f')](_0xaea7c8,squel['select']()[_0xbead('0x40')](_0xaea7c8)[_0xbead('0x11')](_0x16347c)['where']('('+_0x4c2a5b[_0xbead('0x12')](',')+_0xbead('0x55'),squel[_0xbead('0xe')]()[_0xbead('0x40')](_0x4c2a5b)[_0xbead('0x11')](_0xbead('0x34'))['where'](_0xbead('0x42'),_0x485812)['where'](_0xbead('0x56')))[_0xbead('0x14')](_0xbead('0x57'),squel[_0xbead('0xe')]()[_0xbead('0xf')]('MIN(id)',_0xbead('0x58'))['from'](_0x16347c)[_0xbead('0x59')](_0x4c2a5b[_0xbead('0x12')](','))))[_0xbead('0x3b')]();}function handleStop(){logger[_0xbead('0x5a')]('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x58c11a){logger[_0xbead('0x5b')](_0x58c11a[_0xbead('0x5c')]);process['exit'](0x1);}function handleError(_0x30b5a5,_0x3d649a){stats['errors']['push']({'name':_0x3d649a[_0xbead('0x5d')],'message':_0x3d649a[_0xbead('0x5c')],'row':_0x30b5a5});}function handleQuery(_0x582d64){logger[_0xbead('0x5a')](_0x582d64);return db[_0xbead('0x5e')]['query'](_0x582d64)[_0xbead('0x5f')](function(_0x43df94){results[_0xbead('0x19')](_0x43df94);})[_0xbead('0x60')](function(_0x450e08){logger['error'](_0x450e08[_0xbead('0x5c')]);});}function updateTzCampaigns(_0x45f28d){return new Promise(function(_0xa1f792,_0x1b2ac5){var _0x3173d2=squel[_0xbead('0xe')]()[_0xbead('0x40')]([_0xbead('0x61'),_0xbead('0x62')])['from'](_0xbead('0x63'))[_0xbead('0x12')]('campaigns_has_cm_lists',null,_0xbead('0x64'))['where'](_0xbead('0x65')+_0x45f28d);db[_0xbead('0x5e')][_0xbead('0x66')](_0x3173d2['toString']())[_0xbead('0x5f')](function(_0x1b6817){var _0x2a01fd=[];for(var _0x15ed32=0x0;_0x15ed32<_0x1b6817[_0xbead('0x18')];_0x15ed32++){_0x2a01fd[_0xbead('0x19')](getTimezoneData(_0x1b6817[_0x15ed32],tmp_campaigns));}BPromise[_0xbead('0x1a')](_0x2a01fd)['then'](function(){_0xa1f792({'val':0x1});});})[_0xbead('0x60')](function(_0x423882){logger[_0xbead('0x5b')](_0x423882[_0xbead('0x5c')]);_0xa1f792({'val':0x0});});});}function updateTzVoiceQueues(_0x5d20fe){return new Promise(function(_0x4c26c4,_0x1cb81c){var _0x115d35=squel['select']()['fields']([_0xbead('0x67'),_0xbead('0x68')])[_0xbead('0x11')]('voice_queues')[_0xbead('0x12')](_0xbead('0x69'),null,_0xbead('0x6a'))[_0xbead('0x14')]('voice_queues_has_cm_lists.CmListId='+_0x5d20fe);db['sequelize']['query'](_0x115d35[_0xbead('0x3b')]())['spread'](function(_0x5254e3){var _0x33f4bc=[];for(var _0x5bd81c=0x0;_0x5bd81c<_0x5254e3['length'];_0x5bd81c++){_0x33f4bc[_0xbead('0x19')](getTimezoneData(_0x5254e3[_0x5bd81c],tmp_voice_queues));}BPromise[_0xbead('0x1a')](_0x33f4bc)[_0xbead('0x17')](function(){_0x4c26c4({'val':0x1});});})[_0xbead('0x60')](function(_0x4300c8){logger['error'](_0x4300c8[_0xbead('0x5c')]);_0x4c26c4({'val':0x0});});});}function getTimezoneData(_0x537609,_0x4a595f){return new Promise(function(_0x3e4f23,_0x559959){var _0x1a3208=shared[_0xbead('0x6b')];var _0x3e0810=_0x1a3208[_0x537609[_0xbead('0x6c')]];if(_['isNil'](_0x3e0810)){_0x3e4f23({'ret':0x1});}else{var _0x2dc95b=_0x3e0810['utcOffset'];var _0x3f0b79=squel['insert']()['into'](_0x4a595f)['set']('id',_0x537609['id'])[_0xbead('0x6d')](_0xbead('0x6e'),_0x2dc95b)[_0xbead('0x6d')](_0xbead('0x6c'),_0x537609[_0xbead('0x6c')])[_0xbead('0x3b')]();return db[_0xbead('0x5e')][_0xbead('0x66')](_0x3f0b79)[_0xbead('0x5f')](function(_0x4feed5){_0x3e4f23({'ret':0x1});})[_0xbead('0x60')](function(_0x422f9d){logger[_0xbead('0x5b')](_0x422f9d[_0xbead('0x5c')]);_0x559959({'ret':0x1});});}});}function handleTZQuery(_0x56570a){logger['info'](_0x56570a);return db[_0xbead('0x5e')][_0xbead('0x66')](_0x56570a)['spread'](function(_0x3cafb6){})[_0xbead('0x60')](function(_0x4c4e8e){logger[_0xbead('0x5b')](_0x4c4e8e[_0xbead('0x5c')]);});}function main(_0x30d207,_0x5669fa,_0x5a0bf9,_0x3ec0c1){logger[_0xbead('0x5a')](_0xbead('0x6f'),_0x30d207,JSON[_0xbead('0x70')](_0x5669fa));process['send']('start');var _0x5eb964=_0x5669fa['binding'];var _0x9e7b9c=_[_0xbead('0x71')](_0x5eb964);var _0x307451=_0x5669fa['socket_timestamp'];var _0x18251c=path[_0xbead('0x12')](config[_0xbead('0x72')],_0xbead('0x73'),_0x307451+_0xbead('0x74'));hasTZ=_[_0xbead('0x52')](_0x5eb964)['includes'](_0xbead('0x6c'));var _0x2cd60b=_[_0xbead('0x52')](_0x5eb964)[_0xbead('0x12')]();logger[_0xbead('0x5a')](_0xbead('0x75'),_0x2cd60b);db[_0xbead('0x76')][_0xbead('0x77')]({'raw':!![],'attributes':['id',_0xbead('0x78')]})[_0xbead('0x17')](function(_0x4f3f6a){for(var _0x50cd9c=0x0;_0x50cd9c<_0x4f3f6a[_0xbead('0x18')];_0x50cd9c++){if(_0x4f3f6a[_0x50cd9c][_0xbead('0x78')]in _0x5eb964){contactItemTypes[_0xbead('0x19')](_0x4f3f6a[_0x50cd9c]);delete _0x9e7b9c[_0x4f3f6a[_0x50cd9c][_0xbead('0x78')]];hasAdditionalPhones=!![];}for(var _0x8a479f in _0x5eb964){if(_0x4f3f6a[_0x50cd9c][_0xbead('0x78')]+_0xbead('0x79')===_0x8a479f){phoneDescriptions[_0xbead('0x19')]({'itemTypeId':_0x4f3f6a[_0x50cd9c]['id'],'description':_0x8a479f});delete _0x9e7b9c[_0x8a479f];}}}if(hasAdditionalPhones)_0x9e7b9c[_0xbead('0x1b')]='';var _0x4f91e5=_[_0xbead('0x52')](_0x9e7b9c)['join']();logger[_0xbead('0x5a')](_0xbead('0x75'),_0x4f91e5);fs[_0xbead('0x7a')](_0x18251c,_0x4f91e5+'\x0a');Papa[_0xbead('0x7b')](fs[_0xbead('0x7c')](_0x30d207),{'header':!![],'skipEmptyLines':!![],'step':function(_0x23bebe,_0x4e805e){try{for(var _0x5afa10=0x0,_0x1b9674=[];_0x5afa10<_0x23bebe[_0xbead('0x7d')][_0xbead('0x18')];_0x5afa10++){stats['rows']+=0x1;if(_0x23bebe[_0xbead('0x7e')][_0x5afa10]){handleError(_0x23bebe[_0xbead('0x7d')][_0x5afa10],_0x23bebe[_0xbead('0x7e')][_0x5afa10]);}else{var _0x24e681=[];var _0x3296a3=[];var _0x3edf87={};for(var _0x145341 in _0x5eb964){let _0x73634=contactItemTypes[_0xbead('0x7f')](_0x715944=>_0x715944[_0xbead('0x78')]===_0x145341);let _0x223509=contactItemTypes[_0xbead('0x7f')](_0x5cb717=>_0x5cb717[_0xbead('0x78')]+_0xbead('0x79')===_0x145341);if(_[_0xbead('0x1d')](_0x73634)&&_[_0xbead('0x1d')](_0x223509)){if(_0x5eb964[_0xbead('0x80')](_0x145341)){if(_0x23bebe[_0xbead('0x7d')][_0x5afa10][_0x5eb964[_0x145341]]){var _0x206c48=_[_0xbead('0x81')](_0x23bebe['data'][_0x5afa10][_0x5eb964[_0x145341]][_0xbead('0x82')](/"/g,'\x27'));switch(_0x145341){case _0xbead('0x2e'):var _0x6d5e94=moment(_0x206c48,'YYYY-MM-DD\x20HH:mm:ss',!![]);if(_0x6d5e94[_0xbead('0x83')]()){_0x1b9674[_0xbead('0x19')]('\x22'+_0x206c48+'\x22');}else{_0x24e681[_0xbead('0x19')](_0xbead('0x84'));}break;case _0xbead('0x32'):var _0x9934ed=parseInt(_0x206c48);_0x206c48=_[_0xbead('0x85')](_0x9934ed)||_0x9934ed<0x0||_0x9934ed>0x4?_0x3ec0c1?0x3:0x2:_0x9934ed;_0x1b9674[_0xbead('0x19')]('\x22'+_0x206c48+'\x22');break;case'UserId':var _0x13ae88=parseInt(_0x206c48);if(_[_0xbead('0x86')](_0x13ae88)&&_[_0xbead('0x87')](_0x5a0bf9,_0x13ae88)){_0x1b9674[_0xbead('0x19')]('\x22'+_0x13ae88+'\x22');}else{_0x24e681[_0xbead('0x19')](_0xbead('0x88'));}break;case _0xbead('0x89'):if(isEmail(_0x206c48)){_0x1b9674['push']('\x22'+_0x206c48+'\x22');}else{_0x24e681[_0xbead('0x19')](_0xbead('0x8a'));}break;case'dateOfBirth':var _0x1c7406=moment(_0x206c48,_0xbead('0x8b'),!![]);if(_0x1c7406[_0xbead('0x83')]()){_0x1b9674[_0xbead('0x19')]('\x22'+_0x206c48+'\x22');}else{_0x24e681[_0xbead('0x19')](_0xbead('0x8c'));}break;case _0xbead('0x6c'):var _0x53a4f7=shared[_0xbead('0x6b')];var _0x2e5aa9=_0x53a4f7[_0x206c48];if(!_['isNil'](_0x2e5aa9)){var _0x13cb99=_0x2e5aa9['utcOffset'];_0x1b9674['push']('\x22'+_0x206c48+'\x22');_0x1b9674['push']('\x22'+_0x13cb99+'\x22');}break;default:_0x1b9674[_0xbead('0x19')]('\x22'+_0x206c48+'\x22');}}else{switch(_0x145341){case _0xbead('0x8d'):case _0xbead('0x10'):_0x24e681[_0xbead('0x19')](_0x145341+_0xbead('0x8e'));break;default:_0x1b9674[_0xbead('0x19')]('\x22\x22');}}}}else{var _0x44aca8='';if(!_[_0xbead('0x1d')](_0x73634)){if(!_0x3edf87[_0xbead('0x80')](_0x73634['id'])){if(!_['isNil'](_0x23bebe['data'][_0x5afa10][_0x5eb964[_0x145341]])){var _0x206c48=_['trim'](_0x23bebe[_0xbead('0x7d')][_0x5afa10][_0x5eb964[_0x145341]]['replace'](/"/g,'\x27'));var _0x36374e=phoneDescriptions[_0xbead('0x7f')](_0x4b08c2=>_0x4b08c2[_0xbead('0x8f')]===_0x73634['id']);if(!_[_0xbead('0x1d')](_0x36374e)){var _0x248e6b=_[_0xbead('0x81')](_0x23bebe[_0xbead('0x7d')][_0x5afa10][_0x5eb964[_0x36374e[_0xbead('0x90')]]]['replace'](/"/g,'\x27'));if(!_[_0xbead('0x1d')](_0x248e6b))_0x206c48=_0x206c48+'§'+_0x248e6b;}if(_0x44aca8=='')_0x44aca8=_0x206c48;else _0x44aca8+='|'+_0x206c48;}_0x3296a3['push'](_0x73634['id']+':'+_0x44aca8);_0x3edf87[_0x73634['id']]=0x1;}}}}if(hasAdditionalPhones){_0x1b9674[_0xbead('0x19')]('\x22'+_0x3296a3[_0xbead('0x12')](';')+'\x22');}if(_0x24e681['length']){handleError(_0x23bebe[_0xbead('0x7d')][_0x5afa10],{'code':'SystemRow','message':_0x24e681[_0xbead('0x12')]()});}else{fs['appendFileSync'](_0x18251c,_0x1b9674['join']()+'\x0a');}_0x1b9674=[];}if(!(stats['rows']%0xc8)){socket[_0xbead('0x91')]('contact:import:'+_0x307451,stats);stats[_0xbead('0x7e')]=[];}}if(stopped){logger[_0xbead('0x5a')](_0xbead('0x92'));_0x4e805e[_0xbead('0x93')]();}}catch(_0x557033){handleError(_0x23bebe[_0xbead('0x7d')][_0x5afa10],{'code':_0xbead('0x94'),'message':_0x557033[_0xbead('0x5c')]});logger[_0xbead('0x5b')](_0xbead('0x95'),_0x557033[_0xbead('0x5c')]);}},'complete':function(){try{var _0x8870e6=[];var _0x495a2d=[];var _0x42c81c=_0xbead('0x34');if(_0x5669fa[_0xbead('0x96')]&&_0x5669fa[_0xbead('0x96')][_0xbead('0x18')]){_0x42c81c=_0xbead('0x97')+_0x307451;_0x8870e6['push']('CREATE\x20TABLE\x20'+_0x42c81c+'\x20LIKE\x20cm_contacts;');}tmp_campaigns=_0xbead('0x98')+_0x307451;tmp_voice_queues='voice_queues_'+_0x307451;_0x495a2d[_0xbead('0x19')]('CREATE\x20TABLE\x20'+tmp_campaigns+_0xbead('0x99'));_0x495a2d[_0xbead('0x19')]('CREATE\x20TABLE\x20'+tmp_voice_queues+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');BPromise[_0xbead('0x9a')](_0x495a2d,handleTZQuery)[_0xbead('0x17')](function(_0x4656f4){updateTzCampaigns(_0x5669fa['ListId'])['then'](function(_0x568050){updateTzVoiceQueues(_0x5669fa[_0xbead('0x47')])[_0xbead('0x17')](function(_0x3a920e){if(hasTZ)_0x4f91e5=_0x4f91e5[_0xbead('0x82')](_0xbead('0x6c'),_0xbead('0x9b'));var _0x32fc98=util[_0xbead('0xc')]('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',_0x18251c,_0x42c81c,_0x4f91e5,_0x5669fa[_0xbead('0x47')],_0x5669fa[_0xbead('0x53')]||null,NOW,NOW);if(_[_0xbead('0x1d')](_0x5eb964[_0xbead('0x2e')])){_0x32fc98+=_0xbead('0x9c');}_0x8870e6['push'](_0x32fc98);if(_0x5669fa['duplicates']&&_0x5669fa[_0xbead('0x96')][_0xbead('0x18')]){_0x8870e6[_0xbead('0x19')](insertCmContact(_0x5669fa['ListId'],_0x42c81c,_0x5669fa['duplicates'],_0x5eb964));_0x8870e6[_0xbead('0x19')](_0xbead('0x9d')+_0x42c81c+';');}BPromise['each'](_0x8870e6,handleQuery)['then'](function(_0x4d7485){BPromise[_0xbead('0x1a')]([handleAdditionalPhones()])[_0xbead('0x17')](function(){_0x8870e6=[];for(var _0x3aceb5=0x0;_0x3aceb5<promisesAdditionalPhones[_0xbead('0x18')];_0x3aceb5++){if(promisesAdditionalPhones[_0x3aceb5]['phone']!='§'){_0x8870e6[_0xbead('0x19')](createAdditionalPhone(promisesAdditionalPhones[_0x3aceb5]['contactId'],promisesAdditionalPhones[_0x3aceb5]['contactTypeId'],promisesAdditionalPhones[_0x3aceb5][_0xbead('0x10')],promisesAdditionalPhones[_0x3aceb5][_0xbead('0x9e')]));}}BPromise[_0xbead('0x1a')](_0x8870e6)[_0xbead('0x17')](function(){_0x8870e6=[];if(hasTZ){_0x8870e6['push'](insertTzCmHopper(_0x5669fa[_0xbead('0x47')],'voice_queues_has_cm_lists',_0xbead('0x9f'),_0xbead('0xa0'),_0x3ec0c1,tmp_voice_queues));_0x8870e6['push'](insertTzCmHopperBlack(_0x5669fa['ListId'],_0xbead('0xa1'),_0xbead('0x9f'),_0xbead('0xa0')));_0x8870e6['push'](insertTzCmHopper(_0x5669fa['ListId'],_0xbead('0xa2'),_0xbead('0x63'),'CampaignId',_0x3ec0c1,tmp_campaigns));_0x8870e6[_0xbead('0x19')](insertTzCmHopperBlack(_0x5669fa[_0xbead('0x47')],_0xbead('0xa3'),_0xbead('0x63'),_0xbead('0xa4')));_0x8870e6[_0xbead('0x19')](insertCmHopperAdditionalPhones(_0x5669fa[_0xbead('0x47')]));}else{_0x8870e6[_0xbead('0x19')](insertCmHopper(_0x5669fa['ListId'],_0xbead('0x69'),'voice_queues',_0xbead('0xa0'),_0x3ec0c1));_0x8870e6[_0xbead('0x19')](insertCmHopperBlack(_0x5669fa[_0xbead('0x47')],'voice_queues_has_cm_blacklists',_0xbead('0x9f'),_0xbead('0xa0')));_0x8870e6[_0xbead('0x19')](insertCmHopper(_0x5669fa[_0xbead('0x47')],_0xbead('0xa2'),'campaigns','CampaignId',_0x3ec0c1));_0x8870e6[_0xbead('0x19')](insertCmHopperBlack(_0x5669fa[_0xbead('0x47')],'campaigns_has_cm_blacklists',_0xbead('0x63'),'CampaignId'));_0x8870e6[_0xbead('0x19')](insertCmHopperAdditionalPhones(_0x5669fa[_0xbead('0x47')]));}_0x8870e6[_0xbead('0x19')]('DROP\x20TABLE\x20'+tmp_campaigns+';');_0x8870e6[_0xbead('0x19')](_0xbead('0x9d')+tmp_voice_queues+';');BPromise[_0xbead('0x9a')](_0x8870e6,handleQuery)[_0xbead('0x17')](function(_0xadf9e5){stats[_0xbead('0xa5')]=!![];stats['affectedRows']=_0x5669fa[_0xbead('0x96')]&&_0x5669fa['duplicates']['length']?results[0x2]['affectedRows']:results[0x0][_0xbead('0xa6')];socket[_0xbead('0x91')]('contact:import:'+_0x307451,stats);fs[_0xbead('0xa7')](_0x30d207);fs[_0xbead('0xa7')](_0x18251c);process[_0xbead('0xa8')](0x0);})[_0xbead('0x60')](function(_0x4b484d){logger[_0xbead('0x5b')](_0x4b484d[_0xbead('0x5c')]);process[_0xbead('0xa8')](0x1);});});});})[_0xbead('0x60')](function(_0x13faa5){logger[_0xbead('0x5b')](_0x13faa5[_0xbead('0x5c')]);process[_0xbead('0xa8')](0x1);});});});});}catch(_0x387c03){logger[_0xbead('0x5b')](_0xbead('0xa9'),_0x387c03[_0xbead('0x5c')]);process[_0xbead('0xa8')](0x1);}},'error':function(_0x35d142,_0x226efe,_0x17bc89,_0x4525f5){throw new Error(_0x4525f5);}});});}function validate(){if(process[_0xbead('0xaa')]&&process['argv'][_0xbead('0x18')]<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x466974=path['join'](config[_0xbead('0x72')],'server/files/tmp',process[_0xbead('0xaa')][0x2]);if(!fs[_0xbead('0xab')](_0x466974)){throw new Error('file\x20doesn\x27t\x20exists');}var _0x34acdf={};try{_0x34acdf=JSON['parse'](process[_0xbead('0xaa')][0x3]);if(!_0x34acdf[_0xbead('0xac')]){throw new Error(_0xbead('0xad'));}if(!_0x34acdf['binding'][_0xbead('0x10')]){throw new Error(_0xbead('0xae'));}if(!_0x34acdf[_0xbead('0xac')][_0xbead('0x8d')]){throw new Error(_0xbead('0xaf'));}var _0x36975e=0x0;if(_0x34acdf[_0xbead('0xac')][_0xbead('0x48')]){_0x36975e=0x1;}if(!_0x34acdf[_0xbead('0x47')]){throw new Error(_0xbead('0xb0'));}}catch(_0x1b9d0d){throw new Error(_0xbead('0xb1'));}var _0x42351b=[];try{_0x42351b=_['map'](JSON[_0xbead('0x7b')](process[_0xbead('0xaa')][0x4]),'id');}catch(_0x30711d){logger[_0xbead('0x5a')]('No\x20agent\x20available');}main(_0x466974,_0x34acdf,_0x42351b,_0x36975e);}validate();process['on'](_0xbead('0xb2'),handleStop);process['on'](_0xbead('0xb3'),handleUncaughtException);