184a1ffe204c24b352aeed9b634565a329ca8538
[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 _0x5b97=['then','split','isNil','CmContactHasItem','updated','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','insert','into','fromQuery','scheduledat','ContactId','createdAt','priority','UserId','recallme','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_hopper','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.phone\x20NOT\x20IN\x20(?)','toString','cm_hopper_black','ListId','updatedAt','from','cm_contacts.createdAt\x20=\x20?','field','ListId\x20=\x20?','.offset-cm_contacts.utcOffset\x20minute)','cm_hopper.id','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','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','group','info','Received\x20SIGINT','error','exit','errors','code','message','sequelize','query','spread','campaigns.id','campaigns.dialTimezone','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','catch','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','voice_queues_has_cm_lists.CmListId=','timezones','dialTimezone','utcOffset','set','offset','main','send','start','root','server/files/tmp','.csv','includes','header','findAll','name','createReadStream','data','rows','find','_description','hasOwnProperty','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','agent\x20not\x20exists','email','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','replace','itemTypeId','trim','description','appendFileSync','emit','contact:import:','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','CREATE\x20TABLE\x20','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','dialTimezone,utcOffset','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20id\x20=\x20NULL,\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27','CompanyId',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','each','contactId','contactTypeId','orderBy','VoiceQueueId','voice_queues_has_cm_blacklists','CampaignId','campaigns_has_cm_blacklists','campaigns','affectedRows','unlink','complete','argv','existsSync','file\x20doesn\x27t\x20exists','parse','binding\x20doesn\x27t\x20exists','binding','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','No\x20agent\x20available','SIGINT','path','lodash','papaparse','util','bluebird','moment','squel','ioredis','../../../config/environment','../../../config/environment/shared','../../../config/logger','import','redis','defaults','localhost','socket.io-emitter','YYYY-MM-DD\x20HH:mm:ss','format','test','select','phone','join','.id\x20=\x20','\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','CmContact','AdditionalPhones','length','push','all'];(function(_0x5f0a51,_0x20c147){var _0x3d6ecc=function(_0x1ba66c){while(--_0x1ba66c){_0x5f0a51['push'](_0x5f0a51['shift']());}};_0x3d6ecc(++_0x20c147);}(_0x5b97,0x155));var _0x75b9=function(_0x386525,_0xefae6){_0x386525=_0x386525-0x0;var _0x14d015=_0x5b97[_0x386525];return _0x14d015;};'use strict';var fs=require('fs');var path=require(_0x75b9('0x0'));var _=require(_0x75b9('0x1'));var Papa=require(_0x75b9('0x2'));var util=require(_0x75b9('0x3'));var BPromise=require(_0x75b9('0x4'));var moment=require(_0x75b9('0x5'));var squel=require(_0x75b9('0x6'));var Redis=require(_0x75b9('0x7'));var db=require('../../../mysqldb')['db'];var config=require(_0x75b9('0x8'));var shared=require(_0x75b9('0x9'));var logger=require(_0x75b9('0xa'))(_0x75b9('0xb'));config[_0x75b9('0xc')]=_[_0x75b9('0xd')](config['redis'],{'host':_0x75b9('0xe'),'port':0x18eb});var socket=require(_0x75b9('0xf'))(new Redis(config['redis']));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var orderBy=0x0;var stopped=![];var NOW=moment()['format'](_0x75b9('0x10'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0x75b9('0x11')]('YYYY-MM-DD\x20HH:mm:ss');function isEmail(_0x41e5b2){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))*$/[_0x75b9('0x12')](_0x41e5b2);}function selectNotIn(_0x158b83,_0x59f21e,_0x11dcbd,_0x3c03fe,_0x5ed2d0){return squel[_0x75b9('0x13')]()['field'](_0x75b9('0x14'))['from'](_0x3c03fe)[_0x75b9('0x15')](_0x59f21e,null,_0x59f21e+_0x75b9('0x16')+_0x3c03fe+'.'+_0x11dcbd)['where'](_0x3c03fe+'.'+_0x11dcbd+_0x75b9('0x17')+_0x158b83+'.'+_0x11dcbd)[_0x75b9('0x18')](_0x59f21e+_0x75b9('0x19')+_0x5ed2d0[_0x75b9('0x15')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x5f484b,_0x242bcb){promisesAdditionalPhones=[];return db[_0x75b9('0x1a')]['findAll']({'raw':!![],'attributes':['id',_0x75b9('0x1b')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})['then'](function(_0xb668e7){if(_0xb668e7!==null){var _0x4ad606=[];for(var _0x210913=0x0;_0x210913<_0xb668e7[_0x75b9('0x1c')];_0x210913++){var _0x2e163a=_0xb668e7[_0x210913];_0x4ad606[_0x75b9('0x1d')](insertAdditionalPhones(_0x2e163a));}}Promise[_0x75b9('0x1e')](_0x4ad606)[_0x75b9('0x1f')](function(){_0x5f484b({'val':0x1});});});});}function insertAdditionalPhones(_0x5e20b0){return new Promise(function(_0x4226d0,_0x201530){var _0x2b80e1=_0x5e20b0[_0x75b9('0x1b')];var _0x2488fd=_0x2b80e1['split'](';');var _0x172aa2=[];orderBy=0x0;for(var _0x54c231=0x0;_0x54c231<_0x2488fd['length'];_0x54c231++){_0x172aa2[_0x75b9('0x1d')](splitAdditionalPhone(_0x5e20b0['id'],_0x2488fd[_0x54c231]));}Promise[_0x75b9('0x1e')](_0x172aa2)['then'](function(){_0x4226d0({'val':_0x2488fd['length']});});});}function splitAdditionalPhone(_0x3aadd2,_0x3276db){return new Promise(function(_0x439883,_0x21369e){var _0x6a07b8=_0x3276db[_0x75b9('0x20')](':');var _0x178ae0=_0x6a07b8[0x0];var _0x4d85e8=_0x6a07b8[0x1];if(!_[_0x75b9('0x21')](_0x4d85e8)){var _0x23c235=_0x4d85e8[_0x75b9('0x20')]('|');var _0x2ed00f=[];for(var _0x3f2b7e=0x0;_0x3f2b7e<_0x23c235[_0x75b9('0x1c')];_0x3f2b7e++){if(_0x23c235[_0x3f2b7e]!==''){var _0x5870b2=_['filter'](promisesAdditionalPhones,{'contactId':_0x3aadd2,'phone':_0x23c235[_0x3f2b7e]});if(_0x5870b2['length']==0x0){orderBy++;promisesAdditionalPhones[_0x75b9('0x1d')]({'contactId':_0x3aadd2,'contactTypeId':_0x178ae0,'phone':_0x23c235[_0x3f2b7e],'orderBy':orderBy});}}}_0x439883({'ok':0x1});}else _0x439883({'res':0x0});});}function createAdditionalPhone(_0x33166d,_0x56d231,_0x163549,_0x4763c4){var _0x48ec2c='';var _0x2c65f7='';var _0x2b1ba3=_0x163549['split']('§');_0x48ec2c=_0x2b1ba3[0x0];if(_0x2b1ba3['length']==0x2)_0x2c65f7=_0x2b1ba3[0x1];return new Promise(function(_0x11619f,_0xae5ea8){return db[_0x75b9('0x22')]['findOne']({'where':{'CmContactId':_0x33166d,'item':_0x48ec2c}})[_0x75b9('0x1f')](function(_0xf27996){if(_0xf27996){return db['CmContactHasItem']['update']({'ItemTypeId':_0x56d231,'description':_0x2c65f7,'OrderBy':_0x4763c4},{'where':{'CmContactId':_0x33166d,'item':_0x48ec2c}})[_0x75b9('0x1f')](function(_0x5b3bc7){_0x11619f({'res':_0x75b9('0x23')});});}else{return db[_0x75b9('0x22')]['create']({'CmContactId':_0x33166d,'item':_0x48ec2c,'description':_0x2c65f7,'ItemTypeId':_0x56d231,'OrderBy':_0x4763c4,'ItemClass':_0x75b9('0x24')})[_0x75b9('0x1f')](function(_0x43ca9d){_0x11619f({'res':_0x75b9('0x25')});});}});});}function insertCmHopper(_0x4a30b6,_0x31c5bc,_0x3a6110,_0x4a3356,_0xd31fb){var _0x461cd9=[_0x75b9('0x26'),_0x75b9('0x27'),_0x75b9('0x28'),_0x75b9('0x29'),_0x31c5bc+'.'+_0x4a3356,_0x75b9('0x2a'),_0x75b9('0x2b'),_0x75b9('0x2c'),_0x75b9('0x2d'),'\x22'+_0xd31fb+'\x22'];return squel[_0x75b9('0x2e')]()[_0x75b9('0x2f')]('cm_hopper')[_0x75b9('0x30')]([_0x75b9('0x14'),_0x75b9('0x31'),_0x75b9('0x32'),'ListId',_0x4a3356,_0x75b9('0x33'),'updatedAt',_0x75b9('0x34'),_0x75b9('0x35'),_0x75b9('0x36')],squel[_0x75b9('0x13')]()[_0x75b9('0x37')](_0x461cd9)['from'](_0x31c5bc)[_0x75b9('0x15')](_0x75b9('0x38'),null,_0x75b9('0x39')+_0x31c5bc+_0x75b9('0x3a'))[_0x75b9('0x15')](_0x3a6110,null,_0x3a6110+_0x75b9('0x16')+_0x31c5bc+'.'+_0x4a3356)[_0x75b9('0x18')](_0x31c5bc+_0x75b9('0x3b'),_0x4a30b6)[_0x75b9('0x18')]('cm_contacts.createdAt\x20=\x20?',NOW)[_0x75b9('0x18')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x31c5bc,_0x3a6110,_0x4a3356,_0x75b9('0x3c'),[_0x75b9('0x3d'),_0x75b9('0x3e')]))['where'](_0x75b9('0x3f'),selectNotIn(_0x31c5bc,_0x3a6110,_0x4a3356,_0x75b9('0x3c'),[_0x75b9('0x3d')])))[_0x75b9('0x40')]();}function insertCmHopperBlack(_0x253045,_0x4cb68e,_0xb52af9,_0x3eb634){var _0x1bc1b0=[_0x75b9('0x26'),'cm_contacts.id','cm_contacts.ListId',_0x4cb68e+'.'+_0x3eb634,_0x75b9('0x2a'),_0x75b9('0x2b')];return squel[_0x75b9('0x2e')]()[_0x75b9('0x2f')](_0x75b9('0x41'))['fromQuery']([_0x75b9('0x14'),'ContactId',_0x75b9('0x42'),_0x3eb634,'createdAt',_0x75b9('0x43')],squel[_0x75b9('0x13')]()[_0x75b9('0x37')](_0x1bc1b0)[_0x75b9('0x44')](_0x4cb68e)[_0x75b9('0x15')](_0x75b9('0x38'),null,_0x75b9('0x39')+_0x4cb68e+_0x75b9('0x3a'))[_0x75b9('0x15')](_0xb52af9,null,_0xb52af9+_0x75b9('0x16')+_0x4cb68e+'.'+_0x3eb634)[_0x75b9('0x18')](_0x4cb68e+'.CmListId\x20=\x20?',_0x253045)[_0x75b9('0x18')](_0x75b9('0x45'),NOW)[_0x75b9('0x18')](_0x75b9('0x3f'),squel['select']()[_0x75b9('0x46')]('phone')[_0x75b9('0x44')](_0x75b9('0x41'))[_0x75b9('0x18')](_0x75b9('0x47'),_0x253045)[_0x75b9('0x18')](_0x3eb634+_0x75b9('0x17')+_0x4cb68e+'.'+_0x3eb634)))['toString']();}function insertTzCmHopper(_0xc4f69d,_0x5a58cb,_0x27124b,_0x1df56c,_0x1359a5,_0x519d8c){var _0x11c566=['cm_contacts.phone','date_add(cm_contacts.scheduledat,interval\x20'+_0x519d8c+_0x75b9('0x48'),_0x75b9('0x28'),_0x75b9('0x29'),_0x5a58cb+'.'+_0x1df56c,'cm_contacts.createdAt',_0x75b9('0x2b'),_0x75b9('0x2c'),_0x75b9('0x2d'),'\x22'+_0x1359a5+'\x22'];var _0x256ec6=squel[_0x75b9('0x2e')]()[_0x75b9('0x2f')](_0x75b9('0x3c'))['fromQuery'](['phone',_0x75b9('0x31'),'ContactId','ListId',_0x1df56c,'createdAt',_0x75b9('0x43'),_0x75b9('0x34'),_0x75b9('0x35'),'recallme'],squel[_0x75b9('0x13')]()[_0x75b9('0x37')](_0x11c566)[_0x75b9('0x44')](_0x5a58cb)[_0x75b9('0x15')](_0x75b9('0x38'),null,'cm_contacts.ListId\x20=\x20'+_0x5a58cb+_0x75b9('0x3a'))['join'](_0x27124b,null,_0x27124b+_0x75b9('0x16')+_0x5a58cb+'.'+_0x1df56c)[_0x75b9('0x15')](_0x519d8c,null,_0x519d8c+_0x75b9('0x16')+_0x5a58cb+'.'+_0x1df56c)[_0x75b9('0x18')](_0x5a58cb+_0x75b9('0x3b'),_0xc4f69d)[_0x75b9('0x18')](_0x75b9('0x45'),NOW)['where'](_0x75b9('0x3f'),selectNotIn(_0x5a58cb,_0x27124b,_0x1df56c,_0x75b9('0x3c'),[_0x75b9('0x3d'),'\x22onlyIfOpen\x22']))['where'](_0x75b9('0x3f'),selectNotIn(_0x5a58cb,_0x27124b,_0x1df56c,_0x75b9('0x3c'),[_0x75b9('0x3d')])))['toString']();return _0x256ec6;}function insertTzCmHopperBlack(_0x1a2fa6,_0x3eaab5,_0x1e6925,_0x230db4){var _0x21586a=[_0x75b9('0x26'),'cm_contacts.id',_0x75b9('0x29'),_0x3eaab5+'.'+_0x230db4,_0x75b9('0x2a'),_0x75b9('0x2b')];return squel[_0x75b9('0x2e')]()['into'](_0x75b9('0x41'))['fromQuery'](['phone','ContactId',_0x75b9('0x42'),_0x230db4,_0x75b9('0x33'),_0x75b9('0x43')],squel[_0x75b9('0x13')]()['fields'](_0x21586a)['from'](_0x3eaab5)[_0x75b9('0x15')](_0x75b9('0x38'),null,_0x75b9('0x39')+_0x3eaab5+_0x75b9('0x3a'))['join'](_0x1e6925,null,_0x1e6925+_0x75b9('0x16')+_0x3eaab5+'.'+_0x230db4)[_0x75b9('0x18')](_0x3eaab5+_0x75b9('0x3b'),_0x1a2fa6)[_0x75b9('0x18')](_0x75b9('0x45'),NOW)[_0x75b9('0x18')](_0x75b9('0x3f'),squel[_0x75b9('0x13')]()[_0x75b9('0x46')](_0x75b9('0x14'))[_0x75b9('0x44')](_0x75b9('0x41'))['where']('ListId\x20=\x20?',_0x1a2fa6)[_0x75b9('0x18')](_0x230db4+'\x20=\x20'+_0x3eaab5+'.'+_0x230db4)))[_0x75b9('0x40')]();}function insertCmHopperAdditionalPhones(_0x3e3e06){var _0x54ffd4=[_0x75b9('0x49'),'cm_contact_has_items.item',_0x75b9('0x4a'),_0x75b9('0x4b'),_0x75b9('0x4c')];return squel[_0x75b9('0x2e')]()[_0x75b9('0x2f')]('cm_hopper_additional_phones')['fromQuery']([_0x75b9('0x4d'),_0x75b9('0x14'),_0x75b9('0x4e'),_0x75b9('0x33'),'updatedAt'],squel[_0x75b9('0x13')]()[_0x75b9('0x37')](_0x54ffd4)['from'](_0x75b9('0x3c'))[_0x75b9('0x15')](_0x75b9('0x38'),null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0x75b9('0x15')](_0x75b9('0x4f'),null,_0x75b9('0x50'))[_0x75b9('0x18')](_0x75b9('0x51'),_0x3e3e06)[_0x75b9('0x18')]('cm_contacts.createdAt\x20=\x20?',NOW))['toString']();}function insertCmContact(_0x209662,_0x1b8b28,_0x29a3b8,_0xe6142b){var _0x1e9a46=_[_0x75b9('0x52')](_[_0x75b9('0x53')](_0xe6142b),[_0x75b9('0x42'),'CompanyId',_0x75b9('0x33'),_0x75b9('0x43'),_0x75b9('0x54')]);return squel[_0x75b9('0x2e')]()[_0x75b9('0x2f')](_0x75b9('0x38'))[_0x75b9('0x30')](_0x1e9a46,squel[_0x75b9('0x13')]()[_0x75b9('0x37')](_0x1e9a46)[_0x75b9('0x44')](_0x1b8b28)[_0x75b9('0x18')]('('+_0x29a3b8['join'](',')+')\x20NOT\x20IN\x20?',squel[_0x75b9('0x13')]()[_0x75b9('0x37')](_0x29a3b8)[_0x75b9('0x44')](_0x75b9('0x38'))[_0x75b9('0x18')](_0x75b9('0x47'),_0x209662)[_0x75b9('0x18')](_0x75b9('0x55')))[_0x75b9('0x18')](_0x75b9('0x56'),squel[_0x75b9('0x13')]()[_0x75b9('0x46')](_0x75b9('0x57'),'min_id')[_0x75b9('0x44')](_0x1b8b28)[_0x75b9('0x58')](_0x29a3b8[_0x75b9('0x15')](','))))[_0x75b9('0x40')]();}function handleStop(){logger[_0x75b9('0x59')](_0x75b9('0x5a'));stopped=!![];}function handleUncaughtException(_0x3630ea){logger[_0x75b9('0x5b')](_0x3630ea['message']);process[_0x75b9('0x5c')](0x1);}function handleError(_0x12b9e8,_0x50a1ca){stats[_0x75b9('0x5d')][_0x75b9('0x1d')]({'name':_0x50a1ca[_0x75b9('0x5e')],'message':_0x50a1ca[_0x75b9('0x5f')],'row':_0x12b9e8});}function handleQuery(_0x13ab94){logger['info'](_0x13ab94);return db[_0x75b9('0x60')][_0x75b9('0x61')](_0x13ab94)[_0x75b9('0x62')](function(_0x49773f){results[_0x75b9('0x1d')](_0x49773f);})['catch'](function(_0x4c7ce9){logger[_0x75b9('0x5b')](_0x4c7ce9['message']);});}function updateTzCampaigns(_0x4386f7){return new Promise(function(_0x3cddce,_0x30016e){var _0xd5469=squel[_0x75b9('0x13')]()[_0x75b9('0x37')]([_0x75b9('0x63'),_0x75b9('0x64')])[_0x75b9('0x44')]('campaigns')[_0x75b9('0x15')]('campaigns_has_cm_lists',null,_0x75b9('0x65'))[_0x75b9('0x18')]('campaigns_has_cm_lists.CmListId='+_0x4386f7);db[_0x75b9('0x60')][_0x75b9('0x61')](_0xd5469[_0x75b9('0x40')]())[_0x75b9('0x62')](function(_0x42a113){var _0x432bf1=[];for(var _0x3a1332=0x0;_0x3a1332<_0x42a113['length'];_0x3a1332++){_0x432bf1[_0x75b9('0x1d')](getTimezoneData(_0x42a113[_0x3a1332],tmp_campaigns));}BPromise['all'](_0x432bf1)['then'](function(){_0x3cddce({'val':0x1});});})[_0x75b9('0x66')](function(_0x1f1986){logger[_0x75b9('0x5b')](_0x1f1986[_0x75b9('0x5f')]);_0x3cddce({'val':0x0});});});}function updateTzVoiceQueues(_0x1638ae){return new Promise(function(_0x2d7438,_0x5ae640){var _0x1a9727=squel[_0x75b9('0x13')]()[_0x75b9('0x37')]([_0x75b9('0x67'),_0x75b9('0x68')])[_0x75b9('0x44')](_0x75b9('0x69'))['join'](_0x75b9('0x6a'),null,_0x75b9('0x6b'))[_0x75b9('0x18')](_0x75b9('0x6c')+_0x1638ae);db['sequelize'][_0x75b9('0x61')](_0x1a9727[_0x75b9('0x40')]())[_0x75b9('0x62')](function(_0x213f58){var _0x296bad=[];for(var _0x5df8da=0x0;_0x5df8da<_0x213f58[_0x75b9('0x1c')];_0x5df8da++){_0x296bad[_0x75b9('0x1d')](getTimezoneData(_0x213f58[_0x5df8da],tmp_voice_queues));}BPromise[_0x75b9('0x1e')](_0x296bad)[_0x75b9('0x1f')](function(){_0x2d7438({'val':0x1});});})['catch'](function(_0x561d72){logger['error'](_0x561d72[_0x75b9('0x5f')]);_0x2d7438({'val':0x0});});});}function getTimezoneData(_0x2c7917,_0x501ec3){return new Promise(function(_0x5cbb65,_0x252993){var _0x2c456b=shared[_0x75b9('0x6d')];var _0x1b8724=_0x2c456b[_0x2c7917[_0x75b9('0x6e')]];if(_[_0x75b9('0x21')](_0x1b8724)){_0x5cbb65({'ret':0x1});}else{var _0x3a7409=_0x1b8724[_0x75b9('0x6f')];var _0x14af6c=squel[_0x75b9('0x2e')]()['into'](_0x501ec3)[_0x75b9('0x70')]('id',_0x2c7917['id'])['set'](_0x75b9('0x71'),_0x3a7409)['set'](_0x75b9('0x6e'),_0x2c7917[_0x75b9('0x6e')])[_0x75b9('0x40')]();return db[_0x75b9('0x60')][_0x75b9('0x61')](_0x14af6c)[_0x75b9('0x62')](function(_0x3cdd75){_0x5cbb65({'ret':0x1});})[_0x75b9('0x66')](function(_0x273c35){logger[_0x75b9('0x5b')](_0x273c35['message']);_0x252993({'ret':0x1});});}});}function handleTZQuery(_0x5d6972){logger[_0x75b9('0x59')](_0x5d6972);return db[_0x75b9('0x60')][_0x75b9('0x61')](_0x5d6972)[_0x75b9('0x62')](function(_0x5981a7){})[_0x75b9('0x66')](function(_0x319470){logger[_0x75b9('0x5b')](_0x319470[_0x75b9('0x5f')]);});}function main(_0x2d6cb6,_0x1de266,_0x3953b1,_0x9d8365){logger[_0x75b9('0x59')](_0x75b9('0x72'),_0x2d6cb6,JSON['stringify'](_0x1de266));process[_0x75b9('0x73')](_0x75b9('0x74'));var _0x4ef5db=_0x1de266['binding'];var _0x10652b=_['clone'](_0x4ef5db);var _0x48ae42=_0x1de266['socket_timestamp'];var _0x451133=path[_0x75b9('0x15')](config[_0x75b9('0x75')],_0x75b9('0x76'),_0x48ae42+_0x75b9('0x77'));hasTZ=_['keys'](_0x4ef5db)[_0x75b9('0x78')]('dialTimezone');var _0x412f1b=_[_0x75b9('0x53')](_0x4ef5db)[_0x75b9('0x15')]();logger[_0x75b9('0x59')](_0x75b9('0x79'),_0x412f1b);db['ContactItemType'][_0x75b9('0x7a')]({'raw':!![],'attributes':['id',_0x75b9('0x7b')]})[_0x75b9('0x1f')](function(_0x6614fe){for(var _0x205460=0x0;_0x205460<_0x6614fe[_0x75b9('0x1c')];_0x205460++){if(_0x6614fe[_0x205460][_0x75b9('0x7b')]in _0x4ef5db){contactItemTypes[_0x75b9('0x1d')](_0x6614fe[_0x205460]);delete _0x10652b[_0x6614fe[_0x205460][_0x75b9('0x7b')]];hasAdditionalPhones=!![];}for(var _0x454bdf in _0x4ef5db){if(_0x6614fe[_0x205460]['name']+'_description'===_0x454bdf){phoneDescriptions[_0x75b9('0x1d')]({'itemTypeId':_0x6614fe[_0x205460]['id'],'description':_0x454bdf});delete _0x10652b[_0x454bdf];}}}if(hasAdditionalPhones)_0x10652b[_0x75b9('0x1b')]='';var _0x328062=_['keys'](_0x10652b)['join']();logger[_0x75b9('0x59')](_0x75b9('0x79'),_0x328062);fs['writeFileSync'](_0x451133,_0x328062+'\x0a');Papa['parse'](fs[_0x75b9('0x7c')](_0x2d6cb6),{'header':!![],'skipEmptyLines':!![],'step':function(_0x5a1eeb,_0x2c866e){try{for(var _0x533236=0x0,_0x3fe258=[];_0x533236<_0x5a1eeb[_0x75b9('0x7d')][_0x75b9('0x1c')];_0x533236++){stats[_0x75b9('0x7e')]+=0x1;if(_0x5a1eeb[_0x75b9('0x5d')][_0x533236]){handleError(_0x5a1eeb['data'][_0x533236],_0x5a1eeb['errors'][_0x533236]);}else{var _0x4da35d=[];var _0x241269=[];var _0x2e348b={};for(var _0x296b8d in _0x4ef5db){let _0x27f5d4=contactItemTypes[_0x75b9('0x7f')](_0x254ed3=>_0x254ed3[_0x75b9('0x7b')]===_0x296b8d);let _0x563093=contactItemTypes[_0x75b9('0x7f')](_0x51244d=>_0x51244d['name']+_0x75b9('0x80')===_0x296b8d);if(_[_0x75b9('0x21')](_0x27f5d4)&&_['isNil'](_0x563093)){if(_0x4ef5db[_0x75b9('0x81')](_0x296b8d)){if(_0x5a1eeb[_0x75b9('0x7d')][_0x533236][_0x4ef5db[_0x296b8d]]){var _0x50b57e=_['trim'](_0x5a1eeb[_0x75b9('0x7d')][_0x533236][_0x4ef5db[_0x296b8d]]['replace'](/"/g,'\x27'));switch(_0x296b8d){case _0x75b9('0x31'):var _0xc33477=moment(_0x50b57e,_0x75b9('0x10'),!![]);if(_0xc33477[_0x75b9('0x82')]()){_0x3fe258['push']('\x22'+_0x50b57e+'\x22');}else{_0x4da35d[_0x75b9('0x1d')](_0x75b9('0x83'));}break;case _0x75b9('0x34'):var _0x202bb5=parseInt(_0x50b57e);_0x50b57e=_[_0x75b9('0x84')](_0x202bb5)||_0x202bb5<0x0||_0x202bb5>0x4?_0x9d8365?0x3:0x2:_0x202bb5;_0x3fe258[_0x75b9('0x1d')]('\x22'+_0x50b57e+'\x22');break;case _0x75b9('0x35'):var _0x2783cf=parseInt(_0x50b57e);if(_[_0x75b9('0x85')](_0x2783cf)&&_[_0x75b9('0x78')](_0x3953b1,_0x2783cf)){_0x3fe258[_0x75b9('0x1d')]('\x22'+_0x2783cf+'\x22');}else{_0x4da35d['push'](_0x75b9('0x86'));}break;case _0x75b9('0x87'):if(isEmail(_0x50b57e)){_0x3fe258[_0x75b9('0x1d')]('\x22'+_0x50b57e+'\x22');}else{_0x4da35d['push']('email\x20wrong\x20format');}break;case _0x75b9('0x88'):var _0x4e1bfd=moment(_0x50b57e,_0x75b9('0x89'),!![]);if(_0x4e1bfd[_0x75b9('0x82')]()){_0x3fe258[_0x75b9('0x1d')]('\x22'+_0x50b57e+'\x22');}else{_0x4da35d['push'](_0x75b9('0x8a'));}break;case _0x75b9('0x6e'):var _0x28ac8d=shared[_0x75b9('0x6d')];var _0x46218e=_0x28ac8d[_0x50b57e];if(!_[_0x75b9('0x21')](_0x46218e)){var _0xc9816e=_0x46218e[_0x75b9('0x6f')];_0x3fe258[_0x75b9('0x1d')]('\x22'+_0x50b57e+'\x22');_0x3fe258['push']('\x22'+_0xc9816e+'\x22');}break;default:_0x3fe258[_0x75b9('0x1d')]('\x22'+_0x50b57e+'\x22');}}else{switch(_0x296b8d){case _0x75b9('0x8b'):case _0x75b9('0x14'):_0x4da35d[_0x75b9('0x1d')](_0x296b8d+_0x75b9('0x8c'));break;default:_0x3fe258[_0x75b9('0x1d')]('\x22\x22');}}}}else{var _0x3ffe0c='';if(!_[_0x75b9('0x21')](_0x27f5d4)){if(!_0x2e348b['hasOwnProperty'](_0x27f5d4['id'])){if(!_[_0x75b9('0x21')](_0x5a1eeb[_0x75b9('0x7d')][_0x533236][_0x4ef5db[_0x296b8d]])){var _0x50b57e=_['trim'](_0x5a1eeb[_0x75b9('0x7d')][_0x533236][_0x4ef5db[_0x296b8d]][_0x75b9('0x8d')](/"/g,'\x27'));var _0x5cbdd7=phoneDescriptions[_0x75b9('0x7f')](_0x3977a1=>_0x3977a1[_0x75b9('0x8e')]===_0x27f5d4['id']);if(!_[_0x75b9('0x21')](_0x5cbdd7)){var _0x522fe8=_[_0x75b9('0x8f')](_0x5a1eeb['data'][_0x533236][_0x4ef5db[_0x5cbdd7[_0x75b9('0x90')]]][_0x75b9('0x8d')](/"/g,'\x27'));if(!_[_0x75b9('0x21')](_0x522fe8))_0x50b57e=_0x50b57e+'§'+_0x522fe8;}if(_0x3ffe0c=='')_0x3ffe0c=_0x50b57e;else _0x3ffe0c+='|'+_0x50b57e;}_0x241269[_0x75b9('0x1d')](_0x27f5d4['id']+':'+_0x3ffe0c);_0x2e348b[_0x27f5d4['id']]=0x1;}}}}if(hasAdditionalPhones){_0x3fe258[_0x75b9('0x1d')]('\x22'+_0x241269[_0x75b9('0x15')](';')+'\x22');}if(_0x4da35d[_0x75b9('0x1c')]){handleError(_0x5a1eeb[_0x75b9('0x7d')][_0x533236],{'code':'SystemRow','message':_0x4da35d[_0x75b9('0x15')]()});}else{fs[_0x75b9('0x91')](_0x451133,_0x3fe258[_0x75b9('0x15')]()+'\x0a');}_0x3fe258=[];}if(!(stats['rows']%0xc8)){socket[_0x75b9('0x92')](_0x75b9('0x93')+_0x48ae42,stats);stats[_0x75b9('0x5d')]=[];}}if(stopped){logger[_0x75b9('0x59')](_0x75b9('0x94'));_0x2c866e[_0x75b9('0x95')]();}}catch(_0x5ebc13){handleError(_0x5a1eeb['data'][_0x533236],{'code':_0x75b9('0x96'),'message':_0x5ebc13['message']});logger[_0x75b9('0x5b')](_0x75b9('0x97'),_0x5ebc13[_0x75b9('0x5f')]);}},'complete':function(){try{var _0xee8dc2=[];var _0x29b471=[];var _0x5619f9='cm_contacts';if(_0x1de266[_0x75b9('0x98')]&&_0x1de266[_0x75b9('0x98')][_0x75b9('0x1c')]){_0x5619f9=_0x75b9('0x99')+_0x48ae42;_0xee8dc2[_0x75b9('0x1d')]('CREATE\x20TABLE\x20'+_0x5619f9+_0x75b9('0x9a'));}tmp_campaigns=_0x75b9('0x9b')+_0x48ae42;tmp_voice_queues=_0x75b9('0x9c')+_0x48ae42;_0x29b471[_0x75b9('0x1d')](_0x75b9('0x9d')+tmp_campaigns+_0x75b9('0x9e'));_0x29b471[_0x75b9('0x1d')](_0x75b9('0x9d')+tmp_voice_queues+_0x75b9('0x9e'));BPromise['each'](_0x29b471,handleTZQuery)[_0x75b9('0x1f')](function(_0x11cce3){updateTzCampaigns(_0x1de266[_0x75b9('0x42')])[_0x75b9('0x1f')](function(_0x3e3818){updateTzVoiceQueues(_0x1de266[_0x75b9('0x42')])['then'](function(_0x3c836b){if(hasTZ)_0x328062=_0x328062[_0x75b9('0x8d')](_0x75b9('0x6e'),_0x75b9('0x9f'));var _0x47bb5f=util[_0x75b9('0x11')](_0x75b9('0xa0'),_0x451133,_0x5619f9,_0x328062,_0x1de266[_0x75b9('0x42')],_0x1de266[_0x75b9('0xa1')]||null,NOW,NOW);if(_['isNil'](_0x4ef5db['scheduledat'])){_0x47bb5f+=_0x75b9('0xa2');}_0xee8dc2[_0x75b9('0x1d')](_0x47bb5f);if(_0x1de266[_0x75b9('0x98')]&&_0x1de266[_0x75b9('0x98')]['length']){_0xee8dc2[_0x75b9('0x1d')](insertCmContact(_0x1de266[_0x75b9('0x42')],_0x5619f9,_0x1de266['duplicates'],_0x4ef5db));_0xee8dc2['push'](_0x75b9('0xa3')+_0x5619f9+';');}BPromise[_0x75b9('0xa4')](_0xee8dc2,handleQuery)[_0x75b9('0x1f')](function(_0x411880){BPromise[_0x75b9('0x1e')]([handleAdditionalPhones()])[_0x75b9('0x1f')](function(){_0xee8dc2=[];for(var _0x17865c=0x0;_0x17865c<promisesAdditionalPhones[_0x75b9('0x1c')];_0x17865c++){if(promisesAdditionalPhones[_0x17865c][_0x75b9('0x14')]!='§'){_0xee8dc2['push'](createAdditionalPhone(promisesAdditionalPhones[_0x17865c][_0x75b9('0xa5')],promisesAdditionalPhones[_0x17865c][_0x75b9('0xa6')],promisesAdditionalPhones[_0x17865c]['phone'],promisesAdditionalPhones[_0x17865c][_0x75b9('0xa7')]));}}BPromise[_0x75b9('0x1e')](_0xee8dc2)['then'](function(){_0xee8dc2=[];if(hasTZ){_0xee8dc2['push'](insertTzCmHopper(_0x1de266[_0x75b9('0x42')],_0x75b9('0x6a'),_0x75b9('0x69'),_0x75b9('0xa8'),_0x9d8365,tmp_voice_queues));_0xee8dc2[_0x75b9('0x1d')](insertTzCmHopperBlack(_0x1de266[_0x75b9('0x42')],_0x75b9('0xa9'),'voice_queues',_0x75b9('0xa8')));_0xee8dc2[_0x75b9('0x1d')](insertTzCmHopper(_0x1de266['ListId'],'campaigns_has_cm_lists','campaigns',_0x75b9('0xaa'),_0x9d8365,tmp_campaigns));_0xee8dc2[_0x75b9('0x1d')](insertTzCmHopperBlack(_0x1de266['ListId'],_0x75b9('0xab'),_0x75b9('0xac'),_0x75b9('0xaa')));_0xee8dc2['push'](insertCmHopperAdditionalPhones(_0x1de266[_0x75b9('0x42')]));}else{_0xee8dc2[_0x75b9('0x1d')](insertCmHopper(_0x1de266[_0x75b9('0x42')],_0x75b9('0x6a'),_0x75b9('0x69'),'VoiceQueueId',_0x9d8365));_0xee8dc2[_0x75b9('0x1d')](insertCmHopperBlack(_0x1de266[_0x75b9('0x42')],_0x75b9('0xa9'),_0x75b9('0x69'),_0x75b9('0xa8')));_0xee8dc2['push'](insertCmHopper(_0x1de266[_0x75b9('0x42')],'campaigns_has_cm_lists',_0x75b9('0xac'),_0x75b9('0xaa'),_0x9d8365));_0xee8dc2[_0x75b9('0x1d')](insertCmHopperBlack(_0x1de266['ListId'],'campaigns_has_cm_blacklists','campaigns','CampaignId'));_0xee8dc2[_0x75b9('0x1d')](insertCmHopperAdditionalPhones(_0x1de266['ListId']));}_0xee8dc2[_0x75b9('0x1d')](_0x75b9('0xa3')+tmp_campaigns+';');_0xee8dc2[_0x75b9('0x1d')]('DROP\x20TABLE\x20'+tmp_voice_queues+';');BPromise[_0x75b9('0xa4')](_0xee8dc2,handleQuery)['then'](function(_0x1d2d6e){stats['finish']=!![];stats[_0x75b9('0xad')]=_0x1de266[_0x75b9('0x98')]&&_0x1de266[_0x75b9('0x98')][_0x75b9('0x1c')]?results[0x2][_0x75b9('0xad')]:results[0x0]['affectedRows'];socket[_0x75b9('0x92')](_0x75b9('0x93')+_0x48ae42,stats);fs[_0x75b9('0xae')](_0x2d6cb6);fs[_0x75b9('0xae')](_0x451133);process[_0x75b9('0x5c')](0x0);})[_0x75b9('0x66')](function(_0x4defdd){logger['error'](_0x4defdd['message']);process[_0x75b9('0x5c')](0x1);});});});})[_0x75b9('0x66')](function(_0x7b0c44){logger[_0x75b9('0x5b')](_0x7b0c44['message']);process['exit'](0x1);});});});});}catch(_0x3450fa){logger['error'](_0x75b9('0xaf'),_0x3450fa[_0x75b9('0x5f')]);process[_0x75b9('0x5c')](0x1);}},'error':function(_0x3fec49,_0x195333,_0x10a8b1,_0x5206af){throw new Error(_0x5206af);}});});}function validate(){if(process[_0x75b9('0xb0')]&&process['argv']['length']<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x59660b=path[_0x75b9('0x15')](config[_0x75b9('0x75')],_0x75b9('0x76'),process[_0x75b9('0xb0')][0x2]);if(!fs[_0x75b9('0xb1')](_0x59660b)){throw new Error(_0x75b9('0xb2'));}var _0x2e88d6={};try{_0x2e88d6=JSON[_0x75b9('0xb3')](process['argv'][0x3]);if(!_0x2e88d6['binding']){throw new Error(_0x75b9('0xb4'));}if(!_0x2e88d6[_0x75b9('0xb5')][_0x75b9('0x14')]){throw new Error(_0x75b9('0xb6'));}if(!_0x2e88d6[_0x75b9('0xb5')][_0x75b9('0x8b')]){throw new Error(_0x75b9('0xb7'));}var _0x3cdb80=0x0;if(_0x2e88d6[_0x75b9('0xb5')][_0x75b9('0x35')]){_0x3cdb80=0x1;}if(!_0x2e88d6['ListId']){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x43988a){throw new Error('body\x20id\x20mandatory');}var _0x1e9236=[];try{_0x1e9236=_['map'](JSON[_0x75b9('0xb3')](process[_0x75b9('0xb0')][0x4]),'id');}catch(_0x1365b0){logger[_0x75b9('0x59')](_0x75b9('0xb8'));}main(_0x59660b,_0x2e88d6,_0x1e9236,_0x3cdb80);}validate();process['on'](_0x75b9('0xb9'),handleStop);process['on']('uncaughtException',handleUncaughtException);