Built motion from commit f0b1811d.|2.6.6
[motion2.git] / server / components / import / cm / csv2.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xb9f4=['ContactItemType','name','_description','writeFileSync','parse','createReadStream','data','rows','find','trim','replace','scheduledat','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','includes','agent\x20not\x20exists','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','timezones','firstName','itemTypeId','description','SystemRow','appendFileSync','contact:import:','abort','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','(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','orderBy','voice_queues','voice_queues_has_cm_blacklists','CampaignId','VoiceQueueId','campaigns_has_cm_blacklists','finish','affectedRows','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','root','server/files/tmp','existsSync','file\x20doesn\x27t\x20exists','binding','binding\x20doesn\x27t\x20exists','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','No\x20agent\x20available','uncaughtException','lodash','util','squel','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','import','redis','defaults','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test','select','field','phone','from','join','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','CmContact','findAll','AdditionalPhones','then','split','length','push','isNil','filter','CmContactHasItem','findOne','update','updated','create','PHONE','inserted','cm_contacts.phone','cm_contacts.id','cm_contacts.createdAt','cm_contacts.updatedAt','insert','cm_hopper','fromQuery','ContactId','ListId','createdAt','updatedAt','priority','UserId','recallme','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','cm_contacts.createdAt\x20=\x20?','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.ListId','into','cm_hopper_black','fields','cm_contacts.phone\x20NOT\x20IN\x20(?)','toString','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.priority','cm_contacts.UserId','.CmListId\x20=\x20?','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_hopper.ListId\x20=\x20?','concat','keys','CompanyId','ListId\x20=\x20?','deletedAt\x20IS\x20NULL','MIN(id)','min_id','group','info','error','message','exit','errors','code','sequelize','query','catch','campaigns.id','campaigns.dialTimezone','campaigns','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','spread','all','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','voice_queues_has_cm_lists.CmListId=','dialTimezone','utcOffset','set','offset','main','stringify','send','start','socket_timestamp','.csv','header'];(function(_0x1ff237,_0x2c1bb1){var _0x5cec4e=function(_0x2ffee9){while(--_0x2ffee9){_0x1ff237['push'](_0x1ff237['shift']());}};_0x5cec4e(++_0x2c1bb1);}(_0xb9f4,0xf4));var _0x4b9f=function(_0x105452,_0x393960){_0x105452=_0x105452-0x0;var _0x18d17f=_0xb9f4[_0x105452];return _0x18d17f;};'use strict';var fs=require('fs');var path=require('path');var _=require(_0x4b9f('0x0'));var Papa=require('papaparse');var util=require(_0x4b9f('0x1'));var BPromise=require('bluebird');var moment=require('moment');var squel=require(_0x4b9f('0x2'));var Redis=require(_0x4b9f('0x3'));var db=require(_0x4b9f('0x4'))['db'];var config=require(_0x4b9f('0x5'));var shared=require('../../../config/environment/shared');var logger=require(_0x4b9f('0x6'))(_0x4b9f('0x7'));config[_0x4b9f('0x8')]=_[_0x4b9f('0x9')](config[_0x4b9f('0x8')],{'host':_0x4b9f('0xa'),'port':0x18eb});var socket=require(_0x4b9f('0xb'))(new Redis(config[_0x4b9f('0x8')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0x4b9f('0xc')]('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()[_0x4b9f('0xc')](_0x4b9f('0xd'));function isEmail(_0x32b87d){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))*$/[_0x4b9f('0xe')](_0x32b87d);}function selectNotIn(_0x2053ac,_0x1a1856,_0x4e8bfd,_0x389a7c,_0x29b4d2){return squel[_0x4b9f('0xf')]()[_0x4b9f('0x10')](_0x4b9f('0x11'))[_0x4b9f('0x12')](_0x389a7c)[_0x4b9f('0x13')](_0x1a1856,null,_0x1a1856+_0x4b9f('0x14')+_0x389a7c+'.'+_0x4e8bfd)[_0x4b9f('0x15')](_0x389a7c+'.'+_0x4e8bfd+_0x4b9f('0x16')+_0x2053ac+'.'+_0x4e8bfd)[_0x4b9f('0x15')](_0x1a1856+_0x4b9f('0x17')+_0x29b4d2['join']()+')');}function handleAdditionalPhones(){return new Promise(function(_0x1c07c3,_0x5051de){promisesAdditionalPhones=[];return db[_0x4b9f('0x18')][_0x4b9f('0x19')]({'raw':!![],'attributes':['id',_0x4b9f('0x1a')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x4b9f('0x1b')](function(_0x1276f1){if(_0x1276f1!==null){var _0x3a676c=[];for(var _0x4c1690=0x0;_0x4c1690<_0x1276f1['length'];_0x4c1690++){var _0x354e26=_0x1276f1[_0x4c1690];_0x3a676c['push'](insertAdditionalPhones(_0x354e26));}}Promise['all'](_0x3a676c)[_0x4b9f('0x1b')](function(){_0x1c07c3({'val':0x1});});});});}function insertAdditionalPhones(_0x4c48ec){return new Promise(function(_0x1db32f,_0x322142){var _0x20ea42=_0x4c48ec[_0x4b9f('0x1a')];var _0x20e62b=_0x20ea42[_0x4b9f('0x1c')](';');var _0x53f8f3=[];orderBy=0x0;for(var _0x798eb6=0x0;_0x798eb6<_0x20e62b[_0x4b9f('0x1d')];_0x798eb6++){_0x53f8f3[_0x4b9f('0x1e')](splitAdditionalPhone(_0x4c48ec['id'],_0x20e62b[_0x798eb6]));}Promise['all'](_0x53f8f3)[_0x4b9f('0x1b')](function(){_0x1db32f({'val':_0x20e62b[_0x4b9f('0x1d')]});});});}function splitAdditionalPhone(_0xe0675e,_0x451cbb){return new Promise(function(_0x551227,_0x399f16){var _0x1bd63b=_0x451cbb[_0x4b9f('0x1c')](':');var _0x1c24c0=_0x1bd63b[0x0];var _0xad1c59=_0x1bd63b[0x1];if(!_[_0x4b9f('0x1f')](_0xad1c59)){var _0x457586=_0xad1c59[_0x4b9f('0x1c')]('|');var _0x62af2d=[];for(var _0x1c6d92=0x0;_0x1c6d92<_0x457586[_0x4b9f('0x1d')];_0x1c6d92++){if(_0x457586[_0x1c6d92]!==''){var _0x33622a=_[_0x4b9f('0x20')](promisesAdditionalPhones,{'contactId':_0xe0675e,'phone':_0x457586[_0x1c6d92]});if(_0x33622a[_0x4b9f('0x1d')]==0x0){orderBy++;promisesAdditionalPhones[_0x4b9f('0x1e')]({'contactId':_0xe0675e,'contactTypeId':_0x1c24c0,'phone':_0x457586[_0x1c6d92],'orderBy':orderBy});}}}_0x551227({'ok':0x1});}else _0x551227({'res':0x0});});}function createAdditionalPhone(_0x3ea372,_0x39d716,_0x18cd1c,_0x269a4a){var _0x14f92c='';var _0xb5387d='';var _0x22e836=_0x18cd1c[_0x4b9f('0x1c')]('§');_0x14f92c=_0x22e836[0x0];if(_0x22e836[_0x4b9f('0x1d')]==0x2)_0xb5387d=_0x22e836[0x1];return new Promise(function(_0x313fa2,_0x21a519){return db[_0x4b9f('0x21')][_0x4b9f('0x22')]({'where':{'CmContactId':_0x3ea372,'item':_0x14f92c}})[_0x4b9f('0x1b')](function(_0x562274){if(_0x562274){return db[_0x4b9f('0x21')][_0x4b9f('0x23')]({'ItemTypeId':_0x39d716,'description':_0xb5387d,'OrderBy':_0x269a4a},{'where':{'CmContactId':_0x3ea372,'item':_0x14f92c}})[_0x4b9f('0x1b')](function(_0x3dc7e6){_0x313fa2({'res':_0x4b9f('0x24')});});}else{return db[_0x4b9f('0x21')][_0x4b9f('0x25')]({'CmContactId':_0x3ea372,'item':_0x14f92c,'description':_0xb5387d,'ItemTypeId':_0x39d716,'OrderBy':_0x269a4a,'ItemClass':_0x4b9f('0x26')})[_0x4b9f('0x1b')](function(_0x477a23){_0x313fa2({'res':_0x4b9f('0x27')});});}});});}function insertCmHopper(_0x10cacc,_0x20f4c2,_0x20f3e1,_0x2aff76,_0x287a22){var _0x41b540=[_0x4b9f('0x28'),'cm_contacts.scheduledat',_0x4b9f('0x29'),'cm_contacts.ListId',_0x20f4c2+'.'+_0x2aff76,_0x4b9f('0x2a'),_0x4b9f('0x2b'),'cm_contacts.priority','cm_contacts.UserId','\x22'+_0x287a22+'\x22'];return squel[_0x4b9f('0x2c')]()['into'](_0x4b9f('0x2d'))[_0x4b9f('0x2e')]([_0x4b9f('0x11'),'scheduledat',_0x4b9f('0x2f'),_0x4b9f('0x30'),_0x2aff76,_0x4b9f('0x31'),_0x4b9f('0x32'),_0x4b9f('0x33'),_0x4b9f('0x34'),_0x4b9f('0x35')],squel[_0x4b9f('0xf')]()['fields'](_0x41b540)[_0x4b9f('0x12')](_0x20f4c2)['join'](_0x4b9f('0x36'),null,_0x4b9f('0x37')+_0x20f4c2+_0x4b9f('0x38'))[_0x4b9f('0x13')](_0x20f3e1,null,_0x20f3e1+_0x4b9f('0x14')+_0x20f4c2+'.'+_0x2aff76)[_0x4b9f('0x15')](_0x20f4c2+'.CmListId\x20=\x20?',_0x10cacc)[_0x4b9f('0x15')](_0x4b9f('0x39'),NOW)[_0x4b9f('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x20f4c2,_0x20f3e1,_0x2aff76,'cm_hopper',[_0x4b9f('0x3a'),_0x4b9f('0x3b')]))[_0x4b9f('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x20f4c2,_0x20f3e1,_0x2aff76,'cm_hopper',[_0x4b9f('0x3a')])))['toString']();}function insertCmHopperBlack(_0x322264,_0x275cde,_0x4b2404,_0x4b99b4){var _0x3d98e=[_0x4b9f('0x28'),_0x4b9f('0x29'),_0x4b9f('0x3c'),_0x275cde+'.'+_0x4b99b4,_0x4b9f('0x2a'),'cm_contacts.updatedAt'];return squel[_0x4b9f('0x2c')]()[_0x4b9f('0x3d')](_0x4b9f('0x3e'))['fromQuery'](['phone',_0x4b9f('0x2f'),'ListId',_0x4b99b4,_0x4b9f('0x31'),_0x4b9f('0x32')],squel['select']()[_0x4b9f('0x3f')](_0x3d98e)[_0x4b9f('0x12')](_0x275cde)['join'](_0x4b9f('0x36'),null,_0x4b9f('0x37')+_0x275cde+'.CmListId')[_0x4b9f('0x13')](_0x4b2404,null,_0x4b2404+_0x4b9f('0x14')+_0x275cde+'.'+_0x4b99b4)[_0x4b9f('0x15')](_0x275cde+'.CmListId\x20=\x20?',_0x322264)['where'](_0x4b9f('0x39'),NOW)[_0x4b9f('0x15')](_0x4b9f('0x40'),squel['select']()[_0x4b9f('0x10')](_0x4b9f('0x11'))['from'](_0x4b9f('0x3e'))['where']('ListId\x20=\x20?',_0x322264)[_0x4b9f('0x15')](_0x4b99b4+_0x4b9f('0x16')+_0x275cde+'.'+_0x4b99b4)))[_0x4b9f('0x41')]();}function insertTzCmHopper(_0x4fcc70,_0x3e8ad4,_0x118423,_0x1a3ef0,_0x59e0cc,_0xd2c083){var _0x37f6b1=[_0x4b9f('0x28'),'date_add(cm_contacts.scheduledat,interval\x20'+_0xd2c083+_0x4b9f('0x42'),'cm_contacts.id',_0x4b9f('0x3c'),_0x3e8ad4+'.'+_0x1a3ef0,_0x4b9f('0x2a'),'cm_contacts.updatedAt',_0x4b9f('0x43'),_0x4b9f('0x44'),'\x22'+_0x59e0cc+'\x22'];var _0x165fc7=squel[_0x4b9f('0x2c')]()[_0x4b9f('0x3d')](_0x4b9f('0x2d'))[_0x4b9f('0x2e')]([_0x4b9f('0x11'),'scheduledat','ContactId',_0x4b9f('0x30'),_0x1a3ef0,_0x4b9f('0x31'),_0x4b9f('0x32'),_0x4b9f('0x33'),_0x4b9f('0x34'),_0x4b9f('0x35')],squel[_0x4b9f('0xf')]()[_0x4b9f('0x3f')](_0x37f6b1)[_0x4b9f('0x12')](_0x3e8ad4)[_0x4b9f('0x13')]('cm_contacts',null,_0x4b9f('0x37')+_0x3e8ad4+'.CmListId')[_0x4b9f('0x13')](_0x118423,null,_0x118423+'.id\x20=\x20'+_0x3e8ad4+'.'+_0x1a3ef0)[_0x4b9f('0x13')](_0xd2c083,null,_0xd2c083+_0x4b9f('0x14')+_0x3e8ad4+'.'+_0x1a3ef0)['where'](_0x3e8ad4+_0x4b9f('0x45'),_0x4fcc70)['where'](_0x4b9f('0x39'),NOW)['where'](_0x4b9f('0x40'),selectNotIn(_0x3e8ad4,_0x118423,_0x1a3ef0,_0x4b9f('0x2d'),[_0x4b9f('0x3a'),'\x22onlyIfOpen\x22']))[_0x4b9f('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x3e8ad4,_0x118423,_0x1a3ef0,_0x4b9f('0x2d'),[_0x4b9f('0x3a')])))[_0x4b9f('0x41')]();return _0x165fc7;}function insertTzCmHopperBlack(_0x579665,_0x140b7c,_0x523a30,_0x54f9e1){var _0x26ab5f=[_0x4b9f('0x28'),'cm_contacts.id','cm_contacts.ListId',_0x140b7c+'.'+_0x54f9e1,_0x4b9f('0x2a'),_0x4b9f('0x2b')];return squel['insert']()['into']('cm_hopper_black')[_0x4b9f('0x2e')]([_0x4b9f('0x11'),_0x4b9f('0x2f'),_0x4b9f('0x30'),_0x54f9e1,_0x4b9f('0x31'),_0x4b9f('0x32')],squel[_0x4b9f('0xf')]()[_0x4b9f('0x3f')](_0x26ab5f)[_0x4b9f('0x12')](_0x140b7c)['join'](_0x4b9f('0x36'),null,_0x4b9f('0x37')+_0x140b7c+'.CmListId')[_0x4b9f('0x13')](_0x523a30,null,_0x523a30+_0x4b9f('0x14')+_0x140b7c+'.'+_0x54f9e1)[_0x4b9f('0x15')](_0x140b7c+'.CmListId\x20=\x20?',_0x579665)[_0x4b9f('0x15')](_0x4b9f('0x39'),NOW)[_0x4b9f('0x15')](_0x4b9f('0x40'),squel[_0x4b9f('0xf')]()[_0x4b9f('0x10')](_0x4b9f('0x11'))[_0x4b9f('0x12')](_0x4b9f('0x3e'))[_0x4b9f('0x15')]('ListId\x20=\x20?',_0x579665)[_0x4b9f('0x15')](_0x54f9e1+_0x4b9f('0x16')+_0x140b7c+'.'+_0x54f9e1)))['toString']();}function insertCmHopperAdditionalPhones(_0x4c9303){var _0x56e88c=['cm_hopper.id',_0x4b9f('0x46'),_0x4b9f('0x47'),_0x4b9f('0x48'),_0x4b9f('0x49')];return squel['insert']()[_0x4b9f('0x3d')](_0x4b9f('0x4a'))[_0x4b9f('0x2e')](['CmHopperId',_0x4b9f('0x11'),'OrderBy',_0x4b9f('0x31'),_0x4b9f('0x32')],squel[_0x4b9f('0xf')]()[_0x4b9f('0x3f')](_0x56e88c)[_0x4b9f('0x12')](_0x4b9f('0x2d'))[_0x4b9f('0x13')](_0x4b9f('0x36'),null,_0x4b9f('0x4b'))[_0x4b9f('0x13')]('cm_contact_has_items',null,'cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId')[_0x4b9f('0x15')](_0x4b9f('0x4c'),_0x4c9303)[_0x4b9f('0x15')]('cm_contacts.createdAt\x20=\x20?',NOW))[_0x4b9f('0x41')]();}function insertCmContact(_0x2a8f23,_0x1cf74d,_0x55923f,_0x570bfb){var _0x52548f=_[_0x4b9f('0x4d')](_[_0x4b9f('0x4e')](_0x570bfb),[_0x4b9f('0x30'),_0x4b9f('0x4f'),'createdAt',_0x4b9f('0x32')]);return squel[_0x4b9f('0x2c')]()['into']('cm_contacts')[_0x4b9f('0x2e')](_0x52548f,squel['select']()[_0x4b9f('0x3f')](_0x52548f)['from'](_0x1cf74d)['where']('('+_0x55923f[_0x4b9f('0x13')](',')+')\x20NOT\x20IN\x20?',squel[_0x4b9f('0xf')]()[_0x4b9f('0x3f')](_0x55923f)['from'](_0x4b9f('0x36'))[_0x4b9f('0x15')](_0x4b9f('0x50'),_0x2a8f23)[_0x4b9f('0x15')](_0x4b9f('0x51')))[_0x4b9f('0x15')]('id\x20IN\x20?',squel[_0x4b9f('0xf')]()[_0x4b9f('0x10')](_0x4b9f('0x52'),_0x4b9f('0x53'))[_0x4b9f('0x12')](_0x1cf74d)[_0x4b9f('0x54')](_0x55923f['join'](','))))[_0x4b9f('0x41')]();}function handleStop(){logger[_0x4b9f('0x55')]('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x103532){logger[_0x4b9f('0x56')](_0x103532[_0x4b9f('0x57')]);process[_0x4b9f('0x58')](0x1);}function handleError(_0x573382,_0xa1a190){stats[_0x4b9f('0x59')][_0x4b9f('0x1e')]({'name':_0xa1a190[_0x4b9f('0x5a')],'message':_0xa1a190[_0x4b9f('0x57')],'row':_0x573382});}function handleQuery(_0x1f16de){logger[_0x4b9f('0x55')](_0x1f16de);return db[_0x4b9f('0x5b')][_0x4b9f('0x5c')](_0x1f16de)['spread'](function(_0x36459c){results[_0x4b9f('0x1e')](_0x36459c);})[_0x4b9f('0x5d')](function(_0x5628bf){logger['error'](_0x5628bf[_0x4b9f('0x57')]);});}function updateTzCampaigns(_0x148068){return new Promise(function(_0x198d26,_0x1cb19b){var _0x3b5e88=squel[_0x4b9f('0xf')]()[_0x4b9f('0x3f')]([_0x4b9f('0x5e'),_0x4b9f('0x5f')])[_0x4b9f('0x12')](_0x4b9f('0x60'))[_0x4b9f('0x13')](_0x4b9f('0x61'),null,_0x4b9f('0x62'))[_0x4b9f('0x15')](_0x4b9f('0x63')+_0x148068);db[_0x4b9f('0x5b')]['query'](_0x3b5e88[_0x4b9f('0x41')]())[_0x4b9f('0x64')](function(_0x58142d){var _0x281778=[];for(var _0x42b362=0x0;_0x42b362<_0x58142d[_0x4b9f('0x1d')];_0x42b362++){_0x281778[_0x4b9f('0x1e')](getTimezoneData(_0x58142d[_0x42b362],tmp_campaigns));}BPromise[_0x4b9f('0x65')](_0x281778)[_0x4b9f('0x1b')](function(){_0x198d26({'val':0x1});});})[_0x4b9f('0x5d')](function(_0x4e71e2){logger[_0x4b9f('0x56')](_0x4e71e2[_0x4b9f('0x57')]);_0x198d26({'val':0x0});});});}function updateTzVoiceQueues(_0x4ea6e7){return new Promise(function(_0x533896,_0x11cbe5){var _0x3d2aef=squel['select']()[_0x4b9f('0x3f')](['voice_queues.id','voice_queues.dialTimezone'])['from']('voice_queues')['join'](_0x4b9f('0x66'),null,_0x4b9f('0x67'))[_0x4b9f('0x15')](_0x4b9f('0x68')+_0x4ea6e7);db[_0x4b9f('0x5b')]['query'](_0x3d2aef[_0x4b9f('0x41')]())['spread'](function(_0x339d4c){var _0xab367=[];for(var _0x3becb2=0x0;_0x3becb2<_0x339d4c[_0x4b9f('0x1d')];_0x3becb2++){_0xab367['push'](getTimezoneData(_0x339d4c[_0x3becb2],tmp_voice_queues));}BPromise[_0x4b9f('0x65')](_0xab367)[_0x4b9f('0x1b')](function(){_0x533896({'val':0x1});});})['catch'](function(_0x4e64ca){logger[_0x4b9f('0x56')](_0x4e64ca[_0x4b9f('0x57')]);_0x533896({'val':0x0});});});}function getTimezoneData(_0x179a20,_0x361512){return new Promise(function(_0x4969e0,_0x3bd40b){var _0x20718f=shared['timezones'];var _0x25b3fb=_0x20718f[_0x179a20[_0x4b9f('0x69')]];if(_[_0x4b9f('0x1f')](_0x25b3fb)){_0x4969e0({'ret':0x1});}else{var _0x177735=_0x25b3fb[_0x4b9f('0x6a')];var _0x4a010c=squel[_0x4b9f('0x2c')]()[_0x4b9f('0x3d')](_0x361512)[_0x4b9f('0x6b')]('id',_0x179a20['id'])[_0x4b9f('0x6b')](_0x4b9f('0x6c'),_0x177735)['set']('dialTimezone',_0x179a20['dialTimezone'])[_0x4b9f('0x41')]();return db[_0x4b9f('0x5b')][_0x4b9f('0x5c')](_0x4a010c)[_0x4b9f('0x64')](function(_0x16db75){_0x4969e0({'ret':0x1});})[_0x4b9f('0x5d')](function(_0x156387){logger[_0x4b9f('0x56')](_0x156387[_0x4b9f('0x57')]);_0x3bd40b({'ret':0x1});});}});}function handleTZQuery(_0x57430d){logger['info'](_0x57430d);return db[_0x4b9f('0x5b')][_0x4b9f('0x5c')](_0x57430d)[_0x4b9f('0x64')](function(_0x4776a5){})[_0x4b9f('0x5d')](function(_0x2fc440){logger['error'](_0x2fc440[_0x4b9f('0x57')]);});}function main(_0x5f2110,_0x148763,_0x56a575,_0x26de02){logger['info'](_0x4b9f('0x6d'),_0x5f2110,JSON[_0x4b9f('0x6e')](_0x148763));process[_0x4b9f('0x6f')](_0x4b9f('0x70'));var _0x5565ef=_0x148763['binding'];var _0x41768e=_['clone'](_0x5565ef);var _0x39cbcf=_0x148763[_0x4b9f('0x71')];var _0x1a0410=path[_0x4b9f('0x13')](config['root'],'server/files/tmp',_0x39cbcf+_0x4b9f('0x72'));hasTZ=_[_0x4b9f('0x4e')](_0x5565ef)['includes'](_0x4b9f('0x69'));var _0x10ae65=_['keys'](_0x5565ef)[_0x4b9f('0x13')]();logger[_0x4b9f('0x55')](_0x4b9f('0x73'),_0x10ae65);db[_0x4b9f('0x74')]['findAll']({'raw':!![],'attributes':['id',_0x4b9f('0x75')]})['then'](function(_0xb3158e){for(var _0xdb07c0=0x0;_0xdb07c0<_0xb3158e[_0x4b9f('0x1d')];_0xdb07c0++){if(_0xb3158e[_0xdb07c0][_0x4b9f('0x75')]in _0x5565ef){contactItemTypes['push'](_0xb3158e[_0xdb07c0]);delete _0x41768e[_0xb3158e[_0xdb07c0][_0x4b9f('0x75')]];hasAdditionalPhones=!![];}for(var _0x4b69d8 in _0x5565ef){if(_0xb3158e[_0xdb07c0][_0x4b9f('0x75')]+_0x4b9f('0x76')===_0x4b69d8){phoneDescriptions[_0x4b9f('0x1e')]({'itemTypeId':_0xb3158e[_0xdb07c0]['id'],'description':_0x4b69d8});delete _0x41768e[_0x4b69d8];}}}if(hasAdditionalPhones)_0x41768e[_0x4b9f('0x1a')]='';var _0x52030e=_[_0x4b9f('0x4e')](_0x41768e)[_0x4b9f('0x13')]();logger[_0x4b9f('0x55')](_0x4b9f('0x73'),_0x52030e);fs[_0x4b9f('0x77')](_0x1a0410,_0x52030e+'\x0a');Papa[_0x4b9f('0x78')](fs[_0x4b9f('0x79')](_0x5f2110),{'header':!![],'skipEmptyLines':!![],'step':function(_0x4949af,_0x15ca86){try{for(var _0x200cdc=0x0,_0x5ea55d=[];_0x200cdc<_0x4949af[_0x4b9f('0x7a')][_0x4b9f('0x1d')];_0x200cdc++){stats[_0x4b9f('0x7b')]+=0x1;if(_0x4949af[_0x4b9f('0x59')][_0x200cdc]){handleError(_0x4949af[_0x4b9f('0x7a')][_0x200cdc],_0x4949af[_0x4b9f('0x59')][_0x200cdc]);}else{var _0x234c5e=[];var _0x2db90a=[];var _0x1b8b6e={};for(var _0x16cd91 in _0x5565ef){let _0x4f8ea3=contactItemTypes[_0x4b9f('0x7c')](_0x4dbb5d=>_0x4dbb5d['name']===_0x16cd91);let _0x3b85e3=contactItemTypes[_0x4b9f('0x7c')](_0x72ba4b=>_0x72ba4b[_0x4b9f('0x75')]+_0x4b9f('0x76')===_0x16cd91);if(_[_0x4b9f('0x1f')](_0x4f8ea3)&&_[_0x4b9f('0x1f')](_0x3b85e3)){if(_0x5565ef['hasOwnProperty'](_0x16cd91)){if(_0x4949af[_0x4b9f('0x7a')][_0x200cdc][_0x5565ef[_0x16cd91]]){var _0x37b457=_[_0x4b9f('0x7d')](_0x4949af['data'][_0x200cdc][_0x5565ef[_0x16cd91]][_0x4b9f('0x7e')](/"/g,'\x27'));switch(_0x16cd91){case _0x4b9f('0x7f'):var _0x556e85=moment(_0x37b457,_0x4b9f('0xd'),!![]);if(_0x556e85[_0x4b9f('0x80')]()){_0x5ea55d[_0x4b9f('0x1e')]('\x22'+_0x37b457+'\x22');}else{_0x234c5e[_0x4b9f('0x1e')](_0x4b9f('0x81'));}break;case _0x4b9f('0x33'):var _0x4a4b20=parseInt(_0x37b457);_0x37b457=_[_0x4b9f('0x82')](_0x4a4b20)||_0x4a4b20<0x0||_0x4a4b20>0x4?_0x26de02?0x3:0x2:_0x4a4b20;_0x5ea55d[_0x4b9f('0x1e')]('\x22'+_0x37b457+'\x22');break;case _0x4b9f('0x34'):var _0x5b7bba=parseInt(_0x37b457);if(_['isNumber'](_0x5b7bba)&&_[_0x4b9f('0x83')](_0x56a575,_0x5b7bba)){_0x5ea55d[_0x4b9f('0x1e')]('\x22'+_0x5b7bba+'\x22');}else{_0x234c5e[_0x4b9f('0x1e')](_0x4b9f('0x84'));}break;case'email':if(isEmail(_0x37b457)){_0x5ea55d['push']('\x22'+_0x37b457+'\x22');}else{_0x234c5e[_0x4b9f('0x1e')](_0x4b9f('0x85'));}break;case _0x4b9f('0x86'):var _0x5461b2=moment(_0x37b457,_0x4b9f('0x87'),!![]);if(_0x5461b2[_0x4b9f('0x80')]()){_0x5ea55d[_0x4b9f('0x1e')]('\x22'+_0x37b457+'\x22');}else{_0x234c5e[_0x4b9f('0x1e')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;case _0x4b9f('0x69'):var _0x54002d=shared[_0x4b9f('0x88')];var _0x4e7e0a=_0x54002d[_0x37b457];if(!_[_0x4b9f('0x1f')](_0x4e7e0a)){var _0x58ef38=_0x4e7e0a[_0x4b9f('0x6a')];_0x5ea55d[_0x4b9f('0x1e')]('\x22'+_0x37b457+'\x22');_0x5ea55d[_0x4b9f('0x1e')]('\x22'+_0x58ef38+'\x22');}break;default:_0x5ea55d[_0x4b9f('0x1e')]('\x22'+_0x37b457+'\x22');}}else{switch(_0x16cd91){case _0x4b9f('0x89'):case _0x4b9f('0x11'):_0x234c5e[_0x4b9f('0x1e')](_0x16cd91+'\x20not\x20specified');break;default:_0x5ea55d[_0x4b9f('0x1e')]('\x22\x22');}}}}else{var _0x4b1264='';if(!_[_0x4b9f('0x1f')](_0x4f8ea3)){if(!_0x1b8b6e['hasOwnProperty'](_0x4f8ea3['id'])){if(!_[_0x4b9f('0x1f')](_0x4949af[_0x4b9f('0x7a')][_0x200cdc][_0x5565ef[_0x16cd91]])){var _0x37b457=_[_0x4b9f('0x7d')](_0x4949af[_0x4b9f('0x7a')][_0x200cdc][_0x5565ef[_0x16cd91]]['replace'](/"/g,'\x27'));var _0x5168e4=phoneDescriptions[_0x4b9f('0x7c')](_0x59e955=>_0x59e955[_0x4b9f('0x8a')]===_0x4f8ea3['id']);if(!_['isNil'](_0x5168e4)){var _0x9c54d7=_[_0x4b9f('0x7d')](_0x4949af[_0x4b9f('0x7a')][_0x200cdc][_0x5565ef[_0x5168e4[_0x4b9f('0x8b')]]][_0x4b9f('0x7e')](/"/g,'\x27'));if(!_[_0x4b9f('0x1f')](_0x9c54d7))_0x37b457=_0x37b457+'§'+_0x9c54d7;}if(_0x4b1264=='')_0x4b1264=_0x37b457;else _0x4b1264+='|'+_0x37b457;}_0x2db90a[_0x4b9f('0x1e')](_0x4f8ea3['id']+':'+_0x4b1264);_0x1b8b6e[_0x4f8ea3['id']]=0x1;}}}}if(hasAdditionalPhones){_0x5ea55d[_0x4b9f('0x1e')]('\x22'+_0x2db90a[_0x4b9f('0x13')](';')+'\x22');}if(_0x234c5e[_0x4b9f('0x1d')]){handleError(_0x4949af[_0x4b9f('0x7a')][_0x200cdc],{'code':_0x4b9f('0x8c'),'message':_0x234c5e[_0x4b9f('0x13')]()});}else{fs[_0x4b9f('0x8d')](_0x1a0410,_0x5ea55d[_0x4b9f('0x13')]()+'\x0a');}_0x5ea55d=[];}if(!(stats[_0x4b9f('0x7b')]%0xc8)){socket['emit'](_0x4b9f('0x8e')+_0x39cbcf,stats);stats[_0x4b9f('0x59')]=[];}}if(stopped){logger['info']('Abort\x20parser');_0x15ca86[_0x4b9f('0x8f')]();}}catch(_0x3bb9a5){handleError(_0x4949af[_0x4b9f('0x7a')][_0x200cdc],{'code':'SystemError','message':_0x3bb9a5[_0x4b9f('0x57')]});logger[_0x4b9f('0x56')](_0x4b9f('0x90'),_0x3bb9a5[_0x4b9f('0x57')]);}},'complete':function(){try{var _0x4c610=[];var _0x5b5980=[];var _0x2c0756=_0x4b9f('0x36');if(_0x148763[_0x4b9f('0x91')]&&_0x148763['duplicates'][_0x4b9f('0x1d')]){_0x2c0756=_0x4b9f('0x92')+_0x39cbcf;_0x4c610[_0x4b9f('0x1e')](_0x4b9f('0x93')+_0x2c0756+_0x4b9f('0x94'));}tmp_campaigns=_0x4b9f('0x95')+_0x39cbcf;tmp_voice_queues=_0x4b9f('0x96')+_0x39cbcf;_0x5b5980[_0x4b9f('0x1e')]('CREATE\x20TABLE\x20'+tmp_campaigns+'(id\x20int,dialTimezone\x20varchar(255),offset\x20int);');_0x5b5980[_0x4b9f('0x1e')](_0x4b9f('0x93')+tmp_voice_queues+_0x4b9f('0x97'));BPromise[_0x4b9f('0x98')](_0x5b5980,handleTZQuery)[_0x4b9f('0x1b')](function(_0x8a7ac7){updateTzCampaigns(_0x148763['ListId'])['then'](function(_0x4b8ca8){updateTzVoiceQueues(_0x148763['ListId'])[_0x4b9f('0x1b')](function(_0x4a7999){if(hasTZ)_0x52030e=_0x52030e[_0x4b9f('0x7e')](_0x4b9f('0x69'),_0x4b9f('0x99'));var _0x362503=util[_0x4b9f('0xc')](_0x4b9f('0x9a'),_0x1a0410,_0x2c0756,_0x52030e,_0x148763[_0x4b9f('0x30')],_0x148763[_0x4b9f('0x4f')]||null,NOW,NOW);if(_[_0x4b9f('0x1f')](_0x5565ef[_0x4b9f('0x7f')])){_0x362503+=_0x4b9f('0x9b');}_0x4c610[_0x4b9f('0x1e')](_0x362503);if(_0x148763[_0x4b9f('0x91')]&&_0x148763['duplicates'][_0x4b9f('0x1d')]){_0x4c610[_0x4b9f('0x1e')](insertCmContact(_0x148763['ListId'],_0x2c0756,_0x148763['duplicates'],_0x5565ef));_0x4c610['push'](_0x4b9f('0x9c')+_0x2c0756+';');}BPromise['each'](_0x4c610,handleQuery)[_0x4b9f('0x1b')](function(_0x22d46f){BPromise[_0x4b9f('0x65')]([handleAdditionalPhones()])[_0x4b9f('0x1b')](function(){_0x4c610=[];for(var _0x49cf4c=0x0;_0x49cf4c<promisesAdditionalPhones[_0x4b9f('0x1d')];_0x49cf4c++){if(promisesAdditionalPhones[_0x49cf4c][_0x4b9f('0x11')]!='§'){_0x4c610[_0x4b9f('0x1e')](createAdditionalPhone(promisesAdditionalPhones[_0x49cf4c][_0x4b9f('0x9d')],promisesAdditionalPhones[_0x49cf4c]['contactTypeId'],promisesAdditionalPhones[_0x49cf4c]['phone'],promisesAdditionalPhones[_0x49cf4c][_0x4b9f('0x9e')]));}}BPromise[_0x4b9f('0x65')](_0x4c610)[_0x4b9f('0x1b')](function(){_0x4c610=[];if(hasTZ){_0x4c610[_0x4b9f('0x1e')](insertTzCmHopper(_0x148763[_0x4b9f('0x30')],_0x4b9f('0x66'),_0x4b9f('0x9f'),'VoiceQueueId',_0x26de02,tmp_voice_queues));_0x4c610[_0x4b9f('0x1e')](insertTzCmHopperBlack(_0x148763['ListId'],_0x4b9f('0xa0'),'voice_queues','VoiceQueueId'));_0x4c610['push'](insertTzCmHopper(_0x148763['ListId'],_0x4b9f('0x61'),_0x4b9f('0x60'),'CampaignId',_0x26de02,tmp_campaigns));_0x4c610[_0x4b9f('0x1e')](insertTzCmHopperBlack(_0x148763[_0x4b9f('0x30')],'campaigns_has_cm_blacklists',_0x4b9f('0x60'),_0x4b9f('0xa1')));_0x4c610[_0x4b9f('0x1e')](insertCmHopperAdditionalPhones(_0x148763[_0x4b9f('0x30')]));}else{_0x4c610[_0x4b9f('0x1e')](insertCmHopper(_0x148763['ListId'],_0x4b9f('0x66'),_0x4b9f('0x9f'),_0x4b9f('0xa2'),_0x26de02));_0x4c610['push'](insertCmHopperBlack(_0x148763[_0x4b9f('0x30')],_0x4b9f('0xa0'),_0x4b9f('0x9f'),_0x4b9f('0xa2')));_0x4c610['push'](insertCmHopper(_0x148763[_0x4b9f('0x30')],_0x4b9f('0x61'),_0x4b9f('0x60'),_0x4b9f('0xa1'),_0x26de02));_0x4c610[_0x4b9f('0x1e')](insertCmHopperBlack(_0x148763['ListId'],_0x4b9f('0xa3'),_0x4b9f('0x60'),_0x4b9f('0xa1')));_0x4c610[_0x4b9f('0x1e')](insertCmHopperAdditionalPhones(_0x148763[_0x4b9f('0x30')]));}_0x4c610['push'](_0x4b9f('0x9c')+tmp_campaigns+';');_0x4c610['push']('DROP\x20TABLE\x20'+tmp_voice_queues+';');BPromise[_0x4b9f('0x98')](_0x4c610,handleQuery)[_0x4b9f('0x1b')](function(_0x213b35){stats[_0x4b9f('0xa4')]=!![];stats['affectedRows']=_0x148763[_0x4b9f('0x91')]&&_0x148763[_0x4b9f('0x91')][_0x4b9f('0x1d')]?results[0x2][_0x4b9f('0xa5')]:results[0x0][_0x4b9f('0xa5')];socket['emit'](_0x4b9f('0x8e')+_0x39cbcf,stats);fs[_0x4b9f('0xa6')](_0x5f2110);fs[_0x4b9f('0xa6')](_0x1a0410);process[_0x4b9f('0x58')](0x0);})['catch'](function(_0x12ee21){logger[_0x4b9f('0x56')](_0x12ee21['message']);process['exit'](0x1);});});});})[_0x4b9f('0x5d')](function(_0x2a79c2){logger[_0x4b9f('0x56')](_0x2a79c2[_0x4b9f('0x57')]);process[_0x4b9f('0x58')](0x1);});});});});}catch(_0x17a847){logger[_0x4b9f('0x56')](_0x4b9f('0xa7'),_0x17a847[_0x4b9f('0x57')]);process['exit'](0x1);}},'error':function(_0x22ce54,_0x202652,_0x2ebcc3,_0x504356){throw new Error(_0x504356);}});});}function validate(){if(process['argv']&&process[_0x4b9f('0xa8')][_0x4b9f('0x1d')]<0x4){throw new Error(_0x4b9f('0xa9'));}var _0x38d6b9=path[_0x4b9f('0x13')](config[_0x4b9f('0xaa')],_0x4b9f('0xab'),process['argv'][0x2]);if(!fs[_0x4b9f('0xac')](_0x38d6b9)){throw new Error(_0x4b9f('0xad'));}var _0x51ee6d={};try{_0x51ee6d=JSON[_0x4b9f('0x78')](process[_0x4b9f('0xa8')][0x3]);if(!_0x51ee6d[_0x4b9f('0xae')]){throw new Error(_0x4b9f('0xaf'));}if(!_0x51ee6d[_0x4b9f('0xae')][_0x4b9f('0x11')]){throw new Error('phone\x20is\x20mandatory');}if(!_0x51ee6d[_0x4b9f('0xae')]['firstName']){throw new Error(_0x4b9f('0xb0'));}var _0x159ec6=0x0;if(_0x51ee6d[_0x4b9f('0xae')][_0x4b9f('0x34')]){_0x159ec6=0x1;}if(!_0x51ee6d[_0x4b9f('0x30')]){throw new Error(_0x4b9f('0xb1'));}}catch(_0x3d2806){throw new Error('body\x20id\x20mandatory');}var _0x15b068=[];try{_0x15b068=_['map'](JSON[_0x4b9f('0x78')](process[_0x4b9f('0xa8')][0x4]),'id');}catch(_0x5918a3){logger['info'](_0x4b9f('0xb2'));}main(_0x38d6b9,_0x51ee6d,_0x15b068,_0x159ec6);}validate();process['on']('SIGINT',handleStop);process['on'](_0x4b9f('0xb3'),handleUncaughtException);