54fb9ebdc5a3fd054c5448917cbbe3cc7e58cadb
[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 _0x6767=['CmContactHasItem','findOne','update','create','PHONE','inserted','cm_contacts.scheduledat','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.UserId','insert','into','cm_hopper','fromQuery','ContactId','ListId','createdAt','priority','UserId','recallme','fields','from','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','join','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','toString','cm_contacts.phone','cm_contacts.updatedAt','cm_hopper_black','updatedAt','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.priority','scheduledat','cm_contacts.id','cm_contact_has_items.OrderBy','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','CmHopperId','OrderBy','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','keys','scheduledAt','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','min_id','group','info','error','message','exit','errors','query','spread','campaigns.id','campaigns','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','sequelize','catch','voice_queues.id','voice_queues','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','timezones','dialTimezone','set','offset','main','stringify','start','binding','socket_timestamp','root','.csv','includes','name','header','writeFileSync','parse','createReadStream','find','hasOwnProperty','trim','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNumber','agent\x20not\x20exists','email','YYYY-MM-DD','utcOffset','firstName','\x20not\x20specified','data','itemTypeId','description','SystemRow','appendFileSync','rows','emit','contact:import:','Abort\x20parser','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','campaigns_','voice_queues_','(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','each','contactId','contactTypeId','orderBy','VoiceQueueId','voice_queues_has_cm_blacklists','campaigns_has_cm_lists','CampaignId','campaigns_has_cm_blacklists','affectedRows','complete','argv','server/files/tmp','body\x20id\x20mandatory','No\x20agent\x20available','uncaughtException','path','bluebird','squel','../../../mysqldb','../../../config/environment','../../../config/environment/shared','../../../config/logger','import','redis','defaults','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test','select','field','phone','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','CmContact','AdditionalPhones','then','length','push','all','split','isNil','filter'];(function(_0x57cb4f,_0x541f57){var _0x29bb45=function(_0x462bee){while(--_0x462bee){_0x57cb4f['push'](_0x57cb4f['shift']());}};_0x29bb45(++_0x541f57);}(_0x6767,0x1e8));var _0x7676=function(_0x1702c0,_0x2252af){_0x1702c0=_0x1702c0-0x0;var _0x2bda1d=_0x6767[_0x1702c0];return _0x2bda1d;};'use strict';var fs=require('fs');var path=require(_0x7676('0x0'));var _=require('lodash');var Papa=require('papaparse');var util=require('util');var BPromise=require(_0x7676('0x1'));var moment=require('moment');var squel=require(_0x7676('0x2'));var Redis=require('ioredis');var db=require(_0x7676('0x3'))['db'];var config=require(_0x7676('0x4'));var shared=require(_0x7676('0x5'));var logger=require(_0x7676('0x6'))(_0x7676('0x7'));config[_0x7676('0x8')]=_[_0x7676('0x9')](config[_0x7676('0x8')],{'host':_0x7676('0xa'),'port':0x18eb});var socket=require(_0x7676('0xb'))(new Redis(config[_0x7676('0x8')]));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()[_0x7676('0xc')](_0x7676('0xd'));function isEmail(_0xfc1014){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))*$/[_0x7676('0xe')](_0xfc1014);}function selectNotIn(_0x2744f7,_0x402420,_0x1b385a,_0x3feb11,_0x19760e){return squel[_0x7676('0xf')]()[_0x7676('0x10')](_0x7676('0x11'))['from'](_0x3feb11)['join'](_0x402420,null,_0x402420+_0x7676('0x12')+_0x3feb11+'.'+_0x1b385a)[_0x7676('0x13')](_0x3feb11+'.'+_0x1b385a+_0x7676('0x14')+_0x2744f7+'.'+_0x1b385a)[_0x7676('0x13')](_0x402420+_0x7676('0x15')+_0x19760e['join']()+')');}function handleAdditionalPhones(){return new Promise(function(_0x648129,_0x5d7601){promisesAdditionalPhones=[];return db[_0x7676('0x16')]['findAll']({'raw':!![],'attributes':['id',_0x7676('0x17')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x7676('0x18')](function(_0x153599){if(_0x153599!==null){var _0x5c1dde=[];for(var _0x1077be=0x0;_0x1077be<_0x153599[_0x7676('0x19')];_0x1077be++){var _0x4b135a=_0x153599[_0x1077be];_0x5c1dde[_0x7676('0x1a')](insertAdditionalPhones(_0x4b135a));}}Promise[_0x7676('0x1b')](_0x5c1dde)[_0x7676('0x18')](function(){_0x648129({'val':0x1});});});});}function insertAdditionalPhones(_0x3bb73f){return new Promise(function(_0x323cb3,_0x10870a){var _0xf6eb57=_0x3bb73f[_0x7676('0x17')];var _0x2cf78a=_0xf6eb57[_0x7676('0x1c')](';');var _0x501601=[];orderBy=0x0;for(var _0x310322=0x0;_0x310322<_0x2cf78a['length'];_0x310322++){_0x501601[_0x7676('0x1a')](splitAdditionalPhone(_0x3bb73f['id'],_0x2cf78a[_0x310322]));}Promise[_0x7676('0x1b')](_0x501601)[_0x7676('0x18')](function(){_0x323cb3({'val':_0x2cf78a[_0x7676('0x19')]});});});}function splitAdditionalPhone(_0x308e80,_0x320a75){return new Promise(function(_0x284093,_0x5a346b){var _0x5577c6=_0x320a75[_0x7676('0x1c')](':');var _0x420f60=_0x5577c6[0x0];var _0x3d1b85=_0x5577c6[0x1];if(!_[_0x7676('0x1d')](_0x3d1b85)){var _0x4e738a=_0x3d1b85['split']('|');var _0x57a399=[];for(var _0x1c4633=0x0;_0x1c4633<_0x4e738a['length'];_0x1c4633++){if(_0x4e738a[_0x1c4633]!==''){var _0x11b749=_[_0x7676('0x1e')](promisesAdditionalPhones,{'contactId':_0x308e80,'phone':_0x4e738a[_0x1c4633]});if(_0x11b749['length']==0x0){orderBy++;promisesAdditionalPhones[_0x7676('0x1a')]({'contactId':_0x308e80,'contactTypeId':_0x420f60,'phone':_0x4e738a[_0x1c4633],'orderBy':orderBy});}}}_0x284093({'ok':0x1});}else _0x284093({'res':0x0});});}function createAdditionalPhone(_0x23a2b0,_0x5a6a4a,_0x4fd0e3,_0x15b812){var _0x2440a0='';var _0x297d43='';var _0x258d64=_0x4fd0e3[_0x7676('0x1c')]('§');_0x2440a0=_0x258d64[0x0];if(_0x258d64[_0x7676('0x19')]==0x2)_0x297d43=_0x258d64[0x1];return new Promise(function(_0x3e6a35,_0x3cad66){return db[_0x7676('0x1f')][_0x7676('0x20')]({'where':{'CmContactId':_0x23a2b0,'item':_0x2440a0}})[_0x7676('0x18')](function(_0xcf40ee){if(_0xcf40ee){return db[_0x7676('0x1f')][_0x7676('0x21')]({'ItemTypeId':_0x5a6a4a,'description':_0x297d43,'OrderBy':_0x15b812},{'where':{'CmContactId':_0x23a2b0,'item':_0x2440a0}})[_0x7676('0x18')](function(_0x3792cb){_0x3e6a35({'res':'updated'});});}else{return db[_0x7676('0x1f')][_0x7676('0x22')]({'CmContactId':_0x23a2b0,'item':_0x2440a0,'description':_0x297d43,'ItemTypeId':_0x5a6a4a,'OrderBy':_0x15b812,'ItemClass':_0x7676('0x23')})[_0x7676('0x18')](function(_0x4b2eb3){_0x3e6a35({'res':_0x7676('0x24')});});}});});}function insertCmHopper(_0x42eec7,_0x1528e0,_0x58b732,_0x2519a0,_0x140e58){var _0x5efb54=['cm_contacts.phone',_0x7676('0x25'),'cm_contacts.id',_0x7676('0x26'),_0x1528e0+'.'+_0x2519a0,_0x7676('0x27'),'cm_contacts.updatedAt','cm_contacts.priority',_0x7676('0x28'),'\x22'+_0x140e58+'\x22'];return squel[_0x7676('0x29')]()[_0x7676('0x2a')](_0x7676('0x2b'))[_0x7676('0x2c')]([_0x7676('0x11'),'scheduledat',_0x7676('0x2d'),_0x7676('0x2e'),_0x2519a0,_0x7676('0x2f'),'updatedAt',_0x7676('0x30'),_0x7676('0x31'),_0x7676('0x32')],squel['select']()[_0x7676('0x33')](_0x5efb54)[_0x7676('0x34')](_0x1528e0)['join'](_0x7676('0x35'),null,_0x7676('0x36')+_0x1528e0+_0x7676('0x37'))[_0x7676('0x38')](_0x58b732,null,_0x58b732+_0x7676('0x12')+_0x1528e0+'.'+_0x2519a0)['where'](_0x1528e0+_0x7676('0x39'),_0x42eec7)[_0x7676('0x13')](_0x7676('0x3a'),NOW)['where'](_0x7676('0x3b'),selectNotIn(_0x1528e0,_0x58b732,_0x2519a0,'cm_hopper',[_0x7676('0x3c'),_0x7676('0x3d')]))[_0x7676('0x13')](_0x7676('0x3b'),selectNotIn(_0x1528e0,_0x58b732,_0x2519a0,_0x7676('0x2b'),[_0x7676('0x3c')])))[_0x7676('0x3e')]();}function insertCmHopperBlack(_0x44f947,_0x58b379,_0x363f49,_0x89d3d4){var _0x24b7ad=[_0x7676('0x3f'),'cm_contacts.id',_0x7676('0x26'),_0x58b379+'.'+_0x89d3d4,_0x7676('0x27'),_0x7676('0x40')];return squel[_0x7676('0x29')]()['into'](_0x7676('0x41'))[_0x7676('0x2c')](['phone',_0x7676('0x2d'),_0x7676('0x2e'),_0x89d3d4,'createdAt',_0x7676('0x42')],squel[_0x7676('0xf')]()[_0x7676('0x33')](_0x24b7ad)['from'](_0x58b379)['join'](_0x7676('0x35'),null,'cm_contacts.ListId\x20=\x20'+_0x58b379+_0x7676('0x37'))[_0x7676('0x38')](_0x363f49,null,_0x363f49+'.id\x20=\x20'+_0x58b379+'.'+_0x89d3d4)[_0x7676('0x13')](_0x58b379+'.CmListId\x20=\x20?',_0x44f947)[_0x7676('0x13')](_0x7676('0x3a'),NOW)[_0x7676('0x13')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel['select']()['field']('phone')[_0x7676('0x34')](_0x7676('0x41'))[_0x7676('0x13')](_0x7676('0x43'),_0x44f947)[_0x7676('0x13')](_0x89d3d4+_0x7676('0x14')+_0x58b379+'.'+_0x89d3d4)))[_0x7676('0x3e')]();}function insertTzCmHopper(_0x4c4c54,_0x232e1a,_0x2626a2,_0x1aadb5,_0x5cf43c,_0x439155){var _0x427e29=[_0x7676('0x3f'),_0x7676('0x44')+_0x439155+_0x7676('0x45'),'cm_contacts.id',_0x7676('0x26'),_0x232e1a+'.'+_0x1aadb5,_0x7676('0x27'),_0x7676('0x40'),_0x7676('0x46'),_0x7676('0x28'),'\x22'+_0x5cf43c+'\x22'];var _0xb574d7=squel['insert']()['into'](_0x7676('0x2b'))[_0x7676('0x2c')]([_0x7676('0x11'),_0x7676('0x47'),_0x7676('0x2d'),'ListId',_0x1aadb5,_0x7676('0x2f'),_0x7676('0x42'),_0x7676('0x30'),_0x7676('0x31'),'recallme'],squel[_0x7676('0xf')]()['fields'](_0x427e29)[_0x7676('0x34')](_0x232e1a)[_0x7676('0x38')]('cm_contacts',null,_0x7676('0x36')+_0x232e1a+_0x7676('0x37'))[_0x7676('0x38')](_0x2626a2,null,_0x2626a2+'.id\x20=\x20'+_0x232e1a+'.'+_0x1aadb5)['join'](_0x439155,null,_0x439155+'.id\x20=\x20'+_0x232e1a+'.'+_0x1aadb5)[_0x7676('0x13')](_0x232e1a+_0x7676('0x39'),_0x4c4c54)[_0x7676('0x13')](_0x7676('0x3a'),NOW)[_0x7676('0x13')](_0x7676('0x3b'),selectNotIn(_0x232e1a,_0x2626a2,_0x1aadb5,'cm_hopper',['\x22always\x22','\x22onlyIfOpen\x22']))[_0x7676('0x13')](_0x7676('0x3b'),selectNotIn(_0x232e1a,_0x2626a2,_0x1aadb5,'cm_hopper',['\x22always\x22'])))[_0x7676('0x3e')]();return _0xb574d7;}function insertTzCmHopperBlack(_0x4f6044,_0x48dd06,_0x502b79,_0x2cb0c6){var _0x4358b3=[_0x7676('0x3f'),_0x7676('0x48'),_0x7676('0x26'),_0x48dd06+'.'+_0x2cb0c6,_0x7676('0x27'),_0x7676('0x40')];return squel[_0x7676('0x29')]()[_0x7676('0x2a')]('cm_hopper_black')[_0x7676('0x2c')]([_0x7676('0x11'),_0x7676('0x2d'),'ListId',_0x2cb0c6,'createdAt','updatedAt'],squel[_0x7676('0xf')]()[_0x7676('0x33')](_0x4358b3)[_0x7676('0x34')](_0x48dd06)[_0x7676('0x38')](_0x7676('0x35'),null,'cm_contacts.ListId\x20=\x20'+_0x48dd06+_0x7676('0x37'))[_0x7676('0x38')](_0x502b79,null,_0x502b79+_0x7676('0x12')+_0x48dd06+'.'+_0x2cb0c6)['where'](_0x48dd06+_0x7676('0x39'),_0x4f6044)['where'](_0x7676('0x3a'),NOW)['where']('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0x7676('0xf')]()[_0x7676('0x10')](_0x7676('0x11'))['from'](_0x7676('0x41'))[_0x7676('0x13')](_0x7676('0x43'),_0x4f6044)[_0x7676('0x13')](_0x2cb0c6+'\x20=\x20'+_0x48dd06+'.'+_0x2cb0c6)))[_0x7676('0x3e')]();}function insertCmHopperAdditionalPhones(_0x3343c5){var _0x2514b2=['cm_hopper.id','cm_contact_has_items.item',_0x7676('0x49'),'cm_contact_has_items.createdAt',_0x7676('0x4a')];return squel[_0x7676('0x29')]()['into'](_0x7676('0x4b'))['fromQuery']([_0x7676('0x4c'),_0x7676('0x11'),_0x7676('0x4d'),_0x7676('0x2f'),'updatedAt'],squel[_0x7676('0xf')]()['fields'](_0x2514b2)['from'](_0x7676('0x2b'))['join'](_0x7676('0x35'),null,_0x7676('0x4e'))[_0x7676('0x38')]('cm_contact_has_items',null,_0x7676('0x4f'))[_0x7676('0x13')](_0x7676('0x50'),_0x3343c5)['where']('cm_contacts.createdAt\x20=\x20?',NOW))[_0x7676('0x3e')]();}function insertCmContact(_0xec04a8,_0x53c721,_0x3cc91f,_0x2f16b3){var _0x27d1bc=_[_0x7676('0x51')](_[_0x7676('0x52')](_0x2f16b3),[_0x7676('0x2e'),'CompanyId',_0x7676('0x2f'),'updatedAt',_0x7676('0x53')]);return squel[_0x7676('0x29')]()[_0x7676('0x2a')](_0x7676('0x35'))[_0x7676('0x2c')](_0x27d1bc,squel[_0x7676('0xf')]()[_0x7676('0x33')](_0x27d1bc)[_0x7676('0x34')](_0x53c721)[_0x7676('0x13')]('('+_0x3cc91f[_0x7676('0x38')](',')+')\x20NOT\x20IN\x20?',squel[_0x7676('0xf')]()['fields'](_0x3cc91f)[_0x7676('0x34')](_0x7676('0x35'))['where']('ListId\x20=\x20?',_0xec04a8)[_0x7676('0x13')](_0x7676('0x54')))[_0x7676('0x13')](_0x7676('0x55'),squel[_0x7676('0xf')]()['field'](_0x7676('0x56'),_0x7676('0x57'))['from'](_0x53c721)[_0x7676('0x58')](_0x3cc91f[_0x7676('0x38')](','))))['toString']();}function handleStop(){logger[_0x7676('0x59')]('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x2e54c5){logger[_0x7676('0x5a')](_0x2e54c5[_0x7676('0x5b')]);process[_0x7676('0x5c')](0x1);}function handleError(_0x218b78,_0x59079b){stats[_0x7676('0x5d')][_0x7676('0x1a')]({'name':_0x59079b['code'],'message':_0x59079b[_0x7676('0x5b')],'row':_0x218b78});}function handleQuery(_0x2857de){logger[_0x7676('0x59')](_0x2857de);return db['sequelize'][_0x7676('0x5e')](_0x2857de)[_0x7676('0x5f')](function(_0x403041){results['push'](_0x403041);})['catch'](function(_0x448ca){logger['error'](_0x448ca['message']);});}function updateTzCampaigns(_0x2fd896){return new Promise(function(_0xc35535,_0x3609fa){var _0x1eec6e=squel[_0x7676('0xf')]()[_0x7676('0x33')]([_0x7676('0x60'),'campaigns.dialTimezone'])[_0x7676('0x34')](_0x7676('0x61'))['join']('campaigns_has_cm_lists',null,_0x7676('0x62'))['where']('campaigns_has_cm_lists.CmListId='+_0x2fd896);db[_0x7676('0x63')]['query'](_0x1eec6e[_0x7676('0x3e')]())[_0x7676('0x5f')](function(_0x1800e7){var _0x568764=[];for(var _0x82aa1b=0x0;_0x82aa1b<_0x1800e7[_0x7676('0x19')];_0x82aa1b++){_0x568764[_0x7676('0x1a')](getTimezoneData(_0x1800e7[_0x82aa1b],tmp_campaigns));}BPromise[_0x7676('0x1b')](_0x568764)[_0x7676('0x18')](function(){_0xc35535({'val':0x1});});})[_0x7676('0x64')](function(_0x3f6b55){logger[_0x7676('0x5a')](_0x3f6b55[_0x7676('0x5b')]);_0xc35535({'val':0x0});});});}function updateTzVoiceQueues(_0x3a6ce0){return new Promise(function(_0x399e86,_0x914bfb){var _0x49bbfb=squel[_0x7676('0xf')]()['fields']([_0x7676('0x65'),'voice_queues.dialTimezone'])[_0x7676('0x34')](_0x7676('0x66'))['join'](_0x7676('0x67'),null,_0x7676('0x68'))['where']('voice_queues_has_cm_lists.CmListId='+_0x3a6ce0);db[_0x7676('0x63')]['query'](_0x49bbfb[_0x7676('0x3e')]())['spread'](function(_0x466a0a){var _0x16e9ce=[];for(var _0x37e563=0x0;_0x37e563<_0x466a0a[_0x7676('0x19')];_0x37e563++){_0x16e9ce[_0x7676('0x1a')](getTimezoneData(_0x466a0a[_0x37e563],tmp_voice_queues));}BPromise[_0x7676('0x1b')](_0x16e9ce)[_0x7676('0x18')](function(){_0x399e86({'val':0x1});});})[_0x7676('0x64')](function(_0xb181e2){logger[_0x7676('0x5a')](_0xb181e2['message']);_0x399e86({'val':0x0});});});}function getTimezoneData(_0x5cf0a1,_0x384d70){return new Promise(function(_0x46ea6e,_0x42931b){var _0x376e6d=shared[_0x7676('0x69')];var _0x2839a8=_0x376e6d[_0x5cf0a1[_0x7676('0x6a')]];if(_[_0x7676('0x1d')](_0x2839a8)){_0x46ea6e({'ret':0x1});}else{var _0x520221=_0x2839a8['utcOffset'];var _0x51f38f=squel[_0x7676('0x29')]()[_0x7676('0x2a')](_0x384d70)['set']('id',_0x5cf0a1['id'])[_0x7676('0x6b')](_0x7676('0x6c'),_0x520221)[_0x7676('0x6b')]('dialTimezone',_0x5cf0a1[_0x7676('0x6a')])[_0x7676('0x3e')]();return db['sequelize'][_0x7676('0x5e')](_0x51f38f)[_0x7676('0x5f')](function(_0x2ce8ae){_0x46ea6e({'ret':0x1});})[_0x7676('0x64')](function(_0x42e767){logger[_0x7676('0x5a')](_0x42e767[_0x7676('0x5b')]);_0x42931b({'ret':0x1});});}});}function handleTZQuery(_0x57a08b){logger['info'](_0x57a08b);return db[_0x7676('0x63')][_0x7676('0x5e')](_0x57a08b)[_0x7676('0x5f')](function(_0x523937){})[_0x7676('0x64')](function(_0x76ab39){logger[_0x7676('0x5a')](_0x76ab39['message']);});}function main(_0x40ae89,_0x1b8f25,_0x2c19d5,_0x18ae9a){logger['info'](_0x7676('0x6d'),_0x40ae89,JSON[_0x7676('0x6e')](_0x1b8f25));process['send'](_0x7676('0x6f'));var _0x2b7aab=_0x1b8f25[_0x7676('0x70')];var _0x27ca02=_['clone'](_0x2b7aab);var _0x452574=_0x1b8f25[_0x7676('0x71')];var _0x2ee6f8=path[_0x7676('0x38')](config[_0x7676('0x72')],'server/files/tmp',_0x452574+_0x7676('0x73'));hasTZ=_[_0x7676('0x52')](_0x2b7aab)[_0x7676('0x74')](_0x7676('0x6a'));var _0x5d78c9=_['keys'](_0x2b7aab)[_0x7676('0x38')]();logger[_0x7676('0x59')]('header',_0x5d78c9);db['ContactItemType']['findAll']({'raw':!![],'attributes':['id',_0x7676('0x75')]})[_0x7676('0x18')](function(_0x32d948){for(var _0x3a3578=0x0;_0x3a3578<_0x32d948[_0x7676('0x19')];_0x3a3578++){if(_0x32d948[_0x3a3578][_0x7676('0x75')]in _0x2b7aab){contactItemTypes[_0x7676('0x1a')](_0x32d948[_0x3a3578]);delete _0x27ca02[_0x32d948[_0x3a3578][_0x7676('0x75')]];hasAdditionalPhones=!![];}for(var _0x32329c in _0x2b7aab){if(_0x32d948[_0x3a3578][_0x7676('0x75')]+'_description'===_0x32329c){phoneDescriptions['push']({'itemTypeId':_0x32d948[_0x3a3578]['id'],'description':_0x32329c});delete _0x27ca02[_0x32329c];}}}if(hasAdditionalPhones)_0x27ca02[_0x7676('0x17')]='';var _0x5409ed=_['keys'](_0x27ca02)['join']();logger[_0x7676('0x59')](_0x7676('0x76'),_0x5409ed);fs[_0x7676('0x77')](_0x2ee6f8,_0x5409ed+'\x0a');Papa[_0x7676('0x78')](fs[_0x7676('0x79')](_0x40ae89),{'header':!![],'skipEmptyLines':!![],'step':function(_0x21b530,_0x4ca16e){try{for(var _0x2dd8d6=0x0,_0x2bf1ae=[];_0x2dd8d6<_0x21b530['data'][_0x7676('0x19')];_0x2dd8d6++){stats['rows']+=0x1;if(_0x21b530['errors'][_0x2dd8d6]){handleError(_0x21b530['data'][_0x2dd8d6],_0x21b530[_0x7676('0x5d')][_0x2dd8d6]);}else{var _0x578442=[];var _0x55d274=[];var _0x5704a0={};for(var _0x5ded6f in _0x2b7aab){let _0x240305=contactItemTypes[_0x7676('0x7a')](_0x366d77=>_0x366d77[_0x7676('0x75')]===_0x5ded6f);let _0x12ab03=contactItemTypes[_0x7676('0x7a')](_0x411dc0=>_0x411dc0[_0x7676('0x75')]+'_description'===_0x5ded6f);if(_['isNil'](_0x240305)&&_[_0x7676('0x1d')](_0x12ab03)){if(_0x2b7aab[_0x7676('0x7b')](_0x5ded6f)){if(_0x21b530['data'][_0x2dd8d6][_0x2b7aab[_0x5ded6f]]){var _0x4066f8=_[_0x7676('0x7c')](_0x21b530['data'][_0x2dd8d6][_0x2b7aab[_0x5ded6f]][_0x7676('0x7d')](/"/g,'\x27'));switch(_0x5ded6f){case'scheduledat':var _0x3323ae=moment(_0x4066f8,'YYYY-MM-DD\x20HH:mm:ss',!![]);if(_0x3323ae[_0x7676('0x7e')]()){_0x2bf1ae[_0x7676('0x1a')]('\x22'+_0x4066f8+'\x22');}else{_0x578442[_0x7676('0x1a')](_0x7676('0x7f'));}break;case'priority':var _0x348031=parseInt(_0x4066f8);_0x4066f8=_['isNaN'](_0x348031)||_0x348031<0x0||_0x348031>0x4?_0x18ae9a?0x3:0x2:_0x348031;_0x2bf1ae[_0x7676('0x1a')]('\x22'+_0x4066f8+'\x22');break;case _0x7676('0x31'):var _0x481129=parseInt(_0x4066f8);if(_[_0x7676('0x80')](_0x481129)&&_['includes'](_0x2c19d5,_0x481129)){_0x2bf1ae[_0x7676('0x1a')]('\x22'+_0x481129+'\x22');}else{_0x578442['push'](_0x7676('0x81'));}break;case _0x7676('0x82'):if(isEmail(_0x4066f8)){_0x2bf1ae['push']('\x22'+_0x4066f8+'\x22');}else{_0x578442[_0x7676('0x1a')]('email\x20wrong\x20format');}break;case'dateOfBirth':var _0x2331f7=moment(_0x4066f8,_0x7676('0x83'),!![]);if(_0x2331f7[_0x7676('0x7e')]()){_0x2bf1ae[_0x7676('0x1a')]('\x22'+_0x4066f8+'\x22');}else{_0x578442['push']('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;case _0x7676('0x6a'):var _0x9e143c=shared[_0x7676('0x69')];var _0x1e1308=_0x9e143c[_0x4066f8];if(!_[_0x7676('0x1d')](_0x1e1308)){var _0x3768a6=_0x1e1308[_0x7676('0x84')];_0x2bf1ae[_0x7676('0x1a')]('\x22'+_0x4066f8+'\x22');_0x2bf1ae['push']('\x22'+_0x3768a6+'\x22');}break;default:_0x2bf1ae[_0x7676('0x1a')]('\x22'+_0x4066f8+'\x22');}}else{switch(_0x5ded6f){case _0x7676('0x85'):case _0x7676('0x11'):_0x578442['push'](_0x5ded6f+_0x7676('0x86'));break;default:_0x2bf1ae[_0x7676('0x1a')]('\x22\x22');}}}}else{var _0x54bb1d='';if(!_[_0x7676('0x1d')](_0x240305)){if(!_0x5704a0[_0x7676('0x7b')](_0x240305['id'])){if(!_['isNil'](_0x21b530[_0x7676('0x87')][_0x2dd8d6][_0x2b7aab[_0x5ded6f]])){var _0x4066f8=_[_0x7676('0x7c')](_0x21b530['data'][_0x2dd8d6][_0x2b7aab[_0x5ded6f]][_0x7676('0x7d')](/"/g,'\x27'));var _0x5f2484=phoneDescriptions[_0x7676('0x7a')](_0x45c4af=>_0x45c4af[_0x7676('0x88')]===_0x240305['id']);if(!_[_0x7676('0x1d')](_0x5f2484)){var _0xb440ba=_[_0x7676('0x7c')](_0x21b530['data'][_0x2dd8d6][_0x2b7aab[_0x5f2484[_0x7676('0x89')]]][_0x7676('0x7d')](/"/g,'\x27'));if(!_[_0x7676('0x1d')](_0xb440ba))_0x4066f8=_0x4066f8+'§'+_0xb440ba;}if(_0x54bb1d=='')_0x54bb1d=_0x4066f8;else _0x54bb1d+='|'+_0x4066f8;}_0x55d274[_0x7676('0x1a')](_0x240305['id']+':'+_0x54bb1d);_0x5704a0[_0x240305['id']]=0x1;}}}}if(hasAdditionalPhones){_0x2bf1ae[_0x7676('0x1a')]('\x22'+_0x55d274['join'](';')+'\x22');}if(_0x578442[_0x7676('0x19')]){handleError(_0x21b530[_0x7676('0x87')][_0x2dd8d6],{'code':_0x7676('0x8a'),'message':_0x578442[_0x7676('0x38')]()});}else{fs[_0x7676('0x8b')](_0x2ee6f8,_0x2bf1ae['join']()+'\x0a');}_0x2bf1ae=[];}if(!(stats[_0x7676('0x8c')]%0xc8)){socket[_0x7676('0x8d')](_0x7676('0x8e')+_0x452574,stats);stats[_0x7676('0x5d')]=[];}}if(stopped){logger[_0x7676('0x59')](_0x7676('0x8f'));_0x4ca16e['abort']();}}catch(_0x4d364f){handleError(_0x21b530[_0x7676('0x87')][_0x2dd8d6],{'code':_0x7676('0x90'),'message':_0x4d364f['message']});logger[_0x7676('0x5a')](_0x7676('0x91'),_0x4d364f['message']);}},'complete':function(){try{var _0x58b7dd=[];var _0x441b14=[];var _0x4ec377='cm_contacts';if(_0x1b8f25['duplicates']&&_0x1b8f25[_0x7676('0x92')]['length']){_0x4ec377=_0x7676('0x93')+_0x452574;_0x58b7dd['push'](_0x7676('0x94')+_0x4ec377+'\x20LIKE\x20cm_contacts;');}tmp_campaigns=_0x7676('0x95')+_0x452574;tmp_voice_queues=_0x7676('0x96')+_0x452574;_0x441b14[_0x7676('0x1a')](_0x7676('0x94')+tmp_campaigns+_0x7676('0x97'));_0x441b14['push'](_0x7676('0x94')+tmp_voice_queues+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');BPromise['each'](_0x441b14,handleTZQuery)[_0x7676('0x18')](function(_0x3147c2){updateTzCampaigns(_0x1b8f25['ListId'])[_0x7676('0x18')](function(_0x7c413e){updateTzVoiceQueues(_0x1b8f25['ListId'])[_0x7676('0x18')](function(_0x3e8420){if(hasTZ)_0x5409ed=_0x5409ed['replace'](_0x7676('0x6a'),_0x7676('0x98'));var _0x178b97=util[_0x7676('0xc')](_0x7676('0x99'),_0x2ee6f8,_0x4ec377,_0x5409ed,_0x1b8f25[_0x7676('0x2e')],_0x1b8f25[_0x7676('0x9a')]||null,NOW,NOW);if(_[_0x7676('0x1d')](_0x2b7aab[_0x7676('0x47')])){_0x178b97+=_0x7676('0x9b');}_0x58b7dd['push'](_0x178b97);if(_0x1b8f25[_0x7676('0x92')]&&_0x1b8f25[_0x7676('0x92')]['length']){_0x58b7dd[_0x7676('0x1a')](insertCmContact(_0x1b8f25['ListId'],_0x4ec377,_0x1b8f25[_0x7676('0x92')],_0x2b7aab));_0x58b7dd[_0x7676('0x1a')](_0x7676('0x9c')+_0x4ec377+';');}BPromise[_0x7676('0x9d')](_0x58b7dd,handleQuery)['then'](function(_0x115fdf){BPromise['all']([handleAdditionalPhones()])[_0x7676('0x18')](function(){_0x58b7dd=[];for(var _0x335b47=0x0;_0x335b47<promisesAdditionalPhones[_0x7676('0x19')];_0x335b47++){if(promisesAdditionalPhones[_0x335b47][_0x7676('0x11')]!='§'){_0x58b7dd[_0x7676('0x1a')](createAdditionalPhone(promisesAdditionalPhones[_0x335b47][_0x7676('0x9e')],promisesAdditionalPhones[_0x335b47][_0x7676('0x9f')],promisesAdditionalPhones[_0x335b47]['phone'],promisesAdditionalPhones[_0x335b47][_0x7676('0xa0')]));}}BPromise['all'](_0x58b7dd)[_0x7676('0x18')](function(){_0x58b7dd=[];if(hasTZ){_0x58b7dd['push'](insertTzCmHopper(_0x1b8f25[_0x7676('0x2e')],_0x7676('0x67'),'voice_queues',_0x7676('0xa1'),_0x18ae9a,tmp_voice_queues));_0x58b7dd[_0x7676('0x1a')](insertTzCmHopperBlack(_0x1b8f25[_0x7676('0x2e')],_0x7676('0xa2'),_0x7676('0x66'),_0x7676('0xa1')));_0x58b7dd[_0x7676('0x1a')](insertTzCmHopper(_0x1b8f25[_0x7676('0x2e')],_0x7676('0xa3'),_0x7676('0x61'),'CampaignId',_0x18ae9a,tmp_campaigns));_0x58b7dd['push'](insertTzCmHopperBlack(_0x1b8f25['ListId'],'campaigns_has_cm_blacklists',_0x7676('0x61'),_0x7676('0xa4')));_0x58b7dd[_0x7676('0x1a')](insertCmHopperAdditionalPhones(_0x1b8f25[_0x7676('0x2e')]));}else{_0x58b7dd[_0x7676('0x1a')](insertCmHopper(_0x1b8f25[_0x7676('0x2e')],_0x7676('0x67'),_0x7676('0x66'),'VoiceQueueId',_0x18ae9a));_0x58b7dd[_0x7676('0x1a')](insertCmHopperBlack(_0x1b8f25[_0x7676('0x2e')],_0x7676('0xa2'),_0x7676('0x66'),'VoiceQueueId'));_0x58b7dd['push'](insertCmHopper(_0x1b8f25[_0x7676('0x2e')],'campaigns_has_cm_lists',_0x7676('0x61'),_0x7676('0xa4'),_0x18ae9a));_0x58b7dd[_0x7676('0x1a')](insertCmHopperBlack(_0x1b8f25[_0x7676('0x2e')],_0x7676('0xa5'),_0x7676('0x61'),_0x7676('0xa4')));_0x58b7dd[_0x7676('0x1a')](insertCmHopperAdditionalPhones(_0x1b8f25[_0x7676('0x2e')]));}_0x58b7dd['push'](_0x7676('0x9c')+tmp_campaigns+';');_0x58b7dd[_0x7676('0x1a')](_0x7676('0x9c')+tmp_voice_queues+';');BPromise['each'](_0x58b7dd,handleQuery)[_0x7676('0x18')](function(_0x318a5d){stats['finish']=!![];stats[_0x7676('0xa6')]=_0x1b8f25[_0x7676('0x92')]&&_0x1b8f25[_0x7676('0x92')]['length']?results[0x2][_0x7676('0xa6')]:results[0x0][_0x7676('0xa6')];socket['emit'](_0x7676('0x8e')+_0x452574,stats);fs['unlink'](_0x40ae89);fs['unlink'](_0x2ee6f8);process[_0x7676('0x5c')](0x0);})['catch'](function(_0x5ddfbe){logger['error'](_0x5ddfbe[_0x7676('0x5b')]);process[_0x7676('0x5c')](0x1);});});});})[_0x7676('0x64')](function(_0x2ecb0b){logger['error'](_0x2ecb0b[_0x7676('0x5b')]);process[_0x7676('0x5c')](0x1);});});});});}catch(_0x5bb323){logger['error'](_0x7676('0xa7'),_0x5bb323[_0x7676('0x5b')]);process[_0x7676('0x5c')](0x1);}},'error':function(_0x431b19,_0x3de563,_0x3fac49,_0x21ab11){throw new Error(_0x21ab11);}});});}function validate(){if(process[_0x7676('0xa8')]&&process[_0x7676('0xa8')][_0x7676('0x19')]<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x5c25b6=path['join'](config[_0x7676('0x72')],_0x7676('0xa9'),process[_0x7676('0xa8')][0x2]);if(!fs['existsSync'](_0x5c25b6)){throw new Error('file\x20doesn\x27t\x20exists');}var _0x555e53={};try{_0x555e53=JSON[_0x7676('0x78')](process[_0x7676('0xa8')][0x3]);if(!_0x555e53['binding']){throw new Error('binding\x20doesn\x27t\x20exists');}if(!_0x555e53[_0x7676('0x70')][_0x7676('0x11')]){throw new Error('phone\x20is\x20mandatory');}if(!_0x555e53[_0x7676('0x70')][_0x7676('0x85')]){throw new Error('firstName\x20is\x20mandatory');}var _0x1860fa=0x0;if(_0x555e53[_0x7676('0x70')]['UserId']){_0x1860fa=0x1;}if(!_0x555e53[_0x7676('0x2e')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x1ae9f1){throw new Error(_0x7676('0xaa'));}var _0x3c8ada=[];try{_0x3c8ada=_['map'](JSON['parse'](process[_0x7676('0xa8')][0x4]),'id');}catch(_0x2712a8){logger[_0x7676('0x59')](_0x7676('0xab'));}main(_0x5c25b6,_0x555e53,_0x3c8ada,_0x1860fa);}validate();process['on']('SIGINT',handleStop);process['on'](_0x7676('0xac'),handleUncaughtException);