Built motion from commit b5996064.|2.6.21
[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 _0x6274=['\x22always\x22','toString','cm_contacts','cm_contacts.createdAt\x20=\x20?','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.UserId','scheduledat','cm_hopper_black','cm_hopper.id','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','OrderBy','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','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_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','voice_queues.dialTimezone','voice_queues','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','timezones','dialTimezone','utcOffset','set','offset','main','send','start','clone','root','server/files/tmp','.csv','includes','header','ContactItemType','name','_description','writeFileSync','data','rows','find','hasOwnProperty','trim','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','email\x20wrong\x20format','dateOfBirth','firstName','\x20not\x20specified','itemTypeId','description','SystemRow','appendFileSync','emit','abort','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','dialTimezone,utcOffset',',\x20scheduledAt\x20=\x20NOW()','contactId','contactTypeId','orderBy','VoiceQueueId','CampaignId','voice_queues_has_cm_lists','voice_queues_has_cm_blacklists','campaigns_has_cm_blacklists','DROP\x20TABLE\x20','each','finish','affectedRows','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','file\x20doesn\x27t\x20exists','parse','binding','binding\x20doesn\x27t\x20exists','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','No\x20agent\x20available','SIGINT','path','lodash','papaparse','util','bluebird','moment','ioredis','../../../config/environment','../../../config/environment/shared','../../../config/logger','redis','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test','select','field','from','.id\x20=\x20','\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','join','CmContact','findAll','AdditionalPhones','then','length','push','split','all','isNil','filter','CmContactHasItem','updated','create','PHONE','inserted','cm_contacts.phone','cm_contacts.id','cm_contacts.ListId','cm_contacts.priority','insert','into','cm_hopper','fromQuery','phone','ContactId','ListId','createdAt','updatedAt','priority','UserId','recallme','fields','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22onlyIfOpen\x22'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x6274,0x7c));var _0x4627=function(_0x5368f5,_0x5ebd46){_0x5368f5=_0x5368f5-0x0;var _0x5090da=_0x6274[_0x5368f5];return _0x5090da;};'use strict';var fs=require('fs');var path=require(_0x4627('0x0'));var _=require(_0x4627('0x1'));var Papa=require(_0x4627('0x2'));var util=require(_0x4627('0x3'));var BPromise=require(_0x4627('0x4'));var moment=require(_0x4627('0x5'));var squel=require('squel');var Redis=require(_0x4627('0x6'));var db=require('../../../mysqldb')['db'];var config=require(_0x4627('0x7'));var shared=require(_0x4627('0x8'));var logger=require(_0x4627('0x9'))('import');config[_0x4627('0xa')]=_['defaults'](config[_0x4627('0xa')],{'host':_0x4627('0xb'),'port':0x18eb});var socket=require(_0x4627('0xc'))(new Redis(config[_0x4627('0xa')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0x4627('0xd')](_0x4627('0xe'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0x4627('0xd')]('YYYY-MM-DD\x20HH:mm:ss');function isEmail(_0x2deda3){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))*$/[_0x4627('0xf')](_0x2deda3);}function selectNotIn(_0x24a434,_0x5093f3,_0x491b90,_0x10de2d,_0x5f4980){return squel[_0x4627('0x10')]()[_0x4627('0x11')]('phone')[_0x4627('0x12')](_0x10de2d)['join'](_0x5093f3,null,_0x5093f3+_0x4627('0x13')+_0x10de2d+'.'+_0x491b90)['where'](_0x10de2d+'.'+_0x491b90+_0x4627('0x14')+_0x24a434+'.'+_0x491b90)[_0x4627('0x15')](_0x5093f3+_0x4627('0x16')+_0x5f4980[_0x4627('0x17')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x5c7c49,_0x24bfaf){promisesAdditionalPhones=[];return db[_0x4627('0x18')][_0x4627('0x19')]({'raw':!![],'attributes':['id',_0x4627('0x1a')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x4627('0x1b')](function(_0x57eccb){if(_0x57eccb!==null){var _0x398908=[];for(var _0x3307cd=0x0;_0x3307cd<_0x57eccb[_0x4627('0x1c')];_0x3307cd++){var _0x377c59=_0x57eccb[_0x3307cd];_0x398908[_0x4627('0x1d')](insertAdditionalPhones(_0x377c59));}}Promise['all'](_0x398908)['then'](function(){_0x5c7c49({'val':0x1});});});});}function insertAdditionalPhones(_0x33567b){return new Promise(function(_0x3aed40,_0x34fc87){var _0x416b10=_0x33567b[_0x4627('0x1a')];var _0x20ad5b=_0x416b10[_0x4627('0x1e')](';');var _0xdc5fe9=[];orderBy=0x0;for(var _0x35b131=0x0;_0x35b131<_0x20ad5b[_0x4627('0x1c')];_0x35b131++){_0xdc5fe9['push'](splitAdditionalPhone(_0x33567b['id'],_0x20ad5b[_0x35b131]));}Promise[_0x4627('0x1f')](_0xdc5fe9)[_0x4627('0x1b')](function(){_0x3aed40({'val':_0x20ad5b[_0x4627('0x1c')]});});});}function splitAdditionalPhone(_0x58ced7,_0x3074c7){return new Promise(function(_0x3676cd,_0x5a12ea){var _0x2ef2c7=_0x3074c7[_0x4627('0x1e')](':');var _0x2d1309=_0x2ef2c7[0x0];var _0x2f6f7d=_0x2ef2c7[0x1];if(!_[_0x4627('0x20')](_0x2f6f7d)){var _0x411388=_0x2f6f7d[_0x4627('0x1e')]('|');var _0x4eea9f=[];for(var _0x1ac44b=0x0;_0x1ac44b<_0x411388['length'];_0x1ac44b++){if(_0x411388[_0x1ac44b]!==''){var _0x5cf2f8=_[_0x4627('0x21')](promisesAdditionalPhones,{'contactId':_0x58ced7,'phone':_0x411388[_0x1ac44b]});if(_0x5cf2f8[_0x4627('0x1c')]==0x0){orderBy++;promisesAdditionalPhones['push']({'contactId':_0x58ced7,'contactTypeId':_0x2d1309,'phone':_0x411388[_0x1ac44b],'orderBy':orderBy});}}}_0x3676cd({'ok':0x1});}else _0x3676cd({'res':0x0});});}function createAdditionalPhone(_0xca1cfc,_0x1f7b93,_0x7fda4b,_0x1ce98a){var _0x435d14='';var _0x3d53d6='';var _0x149747=_0x7fda4b[_0x4627('0x1e')]('§');_0x435d14=_0x149747[0x0];if(_0x149747[_0x4627('0x1c')]==0x2)_0x3d53d6=_0x149747[0x1];return new Promise(function(_0x3965df,_0x3d1821){return db[_0x4627('0x22')]['findOne']({'where':{'CmContactId':_0xca1cfc,'item':_0x435d14}})[_0x4627('0x1b')](function(_0x39261f){if(_0x39261f){return db[_0x4627('0x22')]['update']({'ItemTypeId':_0x1f7b93,'description':_0x3d53d6,'OrderBy':_0x1ce98a},{'where':{'CmContactId':_0xca1cfc,'item':_0x435d14}})[_0x4627('0x1b')](function(_0x2303dc){_0x3965df({'res':_0x4627('0x23')});});}else{return db[_0x4627('0x22')][_0x4627('0x24')]({'CmContactId':_0xca1cfc,'item':_0x435d14,'description':_0x3d53d6,'ItemTypeId':_0x1f7b93,'OrderBy':_0x1ce98a,'ItemClass':_0x4627('0x25')})[_0x4627('0x1b')](function(_0x207b6e){_0x3965df({'res':_0x4627('0x26')});});}});});}function insertCmHopper(_0x51c2ec,_0x3fc2de,_0xedc8a4,_0x3975b1,_0x41ba1e){var _0x4e5635=[_0x4627('0x27'),'cm_contacts.scheduledat',_0x4627('0x28'),_0x4627('0x29'),_0x3fc2de+'.'+_0x3975b1,'cm_contacts.createdAt','cm_contacts.updatedAt',_0x4627('0x2a'),'cm_contacts.UserId','\x22'+_0x41ba1e+'\x22'];return squel[_0x4627('0x2b')]()[_0x4627('0x2c')](_0x4627('0x2d'))[_0x4627('0x2e')]([_0x4627('0x2f'),'scheduledat',_0x4627('0x30'),_0x4627('0x31'),_0x3975b1,_0x4627('0x32'),_0x4627('0x33'),_0x4627('0x34'),_0x4627('0x35'),_0x4627('0x36')],squel[_0x4627('0x10')]()[_0x4627('0x37')](_0x4e5635)['from'](_0x3fc2de)[_0x4627('0x17')]('cm_contacts',null,_0x4627('0x38')+_0x3fc2de+_0x4627('0x39'))[_0x4627('0x17')](_0xedc8a4,null,_0xedc8a4+_0x4627('0x13')+_0x3fc2de+'.'+_0x3975b1)['where'](_0x3fc2de+_0x4627('0x3a'),_0x51c2ec)[_0x4627('0x15')]('cm_contacts.createdAt\x20=\x20?',NOW)['where'](_0x4627('0x3b'),selectNotIn(_0x3fc2de,_0xedc8a4,_0x3975b1,_0x4627('0x2d'),['\x22always\x22',_0x4627('0x3c')]))[_0x4627('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x3fc2de,_0xedc8a4,_0x3975b1,_0x4627('0x2d'),[_0x4627('0x3d')])))[_0x4627('0x3e')]();}function insertCmHopperBlack(_0x5ce5c2,_0x469268,_0x252fa6,_0x2be065){var _0x365ff5=[_0x4627('0x27'),_0x4627('0x28'),'cm_contacts.ListId',_0x469268+'.'+_0x2be065,'cm_contacts.createdAt','cm_contacts.updatedAt'];return squel[_0x4627('0x2b')]()[_0x4627('0x2c')]('cm_hopper_black')[_0x4627('0x2e')]([_0x4627('0x2f'),_0x4627('0x30'),_0x4627('0x31'),_0x2be065,_0x4627('0x32'),_0x4627('0x33')],squel[_0x4627('0x10')]()[_0x4627('0x37')](_0x365ff5)[_0x4627('0x12')](_0x469268)[_0x4627('0x17')](_0x4627('0x3f'),null,_0x4627('0x38')+_0x469268+_0x4627('0x39'))[_0x4627('0x17')](_0x252fa6,null,_0x252fa6+_0x4627('0x13')+_0x469268+'.'+_0x2be065)[_0x4627('0x15')](_0x469268+_0x4627('0x3a'),_0x5ce5c2)[_0x4627('0x15')](_0x4627('0x40'),NOW)[_0x4627('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0x4627('0x10')]()[_0x4627('0x11')](_0x4627('0x2f'))[_0x4627('0x12')]('cm_hopper_black')['where'](_0x4627('0x41'),_0x5ce5c2)[_0x4627('0x15')](_0x2be065+_0x4627('0x14')+_0x469268+'.'+_0x2be065)))[_0x4627('0x3e')]();}function insertTzCmHopper(_0x3ebba6,_0x290a77,_0xfe4f60,_0x4d92ca,_0x160fda,_0x2c3163){var _0x26ac83=[_0x4627('0x27'),_0x4627('0x42')+_0x2c3163+'.offset-cm_contacts.utcOffset\x20minute)',_0x4627('0x28'),_0x4627('0x29'),_0x290a77+'.'+_0x4d92ca,_0x4627('0x43'),_0x4627('0x44'),_0x4627('0x2a'),_0x4627('0x45'),'\x22'+_0x160fda+'\x22'];var _0x366e3b=squel[_0x4627('0x2b')]()[_0x4627('0x2c')](_0x4627('0x2d'))[_0x4627('0x2e')]([_0x4627('0x2f'),_0x4627('0x46'),_0x4627('0x30'),_0x4627('0x31'),_0x4d92ca,_0x4627('0x32'),_0x4627('0x33'),_0x4627('0x34'),_0x4627('0x35'),_0x4627('0x36')],squel[_0x4627('0x10')]()[_0x4627('0x37')](_0x26ac83)[_0x4627('0x12')](_0x290a77)[_0x4627('0x17')]('cm_contacts',null,_0x4627('0x38')+_0x290a77+_0x4627('0x39'))[_0x4627('0x17')](_0xfe4f60,null,_0xfe4f60+_0x4627('0x13')+_0x290a77+'.'+_0x4d92ca)[_0x4627('0x17')](_0x2c3163,null,_0x2c3163+_0x4627('0x13')+_0x290a77+'.'+_0x4d92ca)[_0x4627('0x15')](_0x290a77+_0x4627('0x3a'),_0x3ebba6)[_0x4627('0x15')](_0x4627('0x40'),NOW)[_0x4627('0x15')](_0x4627('0x3b'),selectNotIn(_0x290a77,_0xfe4f60,_0x4d92ca,_0x4627('0x2d'),[_0x4627('0x3d'),'\x22onlyIfOpen\x22']))[_0x4627('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x290a77,_0xfe4f60,_0x4d92ca,_0x4627('0x2d'),[_0x4627('0x3d')])))[_0x4627('0x3e')]();return _0x366e3b;}function insertTzCmHopperBlack(_0x571c9a,_0x33f4f4,_0xced808,_0x293c71){var _0x582eda=[_0x4627('0x27'),_0x4627('0x28'),_0x4627('0x29'),_0x33f4f4+'.'+_0x293c71,_0x4627('0x43'),_0x4627('0x44')];return squel[_0x4627('0x2b')]()[_0x4627('0x2c')](_0x4627('0x47'))[_0x4627('0x2e')]([_0x4627('0x2f'),'ContactId','ListId',_0x293c71,'createdAt',_0x4627('0x33')],squel['select']()[_0x4627('0x37')](_0x582eda)['from'](_0x33f4f4)[_0x4627('0x17')](_0x4627('0x3f'),null,_0x4627('0x38')+_0x33f4f4+_0x4627('0x39'))[_0x4627('0x17')](_0xced808,null,_0xced808+'.id\x20=\x20'+_0x33f4f4+'.'+_0x293c71)[_0x4627('0x15')](_0x33f4f4+_0x4627('0x3a'),_0x571c9a)[_0x4627('0x15')](_0x4627('0x40'),NOW)[_0x4627('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0x4627('0x10')]()[_0x4627('0x11')](_0x4627('0x2f'))[_0x4627('0x12')](_0x4627('0x47'))['where'](_0x4627('0x41'),_0x571c9a)['where'](_0x293c71+_0x4627('0x14')+_0x33f4f4+'.'+_0x293c71)))[_0x4627('0x3e')]();}function insertCmHopperAdditionalPhones(_0xe7cc97){var _0x27077a=[_0x4627('0x48'),'cm_contact_has_items.item',_0x4627('0x49'),_0x4627('0x4a'),_0x4627('0x4b')];return squel['insert']()[_0x4627('0x2c')](_0x4627('0x4c'))[_0x4627('0x2e')](['CmHopperId',_0x4627('0x2f'),_0x4627('0x4d'),_0x4627('0x32'),'updatedAt'],squel[_0x4627('0x10')]()[_0x4627('0x37')](_0x27077a)[_0x4627('0x12')]('cm_hopper')[_0x4627('0x17')](_0x4627('0x3f'),null,_0x4627('0x4e'))[_0x4627('0x17')](_0x4627('0x4f'),null,_0x4627('0x50'))[_0x4627('0x15')](_0x4627('0x51'),_0xe7cc97)['where']('cm_contacts.createdAt\x20=\x20?',NOW))[_0x4627('0x3e')]();}function insertCmContact(_0x4ecab0,_0x524bc3,_0x2ca177,_0x1905e1){var _0x53bf37=_[_0x4627('0x52')](_[_0x4627('0x53')](_0x1905e1),[_0x4627('0x31'),_0x4627('0x54'),_0x4627('0x32'),_0x4627('0x33'),_0x4627('0x55')]);return squel['insert']()['into']('cm_contacts')[_0x4627('0x2e')](_0x53bf37,squel[_0x4627('0x10')]()['fields'](_0x53bf37)['from'](_0x524bc3)[_0x4627('0x15')]('('+_0x2ca177[_0x4627('0x17')](',')+')\x20NOT\x20IN\x20?',squel[_0x4627('0x10')]()[_0x4627('0x37')](_0x2ca177)[_0x4627('0x12')]('cm_contacts')[_0x4627('0x15')]('ListId\x20=\x20?',_0x4ecab0)[_0x4627('0x15')](_0x4627('0x56')))[_0x4627('0x15')](_0x4627('0x57'),squel[_0x4627('0x10')]()[_0x4627('0x11')](_0x4627('0x58'),_0x4627('0x59'))[_0x4627('0x12')](_0x524bc3)[_0x4627('0x5a')](_0x2ca177[_0x4627('0x17')](','))))['toString']();}function handleStop(){logger[_0x4627('0x5b')](_0x4627('0x5c'));stopped=!![];}function handleUncaughtException(_0x58d868){logger[_0x4627('0x5d')](_0x58d868[_0x4627('0x5e')]);process[_0x4627('0x5f')](0x1);}function handleError(_0x32fb72,_0x2659d1){stats[_0x4627('0x60')][_0x4627('0x1d')]({'name':_0x2659d1[_0x4627('0x61')],'message':_0x2659d1['message'],'row':_0x32fb72});}function handleQuery(_0x3d862d){logger[_0x4627('0x5b')](_0x3d862d);return db[_0x4627('0x62')][_0x4627('0x63')](_0x3d862d)[_0x4627('0x64')](function(_0x268013){results[_0x4627('0x1d')](_0x268013);})[_0x4627('0x65')](function(_0x58414b){logger[_0x4627('0x5d')](_0x58414b['message']);});}function updateTzCampaigns(_0x4adcc5){return new Promise(function(_0x2ae344,_0x59c176){var _0x43d007=squel[_0x4627('0x10')]()[_0x4627('0x37')]([_0x4627('0x66'),_0x4627('0x67')])[_0x4627('0x12')](_0x4627('0x68'))[_0x4627('0x17')](_0x4627('0x69'),null,_0x4627('0x6a'))[_0x4627('0x15')]('campaigns_has_cm_lists.CmListId='+_0x4adcc5);db[_0x4627('0x62')]['query'](_0x43d007[_0x4627('0x3e')]())[_0x4627('0x64')](function(_0x242bc0){var _0x4c0e41=[];for(var _0x2d0580=0x0;_0x2d0580<_0x242bc0['length'];_0x2d0580++){_0x4c0e41[_0x4627('0x1d')](getTimezoneData(_0x242bc0[_0x2d0580],tmp_campaigns));}BPromise[_0x4627('0x1f')](_0x4c0e41)[_0x4627('0x1b')](function(){_0x2ae344({'val':0x1});});})[_0x4627('0x65')](function(_0x4e303c){logger[_0x4627('0x5d')](_0x4e303c[_0x4627('0x5e')]);_0x2ae344({'val':0x0});});});}function updateTzVoiceQueues(_0x269507){return new Promise(function(_0x24b0a9,_0x2e4b86){var _0x597e84=squel['select']()[_0x4627('0x37')](['voice_queues.id',_0x4627('0x6b')])[_0x4627('0x12')](_0x4627('0x6c'))[_0x4627('0x17')]('voice_queues_has_cm_lists',null,_0x4627('0x6d'))[_0x4627('0x15')]('voice_queues_has_cm_lists.CmListId='+_0x269507);db[_0x4627('0x62')]['query'](_0x597e84['toString']())[_0x4627('0x64')](function(_0x299f33){var _0x5f2f7d=[];for(var _0x438978=0x0;_0x438978<_0x299f33[_0x4627('0x1c')];_0x438978++){_0x5f2f7d[_0x4627('0x1d')](getTimezoneData(_0x299f33[_0x438978],tmp_voice_queues));}BPromise[_0x4627('0x1f')](_0x5f2f7d)[_0x4627('0x1b')](function(){_0x24b0a9({'val':0x1});});})[_0x4627('0x65')](function(_0x4ae015){logger[_0x4627('0x5d')](_0x4ae015[_0x4627('0x5e')]);_0x24b0a9({'val':0x0});});});}function getTimezoneData(_0x5f26a9,_0x15c548){return new Promise(function(_0x3c3636,_0x44dbc2){var _0x4a32ae=shared[_0x4627('0x6e')];var _0x16a17b=_0x4a32ae[_0x5f26a9[_0x4627('0x6f')]];if(_['isNil'](_0x16a17b)){_0x3c3636({'ret':0x1});}else{var _0x1bf207=_0x16a17b[_0x4627('0x70')];var _0x4464d=squel[_0x4627('0x2b')]()[_0x4627('0x2c')](_0x15c548)[_0x4627('0x71')]('id',_0x5f26a9['id'])['set'](_0x4627('0x72'),_0x1bf207)[_0x4627('0x71')](_0x4627('0x6f'),_0x5f26a9['dialTimezone'])[_0x4627('0x3e')]();return db[_0x4627('0x62')][_0x4627('0x63')](_0x4464d)[_0x4627('0x64')](function(_0x4e1b16){_0x3c3636({'ret':0x1});})[_0x4627('0x65')](function(_0x336bee){logger[_0x4627('0x5d')](_0x336bee[_0x4627('0x5e')]);_0x44dbc2({'ret':0x1});});}});}function handleTZQuery(_0x3edd30){logger[_0x4627('0x5b')](_0x3edd30);return db['sequelize'][_0x4627('0x63')](_0x3edd30)['spread'](function(_0x3e8659){})['catch'](function(_0x230389){logger[_0x4627('0x5d')](_0x230389[_0x4627('0x5e')]);});}function main(_0x5e2cfa,_0x6f5ae,_0x15133e,_0x43e82e){logger[_0x4627('0x5b')](_0x4627('0x73'),_0x5e2cfa,JSON['stringify'](_0x6f5ae));process[_0x4627('0x74')](_0x4627('0x75'));var _0x5b6d8a=_0x6f5ae['binding'];var _0xd33c74=_[_0x4627('0x76')](_0x5b6d8a);var _0x514dfe=_0x6f5ae['socket_timestamp'];var _0xfbfa11=path[_0x4627('0x17')](config[_0x4627('0x77')],_0x4627('0x78'),_0x514dfe+_0x4627('0x79'));hasTZ=_[_0x4627('0x53')](_0x5b6d8a)[_0x4627('0x7a')](_0x4627('0x6f'));var _0x341958=_[_0x4627('0x53')](_0x5b6d8a)[_0x4627('0x17')]();logger[_0x4627('0x5b')](_0x4627('0x7b'),_0x341958);db[_0x4627('0x7c')][_0x4627('0x19')]({'raw':!![],'attributes':['id',_0x4627('0x7d')]})[_0x4627('0x1b')](function(_0x33b953){for(var _0x43c45b=0x0;_0x43c45b<_0x33b953[_0x4627('0x1c')];_0x43c45b++){if(_0x33b953[_0x43c45b][_0x4627('0x7d')]in _0x5b6d8a){contactItemTypes[_0x4627('0x1d')](_0x33b953[_0x43c45b]);delete _0xd33c74[_0x33b953[_0x43c45b][_0x4627('0x7d')]];hasAdditionalPhones=!![];}for(var _0x404ffb in _0x5b6d8a){if(_0x33b953[_0x43c45b][_0x4627('0x7d')]+_0x4627('0x7e')===_0x404ffb){phoneDescriptions['push']({'itemTypeId':_0x33b953[_0x43c45b]['id'],'description':_0x404ffb});delete _0xd33c74[_0x404ffb];}}}if(hasAdditionalPhones)_0xd33c74[_0x4627('0x1a')]='';var _0xb0ee3c=_['keys'](_0xd33c74)[_0x4627('0x17')]();logger[_0x4627('0x5b')](_0x4627('0x7b'),_0xb0ee3c);fs[_0x4627('0x7f')](_0xfbfa11,_0xb0ee3c+'\x0a');Papa['parse'](fs['createReadStream'](_0x5e2cfa),{'header':!![],'skipEmptyLines':!![],'step':function(_0x12fec1,_0x43efc5){try{for(var _0x5f3654=0x0,_0x5a2ca1=[];_0x5f3654<_0x12fec1[_0x4627('0x80')][_0x4627('0x1c')];_0x5f3654++){stats[_0x4627('0x81')]+=0x1;if(_0x12fec1[_0x4627('0x60')][_0x5f3654]){handleError(_0x12fec1[_0x4627('0x80')][_0x5f3654],_0x12fec1[_0x4627('0x60')][_0x5f3654]);}else{var _0x20fed2=[];var _0x5c89a5=[];var _0x5743b3={};for(var _0x1f8311 in _0x5b6d8a){let _0x16734c=contactItemTypes['find'](_0x276015=>_0x276015[_0x4627('0x7d')]===_0x1f8311);let _0x4b094f=contactItemTypes[_0x4627('0x82')](_0x1ff72e=>_0x1ff72e[_0x4627('0x7d')]+_0x4627('0x7e')===_0x1f8311);if(_['isNil'](_0x16734c)&&_[_0x4627('0x20')](_0x4b094f)){if(_0x5b6d8a[_0x4627('0x83')](_0x1f8311)){if(_0x12fec1[_0x4627('0x80')][_0x5f3654][_0x5b6d8a[_0x1f8311]]){var _0x34473b=_[_0x4627('0x84')](_0x12fec1['data'][_0x5f3654][_0x5b6d8a[_0x1f8311]][_0x4627('0x85')](/"/g,'\x27'));switch(_0x1f8311){case _0x4627('0x46'):var _0x21418e=moment(_0x34473b,_0x4627('0xe'),!![]);if(_0x21418e[_0x4627('0x86')]()){_0x5a2ca1['push']('\x22'+_0x34473b+'\x22');}else{_0x20fed2[_0x4627('0x1d')](_0x4627('0x87'));}break;case _0x4627('0x34'):var _0x2ccfc3=parseInt(_0x34473b);_0x34473b=_[_0x4627('0x88')](_0x2ccfc3)||_0x2ccfc3<0x0||_0x2ccfc3>0x4?_0x43e82e?0x3:0x2:_0x2ccfc3;_0x5a2ca1[_0x4627('0x1d')]('\x22'+_0x34473b+'\x22');break;case _0x4627('0x35'):var _0x359a59=parseInt(_0x34473b);if(_[_0x4627('0x89')](_0x359a59)&&_[_0x4627('0x7a')](_0x15133e,_0x359a59)){_0x5a2ca1[_0x4627('0x1d')]('\x22'+_0x359a59+'\x22');}else{_0x20fed2[_0x4627('0x1d')]('agent\x20not\x20exists');}break;case'email':if(isEmail(_0x34473b)){_0x5a2ca1[_0x4627('0x1d')]('\x22'+_0x34473b+'\x22');}else{_0x20fed2[_0x4627('0x1d')](_0x4627('0x8a'));}break;case _0x4627('0x8b'):var _0x58b649=moment(_0x34473b,'YYYY-MM-DD',!![]);if(_0x58b649[_0x4627('0x86')]()){_0x5a2ca1[_0x4627('0x1d')]('\x22'+_0x34473b+'\x22');}else{_0x20fed2[_0x4627('0x1d')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;case _0x4627('0x6f'):var _0x421d46=shared[_0x4627('0x6e')];var _0x27aa78=_0x421d46[_0x34473b];if(!_[_0x4627('0x20')](_0x27aa78)){var _0x49e7cb=_0x27aa78[_0x4627('0x70')];_0x5a2ca1[_0x4627('0x1d')]('\x22'+_0x34473b+'\x22');_0x5a2ca1[_0x4627('0x1d')]('\x22'+_0x49e7cb+'\x22');}break;default:_0x5a2ca1[_0x4627('0x1d')]('\x22'+_0x34473b+'\x22');}}else{switch(_0x1f8311){case _0x4627('0x8c'):case _0x4627('0x2f'):_0x20fed2['push'](_0x1f8311+_0x4627('0x8d'));break;default:_0x5a2ca1['push']('\x22\x22');}}}}else{var _0x7666bc='';if(!_[_0x4627('0x20')](_0x16734c)){if(!_0x5743b3[_0x4627('0x83')](_0x16734c['id'])){if(!_[_0x4627('0x20')](_0x12fec1[_0x4627('0x80')][_0x5f3654][_0x5b6d8a[_0x1f8311]])){var _0x34473b=_[_0x4627('0x84')](_0x12fec1[_0x4627('0x80')][_0x5f3654][_0x5b6d8a[_0x1f8311]][_0x4627('0x85')](/"/g,'\x27'));var _0x45ce76=phoneDescriptions['find'](_0x4f77f8=>_0x4f77f8[_0x4627('0x8e')]===_0x16734c['id']);if(!_[_0x4627('0x20')](_0x45ce76)){var _0x225142=_[_0x4627('0x84')](_0x12fec1[_0x4627('0x80')][_0x5f3654][_0x5b6d8a[_0x45ce76[_0x4627('0x8f')]]][_0x4627('0x85')](/"/g,'\x27'));if(!_[_0x4627('0x20')](_0x225142))_0x34473b=_0x34473b+'§'+_0x225142;}if(_0x7666bc=='')_0x7666bc=_0x34473b;else _0x7666bc+='|'+_0x34473b;}_0x5c89a5['push'](_0x16734c['id']+':'+_0x7666bc);_0x5743b3[_0x16734c['id']]=0x1;}}}}if(hasAdditionalPhones){_0x5a2ca1[_0x4627('0x1d')]('\x22'+_0x5c89a5[_0x4627('0x17')](';')+'\x22');}if(_0x20fed2['length']){handleError(_0x12fec1[_0x4627('0x80')][_0x5f3654],{'code':_0x4627('0x90'),'message':_0x20fed2[_0x4627('0x17')]()});}else{fs[_0x4627('0x91')](_0xfbfa11,_0x5a2ca1['join']()+'\x0a');}_0x5a2ca1=[];}if(!(stats[_0x4627('0x81')]%0xc8)){socket[_0x4627('0x92')]('contact:import:'+_0x514dfe,stats);stats[_0x4627('0x60')]=[];}}if(stopped){logger[_0x4627('0x5b')]('Abort\x20parser');_0x43efc5[_0x4627('0x93')]();}}catch(_0x429954){handleError(_0x12fec1[_0x4627('0x80')][_0x5f3654],{'code':_0x4627('0x94'),'message':_0x429954['message']});logger[_0x4627('0x5d')](_0x4627('0x95'),_0x429954[_0x4627('0x5e')]);}},'complete':function(){try{var _0x51d17b=[];var _0x4a58be=[];var _0x336592='cm_contacts';if(_0x6f5ae[_0x4627('0x96')]&&_0x6f5ae[_0x4627('0x96')]['length']){_0x336592=_0x4627('0x97')+_0x514dfe;_0x51d17b['push'](_0x4627('0x98')+_0x336592+_0x4627('0x99'));}tmp_campaigns=_0x4627('0x9a')+_0x514dfe;tmp_voice_queues=_0x4627('0x9b')+_0x514dfe;_0x4a58be[_0x4627('0x1d')]('CREATE\x20TABLE\x20'+tmp_campaigns+_0x4627('0x9c'));_0x4a58be['push'](_0x4627('0x98')+tmp_voice_queues+_0x4627('0x9c'));BPromise['each'](_0x4a58be,handleTZQuery)['then'](function(_0x254611){updateTzCampaigns(_0x6f5ae[_0x4627('0x31')])[_0x4627('0x1b')](function(_0x3b3446){updateTzVoiceQueues(_0x6f5ae[_0x4627('0x31')])['then'](function(_0x2ea996){if(hasTZ)_0xb0ee3c=_0xb0ee3c[_0x4627('0x85')](_0x4627('0x6f'),_0x4627('0x9d'));var _0x22c046=util[_0x4627('0xd')]('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',_0xfbfa11,_0x336592,_0xb0ee3c,_0x6f5ae[_0x4627('0x31')],_0x6f5ae[_0x4627('0x54')]||null,NOW,NOW);if(_[_0x4627('0x20')](_0x5b6d8a['scheduledat'])){_0x22c046+=_0x4627('0x9e');}_0x51d17b[_0x4627('0x1d')](_0x22c046);if(_0x6f5ae[_0x4627('0x96')]&&_0x6f5ae[_0x4627('0x96')]['length']){_0x51d17b[_0x4627('0x1d')](insertCmContact(_0x6f5ae[_0x4627('0x31')],_0x336592,_0x6f5ae[_0x4627('0x96')],_0x5b6d8a));_0x51d17b['push']('DROP\x20TABLE\x20'+_0x336592+';');}BPromise['each'](_0x51d17b,handleQuery)[_0x4627('0x1b')](function(_0x22d7ec){BPromise[_0x4627('0x1f')]([handleAdditionalPhones()])[_0x4627('0x1b')](function(){_0x51d17b=[];for(var _0x51373d=0x0;_0x51373d<promisesAdditionalPhones['length'];_0x51373d++){if(promisesAdditionalPhones[_0x51373d]['phone']!='§'){_0x51d17b[_0x4627('0x1d')](createAdditionalPhone(promisesAdditionalPhones[_0x51373d][_0x4627('0x9f')],promisesAdditionalPhones[_0x51373d][_0x4627('0xa0')],promisesAdditionalPhones[_0x51373d]['phone'],promisesAdditionalPhones[_0x51373d][_0x4627('0xa1')]));}}BPromise['all'](_0x51d17b)[_0x4627('0x1b')](function(){_0x51d17b=[];if(hasTZ){_0x51d17b['push'](insertTzCmHopper(_0x6f5ae[_0x4627('0x31')],'voice_queues_has_cm_lists','voice_queues',_0x4627('0xa2'),_0x43e82e,tmp_voice_queues));_0x51d17b[_0x4627('0x1d')](insertTzCmHopperBlack(_0x6f5ae[_0x4627('0x31')],'voice_queues_has_cm_blacklists',_0x4627('0x6c'),_0x4627('0xa2')));_0x51d17b[_0x4627('0x1d')](insertTzCmHopper(_0x6f5ae[_0x4627('0x31')],'campaigns_has_cm_lists',_0x4627('0x68'),_0x4627('0xa3'),_0x43e82e,tmp_campaigns));_0x51d17b[_0x4627('0x1d')](insertTzCmHopperBlack(_0x6f5ae[_0x4627('0x31')],'campaigns_has_cm_blacklists',_0x4627('0x68'),_0x4627('0xa3')));_0x51d17b['push'](insertCmHopperAdditionalPhones(_0x6f5ae[_0x4627('0x31')]));}else{_0x51d17b[_0x4627('0x1d')](insertCmHopper(_0x6f5ae['ListId'],_0x4627('0xa4'),_0x4627('0x6c'),_0x4627('0xa2'),_0x43e82e));_0x51d17b['push'](insertCmHopperBlack(_0x6f5ae['ListId'],_0x4627('0xa5'),'voice_queues',_0x4627('0xa2')));_0x51d17b[_0x4627('0x1d')](insertCmHopper(_0x6f5ae[_0x4627('0x31')],'campaigns_has_cm_lists',_0x4627('0x68'),_0x4627('0xa3'),_0x43e82e));_0x51d17b['push'](insertCmHopperBlack(_0x6f5ae[_0x4627('0x31')],_0x4627('0xa6'),'campaigns','CampaignId'));_0x51d17b[_0x4627('0x1d')](insertCmHopperAdditionalPhones(_0x6f5ae['ListId']));}_0x51d17b[_0x4627('0x1d')](_0x4627('0xa7')+tmp_campaigns+';');_0x51d17b['push'](_0x4627('0xa7')+tmp_voice_queues+';');BPromise[_0x4627('0xa8')](_0x51d17b,handleQuery)['then'](function(_0x45726c){stats[_0x4627('0xa9')]=!![];stats['affectedRows']=_0x6f5ae[_0x4627('0x96')]&&_0x6f5ae['duplicates'][_0x4627('0x1c')]?results[0x2]['affectedRows']:results[0x0][_0x4627('0xaa')];socket[_0x4627('0x92')]('contact:import:'+_0x514dfe,stats);fs['unlink'](_0x5e2cfa);fs[_0x4627('0xab')](_0xfbfa11);process[_0x4627('0x5f')](0x0);})['catch'](function(_0x515a4f){logger[_0x4627('0x5d')](_0x515a4f[_0x4627('0x5e')]);process[_0x4627('0x5f')](0x1);});});});})[_0x4627('0x65')](function(_0x348c2f){logger[_0x4627('0x5d')](_0x348c2f[_0x4627('0x5e')]);process[_0x4627('0x5f')](0x1);});});});});}catch(_0x52f9cb){logger[_0x4627('0x5d')](_0x4627('0xac'),_0x52f9cb['message']);process[_0x4627('0x5f')](0x1);}},'error':function(_0x2fca09,_0x404195,_0x134bea,_0x1f7201){throw new Error(_0x1f7201);}});});}function validate(){if(process[_0x4627('0xad')]&&process['argv'][_0x4627('0x1c')]<0x4){throw new Error(_0x4627('0xae'));}var _0x53b952=path[_0x4627('0x17')](config[_0x4627('0x77')],'server/files/tmp',process[_0x4627('0xad')][0x2]);if(!fs[_0x4627('0xaf')](_0x53b952)){throw new Error(_0x4627('0xb0'));}var _0x522d11={};try{_0x522d11=JSON[_0x4627('0xb1')](process['argv'][0x3]);if(!_0x522d11[_0x4627('0xb2')]){throw new Error(_0x4627('0xb3'));}if(!_0x522d11[_0x4627('0xb2')][_0x4627('0x2f')]){throw new Error('phone\x20is\x20mandatory');}if(!_0x522d11[_0x4627('0xb2')][_0x4627('0x8c')]){throw new Error(_0x4627('0xb4'));}var _0x2a41cc=0x0;if(_0x522d11[_0x4627('0xb2')][_0x4627('0x35')]){_0x2a41cc=0x1;}if(!_0x522d11[_0x4627('0x31')]){throw new Error(_0x4627('0xb5'));}}catch(_0x4b7111){throw new Error(_0x4627('0xb6'));}var _0x41ae79=[];try{_0x41ae79=_['map'](JSON['parse'](process[_0x4627('0xad')][0x4]),'id');}catch(_0x2a5191){logger[_0x4627('0x5b')](_0x4627('0xb7'));}main(_0x53b952,_0x522d11,_0x41ae79,_0x2a41cc);}validate();process['on'](_0x4627('0xb8'),handleStop);process['on']('uncaughtException',handleUncaughtException);