Built motion from commit d1eab355.|2.6.28
[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 _0x9f53=['_description','writeFileSync','parse','data','rows','find','hasOwnProperty','trim','replace','YYYY-MM-DD\x20HH:mm:ss','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','UserId','isNumber','agent\x20not\x20exists','email\x20wrong\x20format','dateOfBirth','timezones','firstName','\x20not\x20specified','itemTypeId','description','appendFileSync','contact:import:','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','campaigns_','voice_queues_','CREATE\x20TABLE\x20','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20id\x20=\x20NULL,\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','contactTypeId','orderBy','voice_queues_has_cm_lists','VoiceQueueId','voice_queues_has_cm_blacklists','CampaignId','campaigns_has_cm_lists','campaigns_has_cm_blacklists','finish','affectedRows','emit','unlink','argv','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','path','lodash','papaparse','util','bluebird','moment','squel','ioredis','../../../mysqldb','../../../config/environment','../../../config/environment/shared','../../../config/logger','redis','socket.io-emitter','format','test','select','field','phone','from','join','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','CmContact','findAll','then','length','AdditionalPhones','split','push','isNil','CmContactHasItem','findOne','update','create','inserted','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.updatedAt','cm_contacts.UserId','insert','into','cm_hopper','fromQuery','scheduledat','ContactId','ListId','createdAt','updatedAt','priority','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','\x22onlyIfOpen\x22','\x22always\x22','toString','cm_contacts.createdAt','cm_hopper_black','fields','cm_contacts.phone\x20NOT\x20IN\x20(?)','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.priority','recallme','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','keys','CompanyId','scheduledAt',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','min_id','group','info','Received\x20SIGINT','error','message','exit','errors','code','sequelize','query','spread','catch','campaigns.id','campaigns.dialTimezone','campaigns','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','all','voice_queues.dialTimezone','voice_queues','voice_queues_has_cm_lists.CmListId=','dialTimezone','utcOffset','set','offset','main','stringify','send','start','binding','clone','socket_timestamp','root','server/files/tmp','.csv','includes','header','ContactItemType','name'];(function(_0x3b885c,_0x447fa1){var _0x19e7d1=function(_0x519a87){while(--_0x519a87){_0x3b885c['push'](_0x3b885c['shift']());}};_0x19e7d1(++_0x447fa1);}(_0x9f53,0x1b3));var _0x39f5=function(_0xe6cce9,_0x4b82c6){_0xe6cce9=_0xe6cce9-0x0;var _0x312ca9=_0x9f53[_0xe6cce9];return _0x312ca9;};'use strict';var fs=require('fs');var path=require(_0x39f5('0x0'));var _=require(_0x39f5('0x1'));var Papa=require(_0x39f5('0x2'));var util=require(_0x39f5('0x3'));var BPromise=require(_0x39f5('0x4'));var moment=require(_0x39f5('0x5'));var squel=require(_0x39f5('0x6'));var Redis=require(_0x39f5('0x7'));var db=require(_0x39f5('0x8'))['db'];var config=require(_0x39f5('0x9'));var shared=require(_0x39f5('0xa'));var logger=require(_0x39f5('0xb'))('import');config[_0x39f5('0xc')]=_['defaults'](config[_0x39f5('0xc')],{'host':'localhost','port':0x18eb});var socket=require(_0x39f5('0xd'))(new Redis(config[_0x39f5('0xc')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0x39f5('0xe')]('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()[_0x39f5('0xe')]('YYYY-MM-DD\x20HH:mm:ss');function isEmail(_0x40be9b){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))*$/[_0x39f5('0xf')](_0x40be9b);}function selectNotIn(_0x312b50,_0x2407a7,_0x1cb02c,_0x19191d,_0x2c0430){return squel[_0x39f5('0x10')]()[_0x39f5('0x11')](_0x39f5('0x12'))[_0x39f5('0x13')](_0x19191d)[_0x39f5('0x14')](_0x2407a7,null,_0x2407a7+_0x39f5('0x15')+_0x19191d+'.'+_0x1cb02c)[_0x39f5('0x16')](_0x19191d+'.'+_0x1cb02c+_0x39f5('0x17')+_0x312b50+'.'+_0x1cb02c)[_0x39f5('0x16')](_0x2407a7+_0x39f5('0x18')+_0x2c0430[_0x39f5('0x14')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0xd1d994,_0x4cafd4){promisesAdditionalPhones=[];return db[_0x39f5('0x19')][_0x39f5('0x1a')]({'raw':!![],'attributes':['id','AdditionalPhones'],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x39f5('0x1b')](function(_0x2f4be7){if(_0x2f4be7!==null){var _0x421960=[];for(var _0x42c3e7=0x0;_0x42c3e7<_0x2f4be7[_0x39f5('0x1c')];_0x42c3e7++){var _0x2cf113=_0x2f4be7[_0x42c3e7];_0x421960['push'](insertAdditionalPhones(_0x2cf113));}}Promise['all'](_0x421960)['then'](function(){_0xd1d994({'val':0x1});});});});}function insertAdditionalPhones(_0x84fa66){return new Promise(function(_0x14b576,_0x424394){var _0x3696d6=_0x84fa66[_0x39f5('0x1d')];var _0x123684=_0x3696d6[_0x39f5('0x1e')](';');var _0x24646e=[];orderBy=0x0;for(var _0x2d43ee=0x0;_0x2d43ee<_0x123684[_0x39f5('0x1c')];_0x2d43ee++){_0x24646e[_0x39f5('0x1f')](splitAdditionalPhone(_0x84fa66['id'],_0x123684[_0x2d43ee]));}Promise['all'](_0x24646e)['then'](function(){_0x14b576({'val':_0x123684['length']});});});}function splitAdditionalPhone(_0x59016e,_0x35da4d){return new Promise(function(_0x56c534,_0x15a05f){var _0x1dd2a1=_0x35da4d[_0x39f5('0x1e')](':');var _0x4e2a28=_0x1dd2a1[0x0];var _0x42756c=_0x1dd2a1[0x1];if(!_[_0x39f5('0x20')](_0x42756c)){var _0x42490a=_0x42756c[_0x39f5('0x1e')]('|');var _0x26fa05=[];for(var _0x46e981=0x0;_0x46e981<_0x42490a['length'];_0x46e981++){if(_0x42490a[_0x46e981]!==''){var _0x2e0dc1=_['filter'](promisesAdditionalPhones,{'contactId':_0x59016e,'phone':_0x42490a[_0x46e981]});if(_0x2e0dc1[_0x39f5('0x1c')]==0x0){orderBy++;promisesAdditionalPhones[_0x39f5('0x1f')]({'contactId':_0x59016e,'contactTypeId':_0x4e2a28,'phone':_0x42490a[_0x46e981],'orderBy':orderBy});}}}_0x56c534({'ok':0x1});}else _0x56c534({'res':0x0});});}function createAdditionalPhone(_0x5f268b,_0x5e9396,_0xc6b61c,_0x1e1138){var _0x2651d6='';var _0x1cfe3d='';var _0x48b91c=_0xc6b61c[_0x39f5('0x1e')]('§');_0x2651d6=_0x48b91c[0x0];if(_0x48b91c[_0x39f5('0x1c')]==0x2)_0x1cfe3d=_0x48b91c[0x1];return new Promise(function(_0x4dd1eb,_0x102df8){return db[_0x39f5('0x21')][_0x39f5('0x22')]({'where':{'CmContactId':_0x5f268b,'item':_0x2651d6}})[_0x39f5('0x1b')](function(_0x18c9ef){if(_0x18c9ef){return db[_0x39f5('0x21')][_0x39f5('0x23')]({'ItemTypeId':_0x5e9396,'description':_0x1cfe3d,'OrderBy':_0x1e1138},{'where':{'CmContactId':_0x5f268b,'item':_0x2651d6}})['then'](function(_0x59d7c2){_0x4dd1eb({'res':'updated'});});}else{return db[_0x39f5('0x21')][_0x39f5('0x24')]({'CmContactId':_0x5f268b,'item':_0x2651d6,'description':_0x1cfe3d,'ItemTypeId':_0x5e9396,'OrderBy':_0x1e1138,'ItemClass':'PHONE'})[_0x39f5('0x1b')](function(_0x3507f1){_0x4dd1eb({'res':_0x39f5('0x25')});});}});});}function insertCmHopper(_0x16ed61,_0x3de883,_0x24a434,_0x11ed77,_0x1ebb33){var _0x33ac30=[_0x39f5('0x26'),_0x39f5('0x27'),_0x39f5('0x28'),_0x39f5('0x29'),_0x3de883+'.'+_0x11ed77,'cm_contacts.createdAt',_0x39f5('0x2a'),'cm_contacts.priority',_0x39f5('0x2b'),'\x22'+_0x1ebb33+'\x22'];return squel[_0x39f5('0x2c')]()[_0x39f5('0x2d')](_0x39f5('0x2e'))[_0x39f5('0x2f')]([_0x39f5('0x12'),_0x39f5('0x30'),_0x39f5('0x31'),_0x39f5('0x32'),_0x11ed77,_0x39f5('0x33'),_0x39f5('0x34'),_0x39f5('0x35'),'UserId','recallme'],squel[_0x39f5('0x10')]()['fields'](_0x33ac30)[_0x39f5('0x13')](_0x3de883)[_0x39f5('0x14')](_0x39f5('0x36'),null,_0x39f5('0x37')+_0x3de883+_0x39f5('0x38'))['join'](_0x24a434,null,_0x24a434+_0x39f5('0x15')+_0x3de883+'.'+_0x11ed77)[_0x39f5('0x16')](_0x3de883+_0x39f5('0x39'),_0x16ed61)['where'](_0x39f5('0x3a'),NOW)[_0x39f5('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x3de883,_0x24a434,_0x11ed77,_0x39f5('0x2e'),['\x22always\x22',_0x39f5('0x3b')]))[_0x39f5('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x3de883,_0x24a434,_0x11ed77,_0x39f5('0x2e'),[_0x39f5('0x3c')])))[_0x39f5('0x3d')]();}function insertCmHopperBlack(_0x58c53e,_0x178d71,_0x37e773,_0x25aa49){var _0x4381c3=['cm_contacts.phone',_0x39f5('0x28'),'cm_contacts.ListId',_0x178d71+'.'+_0x25aa49,_0x39f5('0x3e'),_0x39f5('0x2a')];return squel[_0x39f5('0x2c')]()[_0x39f5('0x2d')](_0x39f5('0x3f'))[_0x39f5('0x2f')]([_0x39f5('0x12'),_0x39f5('0x31'),_0x39f5('0x32'),_0x25aa49,_0x39f5('0x33'),_0x39f5('0x34')],squel['select']()[_0x39f5('0x40')](_0x4381c3)[_0x39f5('0x13')](_0x178d71)[_0x39f5('0x14')]('cm_contacts',null,_0x39f5('0x37')+_0x178d71+_0x39f5('0x38'))[_0x39f5('0x14')](_0x37e773,null,_0x37e773+_0x39f5('0x15')+_0x178d71+'.'+_0x25aa49)[_0x39f5('0x16')](_0x178d71+_0x39f5('0x39'),_0x58c53e)[_0x39f5('0x16')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x39f5('0x16')](_0x39f5('0x41'),squel[_0x39f5('0x10')]()[_0x39f5('0x11')](_0x39f5('0x12'))[_0x39f5('0x13')](_0x39f5('0x3f'))[_0x39f5('0x16')](_0x39f5('0x42'),_0x58c53e)[_0x39f5('0x16')](_0x25aa49+_0x39f5('0x17')+_0x178d71+'.'+_0x25aa49)))[_0x39f5('0x3d')]();}function insertTzCmHopper(_0x7c54da,_0x105a3e,_0x47c3e6,_0x24f3dc,_0x42ece0,_0x18ae74){var _0x3b8523=['cm_contacts.phone',_0x39f5('0x43')+_0x18ae74+_0x39f5('0x44'),_0x39f5('0x28'),_0x39f5('0x29'),_0x105a3e+'.'+_0x24f3dc,_0x39f5('0x3e'),_0x39f5('0x2a'),_0x39f5('0x45'),_0x39f5('0x2b'),'\x22'+_0x42ece0+'\x22'];var _0x674be8=squel[_0x39f5('0x2c')]()[_0x39f5('0x2d')](_0x39f5('0x2e'))[_0x39f5('0x2f')]([_0x39f5('0x12'),_0x39f5('0x30'),_0x39f5('0x31'),'ListId',_0x24f3dc,_0x39f5('0x33'),_0x39f5('0x34'),_0x39f5('0x35'),'UserId',_0x39f5('0x46')],squel[_0x39f5('0x10')]()[_0x39f5('0x40')](_0x3b8523)['from'](_0x105a3e)[_0x39f5('0x14')]('cm_contacts',null,_0x39f5('0x37')+_0x105a3e+_0x39f5('0x38'))[_0x39f5('0x14')](_0x47c3e6,null,_0x47c3e6+_0x39f5('0x15')+_0x105a3e+'.'+_0x24f3dc)[_0x39f5('0x14')](_0x18ae74,null,_0x18ae74+_0x39f5('0x15')+_0x105a3e+'.'+_0x24f3dc)[_0x39f5('0x16')](_0x105a3e+_0x39f5('0x39'),_0x7c54da)['where'](_0x39f5('0x3a'),NOW)[_0x39f5('0x16')](_0x39f5('0x41'),selectNotIn(_0x105a3e,_0x47c3e6,_0x24f3dc,_0x39f5('0x2e'),[_0x39f5('0x3c'),_0x39f5('0x3b')]))[_0x39f5('0x16')](_0x39f5('0x41'),selectNotIn(_0x105a3e,_0x47c3e6,_0x24f3dc,'cm_hopper',[_0x39f5('0x3c')])))[_0x39f5('0x3d')]();return _0x674be8;}function insertTzCmHopperBlack(_0x5a85ee,_0x57646e,_0x446b1d,_0x5e81cc){var _0x2d43b9=[_0x39f5('0x26'),_0x39f5('0x28'),_0x39f5('0x29'),_0x57646e+'.'+_0x5e81cc,_0x39f5('0x3e'),_0x39f5('0x2a')];return squel['insert']()[_0x39f5('0x2d')]('cm_hopper_black')['fromQuery'](['phone',_0x39f5('0x31'),_0x39f5('0x32'),_0x5e81cc,_0x39f5('0x33'),'updatedAt'],squel[_0x39f5('0x10')]()['fields'](_0x2d43b9)[_0x39f5('0x13')](_0x57646e)[_0x39f5('0x14')](_0x39f5('0x36'),null,_0x39f5('0x37')+_0x57646e+'.CmListId')['join'](_0x446b1d,null,_0x446b1d+'.id\x20=\x20'+_0x57646e+'.'+_0x5e81cc)[_0x39f5('0x16')](_0x57646e+'.CmListId\x20=\x20?',_0x5a85ee)[_0x39f5('0x16')](_0x39f5('0x3a'),NOW)[_0x39f5('0x16')](_0x39f5('0x41'),squel[_0x39f5('0x10')]()[_0x39f5('0x11')]('phone')[_0x39f5('0x13')](_0x39f5('0x3f'))[_0x39f5('0x16')](_0x39f5('0x42'),_0x5a85ee)[_0x39f5('0x16')](_0x5e81cc+_0x39f5('0x17')+_0x57646e+'.'+_0x5e81cc)))[_0x39f5('0x3d')]();}function insertCmHopperAdditionalPhones(_0x384a72){var _0x5c6196=[_0x39f5('0x47'),_0x39f5('0x48'),_0x39f5('0x49'),_0x39f5('0x4a'),_0x39f5('0x4b')];return squel['insert']()[_0x39f5('0x2d')](_0x39f5('0x4c'))[_0x39f5('0x2f')](['CmHopperId',_0x39f5('0x12'),'OrderBy',_0x39f5('0x33'),_0x39f5('0x34')],squel[_0x39f5('0x10')]()[_0x39f5('0x40')](_0x5c6196)[_0x39f5('0x13')](_0x39f5('0x2e'))[_0x39f5('0x14')]('cm_contacts',null,_0x39f5('0x4d'))['join'](_0x39f5('0x4e'),null,_0x39f5('0x4f'))['where'](_0x39f5('0x50'),_0x384a72)[_0x39f5('0x16')](_0x39f5('0x3a'),NOW))[_0x39f5('0x3d')]();}function insertCmContact(_0x401d69,_0x5ee8dc,_0x39f54c,_0x8ef9a0){var _0x344abb=_[_0x39f5('0x51')](_[_0x39f5('0x52')](_0x8ef9a0),[_0x39f5('0x32'),_0x39f5('0x53'),_0x39f5('0x33'),_0x39f5('0x34'),_0x39f5('0x54')]);return squel[_0x39f5('0x2c')]()['into'](_0x39f5('0x36'))['fromQuery'](_0x344abb,squel['select']()[_0x39f5('0x40')](_0x344abb)[_0x39f5('0x13')](_0x5ee8dc)[_0x39f5('0x16')]('('+_0x39f54c[_0x39f5('0x14')](',')+_0x39f5('0x55'),squel[_0x39f5('0x10')]()['fields'](_0x39f54c)[_0x39f5('0x13')](_0x39f5('0x36'))['where'](_0x39f5('0x42'),_0x401d69)[_0x39f5('0x16')](_0x39f5('0x56')))[_0x39f5('0x16')](_0x39f5('0x57'),squel[_0x39f5('0x10')]()['field'](_0x39f5('0x58'),_0x39f5('0x59'))[_0x39f5('0x13')](_0x5ee8dc)[_0x39f5('0x5a')](_0x39f54c[_0x39f5('0x14')](','))))['toString']();}function handleStop(){logger[_0x39f5('0x5b')](_0x39f5('0x5c'));stopped=!![];}function handleUncaughtException(_0x22ba6c){logger[_0x39f5('0x5d')](_0x22ba6c[_0x39f5('0x5e')]);process[_0x39f5('0x5f')](0x1);}function handleError(_0x200b8b,_0x39231d){stats[_0x39f5('0x60')][_0x39f5('0x1f')]({'name':_0x39231d[_0x39f5('0x61')],'message':_0x39231d[_0x39f5('0x5e')],'row':_0x200b8b});}function handleQuery(_0x1ff9c9){logger['info'](_0x1ff9c9);return db[_0x39f5('0x62')][_0x39f5('0x63')](_0x1ff9c9)[_0x39f5('0x64')](function(_0x2aba46){results[_0x39f5('0x1f')](_0x2aba46);})[_0x39f5('0x65')](function(_0x34cc54){logger[_0x39f5('0x5d')](_0x34cc54[_0x39f5('0x5e')]);});}function updateTzCampaigns(_0x2eea48){return new Promise(function(_0x4178d4,_0x335433){var _0x1a9949=squel['select']()[_0x39f5('0x40')]([_0x39f5('0x66'),_0x39f5('0x67')])[_0x39f5('0x13')](_0x39f5('0x68'))[_0x39f5('0x14')]('campaigns_has_cm_lists',null,_0x39f5('0x69'))[_0x39f5('0x16')](_0x39f5('0x6a')+_0x2eea48);db[_0x39f5('0x62')]['query'](_0x1a9949[_0x39f5('0x3d')]())[_0x39f5('0x64')](function(_0x460f76){var _0x557939=[];for(var _0x3a17dc=0x0;_0x3a17dc<_0x460f76[_0x39f5('0x1c')];_0x3a17dc++){_0x557939[_0x39f5('0x1f')](getTimezoneData(_0x460f76[_0x3a17dc],tmp_campaigns));}BPromise[_0x39f5('0x6b')](_0x557939)['then'](function(){_0x4178d4({'val':0x1});});})['catch'](function(_0x3b4912){logger['error'](_0x3b4912['message']);_0x4178d4({'val':0x0});});});}function updateTzVoiceQueues(_0x500689){return new Promise(function(_0x1cf77d,_0x3c5724){var _0x165e98=squel['select']()[_0x39f5('0x40')](['voice_queues.id',_0x39f5('0x6c')])[_0x39f5('0x13')](_0x39f5('0x6d'))[_0x39f5('0x14')]('voice_queues_has_cm_lists',null,'voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId')[_0x39f5('0x16')](_0x39f5('0x6e')+_0x500689);db[_0x39f5('0x62')][_0x39f5('0x63')](_0x165e98[_0x39f5('0x3d')]())[_0x39f5('0x64')](function(_0x401578){var _0x25afcb=[];for(var _0x1639f4=0x0;_0x1639f4<_0x401578['length'];_0x1639f4++){_0x25afcb['push'](getTimezoneData(_0x401578[_0x1639f4],tmp_voice_queues));}BPromise[_0x39f5('0x6b')](_0x25afcb)[_0x39f5('0x1b')](function(){_0x1cf77d({'val':0x1});});})[_0x39f5('0x65')](function(_0x1d9146){logger[_0x39f5('0x5d')](_0x1d9146['message']);_0x1cf77d({'val':0x0});});});}function getTimezoneData(_0x38ba97,_0x4c588a){return new Promise(function(_0x274365,_0x532862){var _0x2dd37c=shared['timezones'];var _0x56e56f=_0x2dd37c[_0x38ba97[_0x39f5('0x6f')]];if(_[_0x39f5('0x20')](_0x56e56f)){_0x274365({'ret':0x1});}else{var _0x2cf328=_0x56e56f[_0x39f5('0x70')];var _0x23ad9d=squel[_0x39f5('0x2c')]()[_0x39f5('0x2d')](_0x4c588a)['set']('id',_0x38ba97['id'])[_0x39f5('0x71')](_0x39f5('0x72'),_0x2cf328)[_0x39f5('0x71')](_0x39f5('0x6f'),_0x38ba97[_0x39f5('0x6f')])[_0x39f5('0x3d')]();return db['sequelize'][_0x39f5('0x63')](_0x23ad9d)[_0x39f5('0x64')](function(_0x3181e4){_0x274365({'ret':0x1});})[_0x39f5('0x65')](function(_0x445a41){logger[_0x39f5('0x5d')](_0x445a41[_0x39f5('0x5e')]);_0x532862({'ret':0x1});});}});}function handleTZQuery(_0x2455aa){logger[_0x39f5('0x5b')](_0x2455aa);return db[_0x39f5('0x62')][_0x39f5('0x63')](_0x2455aa)[_0x39f5('0x64')](function(_0x12df02){})[_0x39f5('0x65')](function(_0x293ced){logger[_0x39f5('0x5d')](_0x293ced[_0x39f5('0x5e')]);});}function main(_0x194f51,_0x533ccf,_0x4a8b96,_0x260d2c){logger[_0x39f5('0x5b')](_0x39f5('0x73'),_0x194f51,JSON[_0x39f5('0x74')](_0x533ccf));process[_0x39f5('0x75')](_0x39f5('0x76'));var _0x4dc055=_0x533ccf[_0x39f5('0x77')];var _0x4ee89d=_[_0x39f5('0x78')](_0x4dc055);var _0x3d1b7f=_0x533ccf[_0x39f5('0x79')];var _0x377c2f=path[_0x39f5('0x14')](config[_0x39f5('0x7a')],_0x39f5('0x7b'),_0x3d1b7f+_0x39f5('0x7c'));hasTZ=_[_0x39f5('0x52')](_0x4dc055)[_0x39f5('0x7d')](_0x39f5('0x6f'));var _0x2df62a=_['keys'](_0x4dc055)['join']();logger[_0x39f5('0x5b')](_0x39f5('0x7e'),_0x2df62a);db[_0x39f5('0x7f')][_0x39f5('0x1a')]({'raw':!![],'attributes':['id','name']})[_0x39f5('0x1b')](function(_0x1f69a9){for(var _0x33aa3d=0x0;_0x33aa3d<_0x1f69a9['length'];_0x33aa3d++){if(_0x1f69a9[_0x33aa3d][_0x39f5('0x80')]in _0x4dc055){contactItemTypes['push'](_0x1f69a9[_0x33aa3d]);delete _0x4ee89d[_0x1f69a9[_0x33aa3d][_0x39f5('0x80')]];hasAdditionalPhones=!![];}for(var _0x17dffc in _0x4dc055){if(_0x1f69a9[_0x33aa3d][_0x39f5('0x80')]+_0x39f5('0x81')===_0x17dffc){phoneDescriptions['push']({'itemTypeId':_0x1f69a9[_0x33aa3d]['id'],'description':_0x17dffc});delete _0x4ee89d[_0x17dffc];}}}if(hasAdditionalPhones)_0x4ee89d[_0x39f5('0x1d')]='';var _0x153f05=_[_0x39f5('0x52')](_0x4ee89d)['join']();logger[_0x39f5('0x5b')](_0x39f5('0x7e'),_0x153f05);fs[_0x39f5('0x82')](_0x377c2f,_0x153f05+'\x0a');Papa[_0x39f5('0x83')](fs['createReadStream'](_0x194f51),{'header':!![],'skipEmptyLines':!![],'step':function(_0x5ea938,_0x433404){try{for(var _0x1f70b5=0x0,_0x5a78c8=[];_0x1f70b5<_0x5ea938[_0x39f5('0x84')]['length'];_0x1f70b5++){stats[_0x39f5('0x85')]+=0x1;if(_0x5ea938['errors'][_0x1f70b5]){handleError(_0x5ea938[_0x39f5('0x84')][_0x1f70b5],_0x5ea938[_0x39f5('0x60')][_0x1f70b5]);}else{var _0x3a609a=[];var _0x274f9b=[];var _0x53decf={};for(var _0x403f6f in _0x4dc055){let _0x5b1c7f=contactItemTypes['find'](_0x3536a3=>_0x3536a3[_0x39f5('0x80')]===_0x403f6f);let _0x4b1642=contactItemTypes[_0x39f5('0x86')](_0x3b487c=>_0x3b487c[_0x39f5('0x80')]+'_description'===_0x403f6f);if(_[_0x39f5('0x20')](_0x5b1c7f)&&_[_0x39f5('0x20')](_0x4b1642)){if(_0x4dc055[_0x39f5('0x87')](_0x403f6f)){if(_0x5ea938[_0x39f5('0x84')][_0x1f70b5][_0x4dc055[_0x403f6f]]){var _0x51745=_[_0x39f5('0x88')](_0x5ea938[_0x39f5('0x84')][_0x1f70b5][_0x4dc055[_0x403f6f]][_0x39f5('0x89')](/"/g,'\x27'));switch(_0x403f6f){case'scheduledat':var _0xb55bc0=moment(_0x51745,_0x39f5('0x8a'),!![]);if(_0xb55bc0[_0x39f5('0x8b')]()){_0x5a78c8[_0x39f5('0x1f')]('\x22'+_0x51745+'\x22');}else{_0x3a609a[_0x39f5('0x1f')](_0x39f5('0x8c'));}break;case'priority':var _0x51883b=parseInt(_0x51745);_0x51745=_[_0x39f5('0x8d')](_0x51883b)||_0x51883b<0x0||_0x51883b>0x4?_0x260d2c?0x3:0x2:_0x51883b;_0x5a78c8[_0x39f5('0x1f')]('\x22'+_0x51745+'\x22');break;case _0x39f5('0x8e'):var _0x249f20=parseInt(_0x51745);if(_[_0x39f5('0x8f')](_0x249f20)&&_['includes'](_0x4a8b96,_0x249f20)){_0x5a78c8['push']('\x22'+_0x249f20+'\x22');}else{_0x3a609a['push'](_0x39f5('0x90'));}break;case'email':if(isEmail(_0x51745)){_0x5a78c8[_0x39f5('0x1f')]('\x22'+_0x51745+'\x22');}else{_0x3a609a[_0x39f5('0x1f')](_0x39f5('0x91'));}break;case _0x39f5('0x92'):var _0x58d52f=moment(_0x51745,'YYYY-MM-DD',!![]);if(_0x58d52f[_0x39f5('0x8b')]()){_0x5a78c8[_0x39f5('0x1f')]('\x22'+_0x51745+'\x22');}else{_0x3a609a[_0x39f5('0x1f')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;case _0x39f5('0x6f'):var _0x19a40b=shared[_0x39f5('0x93')];var _0x583fdf=_0x19a40b[_0x51745];if(!_[_0x39f5('0x20')](_0x583fdf)){var _0xae7287=_0x583fdf[_0x39f5('0x70')];_0x5a78c8['push']('\x22'+_0x51745+'\x22');_0x5a78c8[_0x39f5('0x1f')]('\x22'+_0xae7287+'\x22');}break;default:_0x5a78c8[_0x39f5('0x1f')]('\x22'+_0x51745+'\x22');}}else{switch(_0x403f6f){case _0x39f5('0x94'):case _0x39f5('0x12'):_0x3a609a[_0x39f5('0x1f')](_0x403f6f+_0x39f5('0x95'));break;default:_0x5a78c8[_0x39f5('0x1f')]('\x22\x22');}}}}else{var _0x3e1ca3='';if(!_[_0x39f5('0x20')](_0x5b1c7f)){if(!_0x53decf[_0x39f5('0x87')](_0x5b1c7f['id'])){if(!_['isNil'](_0x5ea938['data'][_0x1f70b5][_0x4dc055[_0x403f6f]])){var _0x51745=_[_0x39f5('0x88')](_0x5ea938[_0x39f5('0x84')][_0x1f70b5][_0x4dc055[_0x403f6f]][_0x39f5('0x89')](/"/g,'\x27'));var _0x26cf81=phoneDescriptions[_0x39f5('0x86')](_0x171e68=>_0x171e68[_0x39f5('0x96')]===_0x5b1c7f['id']);if(!_[_0x39f5('0x20')](_0x26cf81)){var _0x47701a=_['trim'](_0x5ea938[_0x39f5('0x84')][_0x1f70b5][_0x4dc055[_0x26cf81[_0x39f5('0x97')]]][_0x39f5('0x89')](/"/g,'\x27'));if(!_[_0x39f5('0x20')](_0x47701a))_0x51745=_0x51745+'§'+_0x47701a;}if(_0x3e1ca3=='')_0x3e1ca3=_0x51745;else _0x3e1ca3+='|'+_0x51745;}_0x274f9b[_0x39f5('0x1f')](_0x5b1c7f['id']+':'+_0x3e1ca3);_0x53decf[_0x5b1c7f['id']]=0x1;}}}}if(hasAdditionalPhones){_0x5a78c8['push']('\x22'+_0x274f9b['join'](';')+'\x22');}if(_0x3a609a[_0x39f5('0x1c')]){handleError(_0x5ea938[_0x39f5('0x84')][_0x1f70b5],{'code':'SystemRow','message':_0x3a609a['join']()});}else{fs[_0x39f5('0x98')](_0x377c2f,_0x5a78c8['join']()+'\x0a');}_0x5a78c8=[];}if(!(stats[_0x39f5('0x85')]%0xc8)){socket['emit'](_0x39f5('0x99')+_0x3d1b7f,stats);stats['errors']=[];}}if(stopped){logger['info'](_0x39f5('0x9a'));_0x433404[_0x39f5('0x9b')]();}}catch(_0x35cd77){handleError(_0x5ea938[_0x39f5('0x84')][_0x1f70b5],{'code':_0x39f5('0x9c'),'message':_0x35cd77[_0x39f5('0x5e')]});logger['error'](_0x39f5('0x9d'),_0x35cd77['message']);}},'complete':function(){try{var _0x19a740=[];var _0x32a2a8=[];var _0x2acdb3='cm_contacts';if(_0x533ccf[_0x39f5('0x9e')]&&_0x533ccf['duplicates']['length']){_0x2acdb3=_0x39f5('0x9f')+_0x3d1b7f;_0x19a740[_0x39f5('0x1f')]('CREATE\x20TABLE\x20'+_0x2acdb3+'\x20LIKE\x20cm_contacts;');}tmp_campaigns=_0x39f5('0xa0')+_0x3d1b7f;tmp_voice_queues=_0x39f5('0xa1')+_0x3d1b7f;_0x32a2a8['push'](_0x39f5('0xa2')+tmp_campaigns+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');_0x32a2a8[_0x39f5('0x1f')](_0x39f5('0xa2')+tmp_voice_queues+_0x39f5('0xa3'));BPromise[_0x39f5('0xa4')](_0x32a2a8,handleTZQuery)[_0x39f5('0x1b')](function(_0x121cac){updateTzCampaigns(_0x533ccf['ListId'])[_0x39f5('0x1b')](function(_0x356443){updateTzVoiceQueues(_0x533ccf[_0x39f5('0x32')])['then'](function(_0x4f0893){if(hasTZ)_0x153f05=_0x153f05[_0x39f5('0x89')](_0x39f5('0x6f'),'dialTimezone,utcOffset');var _0x3432b3=util[_0x39f5('0xe')](_0x39f5('0xa5'),_0x377c2f,_0x2acdb3,_0x153f05,_0x533ccf[_0x39f5('0x32')],_0x533ccf[_0x39f5('0x53')]||null,NOW,NOW);if(_['isNil'](_0x4dc055[_0x39f5('0x30')])){_0x3432b3+=_0x39f5('0xa6');}_0x19a740[_0x39f5('0x1f')](_0x3432b3);if(_0x533ccf[_0x39f5('0x9e')]&&_0x533ccf[_0x39f5('0x9e')][_0x39f5('0x1c')]){_0x19a740[_0x39f5('0x1f')](insertCmContact(_0x533ccf[_0x39f5('0x32')],_0x2acdb3,_0x533ccf['duplicates'],_0x4dc055));_0x19a740[_0x39f5('0x1f')](_0x39f5('0xa7')+_0x2acdb3+';');}BPromise[_0x39f5('0xa4')](_0x19a740,handleQuery)[_0x39f5('0x1b')](function(_0x45ec52){BPromise[_0x39f5('0x6b')]([handleAdditionalPhones()])[_0x39f5('0x1b')](function(){_0x19a740=[];for(var _0xb3d4ed=0x0;_0xb3d4ed<promisesAdditionalPhones[_0x39f5('0x1c')];_0xb3d4ed++){if(promisesAdditionalPhones[_0xb3d4ed][_0x39f5('0x12')]!='§'){_0x19a740[_0x39f5('0x1f')](createAdditionalPhone(promisesAdditionalPhones[_0xb3d4ed]['contactId'],promisesAdditionalPhones[_0xb3d4ed][_0x39f5('0xa8')],promisesAdditionalPhones[_0xb3d4ed][_0x39f5('0x12')],promisesAdditionalPhones[_0xb3d4ed][_0x39f5('0xa9')]));}}BPromise[_0x39f5('0x6b')](_0x19a740)[_0x39f5('0x1b')](function(){_0x19a740=[];if(hasTZ){_0x19a740[_0x39f5('0x1f')](insertTzCmHopper(_0x533ccf[_0x39f5('0x32')],_0x39f5('0xaa'),_0x39f5('0x6d'),_0x39f5('0xab'),_0x260d2c,tmp_voice_queues));_0x19a740[_0x39f5('0x1f')](insertTzCmHopperBlack(_0x533ccf[_0x39f5('0x32')],_0x39f5('0xac'),'voice_queues',_0x39f5('0xab')));_0x19a740[_0x39f5('0x1f')](insertTzCmHopper(_0x533ccf[_0x39f5('0x32')],'campaigns_has_cm_lists',_0x39f5('0x68'),_0x39f5('0xad'),_0x260d2c,tmp_campaigns));_0x19a740[_0x39f5('0x1f')](insertTzCmHopperBlack(_0x533ccf[_0x39f5('0x32')],'campaigns_has_cm_blacklists',_0x39f5('0x68'),_0x39f5('0xad')));_0x19a740[_0x39f5('0x1f')](insertCmHopperAdditionalPhones(_0x533ccf[_0x39f5('0x32')]));}else{_0x19a740[_0x39f5('0x1f')](insertCmHopper(_0x533ccf[_0x39f5('0x32')],_0x39f5('0xaa'),_0x39f5('0x6d'),_0x39f5('0xab'),_0x260d2c));_0x19a740[_0x39f5('0x1f')](insertCmHopperBlack(_0x533ccf['ListId'],_0x39f5('0xac'),_0x39f5('0x6d'),_0x39f5('0xab')));_0x19a740[_0x39f5('0x1f')](insertCmHopper(_0x533ccf[_0x39f5('0x32')],_0x39f5('0xae'),'campaigns',_0x39f5('0xad'),_0x260d2c));_0x19a740['push'](insertCmHopperBlack(_0x533ccf[_0x39f5('0x32')],_0x39f5('0xaf'),'campaigns',_0x39f5('0xad')));_0x19a740['push'](insertCmHopperAdditionalPhones(_0x533ccf['ListId']));}_0x19a740[_0x39f5('0x1f')]('DROP\x20TABLE\x20'+tmp_campaigns+';');_0x19a740[_0x39f5('0x1f')](_0x39f5('0xa7')+tmp_voice_queues+';');BPromise[_0x39f5('0xa4')](_0x19a740,handleQuery)['then'](function(_0x4a07f4){stats[_0x39f5('0xb0')]=!![];stats[_0x39f5('0xb1')]=_0x533ccf[_0x39f5('0x9e')]&&_0x533ccf[_0x39f5('0x9e')][_0x39f5('0x1c')]?results[0x2][_0x39f5('0xb1')]:results[0x0][_0x39f5('0xb1')];socket[_0x39f5('0xb2')](_0x39f5('0x99')+_0x3d1b7f,stats);fs[_0x39f5('0xb3')](_0x194f51);fs[_0x39f5('0xb3')](_0x377c2f);process[_0x39f5('0x5f')](0x0);})['catch'](function(_0x356293){logger[_0x39f5('0x5d')](_0x356293[_0x39f5('0x5e')]);process[_0x39f5('0x5f')](0x1);});});});})[_0x39f5('0x65')](function(_0x5587e4){logger['error'](_0x5587e4[_0x39f5('0x5e')]);process['exit'](0x1);});});});});}catch(_0x23b54a){logger['error']('complete',_0x23b54a[_0x39f5('0x5e')]);process['exit'](0x1);}},'error':function(_0x393d0,_0x25ae1c,_0x1159c4,_0x23d9f5){throw new Error(_0x23d9f5);}});});}function validate(){if(process[_0x39f5('0xb4')]&&process[_0x39f5('0xb4')][_0x39f5('0x1c')]<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x28c7e3=path[_0x39f5('0x14')](config[_0x39f5('0x7a')],_0x39f5('0x7b'),process['argv'][0x2]);if(!fs['existsSync'](_0x28c7e3)){throw new Error('file\x20doesn\x27t\x20exists');}var _0x16bb47={};try{_0x16bb47=JSON[_0x39f5('0x83')](process['argv'][0x3]);if(!_0x16bb47[_0x39f5('0x77')]){throw new Error(_0x39f5('0xb5'));}if(!_0x16bb47['binding']['phone']){throw new Error(_0x39f5('0xb6'));}if(!_0x16bb47['binding'][_0x39f5('0x94')]){throw new Error(_0x39f5('0xb7'));}var _0x45b96a=0x0;if(_0x16bb47[_0x39f5('0x77')][_0x39f5('0x8e')]){_0x45b96a=0x1;}if(!_0x16bb47[_0x39f5('0x32')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x5578a2){throw new Error(_0x39f5('0xb8'));}var _0x5a2d6a=[];try{_0x5a2d6a=_[_0x39f5('0xb9')](JSON[_0x39f5('0x83')](process[_0x39f5('0xb4')][0x4]),'id');}catch(_0x370c96){logger[_0x39f5('0x5b')](_0x39f5('0xba'));}main(_0x28c7e3,_0x16bb47,_0x5a2d6a,_0x45b96a);}validate();process['on'](_0x39f5('0xbb'),handleStop);process['on']('uncaughtException',handleUncaughtException);