Built motion from commit 838c2833.|2.6.24
[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 _0xae12=['into','scheduledat','ContactId','ListId','createdAt','UserId','recallme','select','fields','cm_contacts','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','cm_hopper','toString','insert','cm_hopper_black','updatedAt','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','\x20=\x20','fromQuery','priority','ListId\x20=\x20?','cm_hopper.id','cm_contact_has_items.item','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_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','keys','CompanyId',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','group','info','Received\x20SIGINT','error','exit','errors','code','message','sequelize','query','spread','catch','campaigns','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','campaigns_has_cm_lists.CmListId=','voice_queues.dialTimezone','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','voice_queues_has_cm_lists.CmListId=','timezones','isNil','utcOffset','set','dialTimezone','stringify','start','binding','socket_timestamp','root','.csv','header','name','_description','parse','createReadStream','data','rows','find','hasOwnProperty','trim','replace','isNaN','isNumber','includes','agent\x20not\x20exists','email','YYYY-MM-DD','isValid','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','SystemRow','appendFileSync','emit','contact:import:','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','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()','each','contactTypeId','orderBy','voice_queues','VoiceQueueId','voice_queues_has_cm_blacklists','CampaignId','campaigns_has_cm_blacklists','finish','affectedRows','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','server/files/tmp','existsSync','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','No\x20agent\x20available','SIGINT','uncaughtException','papaparse','bluebird','moment','squel','ioredis','../../../config/environment','../../../config/logger','redis','localhost','YYYY-MM-DD\x20HH:mm:ss','format','test','field','phone','from','join','.id\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','findAll','AdditionalPhones','then','push','split','length','all','CmContactHasItem','findOne','update','updated','create','PHONE','inserted','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','cm_contacts.UserId'];(function(_0xfbdead,_0x1bf870){var _0x2c2432=function(_0x2de951){while(--_0x2de951){_0xfbdead['push'](_0xfbdead['shift']());}};_0x2c2432(++_0x1bf870);}(_0xae12,0x137));var _0x2ae1=function(_0x2576d7,_0x167624){_0x2576d7=_0x2576d7-0x0;var _0x16a08c=_0xae12[_0x2576d7];return _0x16a08c;};'use strict';var fs=require('fs');var path=require('path');var _=require('lodash');var Papa=require(_0x2ae1('0x0'));var util=require('util');var BPromise=require(_0x2ae1('0x1'));var moment=require(_0x2ae1('0x2'));var squel=require(_0x2ae1('0x3'));var Redis=require(_0x2ae1('0x4'));var db=require('../../../mysqldb')['db'];var config=require(_0x2ae1('0x5'));var shared=require('../../../config/environment/shared');var logger=require(_0x2ae1('0x6'))('import');config[_0x2ae1('0x7')]=_['defaults'](config[_0x2ae1('0x7')],{'host':_0x2ae1('0x8'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x2ae1('0x7')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()['format'](_0x2ae1('0x9'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0x2ae1('0xa')](_0x2ae1('0x9'));function isEmail(_0x5b135){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))*$/[_0x2ae1('0xb')](_0x5b135);}function selectNotIn(_0x2351b9,_0x49a025,_0x4b79c1,_0x17eab4,_0x6f3828){return squel['select']()[_0x2ae1('0xc')](_0x2ae1('0xd'))[_0x2ae1('0xe')](_0x17eab4)[_0x2ae1('0xf')](_0x49a025,null,_0x49a025+_0x2ae1('0x10')+_0x17eab4+'.'+_0x4b79c1)[_0x2ae1('0x11')](_0x17eab4+'.'+_0x4b79c1+'\x20=\x20'+_0x2351b9+'.'+_0x4b79c1)[_0x2ae1('0x11')](_0x49a025+_0x2ae1('0x12')+_0x6f3828[_0x2ae1('0xf')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x3639f6,_0x15f01a){promisesAdditionalPhones=[];return db['CmContact'][_0x2ae1('0x13')]({'raw':!![],'attributes':['id',_0x2ae1('0x14')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x2ae1('0x15')](function(_0x2d6ab3){if(_0x2d6ab3!==null){var _0x44bd2e=[];for(var _0x917301=0x0;_0x917301<_0x2d6ab3['length'];_0x917301++){var _0x80940d=_0x2d6ab3[_0x917301];_0x44bd2e[_0x2ae1('0x16')](insertAdditionalPhones(_0x80940d));}}Promise['all'](_0x44bd2e)['then'](function(){_0x3639f6({'val':0x1});});});});}function insertAdditionalPhones(_0x28c54f){return new Promise(function(_0x46adaf,_0x2f68d2){var _0x3ded8e=_0x28c54f[_0x2ae1('0x14')];var _0x3cefa8=_0x3ded8e[_0x2ae1('0x17')](';');var _0x5d70b4=[];orderBy=0x0;for(var _0x3dfd45=0x0;_0x3dfd45<_0x3cefa8[_0x2ae1('0x18')];_0x3dfd45++){_0x5d70b4[_0x2ae1('0x16')](splitAdditionalPhone(_0x28c54f['id'],_0x3cefa8[_0x3dfd45]));}Promise[_0x2ae1('0x19')](_0x5d70b4)[_0x2ae1('0x15')](function(){_0x46adaf({'val':_0x3cefa8[_0x2ae1('0x18')]});});});}function splitAdditionalPhone(_0x848e86,_0xe58e3b){return new Promise(function(_0x46f974,_0x3cbcdd){var _0x956de=_0xe58e3b[_0x2ae1('0x17')](':');var _0x55aa88=_0x956de[0x0];var _0x2d38ae=_0x956de[0x1];if(!_['isNil'](_0x2d38ae)){var _0x923d4a=_0x2d38ae[_0x2ae1('0x17')]('|');var _0x5d0dba=[];for(var _0x509c56=0x0;_0x509c56<_0x923d4a[_0x2ae1('0x18')];_0x509c56++){if(_0x923d4a[_0x509c56]!==''){var _0x198aba=_['filter'](promisesAdditionalPhones,{'contactId':_0x848e86,'phone':_0x923d4a[_0x509c56]});if(_0x198aba[_0x2ae1('0x18')]==0x0){orderBy++;promisesAdditionalPhones[_0x2ae1('0x16')]({'contactId':_0x848e86,'contactTypeId':_0x55aa88,'phone':_0x923d4a[_0x509c56],'orderBy':orderBy});}}}_0x46f974({'ok':0x1});}else _0x46f974({'res':0x0});});}function createAdditionalPhone(_0x1bbb41,_0x40e284,_0x5cb9e4,_0x505c9a){var _0xb8f86b='';var _0x48d35b='';var _0xc50f75=_0x5cb9e4[_0x2ae1('0x17')]('§');_0xb8f86b=_0xc50f75[0x0];if(_0xc50f75[_0x2ae1('0x18')]==0x2)_0x48d35b=_0xc50f75[0x1];return new Promise(function(_0x320c38,_0x159ecf){return db[_0x2ae1('0x1a')][_0x2ae1('0x1b')]({'where':{'CmContactId':_0x1bbb41,'item':_0xb8f86b}})[_0x2ae1('0x15')](function(_0x2a30cc){if(_0x2a30cc){return db[_0x2ae1('0x1a')][_0x2ae1('0x1c')]({'ItemTypeId':_0x40e284,'description':_0x48d35b,'OrderBy':_0x505c9a},{'where':{'CmContactId':_0x1bbb41,'item':_0xb8f86b}})[_0x2ae1('0x15')](function(_0x4553f6){_0x320c38({'res':_0x2ae1('0x1d')});});}else{return db[_0x2ae1('0x1a')][_0x2ae1('0x1e')]({'CmContactId':_0x1bbb41,'item':_0xb8f86b,'description':_0x48d35b,'ItemTypeId':_0x40e284,'OrderBy':_0x505c9a,'ItemClass':_0x2ae1('0x1f')})[_0x2ae1('0x15')](function(_0xca4435){_0x320c38({'res':_0x2ae1('0x20')});});}});});}function insertCmHopper(_0x201244,_0x506a47,_0x570334,_0x5121bf,_0xa0745c){var _0x382e73=[_0x2ae1('0x21'),_0x2ae1('0x22'),_0x2ae1('0x23'),_0x2ae1('0x24'),_0x506a47+'.'+_0x5121bf,_0x2ae1('0x25'),_0x2ae1('0x26'),_0x2ae1('0x27'),_0x2ae1('0x28'),'\x22'+_0xa0745c+'\x22'];return squel['insert']()[_0x2ae1('0x29')]('cm_hopper')['fromQuery']([_0x2ae1('0xd'),_0x2ae1('0x2a'),_0x2ae1('0x2b'),_0x2ae1('0x2c'),_0x5121bf,_0x2ae1('0x2d'),'updatedAt','priority',_0x2ae1('0x2e'),_0x2ae1('0x2f')],squel[_0x2ae1('0x30')]()[_0x2ae1('0x31')](_0x382e73)[_0x2ae1('0xe')](_0x506a47)[_0x2ae1('0xf')](_0x2ae1('0x32'),null,'cm_contacts.ListId\x20=\x20'+_0x506a47+'.CmListId')['join'](_0x570334,null,_0x570334+_0x2ae1('0x10')+_0x506a47+'.'+_0x5121bf)['where'](_0x506a47+'.CmListId\x20=\x20?',_0x201244)['where'](_0x2ae1('0x33'),NOW)[_0x2ae1('0x11')](_0x2ae1('0x34'),selectNotIn(_0x506a47,_0x570334,_0x5121bf,'cm_hopper',[_0x2ae1('0x35'),_0x2ae1('0x36')]))[_0x2ae1('0x11')](_0x2ae1('0x34'),selectNotIn(_0x506a47,_0x570334,_0x5121bf,_0x2ae1('0x37'),['\x22always\x22'])))[_0x2ae1('0x38')]();}function insertCmHopperBlack(_0x3a5420,_0x3c5009,_0x3f272b,_0x264f1c){var _0x6c6f41=[_0x2ae1('0x21'),_0x2ae1('0x23'),'cm_contacts.ListId',_0x3c5009+'.'+_0x264f1c,'cm_contacts.createdAt',_0x2ae1('0x26')];return squel[_0x2ae1('0x39')]()[_0x2ae1('0x29')](_0x2ae1('0x3a'))['fromQuery']([_0x2ae1('0xd'),'ContactId',_0x2ae1('0x2c'),_0x264f1c,_0x2ae1('0x2d'),_0x2ae1('0x3b')],squel[_0x2ae1('0x30')]()[_0x2ae1('0x31')](_0x6c6f41)['from'](_0x3c5009)['join'](_0x2ae1('0x32'),null,_0x2ae1('0x3c')+_0x3c5009+_0x2ae1('0x3d'))['join'](_0x3f272b,null,_0x3f272b+'.id\x20=\x20'+_0x3c5009+'.'+_0x264f1c)[_0x2ae1('0x11')](_0x3c5009+_0x2ae1('0x3e'),_0x3a5420)[_0x2ae1('0x11')](_0x2ae1('0x33'),NOW)[_0x2ae1('0x11')](_0x2ae1('0x34'),squel[_0x2ae1('0x30')]()[_0x2ae1('0xc')](_0x2ae1('0xd'))['from'](_0x2ae1('0x3a'))[_0x2ae1('0x11')]('ListId\x20=\x20?',_0x3a5420)[_0x2ae1('0x11')](_0x264f1c+_0x2ae1('0x3f')+_0x3c5009+'.'+_0x264f1c)))['toString']();}function insertTzCmHopper(_0x1ab40b,_0x21f0c2,_0x27e0ac,_0x196c83,_0x54c9fd,_0x30b68f){var _0x4e75fb=['cm_contacts.phone','date_add(cm_contacts.scheduledat,interval\x20'+_0x30b68f+'.offset-cm_contacts.utcOffset\x20minute)',_0x2ae1('0x23'),_0x2ae1('0x24'),_0x21f0c2+'.'+_0x196c83,_0x2ae1('0x25'),_0x2ae1('0x26'),_0x2ae1('0x27'),_0x2ae1('0x28'),'\x22'+_0x54c9fd+'\x22'];var _0xf3ce19=squel['insert']()['into'](_0x2ae1('0x37'))[_0x2ae1('0x40')]([_0x2ae1('0xd'),_0x2ae1('0x2a'),_0x2ae1('0x2b'),'ListId',_0x196c83,_0x2ae1('0x2d'),'updatedAt',_0x2ae1('0x41'),_0x2ae1('0x2e'),_0x2ae1('0x2f')],squel[_0x2ae1('0x30')]()[_0x2ae1('0x31')](_0x4e75fb)[_0x2ae1('0xe')](_0x21f0c2)['join'](_0x2ae1('0x32'),null,_0x2ae1('0x3c')+_0x21f0c2+_0x2ae1('0x3d'))[_0x2ae1('0xf')](_0x27e0ac,null,_0x27e0ac+_0x2ae1('0x10')+_0x21f0c2+'.'+_0x196c83)['join'](_0x30b68f,null,_0x30b68f+'.id\x20=\x20'+_0x21f0c2+'.'+_0x196c83)[_0x2ae1('0x11')](_0x21f0c2+'.CmListId\x20=\x20?',_0x1ab40b)[_0x2ae1('0x11')](_0x2ae1('0x33'),NOW)[_0x2ae1('0x11')](_0x2ae1('0x34'),selectNotIn(_0x21f0c2,_0x27e0ac,_0x196c83,_0x2ae1('0x37'),[_0x2ae1('0x35'),_0x2ae1('0x36')]))[_0x2ae1('0x11')](_0x2ae1('0x34'),selectNotIn(_0x21f0c2,_0x27e0ac,_0x196c83,_0x2ae1('0x37'),[_0x2ae1('0x35')])))[_0x2ae1('0x38')]();return _0xf3ce19;}function insertTzCmHopperBlack(_0x44b2e7,_0x3c8543,_0x2525ce,_0x5b5ecc){var _0x5a2595=[_0x2ae1('0x21'),_0x2ae1('0x23'),_0x2ae1('0x24'),_0x3c8543+'.'+_0x5b5ecc,_0x2ae1('0x25'),'cm_contacts.updatedAt'];return squel[_0x2ae1('0x39')]()[_0x2ae1('0x29')](_0x2ae1('0x3a'))[_0x2ae1('0x40')]([_0x2ae1('0xd'),_0x2ae1('0x2b'),'ListId',_0x5b5ecc,_0x2ae1('0x2d'),_0x2ae1('0x3b')],squel[_0x2ae1('0x30')]()[_0x2ae1('0x31')](_0x5a2595)['from'](_0x3c8543)[_0x2ae1('0xf')](_0x2ae1('0x32'),null,_0x2ae1('0x3c')+_0x3c8543+_0x2ae1('0x3d'))['join'](_0x2525ce,null,_0x2525ce+_0x2ae1('0x10')+_0x3c8543+'.'+_0x5b5ecc)[_0x2ae1('0x11')](_0x3c8543+'.CmListId\x20=\x20?',_0x44b2e7)[_0x2ae1('0x11')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x2ae1('0x11')](_0x2ae1('0x34'),squel['select']()[_0x2ae1('0xc')](_0x2ae1('0xd'))['from'](_0x2ae1('0x3a'))[_0x2ae1('0x11')](_0x2ae1('0x42'),_0x44b2e7)[_0x2ae1('0x11')](_0x5b5ecc+'\x20=\x20'+_0x3c8543+'.'+_0x5b5ecc)))[_0x2ae1('0x38')]();}function insertCmHopperAdditionalPhones(_0x491042){var _0x29e296=[_0x2ae1('0x43'),_0x2ae1('0x44'),'cm_contact_has_items.OrderBy',_0x2ae1('0x45'),_0x2ae1('0x46')];return squel['insert']()[_0x2ae1('0x29')](_0x2ae1('0x47'))[_0x2ae1('0x40')]([_0x2ae1('0x48'),_0x2ae1('0xd'),_0x2ae1('0x49'),'createdAt',_0x2ae1('0x3b')],squel[_0x2ae1('0x30')]()[_0x2ae1('0x31')](_0x29e296)[_0x2ae1('0xe')]('cm_hopper')[_0x2ae1('0xf')](_0x2ae1('0x32'),null,_0x2ae1('0x4a'))['join'](_0x2ae1('0x4b'),null,_0x2ae1('0x4c'))[_0x2ae1('0x11')](_0x2ae1('0x4d'),_0x491042)['where'](_0x2ae1('0x33'),NOW))['toString']();}function insertCmContact(_0x5296bf,_0x21e841,_0x14c64c,_0x5d6a1b){var _0x3241c3=_['concat'](_[_0x2ae1('0x4e')](_0x5d6a1b),[_0x2ae1('0x2c'),_0x2ae1('0x4f'),'createdAt',_0x2ae1('0x3b'),'scheduledAt']);return squel[_0x2ae1('0x39')]()['into']('cm_contacts')['fromQuery'](_0x3241c3,squel['select']()['fields'](_0x3241c3)[_0x2ae1('0xe')](_0x21e841)['where']('('+_0x14c64c['join'](',')+_0x2ae1('0x50'),squel['select']()[_0x2ae1('0x31')](_0x14c64c)[_0x2ae1('0xe')]('cm_contacts')[_0x2ae1('0x11')]('ListId\x20=\x20?',_0x5296bf)[_0x2ae1('0x11')](_0x2ae1('0x51')))[_0x2ae1('0x11')](_0x2ae1('0x52'),squel[_0x2ae1('0x30')]()['field']('MIN(id)','min_id')[_0x2ae1('0xe')](_0x21e841)[_0x2ae1('0x53')](_0x14c64c[_0x2ae1('0xf')](','))))[_0x2ae1('0x38')]();}function handleStop(){logger[_0x2ae1('0x54')](_0x2ae1('0x55'));stopped=!![];}function handleUncaughtException(_0x2a3f36){logger[_0x2ae1('0x56')](_0x2a3f36['message']);process[_0x2ae1('0x57')](0x1);}function handleError(_0x4f0e73,_0x511588){stats[_0x2ae1('0x58')][_0x2ae1('0x16')]({'name':_0x511588[_0x2ae1('0x59')],'message':_0x511588[_0x2ae1('0x5a')],'row':_0x4f0e73});}function handleQuery(_0x2c0db6){logger[_0x2ae1('0x54')](_0x2c0db6);return db[_0x2ae1('0x5b')][_0x2ae1('0x5c')](_0x2c0db6)[_0x2ae1('0x5d')](function(_0x362935){results[_0x2ae1('0x16')](_0x362935);})[_0x2ae1('0x5e')](function(_0x2ea801){logger[_0x2ae1('0x56')](_0x2ea801[_0x2ae1('0x5a')]);});}function updateTzCampaigns(_0x1e17dd){return new Promise(function(_0x363a2f,_0x35a7ad){var _0x3c8b47=squel['select']()['fields'](['campaigns.id','campaigns.dialTimezone'])[_0x2ae1('0xe')](_0x2ae1('0x5f'))[_0x2ae1('0xf')](_0x2ae1('0x60'),null,_0x2ae1('0x61'))['where'](_0x2ae1('0x62')+_0x1e17dd);db['sequelize'][_0x2ae1('0x5c')](_0x3c8b47[_0x2ae1('0x38')]())[_0x2ae1('0x5d')](function(_0x3c1459){var _0x2a47a1=[];for(var _0x52baa1=0x0;_0x52baa1<_0x3c1459['length'];_0x52baa1++){_0x2a47a1['push'](getTimezoneData(_0x3c1459[_0x52baa1],tmp_campaigns));}BPromise[_0x2ae1('0x19')](_0x2a47a1)['then'](function(){_0x363a2f({'val':0x1});});})[_0x2ae1('0x5e')](function(_0x3e0bee){logger[_0x2ae1('0x56')](_0x3e0bee['message']);_0x363a2f({'val':0x0});});});}function updateTzVoiceQueues(_0x41dc9a){return new Promise(function(_0x1c96e7,_0x12779d){var _0xcab18c=squel['select']()['fields'](['voice_queues.id',_0x2ae1('0x63')])[_0x2ae1('0xe')]('voice_queues')[_0x2ae1('0xf')](_0x2ae1('0x64'),null,_0x2ae1('0x65'))['where'](_0x2ae1('0x66')+_0x41dc9a);db[_0x2ae1('0x5b')][_0x2ae1('0x5c')](_0xcab18c['toString']())[_0x2ae1('0x5d')](function(_0x52238c){var _0x2aaf8b=[];for(var _0x130319=0x0;_0x130319<_0x52238c[_0x2ae1('0x18')];_0x130319++){_0x2aaf8b['push'](getTimezoneData(_0x52238c[_0x130319],tmp_voice_queues));}BPromise[_0x2ae1('0x19')](_0x2aaf8b)['then'](function(){_0x1c96e7({'val':0x1});});})[_0x2ae1('0x5e')](function(_0x308929){logger[_0x2ae1('0x56')](_0x308929[_0x2ae1('0x5a')]);_0x1c96e7({'val':0x0});});});}function getTimezoneData(_0x3b945d,_0x10b6f3){return new Promise(function(_0x5c9919,_0x763a11){var _0x2b592a=shared[_0x2ae1('0x67')];var _0x4c2f85=_0x2b592a[_0x3b945d['dialTimezone']];if(_[_0x2ae1('0x68')](_0x4c2f85)){_0x5c9919({'ret':0x1});}else{var _0x16b01a=_0x4c2f85[_0x2ae1('0x69')];var _0x2df4eb=squel['insert']()[_0x2ae1('0x29')](_0x10b6f3)['set']('id',_0x3b945d['id'])[_0x2ae1('0x6a')]('offset',_0x16b01a)['set'](_0x2ae1('0x6b'),_0x3b945d[_0x2ae1('0x6b')])[_0x2ae1('0x38')]();return db[_0x2ae1('0x5b')][_0x2ae1('0x5c')](_0x2df4eb)['spread'](function(_0x3179aa){_0x5c9919({'ret':0x1});})[_0x2ae1('0x5e')](function(_0x5e0d49){logger[_0x2ae1('0x56')](_0x5e0d49[_0x2ae1('0x5a')]);_0x763a11({'ret':0x1});});}});}function handleTZQuery(_0x58e14d){logger[_0x2ae1('0x54')](_0x58e14d);return db['sequelize'][_0x2ae1('0x5c')](_0x58e14d)[_0x2ae1('0x5d')](function(_0x23d381){})[_0x2ae1('0x5e')](function(_0x35567b){logger[_0x2ae1('0x56')](_0x35567b[_0x2ae1('0x5a')]);});}function main(_0x16a954,_0x175c74,_0x2bdf29,_0x7582ac){logger['info']('main',_0x16a954,JSON[_0x2ae1('0x6c')](_0x175c74));process['send'](_0x2ae1('0x6d'));var _0x4ec676=_0x175c74[_0x2ae1('0x6e')];var _0x3ff580=_['clone'](_0x4ec676);var _0x5895b2=_0x175c74[_0x2ae1('0x6f')];var _0x19e4ae=path[_0x2ae1('0xf')](config[_0x2ae1('0x70')],'server/files/tmp',_0x5895b2+_0x2ae1('0x71'));hasTZ=_[_0x2ae1('0x4e')](_0x4ec676)['includes'](_0x2ae1('0x6b'));var _0x5d0740=_['keys'](_0x4ec676)['join']();logger['info'](_0x2ae1('0x72'),_0x5d0740);db['ContactItemType']['findAll']({'raw':!![],'attributes':['id','name']})[_0x2ae1('0x15')](function(_0x3102a6){for(var _0x45c552=0x0;_0x45c552<_0x3102a6[_0x2ae1('0x18')];_0x45c552++){if(_0x3102a6[_0x45c552][_0x2ae1('0x73')]in _0x4ec676){contactItemTypes[_0x2ae1('0x16')](_0x3102a6[_0x45c552]);delete _0x3ff580[_0x3102a6[_0x45c552][_0x2ae1('0x73')]];hasAdditionalPhones=!![];}for(var _0xe01da9 in _0x4ec676){if(_0x3102a6[_0x45c552]['name']+_0x2ae1('0x74')===_0xe01da9){phoneDescriptions[_0x2ae1('0x16')]({'itemTypeId':_0x3102a6[_0x45c552]['id'],'description':_0xe01da9});delete _0x3ff580[_0xe01da9];}}}if(hasAdditionalPhones)_0x3ff580[_0x2ae1('0x14')]='';var _0x9fdc90=_['keys'](_0x3ff580)[_0x2ae1('0xf')]();logger[_0x2ae1('0x54')](_0x2ae1('0x72'),_0x9fdc90);fs['writeFileSync'](_0x19e4ae,_0x9fdc90+'\x0a');Papa[_0x2ae1('0x75')](fs[_0x2ae1('0x76')](_0x16a954),{'header':!![],'skipEmptyLines':!![],'step':function(_0x2c0f3e,_0x3290d7){try{for(var _0x292b53=0x0,_0x1bcdea=[];_0x292b53<_0x2c0f3e[_0x2ae1('0x77')][_0x2ae1('0x18')];_0x292b53++){stats[_0x2ae1('0x78')]+=0x1;if(_0x2c0f3e[_0x2ae1('0x58')][_0x292b53]){handleError(_0x2c0f3e[_0x2ae1('0x77')][_0x292b53],_0x2c0f3e[_0x2ae1('0x58')][_0x292b53]);}else{var _0x18157d=[];var _0x25d3b6=[];var _0x489d59={};for(var _0x57de43 in _0x4ec676){let _0x4fac37=contactItemTypes[_0x2ae1('0x79')](_0x55c040=>_0x55c040[_0x2ae1('0x73')]===_0x57de43);let _0x3f3edd=contactItemTypes[_0x2ae1('0x79')](_0x43f5ca=>_0x43f5ca[_0x2ae1('0x73')]+'_description'===_0x57de43);if(_[_0x2ae1('0x68')](_0x4fac37)&&_[_0x2ae1('0x68')](_0x3f3edd)){if(_0x4ec676[_0x2ae1('0x7a')](_0x57de43)){if(_0x2c0f3e[_0x2ae1('0x77')][_0x292b53][_0x4ec676[_0x57de43]]){var _0x2c7082=_[_0x2ae1('0x7b')](_0x2c0f3e[_0x2ae1('0x77')][_0x292b53][_0x4ec676[_0x57de43]][_0x2ae1('0x7c')](/"/g,'\x27'));switch(_0x57de43){case _0x2ae1('0x2a'):var _0x4adf2a=moment(_0x2c7082,_0x2ae1('0x9'),!![]);if(_0x4adf2a['isValid']()){_0x1bcdea[_0x2ae1('0x16')]('\x22'+_0x2c7082+'\x22');}else{_0x18157d[_0x2ae1('0x16')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0x2ae1('0x41'):var _0x435a21=parseInt(_0x2c7082);_0x2c7082=_[_0x2ae1('0x7d')](_0x435a21)||_0x435a21<0x0||_0x435a21>0x4?_0x7582ac?0x3:0x2:_0x435a21;_0x1bcdea[_0x2ae1('0x16')]('\x22'+_0x2c7082+'\x22');break;case _0x2ae1('0x2e'):var _0x544e00=parseInt(_0x2c7082);if(_[_0x2ae1('0x7e')](_0x544e00)&&_[_0x2ae1('0x7f')](_0x2bdf29,_0x544e00)){_0x1bcdea[_0x2ae1('0x16')]('\x22'+_0x544e00+'\x22');}else{_0x18157d['push'](_0x2ae1('0x80'));}break;case _0x2ae1('0x81'):if(isEmail(_0x2c7082)){_0x1bcdea[_0x2ae1('0x16')]('\x22'+_0x2c7082+'\x22');}else{_0x18157d[_0x2ae1('0x16')]('email\x20wrong\x20format');}break;case'dateOfBirth':var _0x3a0348=moment(_0x2c7082,_0x2ae1('0x82'),!![]);if(_0x3a0348[_0x2ae1('0x83')]()){_0x1bcdea[_0x2ae1('0x16')]('\x22'+_0x2c7082+'\x22');}else{_0x18157d[_0x2ae1('0x16')](_0x2ae1('0x84'));}break;case _0x2ae1('0x6b'):var _0x5962fe=shared['timezones'];var _0x4c6a81=_0x5962fe[_0x2c7082];if(!_['isNil'](_0x4c6a81)){var _0x169b3f=_0x4c6a81['utcOffset'];_0x1bcdea[_0x2ae1('0x16')]('\x22'+_0x2c7082+'\x22');_0x1bcdea['push']('\x22'+_0x169b3f+'\x22');}break;default:_0x1bcdea[_0x2ae1('0x16')]('\x22'+_0x2c7082+'\x22');}}else{switch(_0x57de43){case _0x2ae1('0x85'):case _0x2ae1('0xd'):_0x18157d['push'](_0x57de43+_0x2ae1('0x86'));break;default:_0x1bcdea[_0x2ae1('0x16')]('\x22\x22');}}}}else{var _0x224996='';if(!_['isNil'](_0x4fac37)){if(!_0x489d59['hasOwnProperty'](_0x4fac37['id'])){if(!_[_0x2ae1('0x68')](_0x2c0f3e['data'][_0x292b53][_0x4ec676[_0x57de43]])){var _0x2c7082=_[_0x2ae1('0x7b')](_0x2c0f3e[_0x2ae1('0x77')][_0x292b53][_0x4ec676[_0x57de43]][_0x2ae1('0x7c')](/"/g,'\x27'));var _0x5a4728=phoneDescriptions[_0x2ae1('0x79')](_0x13c1b6=>_0x13c1b6['itemTypeId']===_0x4fac37['id']);if(!_['isNil'](_0x5a4728)){var _0x3392ae=_['trim'](_0x2c0f3e['data'][_0x292b53][_0x4ec676[_0x5a4728['description']]][_0x2ae1('0x7c')](/"/g,'\x27'));if(!_[_0x2ae1('0x68')](_0x3392ae))_0x2c7082=_0x2c7082+'§'+_0x3392ae;}if(_0x224996=='')_0x224996=_0x2c7082;else _0x224996+='|'+_0x2c7082;}_0x25d3b6['push'](_0x4fac37['id']+':'+_0x224996);_0x489d59[_0x4fac37['id']]=0x1;}}}}if(hasAdditionalPhones){_0x1bcdea[_0x2ae1('0x16')]('\x22'+_0x25d3b6[_0x2ae1('0xf')](';')+'\x22');}if(_0x18157d['length']){handleError(_0x2c0f3e[_0x2ae1('0x77')][_0x292b53],{'code':_0x2ae1('0x87'),'message':_0x18157d[_0x2ae1('0xf')]()});}else{fs[_0x2ae1('0x88')](_0x19e4ae,_0x1bcdea[_0x2ae1('0xf')]()+'\x0a');}_0x1bcdea=[];}if(!(stats[_0x2ae1('0x78')]%0xc8)){socket[_0x2ae1('0x89')](_0x2ae1('0x8a')+_0x5895b2,stats);stats[_0x2ae1('0x58')]=[];}}if(stopped){logger['info'](_0x2ae1('0x8b'));_0x3290d7[_0x2ae1('0x8c')]();}}catch(_0x19ab52){handleError(_0x2c0f3e[_0x2ae1('0x77')][_0x292b53],{'code':_0x2ae1('0x8d'),'message':_0x19ab52[_0x2ae1('0x5a')]});logger[_0x2ae1('0x56')](_0x2ae1('0x8e'),_0x19ab52[_0x2ae1('0x5a')]);}},'complete':function(){try{var _0x2bc2a5=[];var _0x53fc80=[];var _0x296c09=_0x2ae1('0x32');if(_0x175c74[_0x2ae1('0x8f')]&&_0x175c74[_0x2ae1('0x8f')]['length']){_0x296c09=_0x2ae1('0x90')+_0x5895b2;_0x2bc2a5[_0x2ae1('0x16')](_0x2ae1('0x91')+_0x296c09+_0x2ae1('0x92'));}tmp_campaigns=_0x2ae1('0x93')+_0x5895b2;tmp_voice_queues=_0x2ae1('0x94')+_0x5895b2;_0x53fc80[_0x2ae1('0x16')](_0x2ae1('0x91')+tmp_campaigns+_0x2ae1('0x95'));_0x53fc80[_0x2ae1('0x16')](_0x2ae1('0x91')+tmp_voice_queues+_0x2ae1('0x95'));BPromise['each'](_0x53fc80,handleTZQuery)[_0x2ae1('0x15')](function(_0x4bb929){updateTzCampaigns(_0x175c74['ListId'])[_0x2ae1('0x15')](function(_0x51245a){updateTzVoiceQueues(_0x175c74[_0x2ae1('0x2c')])['then'](function(_0x545e01){if(hasTZ)_0x9fdc90=_0x9fdc90[_0x2ae1('0x7c')]('dialTimezone','dialTimezone,utcOffset');var _0x518e0e=util[_0x2ae1('0xa')](_0x2ae1('0x96'),_0x19e4ae,_0x296c09,_0x9fdc90,_0x175c74[_0x2ae1('0x2c')],_0x175c74[_0x2ae1('0x4f')]||null,NOW,NOW);if(_[_0x2ae1('0x68')](_0x4ec676[_0x2ae1('0x2a')])){_0x518e0e+=_0x2ae1('0x97');}_0x2bc2a5[_0x2ae1('0x16')](_0x518e0e);if(_0x175c74[_0x2ae1('0x8f')]&&_0x175c74[_0x2ae1('0x8f')][_0x2ae1('0x18')]){_0x2bc2a5['push'](insertCmContact(_0x175c74[_0x2ae1('0x2c')],_0x296c09,_0x175c74[_0x2ae1('0x8f')],_0x4ec676));_0x2bc2a5[_0x2ae1('0x16')]('DROP\x20TABLE\x20'+_0x296c09+';');}BPromise[_0x2ae1('0x98')](_0x2bc2a5,handleQuery)[_0x2ae1('0x15')](function(_0x30f2f7){BPromise['all']([handleAdditionalPhones()])[_0x2ae1('0x15')](function(){_0x2bc2a5=[];for(var _0x8ab140=0x0;_0x8ab140<promisesAdditionalPhones['length'];_0x8ab140++){if(promisesAdditionalPhones[_0x8ab140][_0x2ae1('0xd')]!='§'){_0x2bc2a5[_0x2ae1('0x16')](createAdditionalPhone(promisesAdditionalPhones[_0x8ab140]['contactId'],promisesAdditionalPhones[_0x8ab140][_0x2ae1('0x99')],promisesAdditionalPhones[_0x8ab140][_0x2ae1('0xd')],promisesAdditionalPhones[_0x8ab140][_0x2ae1('0x9a')]));}}BPromise[_0x2ae1('0x19')](_0x2bc2a5)[_0x2ae1('0x15')](function(){_0x2bc2a5=[];if(hasTZ){_0x2bc2a5['push'](insertTzCmHopper(_0x175c74[_0x2ae1('0x2c')],'voice_queues_has_cm_lists',_0x2ae1('0x9b'),_0x2ae1('0x9c'),_0x7582ac,tmp_voice_queues));_0x2bc2a5[_0x2ae1('0x16')](insertTzCmHopperBlack(_0x175c74[_0x2ae1('0x2c')],_0x2ae1('0x9d'),_0x2ae1('0x9b'),_0x2ae1('0x9c')));_0x2bc2a5[_0x2ae1('0x16')](insertTzCmHopper(_0x175c74['ListId'],_0x2ae1('0x60'),_0x2ae1('0x5f'),_0x2ae1('0x9e'),_0x7582ac,tmp_campaigns));_0x2bc2a5['push'](insertTzCmHopperBlack(_0x175c74[_0x2ae1('0x2c')],_0x2ae1('0x9f'),_0x2ae1('0x5f'),_0x2ae1('0x9e')));_0x2bc2a5[_0x2ae1('0x16')](insertCmHopperAdditionalPhones(_0x175c74['ListId']));}else{_0x2bc2a5[_0x2ae1('0x16')](insertCmHopper(_0x175c74[_0x2ae1('0x2c')],_0x2ae1('0x64'),_0x2ae1('0x9b'),_0x2ae1('0x9c'),_0x7582ac));_0x2bc2a5[_0x2ae1('0x16')](insertCmHopperBlack(_0x175c74['ListId'],_0x2ae1('0x9d'),_0x2ae1('0x9b'),_0x2ae1('0x9c')));_0x2bc2a5[_0x2ae1('0x16')](insertCmHopper(_0x175c74['ListId'],_0x2ae1('0x60'),_0x2ae1('0x5f'),_0x2ae1('0x9e'),_0x7582ac));_0x2bc2a5['push'](insertCmHopperBlack(_0x175c74['ListId'],'campaigns_has_cm_blacklists',_0x2ae1('0x5f'),_0x2ae1('0x9e')));_0x2bc2a5[_0x2ae1('0x16')](insertCmHopperAdditionalPhones(_0x175c74[_0x2ae1('0x2c')]));}_0x2bc2a5[_0x2ae1('0x16')]('DROP\x20TABLE\x20'+tmp_campaigns+';');_0x2bc2a5[_0x2ae1('0x16')]('DROP\x20TABLE\x20'+tmp_voice_queues+';');BPromise[_0x2ae1('0x98')](_0x2bc2a5,handleQuery)[_0x2ae1('0x15')](function(_0xabf9c4){stats[_0x2ae1('0xa0')]=!![];stats[_0x2ae1('0xa1')]=_0x175c74['duplicates']&&_0x175c74['duplicates'][_0x2ae1('0x18')]?results[0x2]['affectedRows']:results[0x0]['affectedRows'];socket[_0x2ae1('0x89')]('contact:import:'+_0x5895b2,stats);fs[_0x2ae1('0xa2')](_0x16a954);fs[_0x2ae1('0xa2')](_0x19e4ae);process[_0x2ae1('0x57')](0x0);})[_0x2ae1('0x5e')](function(_0x5bcd59){logger[_0x2ae1('0x56')](_0x5bcd59['message']);process[_0x2ae1('0x57')](0x1);});});});})[_0x2ae1('0x5e')](function(_0x18a530){logger[_0x2ae1('0x56')](_0x18a530['message']);process[_0x2ae1('0x57')](0x1);});});});});}catch(_0x58ce00){logger[_0x2ae1('0x56')](_0x2ae1('0xa3'),_0x58ce00[_0x2ae1('0x5a')]);process[_0x2ae1('0x57')](0x1);}},'error':function(_0x1981fc,_0x30b973,_0x2eadff,_0x4ed6cd){throw new Error(_0x4ed6cd);}});});}function validate(){if(process[_0x2ae1('0xa4')]&&process[_0x2ae1('0xa4')][_0x2ae1('0x18')]<0x4){throw new Error(_0x2ae1('0xa5'));}var _0x130b85=path[_0x2ae1('0xf')](config[_0x2ae1('0x70')],_0x2ae1('0xa6'),process[_0x2ae1('0xa4')][0x2]);if(!fs[_0x2ae1('0xa7')](_0x130b85)){throw new Error(_0x2ae1('0xa8'));}var _0x14882c={};try{_0x14882c=JSON[_0x2ae1('0x75')](process[_0x2ae1('0xa4')][0x3]);if(!_0x14882c[_0x2ae1('0x6e')]){throw new Error(_0x2ae1('0xa9'));}if(!_0x14882c[_0x2ae1('0x6e')][_0x2ae1('0xd')]){throw new Error('phone\x20is\x20mandatory');}if(!_0x14882c[_0x2ae1('0x6e')][_0x2ae1('0x85')]){throw new Error(_0x2ae1('0xaa'));}var _0x1d2609=0x0;if(_0x14882c[_0x2ae1('0x6e')][_0x2ae1('0x2e')]){_0x1d2609=0x1;}if(!_0x14882c[_0x2ae1('0x2c')]){throw new Error(_0x2ae1('0xab'));}}catch(_0x5b1baf){throw new Error(_0x2ae1('0xac'));}var _0x40ff1b=[];try{_0x40ff1b=_['map'](JSON[_0x2ae1('0x75')](process['argv'][0x4]),'id');}catch(_0x1c91b2){logger[_0x2ae1('0x54')](_0x2ae1('0xad'));}main(_0x130b85,_0x14882c,_0x40ff1b,_0x1d2609);}validate();process['on'](_0x2ae1('0xae'),handleStop);process['on'](_0x2ae1('0xaf'),handleUncaughtException);