Built motion from commit f6d7e26c.|2.6.14
[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 _0x8ad5=['step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','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',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','contactId','contactTypeId','voice_queues_has_cm_lists','VoiceQueueId','campaigns_has_cm_lists','campaigns_has_cm_blacklists','campaigns','voice_queues_has_cm_blacklists','CampaignId','affectedRows','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','file\x20doesn\x27t\x20exists','parse','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','papaparse','util','bluebird','moment','ioredis','../../../mysqldb','../../../config/logger','import','redis','localhost','format','YYYY-MM-DD\x20HH:mm:ss','test','select','field','phone','from','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','join','findAll','AdditionalPhones','then','length','push','all','split','isNil','filter','CmContactHasItem','updated','create','PHONE','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','scheduledat','ListId','priority','fields','cm_contacts','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','toString','cm_contacts.ListId','cm_hopper_black','createdAt','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','ListId\x20=\x20?','updatedAt','UserId','\x22onlyIfOpen\x22','ContactId','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_hopper_additional_phones','fromQuery','CmHopperId','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','CompanyId','scheduledAt',')\x20NOT\x20IN\x20?','MIN(id)','min_id','group','info','Received\x20SIGINT','message','exit','code','sequelize','catch','error','campaigns.id','campaigns.dialTimezone','campaigns_has_cm_lists.CmListId=','query','spread','voice_queues.dialTimezone','voice_queues','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','timezones','dialTimezone','utcOffset','set','offset','main','stringify','send','start','binding','clone','socket_timestamp','root','server/files/tmp','includes','ContactItemType','name','keys','header','createReadStream','data','rows','errors','find','_description','hasOwnProperty','trim','replace','isValid','isNaN','isNumber','email','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','itemTypeId','description','appendFileSync','emit','contact:import:','abort','SystemError'];(function(_0x4571b1,_0x1d7ce0){var _0x27dc91=function(_0x5d53ea){while(--_0x5d53ea){_0x4571b1['push'](_0x4571b1['shift']());}};_0x27dc91(++_0x1d7ce0);}(_0x8ad5,0xda));var _0x58ad=function(_0xae7c2f,_0xf31e04){_0xae7c2f=_0xae7c2f-0x0;var _0x5d7001=_0x8ad5[_0xae7c2f];return _0x5d7001;};'use strict';var fs=require('fs');var path=require(_0x58ad('0x0'));var _=require(_0x58ad('0x1'));var Papa=require(_0x58ad('0x2'));var util=require(_0x58ad('0x3'));var BPromise=require(_0x58ad('0x4'));var moment=require(_0x58ad('0x5'));var squel=require('squel');var Redis=require(_0x58ad('0x6'));var db=require(_0x58ad('0x7'))['db'];var config=require('../../../config/environment');var shared=require('../../../config/environment/shared');var logger=require(_0x58ad('0x8'))(_0x58ad('0x9'));config[_0x58ad('0xa')]=_['defaults'](config[_0x58ad('0xa')],{'host':_0x58ad('0xb'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0x58ad('0xc')](_0x58ad('0xd'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0x58ad('0xc')](_0x58ad('0xd'));function isEmail(_0x577a65){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))*$/[_0x58ad('0xe')](_0x577a65);}function selectNotIn(_0xa25161,_0x58a9cc,_0xc0bc1c,_0x337c7a,_0x39a378){return squel[_0x58ad('0xf')]()[_0x58ad('0x10')](_0x58ad('0x11'))[_0x58ad('0x12')](_0x337c7a)['join'](_0x58a9cc,null,_0x58a9cc+_0x58ad('0x13')+_0x337c7a+'.'+_0xc0bc1c)[_0x58ad('0x14')](_0x337c7a+'.'+_0xc0bc1c+_0x58ad('0x15')+_0xa25161+'.'+_0xc0bc1c)[_0x58ad('0x14')](_0x58a9cc+_0x58ad('0x16')+_0x39a378[_0x58ad('0x17')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x448887,_0x93734b){promisesAdditionalPhones=[];return db['CmContact'][_0x58ad('0x18')]({'raw':!![],'attributes':['id',_0x58ad('0x19')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x58ad('0x1a')](function(_0x378f20){if(_0x378f20!==null){var _0x1a8606=[];for(var _0x51a181=0x0;_0x51a181<_0x378f20[_0x58ad('0x1b')];_0x51a181++){var _0x5b2a11=_0x378f20[_0x51a181];_0x1a8606[_0x58ad('0x1c')](insertAdditionalPhones(_0x5b2a11));}}Promise[_0x58ad('0x1d')](_0x1a8606)[_0x58ad('0x1a')](function(){_0x448887({'val':0x1});});});});}function insertAdditionalPhones(_0x2fdd9b){return new Promise(function(_0xf75ff6,_0x12faa7){var _0x534554=_0x2fdd9b[_0x58ad('0x19')];var _0x3fbf7e=_0x534554[_0x58ad('0x1e')](';');var _0x265266=[];orderBy=0x0;for(var _0x3acbac=0x0;_0x3acbac<_0x3fbf7e[_0x58ad('0x1b')];_0x3acbac++){_0x265266[_0x58ad('0x1c')](splitAdditionalPhone(_0x2fdd9b['id'],_0x3fbf7e[_0x3acbac]));}Promise['all'](_0x265266)[_0x58ad('0x1a')](function(){_0xf75ff6({'val':_0x3fbf7e[_0x58ad('0x1b')]});});});}function splitAdditionalPhone(_0x4a8948,_0x415dbf){return new Promise(function(_0x4af672,_0x10d936){var _0x10aa46=_0x415dbf[_0x58ad('0x1e')](':');var _0x21dc0d=_0x10aa46[0x0];var _0x322686=_0x10aa46[0x1];if(!_[_0x58ad('0x1f')](_0x322686)){var _0x4edec7=_0x322686['split']('|');var _0x286240=[];for(var _0x500263=0x0;_0x500263<_0x4edec7[_0x58ad('0x1b')];_0x500263++){if(_0x4edec7[_0x500263]!==''){var _0x39efd9=_[_0x58ad('0x20')](promisesAdditionalPhones,{'contactId':_0x4a8948,'phone':_0x4edec7[_0x500263]});if(_0x39efd9['length']==0x0){orderBy++;promisesAdditionalPhones[_0x58ad('0x1c')]({'contactId':_0x4a8948,'contactTypeId':_0x21dc0d,'phone':_0x4edec7[_0x500263],'orderBy':orderBy});}}}_0x4af672({'ok':0x1});}else _0x4af672({'res':0x0});});}function createAdditionalPhone(_0x5d6146,_0x10a80b,_0x3073a1,_0x290d98){var _0x12ff5c='';var _0x44b195='';var _0x10ed2c=_0x3073a1['split']('§');_0x12ff5c=_0x10ed2c[0x0];if(_0x10ed2c[_0x58ad('0x1b')]==0x2)_0x44b195=_0x10ed2c[0x1];return new Promise(function(_0x330c6b,_0x5c5d6f){return db['CmContactHasItem']['findOne']({'where':{'CmContactId':_0x5d6146,'item':_0x12ff5c}})[_0x58ad('0x1a')](function(_0x2ab8ff){if(_0x2ab8ff){return db[_0x58ad('0x21')]['update']({'ItemTypeId':_0x10a80b,'description':_0x44b195,'OrderBy':_0x290d98},{'where':{'CmContactId':_0x5d6146,'item':_0x12ff5c}})['then'](function(_0x42dead){_0x330c6b({'res':_0x58ad('0x22')});});}else{return db[_0x58ad('0x21')][_0x58ad('0x23')]({'CmContactId':_0x5d6146,'item':_0x12ff5c,'description':_0x44b195,'ItemTypeId':_0x10a80b,'OrderBy':_0x290d98,'ItemClass':_0x58ad('0x24')})['then'](function(_0xafc429){_0x330c6b({'res':'inserted'});});}});});}function insertCmHopper(_0x5801cf,_0x25c96c,_0x15340c,_0x58902a,_0x3d9496){var _0x29a595=[_0x58ad('0x25'),_0x58ad('0x26'),_0x58ad('0x27'),'cm_contacts.ListId',_0x25c96c+'.'+_0x58902a,_0x58ad('0x28'),_0x58ad('0x29'),_0x58ad('0x2a'),_0x58ad('0x2b'),'\x22'+_0x3d9496+'\x22'];return squel[_0x58ad('0x2c')]()[_0x58ad('0x2d')](_0x58ad('0x2e'))['fromQuery']([_0x58ad('0x11'),_0x58ad('0x2f'),'ContactId',_0x58ad('0x30'),_0x58902a,'createdAt','updatedAt',_0x58ad('0x31'),'UserId','recallme'],squel[_0x58ad('0xf')]()[_0x58ad('0x32')](_0x29a595)['from'](_0x25c96c)[_0x58ad('0x17')](_0x58ad('0x33'),null,'cm_contacts.ListId\x20=\x20'+_0x25c96c+'.CmListId')[_0x58ad('0x17')](_0x15340c,null,_0x15340c+'.id\x20=\x20'+_0x25c96c+'.'+_0x58902a)[_0x58ad('0x14')](_0x25c96c+'.CmListId\x20=\x20?',_0x5801cf)[_0x58ad('0x14')](_0x58ad('0x34'),NOW)[_0x58ad('0x14')](_0x58ad('0x35'),selectNotIn(_0x25c96c,_0x15340c,_0x58902a,_0x58ad('0x2e'),[_0x58ad('0x36'),'\x22onlyIfOpen\x22']))[_0x58ad('0x14')](_0x58ad('0x35'),selectNotIn(_0x25c96c,_0x15340c,_0x58902a,_0x58ad('0x2e'),[_0x58ad('0x36')])))[_0x58ad('0x37')]();}function insertCmHopperBlack(_0x58e9cb,_0x547c47,_0xfeaf4,_0x3b39d5){var _0x40bbe5=['cm_contacts.phone',_0x58ad('0x27'),_0x58ad('0x38'),_0x547c47+'.'+_0x3b39d5,_0x58ad('0x28'),_0x58ad('0x29')];return squel['insert']()[_0x58ad('0x2d')](_0x58ad('0x39'))['fromQuery']([_0x58ad('0x11'),'ContactId',_0x58ad('0x30'),_0x3b39d5,_0x58ad('0x3a'),'updatedAt'],squel[_0x58ad('0xf')]()[_0x58ad('0x32')](_0x40bbe5)['from'](_0x547c47)['join'](_0x58ad('0x33'),null,_0x58ad('0x3b')+_0x547c47+_0x58ad('0x3c'))[_0x58ad('0x17')](_0xfeaf4,null,_0xfeaf4+_0x58ad('0x13')+_0x547c47+'.'+_0x3b39d5)[_0x58ad('0x14')](_0x547c47+_0x58ad('0x3d'),_0x58e9cb)[_0x58ad('0x14')](_0x58ad('0x34'),NOW)[_0x58ad('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel['select']()[_0x58ad('0x10')](_0x58ad('0x11'))[_0x58ad('0x12')](_0x58ad('0x39'))[_0x58ad('0x14')](_0x58ad('0x3e'),_0x58e9cb)[_0x58ad('0x14')](_0x3b39d5+'\x20=\x20'+_0x547c47+'.'+_0x3b39d5)))['toString']();}function insertTzCmHopper(_0x58fa4b,_0x130561,_0x3e692b,_0x2aeead,_0x51adb9,_0x4dba76){var _0x1eb050=[_0x58ad('0x25'),'date_add(cm_contacts.scheduledat,interval\x20'+_0x4dba76+'.offset-cm_contacts.utcOffset\x20minute)',_0x58ad('0x27'),_0x58ad('0x38'),_0x130561+'.'+_0x2aeead,'cm_contacts.createdAt',_0x58ad('0x29'),'cm_contacts.priority','cm_contacts.UserId','\x22'+_0x51adb9+'\x22'];var _0x4e8c8a=squel[_0x58ad('0x2c')]()[_0x58ad('0x2d')](_0x58ad('0x2e'))['fromQuery']([_0x58ad('0x11'),_0x58ad('0x2f'),'ContactId',_0x58ad('0x30'),_0x2aeead,_0x58ad('0x3a'),_0x58ad('0x3f'),_0x58ad('0x31'),_0x58ad('0x40'),'recallme'],squel['select']()[_0x58ad('0x32')](_0x1eb050)[_0x58ad('0x12')](_0x130561)[_0x58ad('0x17')](_0x58ad('0x33'),null,_0x58ad('0x3b')+_0x130561+_0x58ad('0x3c'))['join'](_0x3e692b,null,_0x3e692b+'.id\x20=\x20'+_0x130561+'.'+_0x2aeead)['join'](_0x4dba76,null,_0x4dba76+_0x58ad('0x13')+_0x130561+'.'+_0x2aeead)[_0x58ad('0x14')](_0x130561+_0x58ad('0x3d'),_0x58fa4b)[_0x58ad('0x14')](_0x58ad('0x34'),NOW)[_0x58ad('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x130561,_0x3e692b,_0x2aeead,_0x58ad('0x2e'),[_0x58ad('0x36'),_0x58ad('0x41')]))[_0x58ad('0x14')](_0x58ad('0x35'),selectNotIn(_0x130561,_0x3e692b,_0x2aeead,'cm_hopper',[_0x58ad('0x36')])))[_0x58ad('0x37')]();return _0x4e8c8a;}function insertTzCmHopperBlack(_0x44e073,_0x515d23,_0x365ae9,_0x3c8d8e){var _0x38bb71=[_0x58ad('0x25'),_0x58ad('0x27'),_0x58ad('0x38'),_0x515d23+'.'+_0x3c8d8e,'cm_contacts.createdAt',_0x58ad('0x29')];return squel['insert']()[_0x58ad('0x2d')]('cm_hopper_black')['fromQuery']([_0x58ad('0x11'),_0x58ad('0x42'),'ListId',_0x3c8d8e,_0x58ad('0x3a'),_0x58ad('0x3f')],squel[_0x58ad('0xf')]()[_0x58ad('0x32')](_0x38bb71)['from'](_0x515d23)[_0x58ad('0x17')](_0x58ad('0x33'),null,_0x58ad('0x3b')+_0x515d23+_0x58ad('0x3c'))[_0x58ad('0x17')](_0x365ae9,null,_0x365ae9+'.id\x20=\x20'+_0x515d23+'.'+_0x3c8d8e)[_0x58ad('0x14')](_0x515d23+_0x58ad('0x3d'),_0x44e073)[_0x58ad('0x14')](_0x58ad('0x34'),NOW)[_0x58ad('0x14')](_0x58ad('0x35'),squel[_0x58ad('0xf')]()['field'](_0x58ad('0x11'))[_0x58ad('0x12')](_0x58ad('0x39'))['where']('ListId\x20=\x20?',_0x44e073)['where'](_0x3c8d8e+_0x58ad('0x15')+_0x515d23+'.'+_0x3c8d8e)))[_0x58ad('0x37')]();}function insertCmHopperAdditionalPhones(_0x5de9bc){var _0x43e933=[_0x58ad('0x43'),_0x58ad('0x44'),_0x58ad('0x45'),_0x58ad('0x46'),'cm_contact_has_items.updatedAt'];return squel[_0x58ad('0x2c')]()['into'](_0x58ad('0x47'))[_0x58ad('0x48')]([_0x58ad('0x49'),'phone','OrderBy',_0x58ad('0x3a'),_0x58ad('0x3f')],squel[_0x58ad('0xf')]()[_0x58ad('0x32')](_0x43e933)['from'](_0x58ad('0x2e'))['join'](_0x58ad('0x33'),null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0x58ad('0x17')](_0x58ad('0x4a'),null,_0x58ad('0x4b'))[_0x58ad('0x14')](_0x58ad('0x4c'),_0x5de9bc)['where']('cm_contacts.createdAt\x20=\x20?',NOW))[_0x58ad('0x37')]();}function insertCmContact(_0x498e16,_0x31d1c0,_0x4e741a,_0x1938cc){var _0x61152c=_[_0x58ad('0x4d')](_['keys'](_0x1938cc),['ListId',_0x58ad('0x4e'),_0x58ad('0x3a'),_0x58ad('0x3f'),_0x58ad('0x4f')]);return squel['insert']()[_0x58ad('0x2d')](_0x58ad('0x33'))['fromQuery'](_0x61152c,squel['select']()[_0x58ad('0x32')](_0x61152c)['from'](_0x31d1c0)[_0x58ad('0x14')]('('+_0x4e741a[_0x58ad('0x17')](',')+_0x58ad('0x50'),squel[_0x58ad('0xf')]()[_0x58ad('0x32')](_0x4e741a)[_0x58ad('0x12')](_0x58ad('0x33'))[_0x58ad('0x14')](_0x58ad('0x3e'),_0x498e16)['where']('deletedAt\x20IS\x20NULL'))[_0x58ad('0x14')]('id\x20IN\x20?',squel['select']()[_0x58ad('0x10')](_0x58ad('0x51'),_0x58ad('0x52'))[_0x58ad('0x12')](_0x31d1c0)[_0x58ad('0x53')](_0x4e741a[_0x58ad('0x17')](','))))['toString']();}function handleStop(){logger[_0x58ad('0x54')](_0x58ad('0x55'));stopped=!![];}function handleUncaughtException(_0x139ae8){logger['error'](_0x139ae8[_0x58ad('0x56')]);process[_0x58ad('0x57')](0x1);}function handleError(_0x199ee1,_0x2ac61a){stats['errors'][_0x58ad('0x1c')]({'name':_0x2ac61a[_0x58ad('0x58')],'message':_0x2ac61a[_0x58ad('0x56')],'row':_0x199ee1});}function handleQuery(_0x1c356c){logger[_0x58ad('0x54')](_0x1c356c);return db[_0x58ad('0x59')]['query'](_0x1c356c)['spread'](function(_0x1d893b){results['push'](_0x1d893b);})[_0x58ad('0x5a')](function(_0x3d3d5f){logger[_0x58ad('0x5b')](_0x3d3d5f['message']);});}function updateTzCampaigns(_0x17264d){return new Promise(function(_0x3a181c,_0x585cd0){var _0x398d2c=squel[_0x58ad('0xf')]()['fields']([_0x58ad('0x5c'),_0x58ad('0x5d')])[_0x58ad('0x12')]('campaigns')[_0x58ad('0x17')]('campaigns_has_cm_lists',null,'campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId')[_0x58ad('0x14')](_0x58ad('0x5e')+_0x17264d);db['sequelize'][_0x58ad('0x5f')](_0x398d2c['toString']())[_0x58ad('0x60')](function(_0x1a3533){var _0x1d86cb=[];for(var _0x291342=0x0;_0x291342<_0x1a3533[_0x58ad('0x1b')];_0x291342++){_0x1d86cb[_0x58ad('0x1c')](getTimezoneData(_0x1a3533[_0x291342],tmp_campaigns));}BPromise['all'](_0x1d86cb)['then'](function(){_0x3a181c({'val':0x1});});})[_0x58ad('0x5a')](function(_0x472f69){logger[_0x58ad('0x5b')](_0x472f69[_0x58ad('0x56')]);_0x3a181c({'val':0x0});});});}function updateTzVoiceQueues(_0x14ce30){return new Promise(function(_0x507299,_0x2d8c8a){var _0x24e8b0=squel['select']()['fields'](['voice_queues.id',_0x58ad('0x61')])[_0x58ad('0x12')](_0x58ad('0x62'))[_0x58ad('0x17')]('voice_queues_has_cm_lists',null,_0x58ad('0x63'))[_0x58ad('0x14')]('voice_queues_has_cm_lists.CmListId='+_0x14ce30);db[_0x58ad('0x59')][_0x58ad('0x5f')](_0x24e8b0[_0x58ad('0x37')]())['spread'](function(_0x275cc3){var _0x2336c1=[];for(var _0x2e300d=0x0;_0x2e300d<_0x275cc3[_0x58ad('0x1b')];_0x2e300d++){_0x2336c1[_0x58ad('0x1c')](getTimezoneData(_0x275cc3[_0x2e300d],tmp_voice_queues));}BPromise[_0x58ad('0x1d')](_0x2336c1)['then'](function(){_0x507299({'val':0x1});});})[_0x58ad('0x5a')](function(_0x572719){logger[_0x58ad('0x5b')](_0x572719[_0x58ad('0x56')]);_0x507299({'val':0x0});});});}function getTimezoneData(_0x4f86b2,_0x353e1e){return new Promise(function(_0x1c1b6a,_0x59752f){var _0x1622f6=shared[_0x58ad('0x64')];var _0x554983=_0x1622f6[_0x4f86b2[_0x58ad('0x65')]];if(_[_0x58ad('0x1f')](_0x554983)){_0x1c1b6a({'ret':0x1});}else{var _0x242422=_0x554983[_0x58ad('0x66')];var _0x341155=squel[_0x58ad('0x2c')]()[_0x58ad('0x2d')](_0x353e1e)[_0x58ad('0x67')]('id',_0x4f86b2['id'])[_0x58ad('0x67')](_0x58ad('0x68'),_0x242422)['set'](_0x58ad('0x65'),_0x4f86b2[_0x58ad('0x65')])[_0x58ad('0x37')]();return db['sequelize']['query'](_0x341155)['spread'](function(_0x5ebceb){_0x1c1b6a({'ret':0x1});})['catch'](function(_0x5cb787){logger[_0x58ad('0x5b')](_0x5cb787['message']);_0x59752f({'ret':0x1});});}});}function handleTZQuery(_0x22d8fd){logger[_0x58ad('0x54')](_0x22d8fd);return db[_0x58ad('0x59')][_0x58ad('0x5f')](_0x22d8fd)[_0x58ad('0x60')](function(_0x1c0528){})['catch'](function(_0x24900b){logger[_0x58ad('0x5b')](_0x24900b[_0x58ad('0x56')]);});}function main(_0x549fb4,_0x4624b9,_0x43a3f5,_0x1cc48d){logger[_0x58ad('0x54')](_0x58ad('0x69'),_0x549fb4,JSON[_0x58ad('0x6a')](_0x4624b9));process[_0x58ad('0x6b')](_0x58ad('0x6c'));var _0x11389a=_0x4624b9[_0x58ad('0x6d')];var _0x8abdb8=_[_0x58ad('0x6e')](_0x11389a);var _0x4577e3=_0x4624b9[_0x58ad('0x6f')];var _0x48ba5d=path[_0x58ad('0x17')](config[_0x58ad('0x70')],_0x58ad('0x71'),_0x4577e3+'.csv');hasTZ=_['keys'](_0x11389a)[_0x58ad('0x72')](_0x58ad('0x65'));var _0x19831b=_['keys'](_0x11389a)['join']();logger[_0x58ad('0x54')]('header',_0x19831b);db[_0x58ad('0x73')]['findAll']({'raw':!![],'attributes':['id',_0x58ad('0x74')]})[_0x58ad('0x1a')](function(_0x135094){for(var _0x2c012d=0x0;_0x2c012d<_0x135094[_0x58ad('0x1b')];_0x2c012d++){if(_0x135094[_0x2c012d][_0x58ad('0x74')]in _0x11389a){contactItemTypes['push'](_0x135094[_0x2c012d]);delete _0x8abdb8[_0x135094[_0x2c012d][_0x58ad('0x74')]];hasAdditionalPhones=!![];}for(var _0x509271 in _0x11389a){if(_0x135094[_0x2c012d][_0x58ad('0x74')]+'_description'===_0x509271){phoneDescriptions[_0x58ad('0x1c')]({'itemTypeId':_0x135094[_0x2c012d]['id'],'description':_0x509271});delete _0x8abdb8[_0x509271];}}}if(hasAdditionalPhones)_0x8abdb8['AdditionalPhones']='';var _0x1f3f4b=_[_0x58ad('0x75')](_0x8abdb8)[_0x58ad('0x17')]();logger[_0x58ad('0x54')](_0x58ad('0x76'),_0x1f3f4b);fs['writeFileSync'](_0x48ba5d,_0x1f3f4b+'\x0a');Papa['parse'](fs[_0x58ad('0x77')](_0x549fb4),{'header':!![],'skipEmptyLines':!![],'step':function(_0x507869,_0x252b15){try{for(var _0x447665=0x0,_0xa3f24=[];_0x447665<_0x507869[_0x58ad('0x78')][_0x58ad('0x1b')];_0x447665++){stats[_0x58ad('0x79')]+=0x1;if(_0x507869['errors'][_0x447665]){handleError(_0x507869[_0x58ad('0x78')][_0x447665],_0x507869[_0x58ad('0x7a')][_0x447665]);}else{var _0xbdca75=[];var _0x1e192d=[];var _0x54300f={};for(var _0x317503 in _0x11389a){let _0x28c6de=contactItemTypes[_0x58ad('0x7b')](_0x54cef4=>_0x54cef4[_0x58ad('0x74')]===_0x317503);let _0x43260a=contactItemTypes[_0x58ad('0x7b')](_0x5b59d3=>_0x5b59d3['name']+_0x58ad('0x7c')===_0x317503);if(_[_0x58ad('0x1f')](_0x28c6de)&&_[_0x58ad('0x1f')](_0x43260a)){if(_0x11389a[_0x58ad('0x7d')](_0x317503)){if(_0x507869[_0x58ad('0x78')][_0x447665][_0x11389a[_0x317503]]){var _0x22c70d=_[_0x58ad('0x7e')](_0x507869[_0x58ad('0x78')][_0x447665][_0x11389a[_0x317503]][_0x58ad('0x7f')](/"/g,'\x27'));switch(_0x317503){case _0x58ad('0x2f'):var _0x185fbd=moment(_0x22c70d,_0x58ad('0xd'),!![]);if(_0x185fbd[_0x58ad('0x80')]()){_0xa3f24[_0x58ad('0x1c')]('\x22'+_0x22c70d+'\x22');}else{_0xbdca75[_0x58ad('0x1c')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0x58ad('0x31'):var _0x459304=parseInt(_0x22c70d);_0x22c70d=_[_0x58ad('0x81')](_0x459304)||_0x459304<0x0||_0x459304>0x4?_0x1cc48d?0x3:0x2:_0x459304;_0xa3f24['push']('\x22'+_0x22c70d+'\x22');break;case _0x58ad('0x40'):var _0x4dc4f5=parseInt(_0x22c70d);if(_[_0x58ad('0x82')](_0x4dc4f5)&&_['includes'](_0x43a3f5,_0x4dc4f5)){_0xa3f24[_0x58ad('0x1c')]('\x22'+_0x4dc4f5+'\x22');}else{_0xbdca75[_0x58ad('0x1c')]('agent\x20not\x20exists');}break;case _0x58ad('0x83'):if(isEmail(_0x22c70d)){_0xa3f24[_0x58ad('0x1c')]('\x22'+_0x22c70d+'\x22');}else{_0xbdca75[_0x58ad('0x1c')]('email\x20wrong\x20format');}break;case _0x58ad('0x84'):var _0x1ae713=moment(_0x22c70d,_0x58ad('0x85'),!![]);if(_0x1ae713[_0x58ad('0x80')]()){_0xa3f24[_0x58ad('0x1c')]('\x22'+_0x22c70d+'\x22');}else{_0xbdca75['push'](_0x58ad('0x86'));}break;case _0x58ad('0x65'):var _0x4ff8d2=shared[_0x58ad('0x64')];var _0x436a9b=_0x4ff8d2[_0x22c70d];if(!_['isNil'](_0x436a9b)){var _0x510433=_0x436a9b[_0x58ad('0x66')];_0xa3f24[_0x58ad('0x1c')]('\x22'+_0x22c70d+'\x22');_0xa3f24[_0x58ad('0x1c')]('\x22'+_0x510433+'\x22');}break;default:_0xa3f24['push']('\x22'+_0x22c70d+'\x22');}}else{switch(_0x317503){case _0x58ad('0x87'):case'phone':_0xbdca75[_0x58ad('0x1c')](_0x317503+_0x58ad('0x88'));break;default:_0xa3f24['push']('\x22\x22');}}}}else{var _0x12f232='';if(!_[_0x58ad('0x1f')](_0x28c6de)){if(!_0x54300f[_0x58ad('0x7d')](_0x28c6de['id'])){if(!_['isNil'](_0x507869[_0x58ad('0x78')][_0x447665][_0x11389a[_0x317503]])){var _0x22c70d=_[_0x58ad('0x7e')](_0x507869['data'][_0x447665][_0x11389a[_0x317503]]['replace'](/"/g,'\x27'));var _0x371920=phoneDescriptions['find'](_0x40f93c=>_0x40f93c[_0x58ad('0x89')]===_0x28c6de['id']);if(!_[_0x58ad('0x1f')](_0x371920)){var _0x12d8c3=_[_0x58ad('0x7e')](_0x507869[_0x58ad('0x78')][_0x447665][_0x11389a[_0x371920[_0x58ad('0x8a')]]][_0x58ad('0x7f')](/"/g,'\x27'));if(!_[_0x58ad('0x1f')](_0x12d8c3))_0x22c70d=_0x22c70d+'§'+_0x12d8c3;}if(_0x12f232=='')_0x12f232=_0x22c70d;else _0x12f232+='|'+_0x22c70d;}_0x1e192d['push'](_0x28c6de['id']+':'+_0x12f232);_0x54300f[_0x28c6de['id']]=0x1;}}}}if(hasAdditionalPhones){_0xa3f24[_0x58ad('0x1c')]('\x22'+_0x1e192d['join'](';')+'\x22');}if(_0xbdca75[_0x58ad('0x1b')]){handleError(_0x507869['data'][_0x447665],{'code':'SystemRow','message':_0xbdca75[_0x58ad('0x17')]()});}else{fs[_0x58ad('0x8b')](_0x48ba5d,_0xa3f24[_0x58ad('0x17')]()+'\x0a');}_0xa3f24=[];}if(!(stats[_0x58ad('0x79')]%0xc8)){socket[_0x58ad('0x8c')](_0x58ad('0x8d')+_0x4577e3,stats);stats['errors']=[];}}if(stopped){logger[_0x58ad('0x54')]('Abort\x20parser');_0x252b15[_0x58ad('0x8e')]();}}catch(_0x33077b){handleError(_0x507869[_0x58ad('0x78')][_0x447665],{'code':_0x58ad('0x8f'),'message':_0x33077b[_0x58ad('0x56')]});logger[_0x58ad('0x5b')](_0x58ad('0x90'),_0x33077b[_0x58ad('0x56')]);}},'complete':function(){try{var _0x51d6bb=[];var _0x4be613=[];var _0x504a76=_0x58ad('0x33');if(_0x4624b9['duplicates']&&_0x4624b9[_0x58ad('0x91')][_0x58ad('0x1b')]){_0x504a76=_0x58ad('0x92')+_0x4577e3;_0x51d6bb[_0x58ad('0x1c')](_0x58ad('0x93')+_0x504a76+_0x58ad('0x94'));}tmp_campaigns=_0x58ad('0x95')+_0x4577e3;tmp_voice_queues='voice_queues_'+_0x4577e3;_0x4be613[_0x58ad('0x1c')](_0x58ad('0x93')+tmp_campaigns+_0x58ad('0x96'));_0x4be613[_0x58ad('0x1c')](_0x58ad('0x93')+tmp_voice_queues+_0x58ad('0x96'));BPromise[_0x58ad('0x97')](_0x4be613,handleTZQuery)['then'](function(_0x3d9d29){updateTzCampaigns(_0x4624b9['ListId'])[_0x58ad('0x1a')](function(_0x548b9d){updateTzVoiceQueues(_0x4624b9[_0x58ad('0x30')])['then'](function(_0x4e2004){if(hasTZ)_0x1f3f4b=_0x1f3f4b[_0x58ad('0x7f')]('dialTimezone',_0x58ad('0x98'));var _0x2357dd=util[_0x58ad('0xc')](_0x58ad('0x99'),_0x48ba5d,_0x504a76,_0x1f3f4b,_0x4624b9[_0x58ad('0x30')],_0x4624b9[_0x58ad('0x4e')]||null,NOW,NOW);if(_[_0x58ad('0x1f')](_0x11389a[_0x58ad('0x2f')])){_0x2357dd+=_0x58ad('0x9a');}_0x51d6bb[_0x58ad('0x1c')](_0x2357dd);if(_0x4624b9['duplicates']&&_0x4624b9[_0x58ad('0x91')][_0x58ad('0x1b')]){_0x51d6bb['push'](insertCmContact(_0x4624b9[_0x58ad('0x30')],_0x504a76,_0x4624b9[_0x58ad('0x91')],_0x11389a));_0x51d6bb[_0x58ad('0x1c')](_0x58ad('0x9b')+_0x504a76+';');}BPromise[_0x58ad('0x97')](_0x51d6bb,handleQuery)[_0x58ad('0x1a')](function(_0xb56191){BPromise[_0x58ad('0x1d')]([handleAdditionalPhones()])['then'](function(){_0x51d6bb=[];for(var _0x19f4a0=0x0;_0x19f4a0<promisesAdditionalPhones['length'];_0x19f4a0++){if(promisesAdditionalPhones[_0x19f4a0]['phone']!='§'){_0x51d6bb[_0x58ad('0x1c')](createAdditionalPhone(promisesAdditionalPhones[_0x19f4a0][_0x58ad('0x9c')],promisesAdditionalPhones[_0x19f4a0][_0x58ad('0x9d')],promisesAdditionalPhones[_0x19f4a0][_0x58ad('0x11')],promisesAdditionalPhones[_0x19f4a0]['orderBy']));}}BPromise[_0x58ad('0x1d')](_0x51d6bb)[_0x58ad('0x1a')](function(){_0x51d6bb=[];if(hasTZ){_0x51d6bb[_0x58ad('0x1c')](insertTzCmHopper(_0x4624b9['ListId'],_0x58ad('0x9e'),_0x58ad('0x62'),_0x58ad('0x9f'),_0x1cc48d,tmp_voice_queues));_0x51d6bb[_0x58ad('0x1c')](insertTzCmHopperBlack(_0x4624b9[_0x58ad('0x30')],'voice_queues_has_cm_blacklists',_0x58ad('0x62'),_0x58ad('0x9f')));_0x51d6bb[_0x58ad('0x1c')](insertTzCmHopper(_0x4624b9[_0x58ad('0x30')],_0x58ad('0xa0'),'campaigns','CampaignId',_0x1cc48d,tmp_campaigns));_0x51d6bb[_0x58ad('0x1c')](insertTzCmHopperBlack(_0x4624b9[_0x58ad('0x30')],_0x58ad('0xa1'),_0x58ad('0xa2'),'CampaignId'));_0x51d6bb['push'](insertCmHopperAdditionalPhones(_0x4624b9[_0x58ad('0x30')]));}else{_0x51d6bb[_0x58ad('0x1c')](insertCmHopper(_0x4624b9[_0x58ad('0x30')],_0x58ad('0x9e'),_0x58ad('0x62'),_0x58ad('0x9f'),_0x1cc48d));_0x51d6bb[_0x58ad('0x1c')](insertCmHopperBlack(_0x4624b9[_0x58ad('0x30')],_0x58ad('0xa3'),'voice_queues',_0x58ad('0x9f')));_0x51d6bb['push'](insertCmHopper(_0x4624b9[_0x58ad('0x30')],_0x58ad('0xa0'),_0x58ad('0xa2'),_0x58ad('0xa4'),_0x1cc48d));_0x51d6bb[_0x58ad('0x1c')](insertCmHopperBlack(_0x4624b9['ListId'],_0x58ad('0xa1'),'campaigns',_0x58ad('0xa4')));_0x51d6bb['push'](insertCmHopperAdditionalPhones(_0x4624b9[_0x58ad('0x30')]));}_0x51d6bb[_0x58ad('0x1c')](_0x58ad('0x9b')+tmp_campaigns+';');_0x51d6bb[_0x58ad('0x1c')](_0x58ad('0x9b')+tmp_voice_queues+';');BPromise[_0x58ad('0x97')](_0x51d6bb,handleQuery)['then'](function(_0x3d92e1){stats['finish']=!![];stats[_0x58ad('0xa5')]=_0x4624b9['duplicates']&&_0x4624b9['duplicates'][_0x58ad('0x1b')]?results[0x2]['affectedRows']:results[0x0][_0x58ad('0xa5')];socket[_0x58ad('0x8c')]('contact:import:'+_0x4577e3,stats);fs[_0x58ad('0xa6')](_0x549fb4);fs[_0x58ad('0xa6')](_0x48ba5d);process[_0x58ad('0x57')](0x0);})['catch'](function(_0x56808f){logger[_0x58ad('0x5b')](_0x56808f[_0x58ad('0x56')]);process[_0x58ad('0x57')](0x1);});});});})['catch'](function(_0x152e7e){logger[_0x58ad('0x5b')](_0x152e7e[_0x58ad('0x56')]);process['exit'](0x1);});});});});}catch(_0x8dfd4a){logger[_0x58ad('0x5b')](_0x58ad('0xa7'),_0x8dfd4a[_0x58ad('0x56')]);process[_0x58ad('0x57')](0x1);}},'error':function(_0x24c926,_0x33ef9a,_0x483fd7,_0x3e5191){throw new Error(_0x3e5191);}});});}function validate(){if(process[_0x58ad('0xa8')]&&process[_0x58ad('0xa8')]['length']<0x4){throw new Error(_0x58ad('0xa9'));}var _0x3138ca=path[_0x58ad('0x17')](config[_0x58ad('0x70')],_0x58ad('0x71'),process[_0x58ad('0xa8')][0x2]);if(!fs[_0x58ad('0xaa')](_0x3138ca)){throw new Error(_0x58ad('0xab'));}var _0x20ed26={};try{_0x20ed26=JSON[_0x58ad('0xac')](process[_0x58ad('0xa8')][0x3]);if(!_0x20ed26[_0x58ad('0x6d')]){throw new Error(_0x58ad('0xad'));}if(!_0x20ed26['binding'][_0x58ad('0x11')]){throw new Error(_0x58ad('0xae'));}if(!_0x20ed26['binding']['firstName']){throw new Error(_0x58ad('0xaf'));}var _0x5862e4=0x0;if(_0x20ed26[_0x58ad('0x6d')][_0x58ad('0x40')]){_0x5862e4=0x1;}if(!_0x20ed26['ListId']){throw new Error(_0x58ad('0xb0'));}}catch(_0x25a7de){throw new Error('body\x20id\x20mandatory');}var _0x59dc85=[];try{_0x59dc85=_[_0x58ad('0xb1')](JSON[_0x58ad('0xac')](process[_0x58ad('0xa8')][0x4]),'id');}catch(_0x30fc61){logger[_0x58ad('0x54')](_0x58ad('0xb2'));}main(_0x3138ca,_0x20ed26,_0x59dc85,_0x5862e4);}validate();process['on'](_0x58ad('0xb3'),handleStop);process['on'](_0x58ad('0xb4'),handleUncaughtException);