f825f26e3c43dc14133ad9f33a6069c7022d5177
[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 _0x7801=['deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','min_id','group','info','Received\x20SIGINT','error','message','exit','errors','code','query','catch','campaigns.id','campaigns.dialTimezone','campaigns','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','sequelize','spread','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','timezones','dialTimezone','set','stringify','clone','socket_timestamp','root','server/files/tmp','.csv','includes','header','ContactItemType','name','createReadStream','rows','find','_description','hasOwnProperty','data','trim','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','utcOffset','firstName','\x20not\x20specified','itemTypeId','description','SystemRow','emit','contact:import:','Abort\x20parser','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);',',\x20scheduledAt\x20=\x20NOW()','contactTypeId','orderBy','VoiceQueueId','voice_queues_has_cm_blacklists','CampaignId','campaigns_has_cm_blacklists','DROP\x20TABLE\x20','each','finish','affectedRows','unlink','complete','argv','existsSync','file\x20doesn\x27t\x20exists','parse','binding','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','body\x20id\x20mandatory','No\x20agent\x20available','SIGINT','lodash','papaparse','util','bluebird','moment','ioredis','../../../mysqldb','../../../config/environment','../../../config/environment/shared','../../../config/logger','import','redis','localhost','socket.io-emitter','YYYY-MM-DD\x20HH:mm:ss','format','test','select','field','phone','from','\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','join','findAll','AdditionalPhones','then','push','all','split','length','isNil','filter','CmContactHasItem','findOne','update','updated','create','PHONE','inserted','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','insert','into','cm_hopper','fromQuery','scheduledat','ContactId','ListId','createdAt','updatedAt','priority','UserId','fields','cm_contacts.ListId\x20=\x20','.CmListId','.id\x20=\x20','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.phone','cm_hopper_black','ListId\x20=\x20?','toString','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','cm_contacts.UserId','recallme','cm_contacts','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','CmHopperId','OrderBy','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','keys','CompanyId',')\x20NOT\x20IN\x20?'];(function(_0x395533,_0x27812e){var _0x353813=function(_0x19d67a){while(--_0x19d67a){_0x395533['push'](_0x395533['shift']());}};_0x353813(++_0x27812e);}(_0x7801,0x11a));var _0x1780=function(_0x465a0c,_0x19d4d5){_0x465a0c=_0x465a0c-0x0;var _0x1e202e=_0x7801[_0x465a0c];return _0x1e202e;};'use strict';var fs=require('fs');var path=require('path');var _=require(_0x1780('0x0'));var Papa=require(_0x1780('0x1'));var util=require(_0x1780('0x2'));var BPromise=require(_0x1780('0x3'));var moment=require(_0x1780('0x4'));var squel=require('squel');var Redis=require(_0x1780('0x5'));var db=require(_0x1780('0x6'))['db'];var config=require(_0x1780('0x7'));var shared=require(_0x1780('0x8'));var logger=require(_0x1780('0x9'))(_0x1780('0xa'));config[_0x1780('0xb')]=_['defaults'](config['redis'],{'host':_0x1780('0xc'),'port':0x18eb});var socket=require(_0x1780('0xd'))(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'](_0x1780('0xe'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0x1780('0xf')](_0x1780('0xe'));function isEmail(_0xbf80b4){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))*$/[_0x1780('0x10')](_0xbf80b4);}function selectNotIn(_0x470573,_0x293c7b,_0x2e8f25,_0x2b3c2b,_0x296c9b){return squel[_0x1780('0x11')]()[_0x1780('0x12')](_0x1780('0x13'))[_0x1780('0x14')](_0x2b3c2b)['join'](_0x293c7b,null,_0x293c7b+'.id\x20=\x20'+_0x2b3c2b+'.'+_0x2e8f25)['where'](_0x2b3c2b+'.'+_0x2e8f25+_0x1780('0x15')+_0x470573+'.'+_0x2e8f25)[_0x1780('0x16')](_0x293c7b+_0x1780('0x17')+_0x296c9b[_0x1780('0x18')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x58b63c,_0x18a02d){promisesAdditionalPhones=[];return db['CmContact'][_0x1780('0x19')]({'raw':!![],'attributes':['id',_0x1780('0x1a')],'where':{'createdAt':NOW,'AdditionalPhones':{'$ne':null}}})[_0x1780('0x1b')](function(_0x3cfaef){if(_0x3cfaef!==null){var _0x38a10b=[];for(var _0x5a337d=0x0;_0x5a337d<_0x3cfaef['length'];_0x5a337d++){var _0x7e9576=_0x3cfaef[_0x5a337d];_0x38a10b[_0x1780('0x1c')](insertAdditionalPhones(_0x7e9576));}}Promise[_0x1780('0x1d')](_0x38a10b)[_0x1780('0x1b')](function(){_0x58b63c({'val':0x1});});});});}function insertAdditionalPhones(_0x491076){return new Promise(function(_0x2c94f8,_0x4955a6){var _0x421ada=_0x491076[_0x1780('0x1a')];var _0x443e0f=_0x421ada[_0x1780('0x1e')](';');var _0x7812c5=[];orderBy=0x0;for(var _0x1f6514=0x0;_0x1f6514<_0x443e0f[_0x1780('0x1f')];_0x1f6514++){_0x7812c5[_0x1780('0x1c')](splitAdditionalPhone(_0x491076['id'],_0x443e0f[_0x1f6514]));}Promise['all'](_0x7812c5)[_0x1780('0x1b')](function(){_0x2c94f8({'val':_0x443e0f[_0x1780('0x1f')]});});});}function splitAdditionalPhone(_0x296c71,_0x5c483a){return new Promise(function(_0x2ec972,_0x42b9b8){var _0x764083=_0x5c483a[_0x1780('0x1e')](':');var _0x335401=_0x764083[0x0];var _0x5df42a=_0x764083[0x1];if(!_[_0x1780('0x20')](_0x5df42a)){var _0x5eae3f=_0x5df42a['split']('|');var _0x4829a0=[];for(var _0x242cce=0x0;_0x242cce<_0x5eae3f[_0x1780('0x1f')];_0x242cce++){if(_0x5eae3f[_0x242cce]!==''){var _0x3091d9=_[_0x1780('0x21')](promisesAdditionalPhones,{'contactId':_0x296c71,'phone':_0x5eae3f[_0x242cce]});if(_0x3091d9[_0x1780('0x1f')]==0x0){orderBy++;promisesAdditionalPhones[_0x1780('0x1c')]({'contactId':_0x296c71,'contactTypeId':_0x335401,'phone':_0x5eae3f[_0x242cce],'orderBy':orderBy});}}}_0x2ec972({'ok':0x1});}else _0x2ec972({'res':0x0});});}function createAdditionalPhone(_0x2b1862,_0x306242,_0x2fcf87,_0x356265){var _0x42b2f7='';var _0xcf014='';var _0x1921e5=_0x2fcf87['split']('§');_0x42b2f7=_0x1921e5[0x0];if(_0x1921e5['length']==0x2)_0xcf014=_0x1921e5[0x1];return new Promise(function(_0x236bdf,_0x1ae4b9){return db[_0x1780('0x22')][_0x1780('0x23')]({'where':{'CmContactId':_0x2b1862,'item':_0x42b2f7}})[_0x1780('0x1b')](function(_0x5d53db){if(_0x5d53db){return db[_0x1780('0x22')][_0x1780('0x24')]({'ItemTypeId':_0x306242,'description':_0xcf014,'OrderBy':_0x356265},{'where':{'CmContactId':_0x2b1862,'item':_0x42b2f7}})[_0x1780('0x1b')](function(_0x4ef5b3){_0x236bdf({'res':_0x1780('0x25')});});}else{return db['CmContactHasItem'][_0x1780('0x26')]({'CmContactId':_0x2b1862,'item':_0x42b2f7,'description':_0xcf014,'ItemTypeId':_0x306242,'OrderBy':_0x356265,'ItemClass':_0x1780('0x27')})[_0x1780('0x1b')](function(_0xdc4c2c){_0x236bdf({'res':_0x1780('0x28')});});}});});}function insertCmHopper(_0x291147,_0x250f91,_0x302b19,_0x4ecca4,_0xa7b7e){var _0x3a5ffe=['cm_contacts.phone',_0x1780('0x29'),_0x1780('0x2a'),_0x1780('0x2b'),_0x250f91+'.'+_0x4ecca4,_0x1780('0x2c'),_0x1780('0x2d'),_0x1780('0x2e'),'cm_contacts.UserId','\x22'+_0xa7b7e+'\x22'];return squel[_0x1780('0x2f')]()[_0x1780('0x30')](_0x1780('0x31'))[_0x1780('0x32')]([_0x1780('0x13'),_0x1780('0x33'),_0x1780('0x34'),_0x1780('0x35'),_0x4ecca4,_0x1780('0x36'),_0x1780('0x37'),_0x1780('0x38'),_0x1780('0x39'),'recallme'],squel[_0x1780('0x11')]()[_0x1780('0x3a')](_0x3a5ffe)[_0x1780('0x14')](_0x250f91)['join']('cm_contacts',null,_0x1780('0x3b')+_0x250f91+_0x1780('0x3c'))[_0x1780('0x18')](_0x302b19,null,_0x302b19+_0x1780('0x3d')+_0x250f91+'.'+_0x4ecca4)[_0x1780('0x16')](_0x250f91+_0x1780('0x3e'),_0x291147)[_0x1780('0x16')](_0x1780('0x3f'),NOW)[_0x1780('0x16')](_0x1780('0x40'),selectNotIn(_0x250f91,_0x302b19,_0x4ecca4,_0x1780('0x31'),[_0x1780('0x41'),_0x1780('0x42')]))['where']('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x250f91,_0x302b19,_0x4ecca4,'cm_hopper',[_0x1780('0x41')])))['toString']();}function insertCmHopperBlack(_0x2faa28,_0x484bb2,_0x3a67a8,_0x5bf616){var _0x38843c=[_0x1780('0x43'),_0x1780('0x2a'),'cm_contacts.ListId',_0x484bb2+'.'+_0x5bf616,_0x1780('0x2c'),_0x1780('0x2d')];return squel[_0x1780('0x2f')]()['into'](_0x1780('0x44'))[_0x1780('0x32')]([_0x1780('0x13'),'ContactId',_0x1780('0x35'),_0x5bf616,_0x1780('0x36'),_0x1780('0x37')],squel[_0x1780('0x11')]()[_0x1780('0x3a')](_0x38843c)[_0x1780('0x14')](_0x484bb2)['join']('cm_contacts',null,_0x1780('0x3b')+_0x484bb2+_0x1780('0x3c'))['join'](_0x3a67a8,null,_0x3a67a8+_0x1780('0x3d')+_0x484bb2+'.'+_0x5bf616)[_0x1780('0x16')](_0x484bb2+_0x1780('0x3e'),_0x2faa28)[_0x1780('0x16')](_0x1780('0x3f'),NOW)[_0x1780('0x16')](_0x1780('0x40'),squel[_0x1780('0x11')]()[_0x1780('0x12')](_0x1780('0x13'))[_0x1780('0x14')](_0x1780('0x44'))['where'](_0x1780('0x45'),_0x2faa28)['where'](_0x5bf616+_0x1780('0x15')+_0x484bb2+'.'+_0x5bf616)))[_0x1780('0x46')]();}function insertTzCmHopper(_0xec6493,_0xef6eb6,_0x32f0be,_0x10ec9b,_0x242317,_0x2fe01f){var _0x3ef0f3=[_0x1780('0x43'),_0x1780('0x47')+_0x2fe01f+_0x1780('0x48'),'cm_contacts.id',_0x1780('0x2b'),_0xef6eb6+'.'+_0x10ec9b,_0x1780('0x2c'),_0x1780('0x2d'),_0x1780('0x2e'),_0x1780('0x49'),'\x22'+_0x242317+'\x22'];var _0x5d8fa7=squel[_0x1780('0x2f')]()[_0x1780('0x30')](_0x1780('0x31'))['fromQuery']([_0x1780('0x13'),_0x1780('0x33'),'ContactId',_0x1780('0x35'),_0x10ec9b,_0x1780('0x36'),'updatedAt',_0x1780('0x38'),_0x1780('0x39'),_0x1780('0x4a')],squel[_0x1780('0x11')]()['fields'](_0x3ef0f3)['from'](_0xef6eb6)[_0x1780('0x18')](_0x1780('0x4b'),null,'cm_contacts.ListId\x20=\x20'+_0xef6eb6+_0x1780('0x3c'))[_0x1780('0x18')](_0x32f0be,null,_0x32f0be+_0x1780('0x3d')+_0xef6eb6+'.'+_0x10ec9b)['join'](_0x2fe01f,null,_0x2fe01f+_0x1780('0x3d')+_0xef6eb6+'.'+_0x10ec9b)['where'](_0xef6eb6+'.CmListId\x20=\x20?',_0xec6493)[_0x1780('0x16')]('cm_contacts.createdAt\x20=\x20?',NOW)['where'](_0x1780('0x40'),selectNotIn(_0xef6eb6,_0x32f0be,_0x10ec9b,_0x1780('0x31'),[_0x1780('0x41'),_0x1780('0x42')]))[_0x1780('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0xef6eb6,_0x32f0be,_0x10ec9b,_0x1780('0x31'),[_0x1780('0x41')])))[_0x1780('0x46')]();return _0x5d8fa7;}function insertTzCmHopperBlack(_0x452a55,_0x1c1cd4,_0x4502a9,_0x53cc9b){var _0x3498fb=[_0x1780('0x43'),_0x1780('0x2a'),_0x1780('0x2b'),_0x1c1cd4+'.'+_0x53cc9b,_0x1780('0x2c'),_0x1780('0x2d')];return squel[_0x1780('0x2f')]()['into']('cm_hopper_black')[_0x1780('0x32')]([_0x1780('0x13'),_0x1780('0x34'),'ListId',_0x53cc9b,'createdAt','updatedAt'],squel[_0x1780('0x11')]()[_0x1780('0x3a')](_0x3498fb)[_0x1780('0x14')](_0x1c1cd4)['join'](_0x1780('0x4b'),null,_0x1780('0x3b')+_0x1c1cd4+_0x1780('0x3c'))[_0x1780('0x18')](_0x4502a9,null,_0x4502a9+_0x1780('0x3d')+_0x1c1cd4+'.'+_0x53cc9b)[_0x1780('0x16')](_0x1c1cd4+'.CmListId\x20=\x20?',_0x452a55)['where'](_0x1780('0x3f'),NOW)[_0x1780('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0x1780('0x11')]()['field']('phone')[_0x1780('0x14')](_0x1780('0x44'))[_0x1780('0x16')](_0x1780('0x45'),_0x452a55)[_0x1780('0x16')](_0x53cc9b+_0x1780('0x15')+_0x1c1cd4+'.'+_0x53cc9b)))[_0x1780('0x46')]();}function insertCmHopperAdditionalPhones(_0xbefabe){var _0xd86fc2=['cm_hopper.id',_0x1780('0x4c'),_0x1780('0x4d'),_0x1780('0x4e'),_0x1780('0x4f')];return squel[_0x1780('0x2f')]()[_0x1780('0x30')](_0x1780('0x50'))[_0x1780('0x32')]([_0x1780('0x51'),_0x1780('0x13'),_0x1780('0x52'),_0x1780('0x36'),_0x1780('0x37')],squel[_0x1780('0x11')]()['fields'](_0xd86fc2)[_0x1780('0x14')]('cm_hopper')[_0x1780('0x18')]('cm_contacts',null,_0x1780('0x53'))['join']('cm_contact_has_items',null,_0x1780('0x54'))[_0x1780('0x16')](_0x1780('0x55'),_0xbefabe)[_0x1780('0x16')](_0x1780('0x3f'),NOW))[_0x1780('0x46')]();}function insertCmContact(_0x2e4818,_0x481efe,_0x27e697,_0x569933){var _0x16bf59=_[_0x1780('0x56')](_[_0x1780('0x57')](_0x569933),['ListId',_0x1780('0x58'),_0x1780('0x36'),'updatedAt']);return squel[_0x1780('0x2f')]()[_0x1780('0x30')]('cm_contacts')['fromQuery'](_0x16bf59,squel[_0x1780('0x11')]()[_0x1780('0x3a')](_0x16bf59)['from'](_0x481efe)['where']('('+_0x27e697['join'](',')+_0x1780('0x59'),squel['select']()[_0x1780('0x3a')](_0x27e697)[_0x1780('0x14')]('cm_contacts')[_0x1780('0x16')]('ListId\x20=\x20?',_0x2e4818)[_0x1780('0x16')](_0x1780('0x5a')))[_0x1780('0x16')](_0x1780('0x5b'),squel[_0x1780('0x11')]()['field'](_0x1780('0x5c'),_0x1780('0x5d'))['from'](_0x481efe)[_0x1780('0x5e')](_0x27e697[_0x1780('0x18')](','))))[_0x1780('0x46')]();}function handleStop(){logger[_0x1780('0x5f')](_0x1780('0x60'));stopped=!![];}function handleUncaughtException(_0x2edcbf){logger[_0x1780('0x61')](_0x2edcbf[_0x1780('0x62')]);process[_0x1780('0x63')](0x1);}function handleError(_0x59916e,_0x4ebf1b){stats[_0x1780('0x64')]['push']({'name':_0x4ebf1b[_0x1780('0x65')],'message':_0x4ebf1b[_0x1780('0x62')],'row':_0x59916e});}function handleQuery(_0x886fe2){logger[_0x1780('0x5f')](_0x886fe2);return db['sequelize'][_0x1780('0x66')](_0x886fe2)['spread'](function(_0xa88efc){results[_0x1780('0x1c')](_0xa88efc);})[_0x1780('0x67')](function(_0x27d2a1){logger[_0x1780('0x61')](_0x27d2a1[_0x1780('0x62')]);});}function updateTzCampaigns(_0x37bd41){return new Promise(function(_0x367ec2,_0x2ff026){var _0x1e7066=squel['select']()[_0x1780('0x3a')]([_0x1780('0x68'),_0x1780('0x69')])[_0x1780('0x14')](_0x1780('0x6a'))[_0x1780('0x18')](_0x1780('0x6b'),null,_0x1780('0x6c'))['where']('campaigns_has_cm_lists.CmListId='+_0x37bd41);db[_0x1780('0x6d')]['query'](_0x1e7066['toString']())[_0x1780('0x6e')](function(_0x181d4d){var _0xb3ad97=[];for(var _0x241170=0x0;_0x241170<_0x181d4d[_0x1780('0x1f')];_0x241170++){_0xb3ad97['push'](getTimezoneData(_0x181d4d[_0x241170],tmp_campaigns));}BPromise[_0x1780('0x1d')](_0xb3ad97)[_0x1780('0x1b')](function(){_0x367ec2({'val':0x1});});})[_0x1780('0x67')](function(_0x268d22){logger[_0x1780('0x61')](_0x268d22['message']);_0x367ec2({'val':0x0});});});}function updateTzVoiceQueues(_0xab1876){return new Promise(function(_0x4b21d0,_0x52ec8b){var _0x44477f=squel[_0x1780('0x11')]()[_0x1780('0x3a')]([_0x1780('0x6f'),_0x1780('0x70')])[_0x1780('0x14')](_0x1780('0x71'))[_0x1780('0x18')](_0x1780('0x72'),null,_0x1780('0x73'))[_0x1780('0x16')]('voice_queues_has_cm_lists.CmListId='+_0xab1876);db['sequelize']['query'](_0x44477f[_0x1780('0x46')]())[_0x1780('0x6e')](function(_0x47100f){var _0x4fec26=[];for(var _0x39e3b9=0x0;_0x39e3b9<_0x47100f[_0x1780('0x1f')];_0x39e3b9++){_0x4fec26[_0x1780('0x1c')](getTimezoneData(_0x47100f[_0x39e3b9],tmp_voice_queues));}BPromise[_0x1780('0x1d')](_0x4fec26)[_0x1780('0x1b')](function(){_0x4b21d0({'val':0x1});});})[_0x1780('0x67')](function(_0x50c47f){logger['error'](_0x50c47f[_0x1780('0x62')]);_0x4b21d0({'val':0x0});});});}function getTimezoneData(_0x330c1f,_0x20be98){return new Promise(function(_0x578e44,_0x40e991){var _0x388f13=shared[_0x1780('0x74')];var _0x8e5857=_0x388f13[_0x330c1f[_0x1780('0x75')]];if(_[_0x1780('0x20')](_0x8e5857)){_0x578e44({'ret':0x1});}else{var _0x2a1ea4=_0x8e5857['utcOffset'];var _0x51bd14=squel[_0x1780('0x2f')]()[_0x1780('0x30')](_0x20be98)[_0x1780('0x76')]('id',_0x330c1f['id'])[_0x1780('0x76')]('offset',_0x2a1ea4)[_0x1780('0x76')](_0x1780('0x75'),_0x330c1f['dialTimezone'])['toString']();return db[_0x1780('0x6d')][_0x1780('0x66')](_0x51bd14)[_0x1780('0x6e')](function(_0x50096e){_0x578e44({'ret':0x1});})[_0x1780('0x67')](function(_0x345351){logger[_0x1780('0x61')](_0x345351[_0x1780('0x62')]);_0x40e991({'ret':0x1});});}});}function handleTZQuery(_0x429276){logger['info'](_0x429276);return db['sequelize'][_0x1780('0x66')](_0x429276)[_0x1780('0x6e')](function(_0x4bbda5){})['catch'](function(_0x42ee07){logger[_0x1780('0x61')](_0x42ee07['message']);});}function main(_0xeedce2,_0x34cee0,_0x1719ec,_0x38a955){logger[_0x1780('0x5f')]('main',_0xeedce2,JSON[_0x1780('0x77')](_0x34cee0));process['send']('start');var _0x26a89c=_0x34cee0['binding'];var _0xb9a3bf=_[_0x1780('0x78')](_0x26a89c);var _0x1c475d=_0x34cee0[_0x1780('0x79')];var _0x4856f2=path[_0x1780('0x18')](config[_0x1780('0x7a')],_0x1780('0x7b'),_0x1c475d+_0x1780('0x7c'));hasTZ=_['keys'](_0x26a89c)[_0x1780('0x7d')](_0x1780('0x75'));var _0x5d77cd=_[_0x1780('0x57')](_0x26a89c)[_0x1780('0x18')]();logger['info'](_0x1780('0x7e'),_0x5d77cd);db[_0x1780('0x7f')][_0x1780('0x19')]({'raw':!![],'attributes':['id',_0x1780('0x80')]})[_0x1780('0x1b')](function(_0x2589c6){for(var _0x402b41=0x0;_0x402b41<_0x2589c6[_0x1780('0x1f')];_0x402b41++){if(_0x2589c6[_0x402b41][_0x1780('0x80')]in _0x26a89c){contactItemTypes[_0x1780('0x1c')](_0x2589c6[_0x402b41]);delete _0xb9a3bf[_0x2589c6[_0x402b41][_0x1780('0x80')]];hasAdditionalPhones=!![];}for(var _0x47f5dc in _0x26a89c){if(_0x2589c6[_0x402b41]['name']+'_description'===_0x47f5dc){phoneDescriptions[_0x1780('0x1c')]({'itemTypeId':_0x2589c6[_0x402b41]['id'],'description':_0x47f5dc});delete _0xb9a3bf[_0x47f5dc];}}}if(hasAdditionalPhones)_0xb9a3bf[_0x1780('0x1a')]='';var _0x59658b=_[_0x1780('0x57')](_0xb9a3bf)[_0x1780('0x18')]();logger[_0x1780('0x5f')](_0x1780('0x7e'),_0x59658b);fs['writeFileSync'](_0x4856f2,_0x59658b+'\x0a');Papa['parse'](fs[_0x1780('0x81')](_0xeedce2),{'header':!![],'skipEmptyLines':!![],'step':function(_0x2731f4,_0x446384){try{for(var _0xeb8611=0x0,_0x725522=[];_0xeb8611<_0x2731f4['data'][_0x1780('0x1f')];_0xeb8611++){stats[_0x1780('0x82')]+=0x1;if(_0x2731f4[_0x1780('0x64')][_0xeb8611]){handleError(_0x2731f4['data'][_0xeb8611],_0x2731f4[_0x1780('0x64')][_0xeb8611]);}else{var _0x1e91bf=[];var _0x303e20=[];var _0x4b5bbd={};for(var _0x395774 in _0x26a89c){let _0x43a2d3=contactItemTypes[_0x1780('0x83')](_0x392ee8=>_0x392ee8[_0x1780('0x80')]===_0x395774);let _0x1e914d=contactItemTypes[_0x1780('0x83')](_0xa0a459=>_0xa0a459[_0x1780('0x80')]+_0x1780('0x84')===_0x395774);if(_['isNil'](_0x43a2d3)&&_[_0x1780('0x20')](_0x1e914d)){if(_0x26a89c[_0x1780('0x85')](_0x395774)){if(_0x2731f4[_0x1780('0x86')][_0xeb8611][_0x26a89c[_0x395774]]){var _0x45dd69=_[_0x1780('0x87')](_0x2731f4[_0x1780('0x86')][_0xeb8611][_0x26a89c[_0x395774]][_0x1780('0x88')](/"/g,'\x27'));switch(_0x395774){case'scheduledat':var _0x3f4157=moment(_0x45dd69,'YYYY-MM-DD\x20HH:mm:ss',!![]);if(_0x3f4157[_0x1780('0x89')]()){_0x725522[_0x1780('0x1c')]('\x22'+_0x45dd69+'\x22');}else{_0x1e91bf['push'](_0x1780('0x8a'));}break;case'priority':var _0x902cac=parseInt(_0x45dd69);_0x45dd69=_[_0x1780('0x8b')](_0x902cac)||_0x902cac<0x0||_0x902cac>0x4?_0x38a955?0x3:0x2:_0x902cac;_0x725522['push']('\x22'+_0x45dd69+'\x22');break;case _0x1780('0x39'):var _0x5b8a57=parseInt(_0x45dd69);if(_[_0x1780('0x8c')](_0x5b8a57)&&_[_0x1780('0x7d')](_0x1719ec,_0x5b8a57)){_0x725522['push']('\x22'+_0x5b8a57+'\x22');}else{_0x1e91bf['push']('agent\x20not\x20exists');}break;case _0x1780('0x8d'):if(isEmail(_0x45dd69)){_0x725522['push']('\x22'+_0x45dd69+'\x22');}else{_0x1e91bf[_0x1780('0x1c')](_0x1780('0x8e'));}break;case _0x1780('0x8f'):var _0x172b6f=moment(_0x45dd69,_0x1780('0x90'),!![]);if(_0x172b6f[_0x1780('0x89')]()){_0x725522[_0x1780('0x1c')]('\x22'+_0x45dd69+'\x22');}else{_0x1e91bf[_0x1780('0x1c')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;case _0x1780('0x75'):var _0x2e9910=shared[_0x1780('0x74')];var _0x3a3ea8=_0x2e9910[_0x45dd69];if(!_[_0x1780('0x20')](_0x3a3ea8)){var _0x3180d0=_0x3a3ea8[_0x1780('0x91')];_0x725522[_0x1780('0x1c')]('\x22'+_0x45dd69+'\x22');_0x725522[_0x1780('0x1c')]('\x22'+_0x3180d0+'\x22');}break;default:_0x725522[_0x1780('0x1c')]('\x22'+_0x45dd69+'\x22');}}else{switch(_0x395774){case _0x1780('0x92'):case'phone':_0x1e91bf['push'](_0x395774+_0x1780('0x93'));break;default:_0x725522[_0x1780('0x1c')]('\x22\x22');}}}}else{var _0x303b0a='';if(!_[_0x1780('0x20')](_0x43a2d3)){if(!_0x4b5bbd['hasOwnProperty'](_0x43a2d3['id'])){if(!_[_0x1780('0x20')](_0x2731f4[_0x1780('0x86')][_0xeb8611][_0x26a89c[_0x395774]])){var _0x45dd69=_[_0x1780('0x87')](_0x2731f4[_0x1780('0x86')][_0xeb8611][_0x26a89c[_0x395774]][_0x1780('0x88')](/"/g,'\x27'));var _0x39c0f3=phoneDescriptions[_0x1780('0x83')](_0x5af5c0=>_0x5af5c0[_0x1780('0x94')]===_0x43a2d3['id']);if(!_[_0x1780('0x20')](_0x39c0f3)){var _0x909c49=_[_0x1780('0x87')](_0x2731f4[_0x1780('0x86')][_0xeb8611][_0x26a89c[_0x39c0f3[_0x1780('0x95')]]]['replace'](/"/g,'\x27'));if(!_[_0x1780('0x20')](_0x909c49))_0x45dd69=_0x45dd69+'§'+_0x909c49;}if(_0x303b0a=='')_0x303b0a=_0x45dd69;else _0x303b0a+='|'+_0x45dd69;}_0x303e20['push'](_0x43a2d3['id']+':'+_0x303b0a);_0x4b5bbd[_0x43a2d3['id']]=0x1;}}}}if(hasAdditionalPhones){_0x725522[_0x1780('0x1c')]('\x22'+_0x303e20['join'](';')+'\x22');}if(_0x1e91bf[_0x1780('0x1f')]){handleError(_0x2731f4[_0x1780('0x86')][_0xeb8611],{'code':_0x1780('0x96'),'message':_0x1e91bf['join']()});}else{fs['appendFileSync'](_0x4856f2,_0x725522[_0x1780('0x18')]()+'\x0a');}_0x725522=[];}if(!(stats[_0x1780('0x82')]%0xc8)){socket[_0x1780('0x97')](_0x1780('0x98')+_0x1c475d,stats);stats[_0x1780('0x64')]=[];}}if(stopped){logger[_0x1780('0x5f')](_0x1780('0x99'));_0x446384['abort']();}}catch(_0x1b403e){handleError(_0x2731f4[_0x1780('0x86')][_0xeb8611],{'code':_0x1780('0x9a'),'message':_0x1b403e['message']});logger[_0x1780('0x61')](_0x1780('0x9b'),_0x1b403e[_0x1780('0x62')]);}},'complete':function(){try{var _0x4806e4=[];var _0x4f3185=[];var _0x59cdb9='cm_contacts';if(_0x34cee0[_0x1780('0x9c')]&&_0x34cee0[_0x1780('0x9c')]['length']){_0x59cdb9=_0x1780('0x9d')+_0x1c475d;_0x4806e4[_0x1780('0x1c')](_0x1780('0x9e')+_0x59cdb9+_0x1780('0x9f'));}tmp_campaigns=_0x1780('0xa0')+_0x1c475d;tmp_voice_queues='voice_queues_'+_0x1c475d;_0x4f3185[_0x1780('0x1c')](_0x1780('0x9e')+tmp_campaigns+_0x1780('0xa1'));_0x4f3185['push'](_0x1780('0x9e')+tmp_voice_queues+_0x1780('0xa1'));BPromise['each'](_0x4f3185,handleTZQuery)['then'](function(_0x2f1b11){updateTzCampaigns(_0x34cee0['ListId'])[_0x1780('0x1b')](function(_0x4b3779){updateTzVoiceQueues(_0x34cee0[_0x1780('0x35')])[_0x1780('0x1b')](function(_0x1b45d1){if(hasTZ)_0x59658b=_0x59658b[_0x1780('0x88')]('dialTimezone','dialTimezone,utcOffset');var _0x1078f2=util[_0x1780('0xf')]('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',_0x4856f2,_0x59cdb9,_0x59658b,_0x34cee0[_0x1780('0x35')],_0x34cee0[_0x1780('0x58')]||null,NOW,NOW);if(_[_0x1780('0x20')](_0x26a89c[_0x1780('0x33')])){_0x1078f2+=_0x1780('0xa2');}_0x4806e4[_0x1780('0x1c')](_0x1078f2);if(_0x34cee0[_0x1780('0x9c')]&&_0x34cee0[_0x1780('0x9c')][_0x1780('0x1f')]){_0x4806e4[_0x1780('0x1c')](insertCmContact(_0x34cee0[_0x1780('0x35')],_0x59cdb9,_0x34cee0[_0x1780('0x9c')],_0x26a89c));_0x4806e4[_0x1780('0x1c')]('DROP\x20TABLE\x20'+_0x59cdb9+';');}BPromise['each'](_0x4806e4,handleQuery)['then'](function(_0x5698cc){BPromise[_0x1780('0x1d')]([handleAdditionalPhones()])['then'](function(){_0x4806e4=[];for(var _0x945b8=0x0;_0x945b8<promisesAdditionalPhones[_0x1780('0x1f')];_0x945b8++){if(promisesAdditionalPhones[_0x945b8][_0x1780('0x13')]!='§'){_0x4806e4[_0x1780('0x1c')](createAdditionalPhone(promisesAdditionalPhones[_0x945b8]['contactId'],promisesAdditionalPhones[_0x945b8][_0x1780('0xa3')],promisesAdditionalPhones[_0x945b8][_0x1780('0x13')],promisesAdditionalPhones[_0x945b8][_0x1780('0xa4')]));}}BPromise[_0x1780('0x1d')](_0x4806e4)[_0x1780('0x1b')](function(){_0x4806e4=[];if(hasTZ){_0x4806e4[_0x1780('0x1c')](insertTzCmHopper(_0x34cee0[_0x1780('0x35')],'voice_queues_has_cm_lists',_0x1780('0x71'),_0x1780('0xa5'),_0x38a955,tmp_voice_queues));_0x4806e4[_0x1780('0x1c')](insertTzCmHopperBlack(_0x34cee0['ListId'],_0x1780('0xa6'),_0x1780('0x71'),_0x1780('0xa5')));_0x4806e4[_0x1780('0x1c')](insertTzCmHopper(_0x34cee0[_0x1780('0x35')],_0x1780('0x6b'),_0x1780('0x6a'),_0x1780('0xa7'),_0x38a955,tmp_campaigns));_0x4806e4['push'](insertTzCmHopperBlack(_0x34cee0[_0x1780('0x35')],_0x1780('0xa8'),_0x1780('0x6a'),_0x1780('0xa7')));_0x4806e4[_0x1780('0x1c')](insertCmHopperAdditionalPhones(_0x34cee0[_0x1780('0x35')]));}else{_0x4806e4[_0x1780('0x1c')](insertCmHopper(_0x34cee0['ListId'],'voice_queues_has_cm_lists',_0x1780('0x71'),_0x1780('0xa5'),_0x38a955));_0x4806e4[_0x1780('0x1c')](insertCmHopperBlack(_0x34cee0[_0x1780('0x35')],'voice_queues_has_cm_blacklists',_0x1780('0x71'),'VoiceQueueId'));_0x4806e4['push'](insertCmHopper(_0x34cee0[_0x1780('0x35')],_0x1780('0x6b'),_0x1780('0x6a'),_0x1780('0xa7'),_0x38a955));_0x4806e4['push'](insertCmHopperBlack(_0x34cee0[_0x1780('0x35')],_0x1780('0xa8'),'campaigns',_0x1780('0xa7')));_0x4806e4[_0x1780('0x1c')](insertCmHopperAdditionalPhones(_0x34cee0['ListId']));}_0x4806e4[_0x1780('0x1c')]('DROP\x20TABLE\x20'+tmp_campaigns+';');_0x4806e4[_0x1780('0x1c')](_0x1780('0xa9')+tmp_voice_queues+';');BPromise[_0x1780('0xaa')](_0x4806e4,handleQuery)[_0x1780('0x1b')](function(_0x55c67e){stats[_0x1780('0xab')]=!![];stats[_0x1780('0xac')]=_0x34cee0[_0x1780('0x9c')]&&_0x34cee0[_0x1780('0x9c')]['length']?results[0x2][_0x1780('0xac')]:results[0x0]['affectedRows'];socket[_0x1780('0x97')](_0x1780('0x98')+_0x1c475d,stats);fs[_0x1780('0xad')](_0xeedce2);fs['unlink'](_0x4856f2);process[_0x1780('0x63')](0x0);})['catch'](function(_0x24f015){logger[_0x1780('0x61')](_0x24f015[_0x1780('0x62')]);process[_0x1780('0x63')](0x1);});});});})[_0x1780('0x67')](function(_0x39e23b){logger['error'](_0x39e23b[_0x1780('0x62')]);process[_0x1780('0x63')](0x1);});});});});}catch(_0x11fc12){logger['error'](_0x1780('0xae'),_0x11fc12[_0x1780('0x62')]);process[_0x1780('0x63')](0x1);}},'error':function(_0xf3aeed,_0x2c62d9,_0x2d1234,_0x5a82ab){throw new Error(_0x5a82ab);}});});}function validate(){if(process[_0x1780('0xaf')]&&process[_0x1780('0xaf')]['length']<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x1046a5=path['join'](config[_0x1780('0x7a')],_0x1780('0x7b'),process['argv'][0x2]);if(!fs[_0x1780('0xb0')](_0x1046a5)){throw new Error(_0x1780('0xb1'));}var _0x59f123={};try{_0x59f123=JSON[_0x1780('0xb2')](process[_0x1780('0xaf')][0x3]);if(!_0x59f123[_0x1780('0xb3')]){throw new Error(_0x1780('0xb4'));}if(!_0x59f123[_0x1780('0xb3')]['phone']){throw new Error(_0x1780('0xb5'));}if(!_0x59f123[_0x1780('0xb3')][_0x1780('0x92')]){throw new Error(_0x1780('0xb6'));}var _0x35ce0a=0x0;if(_0x59f123[_0x1780('0xb3')][_0x1780('0x39')]){_0x35ce0a=0x1;}if(!_0x59f123[_0x1780('0x35')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x216c6e){throw new Error(_0x1780('0xb7'));}var _0x22947c=[];try{_0x22947c=_['map'](JSON[_0x1780('0xb2')](process[_0x1780('0xaf')][0x4]),'id');}catch(_0x31fa5d){logger[_0x1780('0x5f')](_0x1780('0xb8'));}main(_0x1046a5,_0x59f123,_0x22947c,_0x35ce0a);}validate();process['on'](_0x1780('0xb9'),handleStop);process['on']('uncaughtException',handleUncaughtException);