8408a811d823b0a582bdf556b2a44bdb71d024eb
[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 _0x3271=['all','AdditionalPhones','split','then','CmContactHasItem','update','updated','create','inserted','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.updatedAt','cm_contacts.priority','insert','into','cm_hopper','scheduledat','createdAt','updatedAt','priority','recallme','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','cm_contacts.createdAt','cm_hopper_black','fromQuery','ContactId','ListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','field','ListId\x20=\x20?','toString','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.UserId','UserId','\x22onlyIfOpen\x22','cm_contacts.ListId','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','CmHopperId','OrderBy','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contact_has_items','cm_hopper.ListId\x20=\x20?','concat','keys',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','min_id','group','Received\x20SIGINT','message','exit','errors','code','info','sequelize','query','catch','campaigns.id','campaigns.dialTimezone','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','error','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','voice_queues_has_cm_lists.CmListId=','timezones','utcOffset','set','dialTimezone','spread','main','stringify','send','start','socket_timestamp','server/files/tmp','.csv','includes','ContactItemType','findAll','name','_description','header','writeFileSync','parse','data','rows','find','isNil','hasOwnProperty','replace','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','agent\x20not\x20exists','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','isValid','firstName','trim','itemTypeId','description','SystemRow','contact:import:','abort','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','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','contactTypeId','orderBy','voice_queues_has_cm_lists','VoiceQueueId','voice_queues_has_cm_blacklists','campaigns_has_cm_lists','campaigns','CampaignId','campaigns_has_cm_blacklists','finish','affectedRows','emit','unlink','complete','argv','root','existsSync','file\x20doesn\x27t\x20exists','binding','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','papaparse','bluebird','moment','squel','ioredis','../../../mysqldb','../../../config/environment','../../../config/environment/shared','../../../config/logger','import','redis','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test','select','phone','from','join','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','CmContact','length','push'];(function(_0x19332b,_0x55caf1){var _0x385093=function(_0x40cb82){while(--_0x40cb82){_0x19332b['push'](_0x19332b['shift']());}};_0x385093(++_0x55caf1);}(_0x3271,0x15f));var _0x1327=function(_0xbb5281,_0x207dfc){_0xbb5281=_0xbb5281-0x0;var _0x1041a8=_0x3271[_0xbb5281];return _0x1041a8;};'use strict';var fs=require('fs');var path=require(_0x1327('0x0'));var _=require(_0x1327('0x1'));var Papa=require(_0x1327('0x2'));var util=require('util');var BPromise=require(_0x1327('0x3'));var moment=require(_0x1327('0x4'));var squel=require(_0x1327('0x5'));var Redis=require(_0x1327('0x6'));var db=require(_0x1327('0x7'))['db'];var config=require(_0x1327('0x8'));var shared=require(_0x1327('0x9'));var logger=require(_0x1327('0xa'))(_0x1327('0xb'));config[_0x1327('0xc')]=_['defaults'](config[_0x1327('0xc')],{'host':_0x1327('0xd'),'port':0x18eb});var socket=require(_0x1327('0xe'))(new Redis(config[_0x1327('0xc')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0x1327('0xf')](_0x1327('0x10'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()['format'](_0x1327('0x10'));function isEmail(_0xe9ccb7){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))*$/[_0x1327('0x11')](_0xe9ccb7);}function selectNotIn(_0x2c874e,_0x51d4a6,_0x49c9c9,_0xf650ff,_0x545987){return squel[_0x1327('0x12')]()['field'](_0x1327('0x13'))[_0x1327('0x14')](_0xf650ff)[_0x1327('0x15')](_0x51d4a6,null,_0x51d4a6+_0x1327('0x16')+_0xf650ff+'.'+_0x49c9c9)[_0x1327('0x17')](_0xf650ff+'.'+_0x49c9c9+_0x1327('0x18')+_0x2c874e+'.'+_0x49c9c9)['where'](_0x51d4a6+_0x1327('0x19')+_0x545987[_0x1327('0x15')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x370a51,_0x1c410b){promisesAdditionalPhones=[];return db[_0x1327('0x1a')]['findAll']({'raw':!![],'attributes':['id','AdditionalPhones'],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})['then'](function(_0x21b5f7){if(_0x21b5f7!==null){var _0x2396d8=[];for(var _0x95442a=0x0;_0x95442a<_0x21b5f7[_0x1327('0x1b')];_0x95442a++){var _0x44be15=_0x21b5f7[_0x95442a];_0x2396d8[_0x1327('0x1c')](insertAdditionalPhones(_0x44be15));}}Promise[_0x1327('0x1d')](_0x2396d8)['then'](function(){_0x370a51({'val':0x1});});});});}function insertAdditionalPhones(_0x2af55e){return new Promise(function(_0x4d158f,_0x215e88){var _0x279116=_0x2af55e[_0x1327('0x1e')];var _0x2a7518=_0x279116[_0x1327('0x1f')](';');var _0x5ebba2=[];orderBy=0x0;for(var _0x3c125c=0x0;_0x3c125c<_0x2a7518[_0x1327('0x1b')];_0x3c125c++){_0x5ebba2[_0x1327('0x1c')](splitAdditionalPhone(_0x2af55e['id'],_0x2a7518[_0x3c125c]));}Promise[_0x1327('0x1d')](_0x5ebba2)[_0x1327('0x20')](function(){_0x4d158f({'val':_0x2a7518['length']});});});}function splitAdditionalPhone(_0xcaca89,_0x5b4811){return new Promise(function(_0x2224b4,_0x585dc4){var _0x39cce3=_0x5b4811['split'](':');var _0x12533c=_0x39cce3[0x0];var _0x546cc9=_0x39cce3[0x1];if(!_['isNil'](_0x546cc9)){var _0xb8e40f=_0x546cc9[_0x1327('0x1f')]('|');var _0x458cbc=[];for(var _0x27ab6e=0x0;_0x27ab6e<_0xb8e40f[_0x1327('0x1b')];_0x27ab6e++){if(_0xb8e40f[_0x27ab6e]!==''){var _0x29e850=_['filter'](promisesAdditionalPhones,{'contactId':_0xcaca89,'phone':_0xb8e40f[_0x27ab6e]});if(_0x29e850[_0x1327('0x1b')]==0x0){orderBy++;promisesAdditionalPhones[_0x1327('0x1c')]({'contactId':_0xcaca89,'contactTypeId':_0x12533c,'phone':_0xb8e40f[_0x27ab6e],'orderBy':orderBy});}}}_0x2224b4({'ok':0x1});}else _0x2224b4({'res':0x0});});}function createAdditionalPhone(_0x555477,_0x459f02,_0x553404,_0x192375){var _0x5c0933='';var _0xa7e660='';var _0x5a2ba5=_0x553404[_0x1327('0x1f')]('§');_0x5c0933=_0x5a2ba5[0x0];if(_0x5a2ba5[_0x1327('0x1b')]==0x2)_0xa7e660=_0x5a2ba5[0x1];return new Promise(function(_0x3ced1e,_0x26d54d){return db['CmContactHasItem']['findOne']({'where':{'CmContactId':_0x555477,'item':_0x5c0933}})[_0x1327('0x20')](function(_0x4d6e5c){if(_0x4d6e5c){return db[_0x1327('0x21')][_0x1327('0x22')]({'ItemTypeId':_0x459f02,'description':_0xa7e660,'OrderBy':_0x192375},{'where':{'CmContactId':_0x555477,'item':_0x5c0933}})[_0x1327('0x20')](function(_0x58dcce){_0x3ced1e({'res':_0x1327('0x23')});});}else{return db[_0x1327('0x21')][_0x1327('0x24')]({'CmContactId':_0x555477,'item':_0x5c0933,'description':_0xa7e660,'ItemTypeId':_0x459f02,'OrderBy':_0x192375,'ItemClass':'PHONE'})[_0x1327('0x20')](function(_0x48fbe7){_0x3ced1e({'res':_0x1327('0x25')});});}});});}function insertCmHopper(_0x4539ea,_0x421edd,_0x38d434,_0x5f4a2f,_0x56ca59){var _0x96ff61=[_0x1327('0x26'),_0x1327('0x27'),_0x1327('0x28'),'cm_contacts.ListId',_0x421edd+'.'+_0x5f4a2f,'cm_contacts.createdAt',_0x1327('0x29'),_0x1327('0x2a'),'cm_contacts.UserId','\x22'+_0x56ca59+'\x22'];return squel[_0x1327('0x2b')]()[_0x1327('0x2c')](_0x1327('0x2d'))['fromQuery'](['phone',_0x1327('0x2e'),'ContactId','ListId',_0x5f4a2f,_0x1327('0x2f'),_0x1327('0x30'),_0x1327('0x31'),'UserId',_0x1327('0x32')],squel[_0x1327('0x12')]()[_0x1327('0x33')](_0x96ff61)['from'](_0x421edd)['join'](_0x1327('0x34'),null,_0x1327('0x35')+_0x421edd+_0x1327('0x36'))[_0x1327('0x15')](_0x38d434,null,_0x38d434+_0x1327('0x16')+_0x421edd+'.'+_0x5f4a2f)['where'](_0x421edd+'.CmListId\x20=\x20?',_0x4539ea)[_0x1327('0x17')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x1327('0x17')](_0x1327('0x37'),selectNotIn(_0x421edd,_0x38d434,_0x5f4a2f,_0x1327('0x2d'),[_0x1327('0x38'),'\x22onlyIfOpen\x22']))[_0x1327('0x17')](_0x1327('0x37'),selectNotIn(_0x421edd,_0x38d434,_0x5f4a2f,_0x1327('0x2d'),[_0x1327('0x38')])))['toString']();}function insertCmHopperBlack(_0x2ed841,_0x1ed7fb,_0x226085,_0x298099){var _0x511c2e=['cm_contacts.phone',_0x1327('0x28'),'cm_contacts.ListId',_0x1ed7fb+'.'+_0x298099,_0x1327('0x39'),'cm_contacts.updatedAt'];return squel[_0x1327('0x2b')]()['into'](_0x1327('0x3a'))[_0x1327('0x3b')]([_0x1327('0x13'),_0x1327('0x3c'),_0x1327('0x3d'),_0x298099,_0x1327('0x2f'),'updatedAt'],squel[_0x1327('0x12')]()[_0x1327('0x33')](_0x511c2e)[_0x1327('0x14')](_0x1ed7fb)['join'](_0x1327('0x34'),null,_0x1327('0x35')+_0x1ed7fb+'.CmListId')[_0x1327('0x15')](_0x226085,null,_0x226085+_0x1327('0x16')+_0x1ed7fb+'.'+_0x298099)['where'](_0x1ed7fb+_0x1327('0x3e'),_0x2ed841)[_0x1327('0x17')](_0x1327('0x3f'),NOW)[_0x1327('0x17')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0x1327('0x12')]()[_0x1327('0x40')](_0x1327('0x13'))[_0x1327('0x14')](_0x1327('0x3a'))[_0x1327('0x17')](_0x1327('0x41'),_0x2ed841)[_0x1327('0x17')](_0x298099+'\x20=\x20'+_0x1ed7fb+'.'+_0x298099)))[_0x1327('0x42')]();}function insertTzCmHopper(_0x4d9486,_0x4e6193,_0x5e6ca6,_0x428826,_0xa859ef,_0x505538){var _0x4f23cc=[_0x1327('0x26'),_0x1327('0x43')+_0x505538+_0x1327('0x44'),_0x1327('0x28'),'cm_contacts.ListId',_0x4e6193+'.'+_0x428826,_0x1327('0x39'),_0x1327('0x29'),_0x1327('0x2a'),_0x1327('0x45'),'\x22'+_0xa859ef+'\x22'];var _0x442e48=squel[_0x1327('0x2b')]()[_0x1327('0x2c')](_0x1327('0x2d'))['fromQuery'](['phone',_0x1327('0x2e'),'ContactId',_0x1327('0x3d'),_0x428826,_0x1327('0x2f'),_0x1327('0x30'),'priority',_0x1327('0x46'),_0x1327('0x32')],squel[_0x1327('0x12')]()[_0x1327('0x33')](_0x4f23cc)[_0x1327('0x14')](_0x4e6193)['join'](_0x1327('0x34'),null,'cm_contacts.ListId\x20=\x20'+_0x4e6193+_0x1327('0x36'))['join'](_0x5e6ca6,null,_0x5e6ca6+_0x1327('0x16')+_0x4e6193+'.'+_0x428826)[_0x1327('0x15')](_0x505538,null,_0x505538+'.id\x20=\x20'+_0x4e6193+'.'+_0x428826)[_0x1327('0x17')](_0x4e6193+_0x1327('0x3e'),_0x4d9486)['where'](_0x1327('0x3f'),NOW)[_0x1327('0x17')](_0x1327('0x37'),selectNotIn(_0x4e6193,_0x5e6ca6,_0x428826,_0x1327('0x2d'),[_0x1327('0x38'),_0x1327('0x47')]))[_0x1327('0x17')](_0x1327('0x37'),selectNotIn(_0x4e6193,_0x5e6ca6,_0x428826,_0x1327('0x2d'),[_0x1327('0x38')])))['toString']();return _0x442e48;}function insertTzCmHopperBlack(_0x2f0439,_0x43fb90,_0x2b5b5c,_0x502ed5){var _0x4a92ab=['cm_contacts.phone','cm_contacts.id',_0x1327('0x48'),_0x43fb90+'.'+_0x502ed5,_0x1327('0x39'),_0x1327('0x29')];return squel[_0x1327('0x2b')]()[_0x1327('0x2c')]('cm_hopper_black')[_0x1327('0x3b')]([_0x1327('0x13'),_0x1327('0x3c'),_0x1327('0x3d'),_0x502ed5,_0x1327('0x2f'),_0x1327('0x30')],squel[_0x1327('0x12')]()[_0x1327('0x33')](_0x4a92ab)[_0x1327('0x14')](_0x43fb90)[_0x1327('0x15')](_0x1327('0x34'),null,_0x1327('0x35')+_0x43fb90+_0x1327('0x36'))['join'](_0x2b5b5c,null,_0x2b5b5c+_0x1327('0x16')+_0x43fb90+'.'+_0x502ed5)['where'](_0x43fb90+'.CmListId\x20=\x20?',_0x2f0439)[_0x1327('0x17')](_0x1327('0x3f'),NOW)[_0x1327('0x17')](_0x1327('0x37'),squel[_0x1327('0x12')]()[_0x1327('0x40')](_0x1327('0x13'))[_0x1327('0x14')](_0x1327('0x3a'))[_0x1327('0x17')](_0x1327('0x41'),_0x2f0439)['where'](_0x502ed5+_0x1327('0x18')+_0x43fb90+'.'+_0x502ed5)))[_0x1327('0x42')]();}function insertCmHopperAdditionalPhones(_0x10ade2){var _0x572cb0=[_0x1327('0x49'),_0x1327('0x4a'),_0x1327('0x4b'),_0x1327('0x4c'),_0x1327('0x4d')];return squel[_0x1327('0x2b')]()[_0x1327('0x2c')](_0x1327('0x4e'))['fromQuery']([_0x1327('0x4f'),_0x1327('0x13'),_0x1327('0x50'),'createdAt',_0x1327('0x30')],squel[_0x1327('0x12')]()[_0x1327('0x33')](_0x572cb0)[_0x1327('0x14')](_0x1327('0x2d'))[_0x1327('0x15')](_0x1327('0x34'),null,_0x1327('0x51'))[_0x1327('0x15')](_0x1327('0x52'),null,'cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId')['where'](_0x1327('0x53'),_0x10ade2)['where']('cm_contacts.createdAt\x20=\x20?',NOW))['toString']();}function insertCmContact(_0x226054,_0x49236f,_0x3da9d5,_0x1113cb){var _0x2c8d89=_[_0x1327('0x54')](_[_0x1327('0x55')](_0x1113cb),[_0x1327('0x3d'),'CompanyId',_0x1327('0x2f'),'updatedAt']);return squel[_0x1327('0x2b')]()['into'](_0x1327('0x34'))[_0x1327('0x3b')](_0x2c8d89,squel['select']()[_0x1327('0x33')](_0x2c8d89)[_0x1327('0x14')](_0x49236f)[_0x1327('0x17')]('('+_0x3da9d5[_0x1327('0x15')](',')+_0x1327('0x56'),squel[_0x1327('0x12')]()[_0x1327('0x33')](_0x3da9d5)[_0x1327('0x14')](_0x1327('0x34'))[_0x1327('0x17')](_0x1327('0x41'),_0x226054)[_0x1327('0x17')](_0x1327('0x57')))['where']('id\x20IN\x20?',squel[_0x1327('0x12')]()[_0x1327('0x40')]('MIN(id)',_0x1327('0x58'))['from'](_0x49236f)[_0x1327('0x59')](_0x3da9d5[_0x1327('0x15')](','))))['toString']();}function handleStop(){logger['info'](_0x1327('0x5a'));stopped=!![];}function handleUncaughtException(_0x4ba0ac){logger['error'](_0x4ba0ac[_0x1327('0x5b')]);process[_0x1327('0x5c')](0x1);}function handleError(_0x57786f,_0x1c3529){stats[_0x1327('0x5d')][_0x1327('0x1c')]({'name':_0x1c3529[_0x1327('0x5e')],'message':_0x1c3529[_0x1327('0x5b')],'row':_0x57786f});}function handleQuery(_0x186371){logger[_0x1327('0x5f')](_0x186371);return db[_0x1327('0x60')][_0x1327('0x61')](_0x186371)['spread'](function(_0x17a1ae){results[_0x1327('0x1c')](_0x17a1ae);})[_0x1327('0x62')](function(_0x16612a){logger['error'](_0x16612a[_0x1327('0x5b')]);});}function updateTzCampaigns(_0x2055f1){return new Promise(function(_0x11fc7f,_0x3fdba6){var _0x3e48ec=squel[_0x1327('0x12')]()[_0x1327('0x33')]([_0x1327('0x63'),_0x1327('0x64')])[_0x1327('0x14')]('campaigns')['join']('campaigns_has_cm_lists',null,_0x1327('0x65'))[_0x1327('0x17')](_0x1327('0x66')+_0x2055f1);db[_0x1327('0x60')][_0x1327('0x61')](_0x3e48ec[_0x1327('0x42')]())['spread'](function(_0xdc5cd){var _0x43cf8c=[];for(var _0x3a3d62=0x0;_0x3a3d62<_0xdc5cd[_0x1327('0x1b')];_0x3a3d62++){_0x43cf8c[_0x1327('0x1c')](getTimezoneData(_0xdc5cd[_0x3a3d62],tmp_campaigns));}BPromise[_0x1327('0x1d')](_0x43cf8c)[_0x1327('0x20')](function(){_0x11fc7f({'val':0x1});});})[_0x1327('0x62')](function(_0x383690){logger[_0x1327('0x67')](_0x383690[_0x1327('0x5b')]);_0x11fc7f({'val':0x0});});});}function updateTzVoiceQueues(_0x2eb06f){return new Promise(function(_0x899349,_0x2b7531){var _0x6633ad=squel['select']()[_0x1327('0x33')]([_0x1327('0x68'),_0x1327('0x69')])[_0x1327('0x14')](_0x1327('0x6a'))[_0x1327('0x15')]('voice_queues_has_cm_lists',null,_0x1327('0x6b'))['where'](_0x1327('0x6c')+_0x2eb06f);db[_0x1327('0x60')][_0x1327('0x61')](_0x6633ad[_0x1327('0x42')]())['spread'](function(_0x20a66f){var _0x4b6449=[];for(var _0x80be30=0x0;_0x80be30<_0x20a66f[_0x1327('0x1b')];_0x80be30++){_0x4b6449['push'](getTimezoneData(_0x20a66f[_0x80be30],tmp_voice_queues));}BPromise[_0x1327('0x1d')](_0x4b6449)['then'](function(){_0x899349({'val':0x1});});})[_0x1327('0x62')](function(_0x36e725){logger[_0x1327('0x67')](_0x36e725[_0x1327('0x5b')]);_0x899349({'val':0x0});});});}function getTimezoneData(_0x19c535,_0x11ae09){return new Promise(function(_0x14e47e,_0xbade64){var _0x55a900=shared[_0x1327('0x6d')];var _0x340389=_0x55a900[_0x19c535['dialTimezone']];if(_['isNil'](_0x340389)){_0x14e47e({'ret':0x1});}else{var _0x1395da=_0x340389[_0x1327('0x6e')];var _0x15a477=squel[_0x1327('0x2b')]()[_0x1327('0x2c')](_0x11ae09)['set']('id',_0x19c535['id'])[_0x1327('0x6f')]('offset',_0x1395da)[_0x1327('0x6f')](_0x1327('0x70'),_0x19c535[_0x1327('0x70')])[_0x1327('0x42')]();return db[_0x1327('0x60')][_0x1327('0x61')](_0x15a477)[_0x1327('0x71')](function(_0x130750){_0x14e47e({'ret':0x1});})[_0x1327('0x62')](function(_0x46b708){logger[_0x1327('0x67')](_0x46b708['message']);_0xbade64({'ret':0x1});});}});}function handleTZQuery(_0x1b1c6d){logger['info'](_0x1b1c6d);return db['sequelize']['query'](_0x1b1c6d)[_0x1327('0x71')](function(_0x671311){})[_0x1327('0x62')](function(_0x2d76ac){logger[_0x1327('0x67')](_0x2d76ac[_0x1327('0x5b')]);});}function main(_0x49caeb,_0x27f4eb,_0x25a6e2,_0x4eef82){logger[_0x1327('0x5f')](_0x1327('0x72'),_0x49caeb,JSON[_0x1327('0x73')](_0x27f4eb));process[_0x1327('0x74')](_0x1327('0x75'));var _0x26a0ed=_0x27f4eb['binding'];var _0x27f2e4=_['clone'](_0x26a0ed);var _0x12e2b9=_0x27f4eb[_0x1327('0x76')];var _0x2a169a=path[_0x1327('0x15')](config['root'],_0x1327('0x77'),_0x12e2b9+_0x1327('0x78'));hasTZ=_[_0x1327('0x55')](_0x26a0ed)[_0x1327('0x79')](_0x1327('0x70'));var _0x1bbcbe=_['keys'](_0x26a0ed)[_0x1327('0x15')]();logger['info']('header',_0x1bbcbe);db[_0x1327('0x7a')][_0x1327('0x7b')]({'raw':!![],'attributes':['id',_0x1327('0x7c')]})['then'](function(_0x587674){for(var _0x5b9602=0x0;_0x5b9602<_0x587674[_0x1327('0x1b')];_0x5b9602++){if(_0x587674[_0x5b9602][_0x1327('0x7c')]in _0x26a0ed){contactItemTypes[_0x1327('0x1c')](_0x587674[_0x5b9602]);delete _0x27f2e4[_0x587674[_0x5b9602][_0x1327('0x7c')]];hasAdditionalPhones=!![];}for(var _0xdfcf0c in _0x26a0ed){if(_0x587674[_0x5b9602][_0x1327('0x7c')]+_0x1327('0x7d')===_0xdfcf0c){phoneDescriptions['push']({'itemTypeId':_0x587674[_0x5b9602]['id'],'description':_0xdfcf0c});delete _0x27f2e4[_0xdfcf0c];}}}if(hasAdditionalPhones)_0x27f2e4[_0x1327('0x1e')]='';var _0x54881e=_[_0x1327('0x55')](_0x27f2e4)[_0x1327('0x15')]();logger[_0x1327('0x5f')](_0x1327('0x7e'),_0x54881e);fs[_0x1327('0x7f')](_0x2a169a,_0x54881e+'\x0a');Papa[_0x1327('0x80')](fs['createReadStream'](_0x49caeb),{'header':!![],'skipEmptyLines':!![],'step':function(_0x5d9f02,_0x5ebff7){try{for(var _0x2d06a1=0x0,_0x5ce968=[];_0x2d06a1<_0x5d9f02[_0x1327('0x81')]['length'];_0x2d06a1++){stats[_0x1327('0x82')]+=0x1;if(_0x5d9f02['errors'][_0x2d06a1]){handleError(_0x5d9f02['data'][_0x2d06a1],_0x5d9f02['errors'][_0x2d06a1]);}else{var _0x1f618b=[];var _0x2a266e=[];var _0x3040ae={};for(var _0x1d241a in _0x26a0ed){let _0x297654=contactItemTypes['find'](_0x7d7b84=>_0x7d7b84[_0x1327('0x7c')]===_0x1d241a);let _0x3c7e5d=contactItemTypes[_0x1327('0x83')](_0x2bd36b=>_0x2bd36b[_0x1327('0x7c')]+_0x1327('0x7d')===_0x1d241a);if(_[_0x1327('0x84')](_0x297654)&&_[_0x1327('0x84')](_0x3c7e5d)){if(_0x26a0ed[_0x1327('0x85')](_0x1d241a)){if(_0x5d9f02[_0x1327('0x81')][_0x2d06a1][_0x26a0ed[_0x1d241a]]){var _0x4deca0=_['trim'](_0x5d9f02[_0x1327('0x81')][_0x2d06a1][_0x26a0ed[_0x1d241a]][_0x1327('0x86')](/"/g,'\x27'));switch(_0x1d241a){case _0x1327('0x2e'):var _0x2d6eb2=moment(_0x4deca0,_0x1327('0x10'),!![]);if(_0x2d6eb2['isValid']()){_0x5ce968['push']('\x22'+_0x4deca0+'\x22');}else{_0x1f618b[_0x1327('0x1c')](_0x1327('0x87'));}break;case'priority':var _0x5a52f8=parseInt(_0x4deca0);_0x4deca0=_[_0x1327('0x88')](_0x5a52f8)||_0x5a52f8<0x0||_0x5a52f8>0x4?_0x4eef82?0x3:0x2:_0x5a52f8;_0x5ce968['push']('\x22'+_0x4deca0+'\x22');break;case _0x1327('0x46'):var _0x45143c=parseInt(_0x4deca0);if(_[_0x1327('0x89')](_0x45143c)&&_[_0x1327('0x79')](_0x25a6e2,_0x45143c)){_0x5ce968[_0x1327('0x1c')]('\x22'+_0x45143c+'\x22');}else{_0x1f618b[_0x1327('0x1c')](_0x1327('0x8a'));}break;case'email':if(isEmail(_0x4deca0)){_0x5ce968[_0x1327('0x1c')]('\x22'+_0x4deca0+'\x22');}else{_0x1f618b[_0x1327('0x1c')](_0x1327('0x8b'));}break;case _0x1327('0x8c'):var _0x4fd55a=moment(_0x4deca0,_0x1327('0x8d'),!![]);if(_0x4fd55a[_0x1327('0x8e')]()){_0x5ce968['push']('\x22'+_0x4deca0+'\x22');}else{_0x1f618b[_0x1327('0x1c')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;case _0x1327('0x70'):var _0x95c7b=shared[_0x1327('0x6d')];var _0x2c4688=_0x95c7b[_0x4deca0];if(!_[_0x1327('0x84')](_0x2c4688)){var _0x3950d8=_0x2c4688[_0x1327('0x6e')];_0x5ce968[_0x1327('0x1c')]('\x22'+_0x4deca0+'\x22');_0x5ce968[_0x1327('0x1c')]('\x22'+_0x3950d8+'\x22');}break;default:_0x5ce968[_0x1327('0x1c')]('\x22'+_0x4deca0+'\x22');}}else{switch(_0x1d241a){case _0x1327('0x8f'):case'phone':_0x1f618b[_0x1327('0x1c')](_0x1d241a+'\x20not\x20specified');break;default:_0x5ce968[_0x1327('0x1c')]('\x22\x22');}}}}else{var _0x233da7='';if(!_['isNil'](_0x297654)){if(!_0x3040ae[_0x1327('0x85')](_0x297654['id'])){if(!_[_0x1327('0x84')](_0x5d9f02['data'][_0x2d06a1][_0x26a0ed[_0x1d241a]])){var _0x4deca0=_[_0x1327('0x90')](_0x5d9f02['data'][_0x2d06a1][_0x26a0ed[_0x1d241a]]['replace'](/"/g,'\x27'));var _0x33013b=phoneDescriptions[_0x1327('0x83')](_0x597e05=>_0x597e05[_0x1327('0x91')]===_0x297654['id']);if(!_['isNil'](_0x33013b)){var _0x3c046c=_[_0x1327('0x90')](_0x5d9f02[_0x1327('0x81')][_0x2d06a1][_0x26a0ed[_0x33013b[_0x1327('0x92')]]][_0x1327('0x86')](/"/g,'\x27'));if(!_[_0x1327('0x84')](_0x3c046c))_0x4deca0=_0x4deca0+'§'+_0x3c046c;}if(_0x233da7=='')_0x233da7=_0x4deca0;else _0x233da7+='|'+_0x4deca0;}_0x2a266e[_0x1327('0x1c')](_0x297654['id']+':'+_0x233da7);_0x3040ae[_0x297654['id']]=0x1;}}}}if(hasAdditionalPhones){_0x5ce968[_0x1327('0x1c')]('\x22'+_0x2a266e[_0x1327('0x15')](';')+'\x22');}if(_0x1f618b[_0x1327('0x1b')]){handleError(_0x5d9f02[_0x1327('0x81')][_0x2d06a1],{'code':_0x1327('0x93'),'message':_0x1f618b['join']()});}else{fs['appendFileSync'](_0x2a169a,_0x5ce968[_0x1327('0x15')]()+'\x0a');}_0x5ce968=[];}if(!(stats[_0x1327('0x82')]%0xc8)){socket['emit'](_0x1327('0x94')+_0x12e2b9,stats);stats[_0x1327('0x5d')]=[];}}if(stopped){logger[_0x1327('0x5f')]('Abort\x20parser');_0x5ebff7[_0x1327('0x95')]();}}catch(_0x217669){handleError(_0x5d9f02[_0x1327('0x81')][_0x2d06a1],{'code':'SystemError','message':_0x217669[_0x1327('0x5b')]});logger[_0x1327('0x67')]('step',_0x217669[_0x1327('0x5b')]);}},'complete':function(){try{var _0x536daa=[];var _0xb9072a=[];var _0x5f57b8='cm_contacts';if(_0x27f4eb[_0x1327('0x96')]&&_0x27f4eb[_0x1327('0x96')][_0x1327('0x1b')]){_0x5f57b8=_0x1327('0x97')+_0x12e2b9;_0x536daa['push'](_0x1327('0x98')+_0x5f57b8+_0x1327('0x99'));}tmp_campaigns=_0x1327('0x9a')+_0x12e2b9;tmp_voice_queues=_0x1327('0x9b')+_0x12e2b9;_0xb9072a['push'](_0x1327('0x98')+tmp_campaigns+_0x1327('0x9c'));_0xb9072a[_0x1327('0x1c')](_0x1327('0x98')+tmp_voice_queues+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');BPromise['each'](_0xb9072a,handleTZQuery)['then'](function(_0xcc9ab9){updateTzCampaigns(_0x27f4eb[_0x1327('0x3d')])[_0x1327('0x20')](function(_0x2e6819){updateTzVoiceQueues(_0x27f4eb[_0x1327('0x3d')])[_0x1327('0x20')](function(_0x1a158d){if(hasTZ)_0x54881e=_0x54881e[_0x1327('0x86')](_0x1327('0x70'),_0x1327('0x9d'));var _0x383d49=util[_0x1327('0xf')](_0x1327('0x9e'),_0x2a169a,_0x5f57b8,_0x54881e,_0x27f4eb['ListId'],_0x27f4eb[_0x1327('0x9f')]||null,NOW,NOW);if(_[_0x1327('0x84')](_0x26a0ed[_0x1327('0x2e')])){_0x383d49+=_0x1327('0xa0');}_0x536daa['push'](_0x383d49);if(_0x27f4eb[_0x1327('0x96')]&&_0x27f4eb[_0x1327('0x96')]['length']){_0x536daa['push'](insertCmContact(_0x27f4eb[_0x1327('0x3d')],_0x5f57b8,_0x27f4eb[_0x1327('0x96')],_0x26a0ed));_0x536daa[_0x1327('0x1c')](_0x1327('0xa1')+_0x5f57b8+';');}BPromise[_0x1327('0xa2')](_0x536daa,handleQuery)[_0x1327('0x20')](function(_0x57c5a6){BPromise[_0x1327('0x1d')]([handleAdditionalPhones()])[_0x1327('0x20')](function(){_0x536daa=[];for(var _0x3f470f=0x0;_0x3f470f<promisesAdditionalPhones['length'];_0x3f470f++){if(promisesAdditionalPhones[_0x3f470f][_0x1327('0x13')]!='§'){_0x536daa[_0x1327('0x1c')](createAdditionalPhone(promisesAdditionalPhones[_0x3f470f]['contactId'],promisesAdditionalPhones[_0x3f470f][_0x1327('0xa3')],promisesAdditionalPhones[_0x3f470f][_0x1327('0x13')],promisesAdditionalPhones[_0x3f470f][_0x1327('0xa4')]));}}BPromise[_0x1327('0x1d')](_0x536daa)[_0x1327('0x20')](function(){_0x536daa=[];if(hasTZ){_0x536daa[_0x1327('0x1c')](insertTzCmHopper(_0x27f4eb[_0x1327('0x3d')],_0x1327('0xa5'),'voice_queues',_0x1327('0xa6'),_0x4eef82,tmp_voice_queues));_0x536daa['push'](insertTzCmHopperBlack(_0x27f4eb[_0x1327('0x3d')],_0x1327('0xa7'),_0x1327('0x6a'),_0x1327('0xa6')));_0x536daa[_0x1327('0x1c')](insertTzCmHopper(_0x27f4eb[_0x1327('0x3d')],_0x1327('0xa8'),_0x1327('0xa9'),_0x1327('0xaa'),_0x4eef82,tmp_campaigns));_0x536daa[_0x1327('0x1c')](insertTzCmHopperBlack(_0x27f4eb[_0x1327('0x3d')],'campaigns_has_cm_blacklists',_0x1327('0xa9'),'CampaignId'));_0x536daa[_0x1327('0x1c')](insertCmHopperAdditionalPhones(_0x27f4eb[_0x1327('0x3d')]));}else{_0x536daa[_0x1327('0x1c')](insertCmHopper(_0x27f4eb[_0x1327('0x3d')],_0x1327('0xa5'),_0x1327('0x6a'),_0x1327('0xa6'),_0x4eef82));_0x536daa['push'](insertCmHopperBlack(_0x27f4eb[_0x1327('0x3d')],'voice_queues_has_cm_blacklists',_0x1327('0x6a'),_0x1327('0xa6')));_0x536daa['push'](insertCmHopper(_0x27f4eb[_0x1327('0x3d')],_0x1327('0xa8'),_0x1327('0xa9'),_0x1327('0xaa'),_0x4eef82));_0x536daa['push'](insertCmHopperBlack(_0x27f4eb[_0x1327('0x3d')],_0x1327('0xab'),'campaigns','CampaignId'));_0x536daa[_0x1327('0x1c')](insertCmHopperAdditionalPhones(_0x27f4eb['ListId']));}_0x536daa['push'](_0x1327('0xa1')+tmp_campaigns+';');_0x536daa[_0x1327('0x1c')](_0x1327('0xa1')+tmp_voice_queues+';');BPromise[_0x1327('0xa2')](_0x536daa,handleQuery)[_0x1327('0x20')](function(_0x3fc775){stats[_0x1327('0xac')]=!![];stats['affectedRows']=_0x27f4eb['duplicates']&&_0x27f4eb[_0x1327('0x96')]['length']?results[0x2]['affectedRows']:results[0x0][_0x1327('0xad')];socket[_0x1327('0xae')]('contact:import:'+_0x12e2b9,stats);fs[_0x1327('0xaf')](_0x49caeb);fs[_0x1327('0xaf')](_0x2a169a);process[_0x1327('0x5c')](0x0);})[_0x1327('0x62')](function(_0x7e7a47){logger['error'](_0x7e7a47[_0x1327('0x5b')]);process[_0x1327('0x5c')](0x1);});});});})[_0x1327('0x62')](function(_0x537bf0){logger[_0x1327('0x67')](_0x537bf0[_0x1327('0x5b')]);process['exit'](0x1);});});});});}catch(_0x33f854){logger['error'](_0x1327('0xb0'),_0x33f854[_0x1327('0x5b')]);process[_0x1327('0x5c')](0x1);}},'error':function(_0x4266db,_0x521e0c,_0xa23baf,_0x18ca99){throw new Error(_0x18ca99);}});});}function validate(){if(process[_0x1327('0xb1')]&&process[_0x1327('0xb1')][_0x1327('0x1b')]<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x2a8d22=path[_0x1327('0x15')](config[_0x1327('0xb2')],_0x1327('0x77'),process[_0x1327('0xb1')][0x2]);if(!fs[_0x1327('0xb3')](_0x2a8d22)){throw new Error(_0x1327('0xb4'));}var _0x4716cb={};try{_0x4716cb=JSON['parse'](process[_0x1327('0xb1')][0x3]);if(!_0x4716cb[_0x1327('0xb5')]){throw new Error(_0x1327('0xb6'));}if(!_0x4716cb['binding'][_0x1327('0x13')]){throw new Error(_0x1327('0xb7'));}if(!_0x4716cb[_0x1327('0xb5')][_0x1327('0x8f')]){throw new Error('firstName\x20is\x20mandatory');}var _0x403d73=0x0;if(_0x4716cb[_0x1327('0xb5')][_0x1327('0x46')]){_0x403d73=0x1;}if(!_0x4716cb[_0x1327('0x3d')]){throw new Error(_0x1327('0xb8'));}}catch(_0x52358a){throw new Error(_0x1327('0xb9'));}var _0x4374bc=[];try{_0x4374bc=_[_0x1327('0xba')](JSON[_0x1327('0x80')](process['argv'][0x4]),'id');}catch(_0x217a4b){logger[_0x1327('0x5f')](_0x1327('0xbb'));}main(_0x2a8d22,_0x4716cb,_0x4374bc,_0x403d73);}validate();process['on'](_0x1327('0xbc'),handleStop);process['on'](_0x1327('0xbd'),handleUncaughtException);