517a59b4e1831d32aa4dd9ea624da6a6bd2e38b6
[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 _0x88dc=['start','binding','clone','socket_timestamp','root','server/files/tmp','.csv','includes','header','ContactItemType','name','writeFileSync','parse','createReadStream','data','rows','find','_description','trim','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','priority','agent\x20not\x20exists','dateOfBirth','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','itemTypeId','description','SystemRow','emit','contact:import:','errors','Abort\x20parser','abort','SystemError','duplicates','campaigns_','CREATE\x20TABLE\x20','(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','CompanyId',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','contactId','contactTypeId','orderBy','voice_queues_has_cm_lists','VoiceQueueId','voice_queues_has_cm_blacklists','CampaignId','campaigns_has_cm_blacklists','finish','affectedRows','unlink','complete','existsSync','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','No\x20agent\x20available','uncaughtException','path','lodash','papaparse','util','moment','squel','ioredis','../../../mysqldb','../../../config/environment','../../../config/environment/shared','../../../config/logger','redis','defaults','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','select','phone','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','join','CmContact','findAll','AdditionalPhones','then','length','push','split','isNil','filter','CmContactHasItem','findOne','update','create','PHONE','cm_contacts.phone','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','insert','into','cm_hopper','scheduledat','ContactId','ListId','createdAt','updatedAt','UserId','recallme','fields','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','toString','cm_hopper_black','fromQuery','from','cm_contacts','cm_contacts.createdAt\x20=\x20?','field','ListId\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','cm_contacts.UserId','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','CmHopperId','OrderBy','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','keys','scheduledAt',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','group','info','Received\x20SIGINT','error','message','exit','sequelize','catch','campaigns.id','campaigns.dialTimezone','campaigns','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','query','all','voice_queues.dialTimezone','voice_queues','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','voice_queues_has_cm_lists.CmListId=','timezones','dialTimezone','utcOffset','set','offset','spread','main','stringify','send'];(function(_0x3b380d,_0x4bf247){var _0x54502b=function(_0x35d207){while(--_0x35d207){_0x3b380d['push'](_0x3b380d['shift']());}};_0x54502b(++_0x4bf247);}(_0x88dc,0xfa));var _0xc88d=function(_0x33aecf,_0x395c5e){_0x33aecf=_0x33aecf-0x0;var _0x151d3c=_0x88dc[_0x33aecf];return _0x151d3c;};'use strict';var fs=require('fs');var path=require(_0xc88d('0x0'));var _=require(_0xc88d('0x1'));var Papa=require(_0xc88d('0x2'));var util=require(_0xc88d('0x3'));var BPromise=require('bluebird');var moment=require(_0xc88d('0x4'));var squel=require(_0xc88d('0x5'));var Redis=require(_0xc88d('0x6'));var db=require(_0xc88d('0x7'))['db'];var config=require(_0xc88d('0x8'));var shared=require(_0xc88d('0x9'));var logger=require(_0xc88d('0xa'))('import');config[_0xc88d('0xb')]=_[_0xc88d('0xc')](config[_0xc88d('0xb')],{'host':_0xc88d('0xd'),'port':0x18eb});var socket=require(_0xc88d('0xe'))(new Redis(config[_0xc88d('0xb')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()[_0xc88d('0xf')](_0xc88d('0x10'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()['format'](_0xc88d('0x10'));function isEmail(_0x20e6ec){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))*$/['test'](_0x20e6ec);}function selectNotIn(_0x5bc546,_0x14c369,_0x5db3fa,_0x2cec9b,_0x5b8b86){return squel[_0xc88d('0x11')]()['field'](_0xc88d('0x12'))['from'](_0x2cec9b)['join'](_0x14c369,null,_0x14c369+_0xc88d('0x13')+_0x2cec9b+'.'+_0x5db3fa)[_0xc88d('0x14')](_0x2cec9b+'.'+_0x5db3fa+_0xc88d('0x15')+_0x5bc546+'.'+_0x5db3fa)[_0xc88d('0x14')](_0x14c369+_0xc88d('0x16')+_0x5b8b86[_0xc88d('0x17')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x225e54,_0x470ec4){promisesAdditionalPhones=[];return db[_0xc88d('0x18')][_0xc88d('0x19')]({'raw':!![],'attributes':['id',_0xc88d('0x1a')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0xc88d('0x1b')](function(_0x129a65){if(_0x129a65!==null){var _0x7ad48c=[];for(var _0x54a678=0x0;_0x54a678<_0x129a65[_0xc88d('0x1c')];_0x54a678++){var _0x4f5fcd=_0x129a65[_0x54a678];_0x7ad48c[_0xc88d('0x1d')](insertAdditionalPhones(_0x4f5fcd));}}Promise['all'](_0x7ad48c)[_0xc88d('0x1b')](function(){_0x225e54({'val':0x1});});});});}function insertAdditionalPhones(_0x336a73){return new Promise(function(_0x400acd,_0x4d3e81){var _0x3c847c=_0x336a73[_0xc88d('0x1a')];var _0x5488b3=_0x3c847c[_0xc88d('0x1e')](';');var _0x886229=[];orderBy=0x0;for(var _0x17ff73=0x0;_0x17ff73<_0x5488b3[_0xc88d('0x1c')];_0x17ff73++){_0x886229[_0xc88d('0x1d')](splitAdditionalPhone(_0x336a73['id'],_0x5488b3[_0x17ff73]));}Promise['all'](_0x886229)[_0xc88d('0x1b')](function(){_0x400acd({'val':_0x5488b3['length']});});});}function splitAdditionalPhone(_0x17a55a,_0x516666){return new Promise(function(_0x599c28,_0x14ba57){var _0x5eaada=_0x516666['split'](':');var _0x4775e5=_0x5eaada[0x0];var _0xa15a1a=_0x5eaada[0x1];if(!_[_0xc88d('0x1f')](_0xa15a1a)){var _0x1743e2=_0xa15a1a[_0xc88d('0x1e')]('|');var _0x151ece=[];for(var _0x2ae284=0x0;_0x2ae284<_0x1743e2['length'];_0x2ae284++){if(_0x1743e2[_0x2ae284]!==''){var _0x3c00f8=_[_0xc88d('0x20')](promisesAdditionalPhones,{'contactId':_0x17a55a,'phone':_0x1743e2[_0x2ae284]});if(_0x3c00f8[_0xc88d('0x1c')]==0x0){orderBy++;promisesAdditionalPhones[_0xc88d('0x1d')]({'contactId':_0x17a55a,'contactTypeId':_0x4775e5,'phone':_0x1743e2[_0x2ae284],'orderBy':orderBy});}}}_0x599c28({'ok':0x1});}else _0x599c28({'res':0x0});});}function createAdditionalPhone(_0x4f3839,_0x10a834,_0x26e16d,_0x1cecdb){var _0x20737d='';var _0x1f0fb9='';var _0x284585=_0x26e16d['split']('§');_0x20737d=_0x284585[0x0];if(_0x284585['length']==0x2)_0x1f0fb9=_0x284585[0x1];return new Promise(function(_0x58d2cf,_0x1558d4){return db[_0xc88d('0x21')][_0xc88d('0x22')]({'where':{'CmContactId':_0x4f3839,'item':_0x20737d}})[_0xc88d('0x1b')](function(_0x556b96){if(_0x556b96){return db[_0xc88d('0x21')][_0xc88d('0x23')]({'ItemTypeId':_0x10a834,'description':_0x1f0fb9,'OrderBy':_0x1cecdb},{'where':{'CmContactId':_0x4f3839,'item':_0x20737d}})[_0xc88d('0x1b')](function(_0x3b317f){_0x58d2cf({'res':'updated'});});}else{return db[_0xc88d('0x21')][_0xc88d('0x24')]({'CmContactId':_0x4f3839,'item':_0x20737d,'description':_0x1f0fb9,'ItemTypeId':_0x10a834,'OrderBy':_0x1cecdb,'ItemClass':_0xc88d('0x25')})[_0xc88d('0x1b')](function(_0x80fa47){_0x58d2cf({'res':'inserted'});});}});});}function insertCmHopper(_0xbd07db,_0x30de62,_0x5bd55c,_0x33cb6b,_0x691aaf){var _0x1150bd=[_0xc88d('0x26'),'cm_contacts.scheduledat',_0xc88d('0x27'),_0xc88d('0x28'),_0x30de62+'.'+_0x33cb6b,_0xc88d('0x29'),_0xc88d('0x2a'),_0xc88d('0x2b'),'cm_contacts.UserId','\x22'+_0x691aaf+'\x22'];return squel[_0xc88d('0x2c')]()[_0xc88d('0x2d')](_0xc88d('0x2e'))['fromQuery']([_0xc88d('0x12'),_0xc88d('0x2f'),_0xc88d('0x30'),_0xc88d('0x31'),_0x33cb6b,_0xc88d('0x32'),_0xc88d('0x33'),'priority',_0xc88d('0x34'),_0xc88d('0x35')],squel[_0xc88d('0x11')]()[_0xc88d('0x36')](_0x1150bd)['from'](_0x30de62)['join']('cm_contacts',null,_0xc88d('0x37')+_0x30de62+_0xc88d('0x38'))['join'](_0x5bd55c,null,_0x5bd55c+'.id\x20=\x20'+_0x30de62+'.'+_0x33cb6b)[_0xc88d('0x14')](_0x30de62+_0xc88d('0x39'),_0xbd07db)[_0xc88d('0x14')]('cm_contacts.createdAt\x20=\x20?',NOW)['where'](_0xc88d('0x3a'),selectNotIn(_0x30de62,_0x5bd55c,_0x33cb6b,_0xc88d('0x2e'),[_0xc88d('0x3b'),_0xc88d('0x3c')]))[_0xc88d('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x30de62,_0x5bd55c,_0x33cb6b,_0xc88d('0x2e'),[_0xc88d('0x3b')])))[_0xc88d('0x3d')]();}function insertCmHopperBlack(_0x35fbc8,_0x57634f,_0x263d43,_0x5d0be6){var _0x584bd6=[_0xc88d('0x26'),_0xc88d('0x27'),_0xc88d('0x28'),_0x57634f+'.'+_0x5d0be6,_0xc88d('0x29'),'cm_contacts.updatedAt'];return squel[_0xc88d('0x2c')]()[_0xc88d('0x2d')](_0xc88d('0x3e'))[_0xc88d('0x3f')](['phone',_0xc88d('0x30'),_0xc88d('0x31'),_0x5d0be6,_0xc88d('0x32'),'updatedAt'],squel[_0xc88d('0x11')]()[_0xc88d('0x36')](_0x584bd6)[_0xc88d('0x40')](_0x57634f)[_0xc88d('0x17')](_0xc88d('0x41'),null,_0xc88d('0x37')+_0x57634f+_0xc88d('0x38'))['join'](_0x263d43,null,_0x263d43+_0xc88d('0x13')+_0x57634f+'.'+_0x5d0be6)[_0xc88d('0x14')](_0x57634f+_0xc88d('0x39'),_0x35fbc8)[_0xc88d('0x14')](_0xc88d('0x42'),NOW)[_0xc88d('0x14')](_0xc88d('0x3a'),squel[_0xc88d('0x11')]()[_0xc88d('0x43')]('phone')[_0xc88d('0x40')]('cm_hopper_black')[_0xc88d('0x14')](_0xc88d('0x44'),_0x35fbc8)[_0xc88d('0x14')](_0x5d0be6+_0xc88d('0x15')+_0x57634f+'.'+_0x5d0be6)))['toString']();}function insertTzCmHopper(_0x119f0c,_0x4e4472,_0x37c001,_0x14df14,_0x23d8c1,_0x26bf56){var _0x198e88=[_0xc88d('0x26'),_0xc88d('0x45')+_0x26bf56+'.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.id','cm_contacts.ListId',_0x4e4472+'.'+_0x14df14,_0xc88d('0x29'),'cm_contacts.updatedAt','cm_contacts.priority',_0xc88d('0x46'),'\x22'+_0x23d8c1+'\x22'];var _0x2a8bc5=squel[_0xc88d('0x2c')]()[_0xc88d('0x2d')](_0xc88d('0x2e'))[_0xc88d('0x3f')]([_0xc88d('0x12'),_0xc88d('0x2f'),_0xc88d('0x30'),'ListId',_0x14df14,_0xc88d('0x32'),_0xc88d('0x33'),'priority',_0xc88d('0x34'),_0xc88d('0x35')],squel['select']()[_0xc88d('0x36')](_0x198e88)['from'](_0x4e4472)[_0xc88d('0x17')](_0xc88d('0x41'),null,'cm_contacts.ListId\x20=\x20'+_0x4e4472+_0xc88d('0x38'))['join'](_0x37c001,null,_0x37c001+_0xc88d('0x13')+_0x4e4472+'.'+_0x14df14)['join'](_0x26bf56,null,_0x26bf56+_0xc88d('0x13')+_0x4e4472+'.'+_0x14df14)['where'](_0x4e4472+'.CmListId\x20=\x20?',_0x119f0c)[_0xc88d('0x14')](_0xc88d('0x42'),NOW)['where'](_0xc88d('0x3a'),selectNotIn(_0x4e4472,_0x37c001,_0x14df14,_0xc88d('0x2e'),[_0xc88d('0x3b'),_0xc88d('0x3c')]))[_0xc88d('0x14')](_0xc88d('0x3a'),selectNotIn(_0x4e4472,_0x37c001,_0x14df14,'cm_hopper',[_0xc88d('0x3b')])))[_0xc88d('0x3d')]();return _0x2a8bc5;}function insertTzCmHopperBlack(_0x4326ac,_0x2f01c9,_0x19c2ff,_0x520488){var _0x2dcc48=[_0xc88d('0x26'),_0xc88d('0x27'),_0xc88d('0x28'),_0x2f01c9+'.'+_0x520488,'cm_contacts.createdAt',_0xc88d('0x2a')];return squel['insert']()['into'](_0xc88d('0x3e'))['fromQuery']([_0xc88d('0x12'),_0xc88d('0x30'),_0xc88d('0x31'),_0x520488,_0xc88d('0x32'),_0xc88d('0x33')],squel[_0xc88d('0x11')]()['fields'](_0x2dcc48)[_0xc88d('0x40')](_0x2f01c9)[_0xc88d('0x17')](_0xc88d('0x41'),null,_0xc88d('0x37')+_0x2f01c9+_0xc88d('0x38'))[_0xc88d('0x17')](_0x19c2ff,null,_0x19c2ff+_0xc88d('0x13')+_0x2f01c9+'.'+_0x520488)[_0xc88d('0x14')](_0x2f01c9+'.CmListId\x20=\x20?',_0x4326ac)[_0xc88d('0x14')]('cm_contacts.createdAt\x20=\x20?',NOW)['where'](_0xc88d('0x3a'),squel['select']()['field'](_0xc88d('0x12'))[_0xc88d('0x40')](_0xc88d('0x3e'))[_0xc88d('0x14')]('ListId\x20=\x20?',_0x4326ac)[_0xc88d('0x14')](_0x520488+_0xc88d('0x15')+_0x2f01c9+'.'+_0x520488)))['toString']();}function insertCmHopperAdditionalPhones(_0xeb3a94){var _0xc31d8e=['cm_hopper.id',_0xc88d('0x47'),_0xc88d('0x48'),_0xc88d('0x49'),_0xc88d('0x4a')];return squel[_0xc88d('0x2c')]()[_0xc88d('0x2d')]('cm_hopper_additional_phones')[_0xc88d('0x3f')]([_0xc88d('0x4b'),'phone',_0xc88d('0x4c'),_0xc88d('0x32'),'updatedAt'],squel[_0xc88d('0x11')]()[_0xc88d('0x36')](_0xc31d8e)[_0xc88d('0x40')](_0xc88d('0x2e'))[_0xc88d('0x17')]('cm_contacts',null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0xc88d('0x17')](_0xc88d('0x4d'),null,_0xc88d('0x4e'))[_0xc88d('0x14')](_0xc88d('0x4f'),_0xeb3a94)['where']('cm_contacts.createdAt\x20=\x20?',NOW))['toString']();}function insertCmContact(_0x9ab3dd,_0x222bba,_0x207f7b,_0x32aee8){var _0x4c4e80=_[_0xc88d('0x50')](_[_0xc88d('0x51')](_0x32aee8),[_0xc88d('0x31'),'CompanyId',_0xc88d('0x32'),_0xc88d('0x33'),_0xc88d('0x52')]);return squel[_0xc88d('0x2c')]()[_0xc88d('0x2d')](_0xc88d('0x41'))[_0xc88d('0x3f')](_0x4c4e80,squel[_0xc88d('0x11')]()[_0xc88d('0x36')](_0x4c4e80)[_0xc88d('0x40')](_0x222bba)['where']('('+_0x207f7b['join'](',')+_0xc88d('0x53'),squel['select']()[_0xc88d('0x36')](_0x207f7b)[_0xc88d('0x40')](_0xc88d('0x41'))['where'](_0xc88d('0x44'),_0x9ab3dd)[_0xc88d('0x14')](_0xc88d('0x54')))['where'](_0xc88d('0x55'),squel[_0xc88d('0x11')]()[_0xc88d('0x43')](_0xc88d('0x56'),'min_id')[_0xc88d('0x40')](_0x222bba)[_0xc88d('0x57')](_0x207f7b[_0xc88d('0x17')](','))))['toString']();}function handleStop(){logger[_0xc88d('0x58')](_0xc88d('0x59'));stopped=!![];}function handleUncaughtException(_0x4ea1bd){logger[_0xc88d('0x5a')](_0x4ea1bd[_0xc88d('0x5b')]);process[_0xc88d('0x5c')](0x1);}function handleError(_0x1bd5e3,_0x4e7f2b){stats['errors'][_0xc88d('0x1d')]({'name':_0x4e7f2b['code'],'message':_0x4e7f2b[_0xc88d('0x5b')],'row':_0x1bd5e3});}function handleQuery(_0x16f55b){logger[_0xc88d('0x58')](_0x16f55b);return db[_0xc88d('0x5d')]['query'](_0x16f55b)['spread'](function(_0x13d586){results[_0xc88d('0x1d')](_0x13d586);})[_0xc88d('0x5e')](function(_0xcf848d){logger[_0xc88d('0x5a')](_0xcf848d[_0xc88d('0x5b')]);});}function updateTzCampaigns(_0xb4a10a){return new Promise(function(_0x4ded19,_0x24ae6e){var _0x56cddd=squel[_0xc88d('0x11')]()[_0xc88d('0x36')]([_0xc88d('0x5f'),_0xc88d('0x60')])[_0xc88d('0x40')](_0xc88d('0x61'))['join'](_0xc88d('0x62'),null,_0xc88d('0x63'))['where'](_0xc88d('0x64')+_0xb4a10a);db[_0xc88d('0x5d')][_0xc88d('0x65')](_0x56cddd['toString']())['spread'](function(_0x1c7316){var _0x159779=[];for(var _0x1918ff=0x0;_0x1918ff<_0x1c7316[_0xc88d('0x1c')];_0x1918ff++){_0x159779[_0xc88d('0x1d')](getTimezoneData(_0x1c7316[_0x1918ff],tmp_campaigns));}BPromise[_0xc88d('0x66')](_0x159779)[_0xc88d('0x1b')](function(){_0x4ded19({'val':0x1});});})[_0xc88d('0x5e')](function(_0xe2e35e){logger[_0xc88d('0x5a')](_0xe2e35e['message']);_0x4ded19({'val':0x0});});});}function updateTzVoiceQueues(_0x3a913a){return new Promise(function(_0xe2660a,_0x3d0d5b){var _0x346ed1=squel[_0xc88d('0x11')]()[_0xc88d('0x36')](['voice_queues.id',_0xc88d('0x67')])[_0xc88d('0x40')](_0xc88d('0x68'))[_0xc88d('0x17')]('voice_queues_has_cm_lists',null,_0xc88d('0x69'))[_0xc88d('0x14')](_0xc88d('0x6a')+_0x3a913a);db[_0xc88d('0x5d')][_0xc88d('0x65')](_0x346ed1['toString']())['spread'](function(_0x9507c7){var _0xd28a0c=[];for(var _0x4c282c=0x0;_0x4c282c<_0x9507c7['length'];_0x4c282c++){_0xd28a0c[_0xc88d('0x1d')](getTimezoneData(_0x9507c7[_0x4c282c],tmp_voice_queues));}BPromise['all'](_0xd28a0c)[_0xc88d('0x1b')](function(){_0xe2660a({'val':0x1});});})[_0xc88d('0x5e')](function(_0x16a8b1){logger[_0xc88d('0x5a')](_0x16a8b1[_0xc88d('0x5b')]);_0xe2660a({'val':0x0});});});}function getTimezoneData(_0x32da29,_0x1d4fe9){return new Promise(function(_0x351258,_0xaa66d5){var _0x493a5c=shared[_0xc88d('0x6b')];var _0x5b5c21=_0x493a5c[_0x32da29[_0xc88d('0x6c')]];if(_[_0xc88d('0x1f')](_0x5b5c21)){_0x351258({'ret':0x1});}else{var _0x114c47=_0x5b5c21[_0xc88d('0x6d')];var _0x14cc88=squel[_0xc88d('0x2c')]()[_0xc88d('0x2d')](_0x1d4fe9)[_0xc88d('0x6e')]('id',_0x32da29['id'])[_0xc88d('0x6e')](_0xc88d('0x6f'),_0x114c47)[_0xc88d('0x6e')]('dialTimezone',_0x32da29[_0xc88d('0x6c')])['toString']();return db[_0xc88d('0x5d')]['query'](_0x14cc88)[_0xc88d('0x70')](function(_0x57836d){_0x351258({'ret':0x1});})[_0xc88d('0x5e')](function(_0x2bbb62){logger[_0xc88d('0x5a')](_0x2bbb62['message']);_0xaa66d5({'ret':0x1});});}});}function handleTZQuery(_0x359aaf){logger[_0xc88d('0x58')](_0x359aaf);return db[_0xc88d('0x5d')][_0xc88d('0x65')](_0x359aaf)[_0xc88d('0x70')](function(_0x27723c){})[_0xc88d('0x5e')](function(_0x1bb49e){logger[_0xc88d('0x5a')](_0x1bb49e[_0xc88d('0x5b')]);});}function main(_0x3f4bc2,_0xf8f2fd,_0x55ada0,_0x3dae3d){logger[_0xc88d('0x58')](_0xc88d('0x71'),_0x3f4bc2,JSON[_0xc88d('0x72')](_0xf8f2fd));process[_0xc88d('0x73')](_0xc88d('0x74'));var _0x4e86ac=_0xf8f2fd[_0xc88d('0x75')];var _0x6bc1b8=_[_0xc88d('0x76')](_0x4e86ac);var _0x2176c5=_0xf8f2fd[_0xc88d('0x77')];var _0x5c6130=path[_0xc88d('0x17')](config[_0xc88d('0x78')],_0xc88d('0x79'),_0x2176c5+_0xc88d('0x7a'));hasTZ=_[_0xc88d('0x51')](_0x4e86ac)[_0xc88d('0x7b')]('dialTimezone');var _0x2935fb=_[_0xc88d('0x51')](_0x4e86ac)[_0xc88d('0x17')]();logger[_0xc88d('0x58')](_0xc88d('0x7c'),_0x2935fb);db[_0xc88d('0x7d')][_0xc88d('0x19')]({'raw':!![],'attributes':['id',_0xc88d('0x7e')]})[_0xc88d('0x1b')](function(_0x5bc930){for(var _0x206893=0x0;_0x206893<_0x5bc930[_0xc88d('0x1c')];_0x206893++){if(_0x5bc930[_0x206893][_0xc88d('0x7e')]in _0x4e86ac){contactItemTypes[_0xc88d('0x1d')](_0x5bc930[_0x206893]);delete _0x6bc1b8[_0x5bc930[_0x206893][_0xc88d('0x7e')]];hasAdditionalPhones=!![];}for(var _0x2b2e5f in _0x4e86ac){if(_0x5bc930[_0x206893][_0xc88d('0x7e')]+'_description'===_0x2b2e5f){phoneDescriptions['push']({'itemTypeId':_0x5bc930[_0x206893]['id'],'description':_0x2b2e5f});delete _0x6bc1b8[_0x2b2e5f];}}}if(hasAdditionalPhones)_0x6bc1b8[_0xc88d('0x1a')]='';var _0x4b8e2e=_[_0xc88d('0x51')](_0x6bc1b8)[_0xc88d('0x17')]();logger['info'](_0xc88d('0x7c'),_0x4b8e2e);fs[_0xc88d('0x7f')](_0x5c6130,_0x4b8e2e+'\x0a');Papa[_0xc88d('0x80')](fs[_0xc88d('0x81')](_0x3f4bc2),{'header':!![],'skipEmptyLines':!![],'step':function(_0x232ca2,_0x1a59dd){try{for(var _0x3753bf=0x0,_0x2ff16c=[];_0x3753bf<_0x232ca2[_0xc88d('0x82')][_0xc88d('0x1c')];_0x3753bf++){stats[_0xc88d('0x83')]+=0x1;if(_0x232ca2['errors'][_0x3753bf]){handleError(_0x232ca2[_0xc88d('0x82')][_0x3753bf],_0x232ca2['errors'][_0x3753bf]);}else{var _0x151d94=[];var _0x16b115=[];var _0x528892={};for(var _0x15aea8 in _0x4e86ac){let _0x49a66b=contactItemTypes['find'](_0x386529=>_0x386529[_0xc88d('0x7e')]===_0x15aea8);let _0x789221=contactItemTypes[_0xc88d('0x84')](_0x40cf01=>_0x40cf01[_0xc88d('0x7e')]+_0xc88d('0x85')===_0x15aea8);if(_[_0xc88d('0x1f')](_0x49a66b)&&_[_0xc88d('0x1f')](_0x789221)){if(_0x4e86ac['hasOwnProperty'](_0x15aea8)){if(_0x232ca2[_0xc88d('0x82')][_0x3753bf][_0x4e86ac[_0x15aea8]]){var _0x420010=_[_0xc88d('0x86')](_0x232ca2['data'][_0x3753bf][_0x4e86ac[_0x15aea8]][_0xc88d('0x87')](/"/g,'\x27'));switch(_0x15aea8){case _0xc88d('0x2f'):var _0xc68636=moment(_0x420010,_0xc88d('0x10'),!![]);if(_0xc68636[_0xc88d('0x88')]()){_0x2ff16c[_0xc88d('0x1d')]('\x22'+_0x420010+'\x22');}else{_0x151d94[_0xc88d('0x1d')](_0xc88d('0x89'));}break;case _0xc88d('0x8a'):var _0x335e7e=parseInt(_0x420010);_0x420010=_['isNaN'](_0x335e7e)||_0x335e7e<0x0||_0x335e7e>0x4?_0x3dae3d?0x3:0x2:_0x335e7e;_0x2ff16c['push']('\x22'+_0x420010+'\x22');break;case'UserId':var _0x2cb0f6=parseInt(_0x420010);if(_['isNumber'](_0x2cb0f6)&&_[_0xc88d('0x7b')](_0x55ada0,_0x2cb0f6)){_0x2ff16c[_0xc88d('0x1d')]('\x22'+_0x2cb0f6+'\x22');}else{_0x151d94[_0xc88d('0x1d')](_0xc88d('0x8b'));}break;case'email':if(isEmail(_0x420010)){_0x2ff16c[_0xc88d('0x1d')]('\x22'+_0x420010+'\x22');}else{_0x151d94['push']('email\x20wrong\x20format');}break;case _0xc88d('0x8c'):var _0xec4b0f=moment(_0x420010,'YYYY-MM-DD',!![]);if(_0xec4b0f[_0xc88d('0x88')]()){_0x2ff16c[_0xc88d('0x1d')]('\x22'+_0x420010+'\x22');}else{_0x151d94['push'](_0xc88d('0x8d'));}break;case'dialTimezone':var _0x2a4bba=shared[_0xc88d('0x6b')];var _0x52121e=_0x2a4bba[_0x420010];if(!_[_0xc88d('0x1f')](_0x52121e)){var _0x51f251=_0x52121e['utcOffset'];_0x2ff16c[_0xc88d('0x1d')]('\x22'+_0x420010+'\x22');_0x2ff16c[_0xc88d('0x1d')]('\x22'+_0x51f251+'\x22');}break;default:_0x2ff16c[_0xc88d('0x1d')]('\x22'+_0x420010+'\x22');}}else{switch(_0x15aea8){case _0xc88d('0x8e'):case _0xc88d('0x12'):_0x151d94['push'](_0x15aea8+_0xc88d('0x8f'));break;default:_0x2ff16c[_0xc88d('0x1d')]('\x22\x22');}}}}else{var _0x2eceeb='';if(!_['isNil'](_0x49a66b)){if(!_0x528892['hasOwnProperty'](_0x49a66b['id'])){if(!_[_0xc88d('0x1f')](_0x232ca2[_0xc88d('0x82')][_0x3753bf][_0x4e86ac[_0x15aea8]])){var _0x420010=_[_0xc88d('0x86')](_0x232ca2[_0xc88d('0x82')][_0x3753bf][_0x4e86ac[_0x15aea8]][_0xc88d('0x87')](/"/g,'\x27'));var _0xa10f80=phoneDescriptions[_0xc88d('0x84')](_0x2f271a=>_0x2f271a[_0xc88d('0x90')]===_0x49a66b['id']);if(!_[_0xc88d('0x1f')](_0xa10f80)){var _0xf69063=_[_0xc88d('0x86')](_0x232ca2['data'][_0x3753bf][_0x4e86ac[_0xa10f80[_0xc88d('0x91')]]][_0xc88d('0x87')](/"/g,'\x27'));if(!_[_0xc88d('0x1f')](_0xf69063))_0x420010=_0x420010+'§'+_0xf69063;}if(_0x2eceeb=='')_0x2eceeb=_0x420010;else _0x2eceeb+='|'+_0x420010;}_0x16b115[_0xc88d('0x1d')](_0x49a66b['id']+':'+_0x2eceeb);_0x528892[_0x49a66b['id']]=0x1;}}}}if(hasAdditionalPhones){_0x2ff16c[_0xc88d('0x1d')]('\x22'+_0x16b115['join'](';')+'\x22');}if(_0x151d94[_0xc88d('0x1c')]){handleError(_0x232ca2[_0xc88d('0x82')][_0x3753bf],{'code':_0xc88d('0x92'),'message':_0x151d94[_0xc88d('0x17')]()});}else{fs['appendFileSync'](_0x5c6130,_0x2ff16c[_0xc88d('0x17')]()+'\x0a');}_0x2ff16c=[];}if(!(stats[_0xc88d('0x83')]%0xc8)){socket[_0xc88d('0x93')](_0xc88d('0x94')+_0x2176c5,stats);stats[_0xc88d('0x95')]=[];}}if(stopped){logger[_0xc88d('0x58')](_0xc88d('0x96'));_0x1a59dd[_0xc88d('0x97')]();}}catch(_0x4881c6){handleError(_0x232ca2[_0xc88d('0x82')][_0x3753bf],{'code':_0xc88d('0x98'),'message':_0x4881c6[_0xc88d('0x5b')]});logger[_0xc88d('0x5a')]('step',_0x4881c6[_0xc88d('0x5b')]);}},'complete':function(){try{var _0x4178c0=[];var _0x2fe037=[];var _0x1037f5='cm_contacts';if(_0xf8f2fd[_0xc88d('0x99')]&&_0xf8f2fd[_0xc88d('0x99')][_0xc88d('0x1c')]){_0x1037f5='cm_contacts_'+_0x2176c5;_0x4178c0[_0xc88d('0x1d')]('CREATE\x20TABLE\x20'+_0x1037f5+'\x20LIKE\x20cm_contacts;');}tmp_campaigns=_0xc88d('0x9a')+_0x2176c5;tmp_voice_queues='voice_queues_'+_0x2176c5;_0x2fe037['push'](_0xc88d('0x9b')+tmp_campaigns+_0xc88d('0x9c'));_0x2fe037[_0xc88d('0x1d')](_0xc88d('0x9b')+tmp_voice_queues+_0xc88d('0x9c'));BPromise[_0xc88d('0x9d')](_0x2fe037,handleTZQuery)[_0xc88d('0x1b')](function(_0x478777){updateTzCampaigns(_0xf8f2fd[_0xc88d('0x31')])[_0xc88d('0x1b')](function(_0xf0b07d){updateTzVoiceQueues(_0xf8f2fd[_0xc88d('0x31')])[_0xc88d('0x1b')](function(_0x56d057){if(hasTZ)_0x4b8e2e=_0x4b8e2e[_0xc88d('0x87')](_0xc88d('0x6c'),_0xc88d('0x9e'));var _0x516ab0=util[_0xc88d('0xf')](_0xc88d('0x9f'),_0x5c6130,_0x1037f5,_0x4b8e2e,_0xf8f2fd['ListId'],_0xf8f2fd[_0xc88d('0xa0')]||null,NOW,NOW);if(_[_0xc88d('0x1f')](_0x4e86ac[_0xc88d('0x2f')])){_0x516ab0+=_0xc88d('0xa1');}_0x4178c0[_0xc88d('0x1d')](_0x516ab0);if(_0xf8f2fd[_0xc88d('0x99')]&&_0xf8f2fd[_0xc88d('0x99')][_0xc88d('0x1c')]){_0x4178c0[_0xc88d('0x1d')](insertCmContact(_0xf8f2fd[_0xc88d('0x31')],_0x1037f5,_0xf8f2fd[_0xc88d('0x99')],_0x4e86ac));_0x4178c0[_0xc88d('0x1d')](_0xc88d('0xa2')+_0x1037f5+';');}BPromise[_0xc88d('0x9d')](_0x4178c0,handleQuery)[_0xc88d('0x1b')](function(_0x341888){BPromise[_0xc88d('0x66')]([handleAdditionalPhones()])[_0xc88d('0x1b')](function(){_0x4178c0=[];for(var _0x4d6ca9=0x0;_0x4d6ca9<promisesAdditionalPhones['length'];_0x4d6ca9++){if(promisesAdditionalPhones[_0x4d6ca9][_0xc88d('0x12')]!='§'){_0x4178c0[_0xc88d('0x1d')](createAdditionalPhone(promisesAdditionalPhones[_0x4d6ca9][_0xc88d('0xa3')],promisesAdditionalPhones[_0x4d6ca9][_0xc88d('0xa4')],promisesAdditionalPhones[_0x4d6ca9]['phone'],promisesAdditionalPhones[_0x4d6ca9][_0xc88d('0xa5')]));}}BPromise['all'](_0x4178c0)[_0xc88d('0x1b')](function(){_0x4178c0=[];if(hasTZ){_0x4178c0['push'](insertTzCmHopper(_0xf8f2fd[_0xc88d('0x31')],_0xc88d('0xa6'),_0xc88d('0x68'),_0xc88d('0xa7'),_0x3dae3d,tmp_voice_queues));_0x4178c0['push'](insertTzCmHopperBlack(_0xf8f2fd[_0xc88d('0x31')],_0xc88d('0xa8'),'voice_queues',_0xc88d('0xa7')));_0x4178c0[_0xc88d('0x1d')](insertTzCmHopper(_0xf8f2fd[_0xc88d('0x31')],_0xc88d('0x62'),_0xc88d('0x61'),_0xc88d('0xa9'),_0x3dae3d,tmp_campaigns));_0x4178c0[_0xc88d('0x1d')](insertTzCmHopperBlack(_0xf8f2fd[_0xc88d('0x31')],_0xc88d('0xaa'),_0xc88d('0x61'),_0xc88d('0xa9')));_0x4178c0[_0xc88d('0x1d')](insertCmHopperAdditionalPhones(_0xf8f2fd['ListId']));}else{_0x4178c0[_0xc88d('0x1d')](insertCmHopper(_0xf8f2fd[_0xc88d('0x31')],_0xc88d('0xa6'),_0xc88d('0x68'),'VoiceQueueId',_0x3dae3d));_0x4178c0[_0xc88d('0x1d')](insertCmHopperBlack(_0xf8f2fd[_0xc88d('0x31')],_0xc88d('0xa8'),'voice_queues',_0xc88d('0xa7')));_0x4178c0[_0xc88d('0x1d')](insertCmHopper(_0xf8f2fd[_0xc88d('0x31')],_0xc88d('0x62'),_0xc88d('0x61'),_0xc88d('0xa9'),_0x3dae3d));_0x4178c0['push'](insertCmHopperBlack(_0xf8f2fd[_0xc88d('0x31')],_0xc88d('0xaa'),_0xc88d('0x61'),_0xc88d('0xa9')));_0x4178c0[_0xc88d('0x1d')](insertCmHopperAdditionalPhones(_0xf8f2fd['ListId']));}_0x4178c0[_0xc88d('0x1d')](_0xc88d('0xa2')+tmp_campaigns+';');_0x4178c0[_0xc88d('0x1d')](_0xc88d('0xa2')+tmp_voice_queues+';');BPromise[_0xc88d('0x9d')](_0x4178c0,handleQuery)[_0xc88d('0x1b')](function(_0xfb65d2){stats[_0xc88d('0xab')]=!![];stats['affectedRows']=_0xf8f2fd[_0xc88d('0x99')]&&_0xf8f2fd[_0xc88d('0x99')]['length']?results[0x2][_0xc88d('0xac')]:results[0x0]['affectedRows'];socket[_0xc88d('0x93')](_0xc88d('0x94')+_0x2176c5,stats);fs['unlink'](_0x3f4bc2);fs[_0xc88d('0xad')](_0x5c6130);process[_0xc88d('0x5c')](0x0);})[_0xc88d('0x5e')](function(_0x199709){logger[_0xc88d('0x5a')](_0x199709[_0xc88d('0x5b')]);process[_0xc88d('0x5c')](0x1);});});});})[_0xc88d('0x5e')](function(_0x1d2d7e){logger['error'](_0x1d2d7e['message']);process[_0xc88d('0x5c')](0x1);});});});});}catch(_0x5da4c2){logger[_0xc88d('0x5a')](_0xc88d('0xae'),_0x5da4c2[_0xc88d('0x5b')]);process['exit'](0x1);}},'error':function(_0x2d3bdf,_0x8956e7,_0x53eda6,_0x5bb018){throw new Error(_0x5bb018);}});});}function validate(){if(process['argv']&&process['argv']['length']<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x405ed6=path[_0xc88d('0x17')](config[_0xc88d('0x78')],_0xc88d('0x79'),process['argv'][0x2]);if(!fs[_0xc88d('0xaf')](_0x405ed6)){throw new Error(_0xc88d('0xb0'));}var _0x30e32b={};try{_0x30e32b=JSON[_0xc88d('0x80')](process['argv'][0x3]);if(!_0x30e32b[_0xc88d('0x75')]){throw new Error(_0xc88d('0xb1'));}if(!_0x30e32b[_0xc88d('0x75')][_0xc88d('0x12')]){throw new Error(_0xc88d('0xb2'));}if(!_0x30e32b[_0xc88d('0x75')][_0xc88d('0x8e')]){throw new Error('firstName\x20is\x20mandatory');}var _0x4c0e49=0x0;if(_0x30e32b[_0xc88d('0x75')][_0xc88d('0x34')]){_0x4c0e49=0x1;}if(!_0x30e32b['ListId']){throw new Error(_0xc88d('0xb3'));}}catch(_0x49a260){throw new Error(_0xc88d('0xb4'));}var _0x364e44=[];try{_0x364e44=_['map'](JSON['parse'](process['argv'][0x4]),'id');}catch(_0x3caea0){logger[_0xc88d('0x58')](_0xc88d('0xb5'));}main(_0x405ed6,_0x30e32b,_0x364e44,_0x4c0e49);}validate();process['on']('SIGINT',handleStop);process['on'](_0xc88d('0xb6'),handleUncaughtException);