Built motion from commit da617fac.|2.6.6
[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 _0xb574=['DROP\x20TABLE\x20','contactId','contactTypeId','orderBy','voice_queues_has_cm_lists','VoiceQueueId','voice_queues_has_cm_blacklists','CampaignId','campaigns_has_cm_blacklists','affectedRows','unlink','complete','argv','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','No\x20agent\x20available','SIGINT','path','lodash','papaparse','util','bluebird','moment','../../../mysqldb','../../../config/environment/shared','import','defaults','socket.io-emitter','YYYY-MM-DD\x20HH:mm:ss','format','test','field','phone','join','.id\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','CmContact','findAll','AdditionalPhones','then','push','all','split','length','isNil','CmContactHasItem','findOne','updated','create','PHONE','inserted','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.UserId','into','cm_hopper','scheduledat','ContactId','ListId','createdAt','updatedAt','priority','UserId','recallme','select','fields','from','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22onlyIfOpen\x22','toString','cm_contacts.phone','fromQuery','cm_hopper_black','ListId\x20=\x20?','\x20=\x20','date_add(cm_contacts.scheduledat,interval\x20','cm_contacts.priority','insert','\x22always\x22','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','CmHopperId','OrderBy','cm_hopper.ListId\x20=\x20?','concat','keys','CompanyId',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','min_id','Received\x20SIGINT','error','message','exit','code','info','sequelize','catch','campaigns.id','campaigns.dialTimezone','campaigns','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','query','spread','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','timezones','dialTimezone','utcOffset','offset','set','main','stringify','start','binding','socket_timestamp','root','server/files/tmp','.csv','includes','header','name','_description','writeFileSync','parse','data','rows','errors','find','hasOwnProperty','trim','replace','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','isValid','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','itemTypeId','description','appendFileSync','emit','contact:import:','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','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()'];(function(_0x9d1971,_0x50b82e){var _0x203469=function(_0x2733b4){while(--_0x2733b4){_0x9d1971['push'](_0x9d1971['shift']());}};_0x203469(++_0x50b82e);}(_0xb574,0x17b));var _0x4b57=function(_0x2f9292,_0x211af0){_0x2f9292=_0x2f9292-0x0;var _0xdaeb9b=_0xb574[_0x2f9292];return _0xdaeb9b;};'use strict';var fs=require('fs');var path=require(_0x4b57('0x0'));var _=require(_0x4b57('0x1'));var Papa=require(_0x4b57('0x2'));var util=require(_0x4b57('0x3'));var BPromise=require(_0x4b57('0x4'));var moment=require(_0x4b57('0x5'));var squel=require('squel');var Redis=require('ioredis');var db=require(_0x4b57('0x6'))['db'];var config=require('../../../config/environment');var shared=require(_0x4b57('0x7'));var logger=require('../../../config/logger')(_0x4b57('0x8'));config['redis']=_[_0x4b57('0x9')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x4b57('0xa'))(new Redis(config['redis']));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()['format'](_0x4b57('0xb'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0x4b57('0xc')]('YYYY-MM-DD\x20HH:mm:ss');function isEmail(_0x40771c){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))*$/[_0x4b57('0xd')](_0x40771c);}function selectNotIn(_0x1f600a,_0x3b5911,_0x9a0be0,_0x20365c,_0x1a6635){return squel['select']()[_0x4b57('0xe')](_0x4b57('0xf'))['from'](_0x20365c)[_0x4b57('0x10')](_0x3b5911,null,_0x3b5911+_0x4b57('0x11')+_0x20365c+'.'+_0x9a0be0)[_0x4b57('0x12')](_0x20365c+'.'+_0x9a0be0+'\x20=\x20'+_0x1f600a+'.'+_0x9a0be0)[_0x4b57('0x12')](_0x3b5911+_0x4b57('0x13')+_0x1a6635['join']()+')');}function handleAdditionalPhones(){return new Promise(function(_0x34e04b,_0x2b4a20){promisesAdditionalPhones=[];return db[_0x4b57('0x14')][_0x4b57('0x15')]({'raw':!![],'attributes':['id',_0x4b57('0x16')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x4b57('0x17')](function(_0x259064){if(_0x259064!==null){var _0x4eed64=[];for(var _0x1db541=0x0;_0x1db541<_0x259064['length'];_0x1db541++){var _0x2d2ba3=_0x259064[_0x1db541];_0x4eed64[_0x4b57('0x18')](insertAdditionalPhones(_0x2d2ba3));}}Promise[_0x4b57('0x19')](_0x4eed64)['then'](function(){_0x34e04b({'val':0x1});});});});}function insertAdditionalPhones(_0x525aa9){return new Promise(function(_0x393bcf,_0x26a6c2){var _0x73d3b8=_0x525aa9['AdditionalPhones'];var _0x22be85=_0x73d3b8[_0x4b57('0x1a')](';');var _0x8bdb31=[];orderBy=0x0;for(var _0x349ab0=0x0;_0x349ab0<_0x22be85['length'];_0x349ab0++){_0x8bdb31[_0x4b57('0x18')](splitAdditionalPhone(_0x525aa9['id'],_0x22be85[_0x349ab0]));}Promise[_0x4b57('0x19')](_0x8bdb31)[_0x4b57('0x17')](function(){_0x393bcf({'val':_0x22be85[_0x4b57('0x1b')]});});});}function splitAdditionalPhone(_0x4fa5a7,_0x28a2ef){return new Promise(function(_0x1d8b1d,_0x2aa23a){var _0x220102=_0x28a2ef[_0x4b57('0x1a')](':');var _0x2a29f2=_0x220102[0x0];var _0x469fc1=_0x220102[0x1];if(!_[_0x4b57('0x1c')](_0x469fc1)){var _0x4924cf=_0x469fc1['split']('|');var _0x538558=[];for(var _0x212939=0x0;_0x212939<_0x4924cf[_0x4b57('0x1b')];_0x212939++){if(_0x4924cf[_0x212939]!==''){var _0x454be3=_['filter'](promisesAdditionalPhones,{'contactId':_0x4fa5a7,'phone':_0x4924cf[_0x212939]});if(_0x454be3[_0x4b57('0x1b')]==0x0){orderBy++;promisesAdditionalPhones['push']({'contactId':_0x4fa5a7,'contactTypeId':_0x2a29f2,'phone':_0x4924cf[_0x212939],'orderBy':orderBy});}}}_0x1d8b1d({'ok':0x1});}else _0x1d8b1d({'res':0x0});});}function createAdditionalPhone(_0x3f1055,_0x3f47d0,_0x1192fc,_0xbf3bd2){var _0x2766d6='';var _0x3a3cae='';var _0x34ec90=_0x1192fc[_0x4b57('0x1a')]('§');_0x2766d6=_0x34ec90[0x0];if(_0x34ec90[_0x4b57('0x1b')]==0x2)_0x3a3cae=_0x34ec90[0x1];return new Promise(function(_0x2aaa7f,_0x13b64c){return db[_0x4b57('0x1d')][_0x4b57('0x1e')]({'where':{'CmContactId':_0x3f1055,'item':_0x2766d6}})[_0x4b57('0x17')](function(_0x951bf7){if(_0x951bf7){return db[_0x4b57('0x1d')]['update']({'ItemTypeId':_0x3f47d0,'description':_0x3a3cae,'OrderBy':_0xbf3bd2},{'where':{'CmContactId':_0x3f1055,'item':_0x2766d6}})[_0x4b57('0x17')](function(_0x5e278d){_0x2aaa7f({'res':_0x4b57('0x1f')});});}else{return db[_0x4b57('0x1d')][_0x4b57('0x20')]({'CmContactId':_0x3f1055,'item':_0x2766d6,'description':_0x3a3cae,'ItemTypeId':_0x3f47d0,'OrderBy':_0xbf3bd2,'ItemClass':_0x4b57('0x21')})[_0x4b57('0x17')](function(_0x312997){_0x2aaa7f({'res':_0x4b57('0x22')});});}});});}function insertCmHopper(_0x25e060,_0x59fd3d,_0x29c037,_0x426791,_0x303863){var _0xfe6286=['cm_contacts.phone',_0x4b57('0x23'),_0x4b57('0x24'),_0x4b57('0x25'),_0x59fd3d+'.'+_0x426791,_0x4b57('0x26'),_0x4b57('0x27'),'cm_contacts.priority',_0x4b57('0x28'),'\x22'+_0x303863+'\x22'];return squel['insert']()[_0x4b57('0x29')](_0x4b57('0x2a'))['fromQuery']([_0x4b57('0xf'),_0x4b57('0x2b'),_0x4b57('0x2c'),_0x4b57('0x2d'),_0x426791,_0x4b57('0x2e'),_0x4b57('0x2f'),_0x4b57('0x30'),_0x4b57('0x31'),_0x4b57('0x32')],squel[_0x4b57('0x33')]()[_0x4b57('0x34')](_0xfe6286)[_0x4b57('0x35')](_0x59fd3d)[_0x4b57('0x10')](_0x4b57('0x36'),null,_0x4b57('0x37')+_0x59fd3d+_0x4b57('0x38'))['join'](_0x29c037,null,_0x29c037+_0x4b57('0x11')+_0x59fd3d+'.'+_0x426791)[_0x4b57('0x12')](_0x59fd3d+_0x4b57('0x39'),_0x25e060)[_0x4b57('0x12')](_0x4b57('0x3a'),NOW)[_0x4b57('0x12')](_0x4b57('0x3b'),selectNotIn(_0x59fd3d,_0x29c037,_0x426791,_0x4b57('0x2a'),['\x22always\x22',_0x4b57('0x3c')]))[_0x4b57('0x12')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x59fd3d,_0x29c037,_0x426791,_0x4b57('0x2a'),['\x22always\x22'])))[_0x4b57('0x3d')]();}function insertCmHopperBlack(_0x11861b,_0x1c9c97,_0x426817,_0x454456){var _0x355682=[_0x4b57('0x3e'),_0x4b57('0x24'),_0x4b57('0x25'),_0x1c9c97+'.'+_0x454456,'cm_contacts.createdAt','cm_contacts.updatedAt'];return squel['insert']()[_0x4b57('0x29')]('cm_hopper_black')[_0x4b57('0x3f')]([_0x4b57('0xf'),_0x4b57('0x2c'),_0x4b57('0x2d'),_0x454456,_0x4b57('0x2e'),_0x4b57('0x2f')],squel[_0x4b57('0x33')]()[_0x4b57('0x34')](_0x355682)['from'](_0x1c9c97)[_0x4b57('0x10')](_0x4b57('0x36'),null,'cm_contacts.ListId\x20=\x20'+_0x1c9c97+_0x4b57('0x38'))[_0x4b57('0x10')](_0x426817,null,_0x426817+_0x4b57('0x11')+_0x1c9c97+'.'+_0x454456)[_0x4b57('0x12')](_0x1c9c97+_0x4b57('0x39'),_0x11861b)['where'](_0x4b57('0x3a'),NOW)[_0x4b57('0x12')](_0x4b57('0x3b'),squel[_0x4b57('0x33')]()[_0x4b57('0xe')](_0x4b57('0xf'))[_0x4b57('0x35')](_0x4b57('0x40'))[_0x4b57('0x12')](_0x4b57('0x41'),_0x11861b)['where'](_0x454456+_0x4b57('0x42')+_0x1c9c97+'.'+_0x454456)))[_0x4b57('0x3d')]();}function insertTzCmHopper(_0x4a0d18,_0x46224c,_0x2269cf,_0x1972c2,_0x262f2e,_0x1ea40c){var _0x47ef48=[_0x4b57('0x3e'),_0x4b57('0x43')+_0x1ea40c+'.offset-cm_contacts.utcOffset\x20minute)',_0x4b57('0x24'),_0x4b57('0x25'),_0x46224c+'.'+_0x1972c2,'cm_contacts.createdAt','cm_contacts.updatedAt',_0x4b57('0x44'),'cm_contacts.UserId','\x22'+_0x262f2e+'\x22'];var _0x448082=squel[_0x4b57('0x45')]()[_0x4b57('0x29')]('cm_hopper')[_0x4b57('0x3f')]([_0x4b57('0xf'),'scheduledat','ContactId','ListId',_0x1972c2,_0x4b57('0x2e'),_0x4b57('0x2f'),_0x4b57('0x30'),_0x4b57('0x31'),_0x4b57('0x32')],squel[_0x4b57('0x33')]()['fields'](_0x47ef48)[_0x4b57('0x35')](_0x46224c)[_0x4b57('0x10')]('cm_contacts',null,_0x4b57('0x37')+_0x46224c+'.CmListId')[_0x4b57('0x10')](_0x2269cf,null,_0x2269cf+_0x4b57('0x11')+_0x46224c+'.'+_0x1972c2)[_0x4b57('0x10')](_0x1ea40c,null,_0x1ea40c+_0x4b57('0x11')+_0x46224c+'.'+_0x1972c2)[_0x4b57('0x12')](_0x46224c+'.CmListId\x20=\x20?',_0x4a0d18)['where'](_0x4b57('0x3a'),NOW)[_0x4b57('0x12')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x46224c,_0x2269cf,_0x1972c2,_0x4b57('0x2a'),['\x22always\x22','\x22onlyIfOpen\x22']))[_0x4b57('0x12')](_0x4b57('0x3b'),selectNotIn(_0x46224c,_0x2269cf,_0x1972c2,'cm_hopper',[_0x4b57('0x46')])))[_0x4b57('0x3d')]();return _0x448082;}function insertTzCmHopperBlack(_0x25f8d0,_0x132498,_0x3ce93b,_0x3be85a){var _0x19469a=['cm_contacts.phone',_0x4b57('0x24'),_0x4b57('0x25'),_0x132498+'.'+_0x3be85a,_0x4b57('0x26'),'cm_contacts.updatedAt'];return squel[_0x4b57('0x45')]()[_0x4b57('0x29')]('cm_hopper_black')[_0x4b57('0x3f')](['phone',_0x4b57('0x2c'),'ListId',_0x3be85a,_0x4b57('0x2e'),'updatedAt'],squel[_0x4b57('0x33')]()[_0x4b57('0x34')](_0x19469a)[_0x4b57('0x35')](_0x132498)[_0x4b57('0x10')](_0x4b57('0x36'),null,_0x4b57('0x37')+_0x132498+_0x4b57('0x38'))['join'](_0x3ce93b,null,_0x3ce93b+_0x4b57('0x11')+_0x132498+'.'+_0x3be85a)[_0x4b57('0x12')](_0x132498+_0x4b57('0x39'),_0x25f8d0)['where'](_0x4b57('0x3a'),NOW)[_0x4b57('0x12')](_0x4b57('0x3b'),squel[_0x4b57('0x33')]()[_0x4b57('0xe')](_0x4b57('0xf'))[_0x4b57('0x35')]('cm_hopper_black')[_0x4b57('0x12')](_0x4b57('0x41'),_0x25f8d0)[_0x4b57('0x12')](_0x3be85a+'\x20=\x20'+_0x132498+'.'+_0x3be85a)))[_0x4b57('0x3d')]();}function insertCmHopperAdditionalPhones(_0x135cb6){var _0x1bee17=['cm_hopper.id',_0x4b57('0x47'),_0x4b57('0x48'),'cm_contact_has_items.createdAt',_0x4b57('0x49')];return squel['insert']()[_0x4b57('0x29')](_0x4b57('0x4a'))[_0x4b57('0x3f')]([_0x4b57('0x4b'),'phone',_0x4b57('0x4c'),'createdAt',_0x4b57('0x2f')],squel[_0x4b57('0x33')]()['fields'](_0x1bee17)[_0x4b57('0x35')](_0x4b57('0x2a'))[_0x4b57('0x10')](_0x4b57('0x36'),null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0x4b57('0x10')]('cm_contact_has_items',null,'cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId')[_0x4b57('0x12')](_0x4b57('0x4d'),_0x135cb6)[_0x4b57('0x12')](_0x4b57('0x3a'),NOW))[_0x4b57('0x3d')]();}function insertCmContact(_0x4b4585,_0x542753,_0x1c951b,_0x41541c){var _0x38a2a4=_[_0x4b57('0x4e')](_[_0x4b57('0x4f')](_0x41541c),[_0x4b57('0x2d'),_0x4b57('0x50'),'createdAt',_0x4b57('0x2f')]);return squel[_0x4b57('0x45')]()[_0x4b57('0x29')]('cm_contacts')['fromQuery'](_0x38a2a4,squel[_0x4b57('0x33')]()[_0x4b57('0x34')](_0x38a2a4)[_0x4b57('0x35')](_0x542753)[_0x4b57('0x12')]('('+_0x1c951b[_0x4b57('0x10')](',')+_0x4b57('0x51'),squel[_0x4b57('0x33')]()[_0x4b57('0x34')](_0x1c951b)[_0x4b57('0x35')](_0x4b57('0x36'))[_0x4b57('0x12')](_0x4b57('0x41'),_0x4b4585)['where'](_0x4b57('0x52')))[_0x4b57('0x12')](_0x4b57('0x53'),squel['select']()['field']('MIN(id)',_0x4b57('0x54'))['from'](_0x542753)['group'](_0x1c951b[_0x4b57('0x10')](','))))[_0x4b57('0x3d')]();}function handleStop(){logger['info'](_0x4b57('0x55'));stopped=!![];}function handleUncaughtException(_0x2a04db){logger[_0x4b57('0x56')](_0x2a04db[_0x4b57('0x57')]);process[_0x4b57('0x58')](0x1);}function handleError(_0xfa3876,_0x527bc0){stats['errors'][_0x4b57('0x18')]({'name':_0x527bc0[_0x4b57('0x59')],'message':_0x527bc0[_0x4b57('0x57')],'row':_0xfa3876});}function handleQuery(_0x59ab01){logger[_0x4b57('0x5a')](_0x59ab01);return db[_0x4b57('0x5b')]['query'](_0x59ab01)['spread'](function(_0x4e36c0){results[_0x4b57('0x18')](_0x4e36c0);})[_0x4b57('0x5c')](function(_0x1c7c19){logger['error'](_0x1c7c19[_0x4b57('0x57')]);});}function updateTzCampaigns(_0x2740a7){return new Promise(function(_0x37da7d,_0x474d2c){var _0x2ccf04=squel[_0x4b57('0x33')]()[_0x4b57('0x34')]([_0x4b57('0x5d'),_0x4b57('0x5e')])[_0x4b57('0x35')](_0x4b57('0x5f'))[_0x4b57('0x10')](_0x4b57('0x60'),null,_0x4b57('0x61'))['where'](_0x4b57('0x62')+_0x2740a7);db[_0x4b57('0x5b')][_0x4b57('0x63')](_0x2ccf04[_0x4b57('0x3d')]())[_0x4b57('0x64')](function(_0x4eacac){var _0x52512b=[];for(var _0x2393fd=0x0;_0x2393fd<_0x4eacac[_0x4b57('0x1b')];_0x2393fd++){_0x52512b[_0x4b57('0x18')](getTimezoneData(_0x4eacac[_0x2393fd],tmp_campaigns));}BPromise[_0x4b57('0x19')](_0x52512b)[_0x4b57('0x17')](function(){_0x37da7d({'val':0x1});});})[_0x4b57('0x5c')](function(_0x31b2ce){logger[_0x4b57('0x56')](_0x31b2ce['message']);_0x37da7d({'val':0x0});});});}function updateTzVoiceQueues(_0x5a6010){return new Promise(function(_0x2901b8,_0x3a40d2){var _0x2f2cf8=squel[_0x4b57('0x33')]()[_0x4b57('0x34')]([_0x4b57('0x65'),_0x4b57('0x66')])['from'](_0x4b57('0x67'))[_0x4b57('0x10')]('voice_queues_has_cm_lists',null,_0x4b57('0x68'))[_0x4b57('0x12')]('voice_queues_has_cm_lists.CmListId='+_0x5a6010);db['sequelize'][_0x4b57('0x63')](_0x2f2cf8[_0x4b57('0x3d')]())['spread'](function(_0x3fc91d){var _0x15db96=[];for(var _0x2f1d75=0x0;_0x2f1d75<_0x3fc91d[_0x4b57('0x1b')];_0x2f1d75++){_0x15db96[_0x4b57('0x18')](getTimezoneData(_0x3fc91d[_0x2f1d75],tmp_voice_queues));}BPromise[_0x4b57('0x19')](_0x15db96)[_0x4b57('0x17')](function(){_0x2901b8({'val':0x1});});})[_0x4b57('0x5c')](function(_0x180413){logger['error'](_0x180413[_0x4b57('0x57')]);_0x2901b8({'val':0x0});});});}function getTimezoneData(_0x22779c,_0x51e90a){return new Promise(function(_0x40ff6f,_0x2b508c){var _0x4932c8=shared[_0x4b57('0x69')];var _0xa5de5d=_0x4932c8[_0x22779c[_0x4b57('0x6a')]];if(_[_0x4b57('0x1c')](_0xa5de5d)){_0x40ff6f({'ret':0x1});}else{var _0x4b86f0=_0xa5de5d[_0x4b57('0x6b')];var _0x4e5b74=squel[_0x4b57('0x45')]()['into'](_0x51e90a)['set']('id',_0x22779c['id'])['set'](_0x4b57('0x6c'),_0x4b86f0)[_0x4b57('0x6d')](_0x4b57('0x6a'),_0x22779c[_0x4b57('0x6a')])[_0x4b57('0x3d')]();return db[_0x4b57('0x5b')][_0x4b57('0x63')](_0x4e5b74)['spread'](function(_0x2bede3){_0x40ff6f({'ret':0x1});})[_0x4b57('0x5c')](function(_0x5132ff){logger[_0x4b57('0x56')](_0x5132ff[_0x4b57('0x57')]);_0x2b508c({'ret':0x1});});}});}function handleTZQuery(_0x477796){logger[_0x4b57('0x5a')](_0x477796);return db['sequelize'][_0x4b57('0x63')](_0x477796)[_0x4b57('0x64')](function(_0x464480){})[_0x4b57('0x5c')](function(_0x2e2346){logger[_0x4b57('0x56')](_0x2e2346['message']);});}function main(_0x333c3f,_0x4eba4b,_0x3d9807,_0x1eb14c){logger['info'](_0x4b57('0x6e'),_0x333c3f,JSON[_0x4b57('0x6f')](_0x4eba4b));process['send'](_0x4b57('0x70'));var _0x2fb43a=_0x4eba4b[_0x4b57('0x71')];var _0x476ece=_['clone'](_0x2fb43a);var _0x1bbb54=_0x4eba4b[_0x4b57('0x72')];var _0x49f61b=path[_0x4b57('0x10')](config[_0x4b57('0x73')],_0x4b57('0x74'),_0x1bbb54+_0x4b57('0x75'));hasTZ=_['keys'](_0x2fb43a)[_0x4b57('0x76')](_0x4b57('0x6a'));var _0x2aaa71=_[_0x4b57('0x4f')](_0x2fb43a)[_0x4b57('0x10')]();logger[_0x4b57('0x5a')](_0x4b57('0x77'),_0x2aaa71);db['ContactItemType'][_0x4b57('0x15')]({'raw':!![],'attributes':['id',_0x4b57('0x78')]})[_0x4b57('0x17')](function(_0x3be50c){for(var _0x430661=0x0;_0x430661<_0x3be50c[_0x4b57('0x1b')];_0x430661++){if(_0x3be50c[_0x430661]['name']in _0x2fb43a){contactItemTypes[_0x4b57('0x18')](_0x3be50c[_0x430661]);delete _0x476ece[_0x3be50c[_0x430661][_0x4b57('0x78')]];hasAdditionalPhones=!![];}for(var _0x4f1b5f in _0x2fb43a){if(_0x3be50c[_0x430661][_0x4b57('0x78')]+_0x4b57('0x79')===_0x4f1b5f){phoneDescriptions[_0x4b57('0x18')]({'itemTypeId':_0x3be50c[_0x430661]['id'],'description':_0x4f1b5f});delete _0x476ece[_0x4f1b5f];}}}if(hasAdditionalPhones)_0x476ece[_0x4b57('0x16')]='';var _0x540ac1=_['keys'](_0x476ece)['join']();logger['info'](_0x4b57('0x77'),_0x540ac1);fs[_0x4b57('0x7a')](_0x49f61b,_0x540ac1+'\x0a');Papa[_0x4b57('0x7b')](fs['createReadStream'](_0x333c3f),{'header':!![],'skipEmptyLines':!![],'step':function(_0x1855d2,_0x1ee939){try{for(var _0x57b668=0x0,_0x301b70=[];_0x57b668<_0x1855d2[_0x4b57('0x7c')][_0x4b57('0x1b')];_0x57b668++){stats[_0x4b57('0x7d')]+=0x1;if(_0x1855d2[_0x4b57('0x7e')][_0x57b668]){handleError(_0x1855d2['data'][_0x57b668],_0x1855d2[_0x4b57('0x7e')][_0x57b668]);}else{var _0x549040=[];var _0x593fc9=[];var _0x2bdb2a={};for(var _0x30a76c in _0x2fb43a){let _0x28d7fd=contactItemTypes[_0x4b57('0x7f')](_0x35bfae=>_0x35bfae[_0x4b57('0x78')]===_0x30a76c);let _0x26389a=contactItemTypes[_0x4b57('0x7f')](_0x3a0832=>_0x3a0832[_0x4b57('0x78')]+_0x4b57('0x79')===_0x30a76c);if(_[_0x4b57('0x1c')](_0x28d7fd)&&_[_0x4b57('0x1c')](_0x26389a)){if(_0x2fb43a[_0x4b57('0x80')](_0x30a76c)){if(_0x1855d2[_0x4b57('0x7c')][_0x57b668][_0x2fb43a[_0x30a76c]]){var _0x473190=_[_0x4b57('0x81')](_0x1855d2['data'][_0x57b668][_0x2fb43a[_0x30a76c]][_0x4b57('0x82')](/"/g,'\x27'));switch(_0x30a76c){case _0x4b57('0x2b'):var _0x2814fc=moment(_0x473190,_0x4b57('0xb'),!![]);if(_0x2814fc['isValid']()){_0x301b70[_0x4b57('0x18')]('\x22'+_0x473190+'\x22');}else{_0x549040[_0x4b57('0x18')](_0x4b57('0x83'));}break;case _0x4b57('0x30'):var _0x3983bc=parseInt(_0x473190);_0x473190=_[_0x4b57('0x84')](_0x3983bc)||_0x3983bc<0x0||_0x3983bc>0x4?_0x1eb14c?0x3:0x2:_0x3983bc;_0x301b70['push']('\x22'+_0x473190+'\x22');break;case _0x4b57('0x31'):var _0x31f504=parseInt(_0x473190);if(_[_0x4b57('0x85')](_0x31f504)&&_['includes'](_0x3d9807,_0x31f504)){_0x301b70[_0x4b57('0x18')]('\x22'+_0x31f504+'\x22');}else{_0x549040[_0x4b57('0x18')](_0x4b57('0x86'));}break;case _0x4b57('0x87'):if(isEmail(_0x473190)){_0x301b70['push']('\x22'+_0x473190+'\x22');}else{_0x549040[_0x4b57('0x18')](_0x4b57('0x88'));}break;case _0x4b57('0x89'):var _0x15b18f=moment(_0x473190,_0x4b57('0x8a'),!![]);if(_0x15b18f[_0x4b57('0x8b')]()){_0x301b70[_0x4b57('0x18')]('\x22'+_0x473190+'\x22');}else{_0x549040[_0x4b57('0x18')](_0x4b57('0x8c'));}break;case _0x4b57('0x6a'):var _0x2aa7ea=shared[_0x4b57('0x69')];var _0x56d6af=_0x2aa7ea[_0x473190];if(!_['isNil'](_0x56d6af)){var _0xbb2e17=_0x56d6af[_0x4b57('0x6b')];_0x301b70[_0x4b57('0x18')]('\x22'+_0x473190+'\x22');_0x301b70[_0x4b57('0x18')]('\x22'+_0xbb2e17+'\x22');}break;default:_0x301b70[_0x4b57('0x18')]('\x22'+_0x473190+'\x22');}}else{switch(_0x30a76c){case _0x4b57('0x8d'):case _0x4b57('0xf'):_0x549040[_0x4b57('0x18')](_0x30a76c+'\x20not\x20specified');break;default:_0x301b70[_0x4b57('0x18')]('\x22\x22');}}}}else{var _0x205a4e='';if(!_[_0x4b57('0x1c')](_0x28d7fd)){if(!_0x2bdb2a['hasOwnProperty'](_0x28d7fd['id'])){if(!_[_0x4b57('0x1c')](_0x1855d2[_0x4b57('0x7c')][_0x57b668][_0x2fb43a[_0x30a76c]])){var _0x473190=_[_0x4b57('0x81')](_0x1855d2[_0x4b57('0x7c')][_0x57b668][_0x2fb43a[_0x30a76c]][_0x4b57('0x82')](/"/g,'\x27'));var _0x10d64f=phoneDescriptions[_0x4b57('0x7f')](_0x350205=>_0x350205[_0x4b57('0x8e')]===_0x28d7fd['id']);if(!_[_0x4b57('0x1c')](_0x10d64f)){var _0x4ca419=_[_0x4b57('0x81')](_0x1855d2['data'][_0x57b668][_0x2fb43a[_0x10d64f[_0x4b57('0x8f')]]]['replace'](/"/g,'\x27'));if(!_[_0x4b57('0x1c')](_0x4ca419))_0x473190=_0x473190+'§'+_0x4ca419;}if(_0x205a4e=='')_0x205a4e=_0x473190;else _0x205a4e+='|'+_0x473190;}_0x593fc9[_0x4b57('0x18')](_0x28d7fd['id']+':'+_0x205a4e);_0x2bdb2a[_0x28d7fd['id']]=0x1;}}}}if(hasAdditionalPhones){_0x301b70[_0x4b57('0x18')]('\x22'+_0x593fc9[_0x4b57('0x10')](';')+'\x22');}if(_0x549040[_0x4b57('0x1b')]){handleError(_0x1855d2[_0x4b57('0x7c')][_0x57b668],{'code':'SystemRow','message':_0x549040[_0x4b57('0x10')]()});}else{fs[_0x4b57('0x90')](_0x49f61b,_0x301b70['join']()+'\x0a');}_0x301b70=[];}if(!(stats[_0x4b57('0x7d')]%0xc8)){socket[_0x4b57('0x91')](_0x4b57('0x92')+_0x1bbb54,stats);stats[_0x4b57('0x7e')]=[];}}if(stopped){logger[_0x4b57('0x5a')](_0x4b57('0x93'));_0x1ee939[_0x4b57('0x94')]();}}catch(_0x579bb8){handleError(_0x1855d2[_0x4b57('0x7c')][_0x57b668],{'code':_0x4b57('0x95'),'message':_0x579bb8['message']});logger['error'](_0x4b57('0x96'),_0x579bb8[_0x4b57('0x57')]);}},'complete':function(){try{var _0x169d5a=[];var _0x418505=[];var _0x1bc2c0='cm_contacts';if(_0x4eba4b[_0x4b57('0x97')]&&_0x4eba4b[_0x4b57('0x97')][_0x4b57('0x1b')]){_0x1bc2c0=_0x4b57('0x98')+_0x1bbb54;_0x169d5a['push'](_0x4b57('0x99')+_0x1bc2c0+_0x4b57('0x9a'));}tmp_campaigns=_0x4b57('0x9b')+_0x1bbb54;tmp_voice_queues=_0x4b57('0x9c')+_0x1bbb54;_0x418505[_0x4b57('0x18')](_0x4b57('0x99')+tmp_campaigns+_0x4b57('0x9d'));_0x418505[_0x4b57('0x18')]('CREATE\x20TABLE\x20'+tmp_voice_queues+_0x4b57('0x9d'));BPromise[_0x4b57('0x9e')](_0x418505,handleTZQuery)[_0x4b57('0x17')](function(_0x29a399){updateTzCampaigns(_0x4eba4b[_0x4b57('0x2d')])[_0x4b57('0x17')](function(_0x16e81c){updateTzVoiceQueues(_0x4eba4b[_0x4b57('0x2d')])[_0x4b57('0x17')](function(_0x459780){if(hasTZ)_0x540ac1=_0x540ac1['replace']('dialTimezone','dialTimezone,utcOffset');var _0x20c509=util['format'](_0x4b57('0x9f'),_0x49f61b,_0x1bc2c0,_0x540ac1,_0x4eba4b['ListId'],_0x4eba4b[_0x4b57('0x50')]||null,NOW,NOW);if(_[_0x4b57('0x1c')](_0x2fb43a['scheduledat'])){_0x20c509+=_0x4b57('0xa0');}_0x169d5a[_0x4b57('0x18')](_0x20c509);if(_0x4eba4b[_0x4b57('0x97')]&&_0x4eba4b[_0x4b57('0x97')][_0x4b57('0x1b')]){_0x169d5a[_0x4b57('0x18')](insertCmContact(_0x4eba4b[_0x4b57('0x2d')],_0x1bc2c0,_0x4eba4b[_0x4b57('0x97')],_0x2fb43a));_0x169d5a[_0x4b57('0x18')](_0x4b57('0xa1')+_0x1bc2c0+';');}BPromise[_0x4b57('0x9e')](_0x169d5a,handleQuery)[_0x4b57('0x17')](function(_0x385879){BPromise[_0x4b57('0x19')]([handleAdditionalPhones()])['then'](function(){_0x169d5a=[];for(var _0x26ac2e=0x0;_0x26ac2e<promisesAdditionalPhones['length'];_0x26ac2e++){if(promisesAdditionalPhones[_0x26ac2e]['phone']!='§'){_0x169d5a[_0x4b57('0x18')](createAdditionalPhone(promisesAdditionalPhones[_0x26ac2e][_0x4b57('0xa2')],promisesAdditionalPhones[_0x26ac2e][_0x4b57('0xa3')],promisesAdditionalPhones[_0x26ac2e]['phone'],promisesAdditionalPhones[_0x26ac2e][_0x4b57('0xa4')]));}}BPromise[_0x4b57('0x19')](_0x169d5a)[_0x4b57('0x17')](function(){_0x169d5a=[];if(hasTZ){_0x169d5a[_0x4b57('0x18')](insertTzCmHopper(_0x4eba4b[_0x4b57('0x2d')],_0x4b57('0xa5'),'voice_queues',_0x4b57('0xa6'),_0x1eb14c,tmp_voice_queues));_0x169d5a[_0x4b57('0x18')](insertTzCmHopperBlack(_0x4eba4b[_0x4b57('0x2d')],_0x4b57('0xa7'),_0x4b57('0x67'),_0x4b57('0xa6')));_0x169d5a['push'](insertTzCmHopper(_0x4eba4b[_0x4b57('0x2d')],_0x4b57('0x60'),'campaigns',_0x4b57('0xa8'),_0x1eb14c,tmp_campaigns));_0x169d5a[_0x4b57('0x18')](insertTzCmHopperBlack(_0x4eba4b['ListId'],'campaigns_has_cm_blacklists','campaigns',_0x4b57('0xa8')));_0x169d5a[_0x4b57('0x18')](insertCmHopperAdditionalPhones(_0x4eba4b[_0x4b57('0x2d')]));}else{_0x169d5a[_0x4b57('0x18')](insertCmHopper(_0x4eba4b[_0x4b57('0x2d')],_0x4b57('0xa5'),_0x4b57('0x67'),'VoiceQueueId',_0x1eb14c));_0x169d5a[_0x4b57('0x18')](insertCmHopperBlack(_0x4eba4b['ListId'],_0x4b57('0xa7'),_0x4b57('0x67'),_0x4b57('0xa6')));_0x169d5a['push'](insertCmHopper(_0x4eba4b[_0x4b57('0x2d')],_0x4b57('0x60'),_0x4b57('0x5f'),'CampaignId',_0x1eb14c));_0x169d5a[_0x4b57('0x18')](insertCmHopperBlack(_0x4eba4b[_0x4b57('0x2d')],_0x4b57('0xa9'),_0x4b57('0x5f'),_0x4b57('0xa8')));_0x169d5a[_0x4b57('0x18')](insertCmHopperAdditionalPhones(_0x4eba4b[_0x4b57('0x2d')]));}_0x169d5a[_0x4b57('0x18')](_0x4b57('0xa1')+tmp_campaigns+';');_0x169d5a[_0x4b57('0x18')](_0x4b57('0xa1')+tmp_voice_queues+';');BPromise[_0x4b57('0x9e')](_0x169d5a,handleQuery)[_0x4b57('0x17')](function(_0x4214b2){stats['finish']=!![];stats[_0x4b57('0xaa')]=_0x4eba4b['duplicates']&&_0x4eba4b[_0x4b57('0x97')]['length']?results[0x2][_0x4b57('0xaa')]:results[0x0][_0x4b57('0xaa')];socket[_0x4b57('0x91')]('contact:import:'+_0x1bbb54,stats);fs[_0x4b57('0xab')](_0x333c3f);fs['unlink'](_0x49f61b);process[_0x4b57('0x58')](0x0);})[_0x4b57('0x5c')](function(_0x187255){logger[_0x4b57('0x56')](_0x187255[_0x4b57('0x57')]);process[_0x4b57('0x58')](0x1);});});});})[_0x4b57('0x5c')](function(_0x40a004){logger[_0x4b57('0x56')](_0x40a004[_0x4b57('0x57')]);process[_0x4b57('0x58')](0x1);});});});});}catch(_0x4f04d8){logger[_0x4b57('0x56')](_0x4b57('0xac'),_0x4f04d8[_0x4b57('0x57')]);process['exit'](0x1);}},'error':function(_0x5b443d,_0x1dcd3d,_0x488d52,_0x5f2c0b){throw new Error(_0x5f2c0b);}});});}function validate(){if(process[_0x4b57('0xad')]&&process[_0x4b57('0xad')][_0x4b57('0x1b')]<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x644f13=path['join'](config[_0x4b57('0x73')],'server/files/tmp',process['argv'][0x2]);if(!fs['existsSync'](_0x644f13)){throw new Error(_0x4b57('0xae'));}var _0x54e8e2={};try{_0x54e8e2=JSON[_0x4b57('0x7b')](process[_0x4b57('0xad')][0x3]);if(!_0x54e8e2[_0x4b57('0x71')]){throw new Error(_0x4b57('0xaf'));}if(!_0x54e8e2[_0x4b57('0x71')]['phone']){throw new Error('phone\x20is\x20mandatory');}if(!_0x54e8e2['binding']['firstName']){throw new Error(_0x4b57('0xb0'));}var _0x1dd304=0x0;if(_0x54e8e2[_0x4b57('0x71')][_0x4b57('0x31')]){_0x1dd304=0x1;}if(!_0x54e8e2['ListId']){throw new Error(_0x4b57('0xb1'));}}catch(_0x3569ad){throw new Error('body\x20id\x20mandatory');}var _0x1b2313=[];try{_0x1b2313=_['map'](JSON[_0x4b57('0x7b')](process['argv'][0x4]),'id');}catch(_0x245a99){logger[_0x4b57('0x5a')](_0x4b57('0xb2'));}main(_0x644f13,_0x54e8e2,_0x1b2313,_0x1dd304);}validate();process['on'](_0x4b57('0xb3'),handleStop);process['on']('uncaughtException',handleUncaughtException);