Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / api / cmHopperAdditionalPhone / cmHopperAdditionalPhone.rpc.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 _0xa9f2=['ASC','countbusyretry','countcongestionretry','countabandonedretry','countmachineretry','countagentrejectretry','entity','dialGlobalMaxRetry','countnoanswerretry','countnosuchnumberretry','VerifyAdditionalPhones','SwapAdditionalPhones','ContactId','duration','waitTime','catch','scheduledat','minutes','add','phone','countdropretry','createdAt','updatedAt','isNil','hopperToAdd','additionalToHop','sequelize','transaction','update','IncrementPreviewCounters','field','lodash','util','moment','bluebird','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','client','http','then','CmHopperAdditionalPhone,\x20%s,\x20%s','request\x20sent','debug','CmHopperAdditionalPhone,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','CmHopper','findOne','body','ListId','VoiceQueueId','CampaignId','CmHopperAdditionalPhone','OrderBy'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0xa9f2,0x150));var _0x2a9f=function(_0x178c47,_0x104e50){_0x178c47=_0x178c47-0x0;var _0x77e996=_0xa9f2[_0x178c47];return _0x77e996;};'use strict';var _=require(_0x2a9f('0x0'));var util=require(_0x2a9f('0x1'));var moment=require(_0x2a9f('0x2'));var BPromise=require(_0x2a9f('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x2a9f('0x4'));var db=require(_0x2a9f('0x5'))['db'];var utils=require(_0x2a9f('0x6'));var logger=require('../../config/logger')(_0x2a9f('0x7'));var config=require(_0x2a9f('0x8'));var jayson=require('jayson/promise');var client=jayson[_0x2a9f('0x9')][_0x2a9f('0xa')]({'port':0x232a});function respondWithRpcPromise(_0x2a2492,_0x38a099,_0x5c7da3){return new BPromise(function(_0x37b1dc,_0x452493){return client['request'](_0x2a2492,_0x5c7da3)[_0x2a9f('0xb')](function(_0x240e4f){logger['info'](_0x2a9f('0xc'),_0x38a099,_0x2a9f('0xd'));logger[_0x2a9f('0xe')](_0x2a9f('0xf'),_0x38a099,_0x2a9f('0xd'),JSON[_0x2a9f('0x10')](_0x240e4f));if(_0x240e4f[_0x2a9f('0x11')]){if(_0x240e4f[_0x2a9f('0x11')][_0x2a9f('0x12')]===0x1f4){logger['error'](_0x2a9f('0xc'),_0x38a099,_0x240e4f[_0x2a9f('0x11')]['message']);return _0x452493(_0x240e4f[_0x2a9f('0x11')][_0x2a9f('0x13')]);}logger[_0x2a9f('0x11')](_0x2a9f('0xc'),_0x38a099,_0x240e4f[_0x2a9f('0x11')][_0x2a9f('0x13')]);return _0x37b1dc(_0x240e4f[_0x2a9f('0x11')][_0x2a9f('0x13')]);}else{logger[_0x2a9f('0x14')]('CmHopperAdditionalPhone,\x20%s,\x20%s',_0x38a099,_0x2a9f('0xd'));_0x37b1dc(_0x240e4f[_0x2a9f('0x15')][_0x2a9f('0x13')]);}})['catch'](function(_0x2855b5){logger[_0x2a9f('0x11')](_0x2a9f('0xc'),_0x38a099,_0x2855b5);_0x452493(_0x2855b5);});});}exports['VerifyAdditionalPhones']=function(_0x5c4951){var _0x46b594=this;return new Promise(function(_0x4d4bb3,_0x5bf46b){return db[_0x2a9f('0x16')][_0x2a9f('0x17')]({'raw':!![],'where':{'ContactId':_0x5c4951[_0x2a9f('0x18')]['ContactId'],'ListId':_0x5c4951[_0x2a9f('0x18')][_0x2a9f('0x19')],'VoiceQueueId':_0x5c4951[_0x2a9f('0x18')]['VoiceQueueId']===undefined?null:_0x5c4951[_0x2a9f('0x18')][_0x2a9f('0x1a')],'CampaignId':_0x5c4951[_0x2a9f('0x18')][_0x2a9f('0x1b')]===undefined?null:_0x5c4951[_0x2a9f('0x18')]['CampaignId']}})[_0x2a9f('0xb')](function(_0x26e656){if(_0x26e656!=null){return db[_0x2a9f('0x1c')][_0x2a9f('0x17')]({'raw':!![],'where':{'CmHopperId':_0x26e656['id'],'OrderBy':{'$gt':_0x26e656[_0x2a9f('0x1d')]}},'order':[[_0x2a9f('0x1d'),_0x2a9f('0x1e')]]})[_0x2a9f('0xb')](function(_0x2cff6d){var _0x54a218=0x0;if(_0x2cff6d){if(_0x2cff6d[_0x2a9f('0x1f')]+_0x2cff6d[_0x2a9f('0x20')]+_0x2cff6d['countnoanswerretry']+_0x2cff6d['countnosuchnumberretry']+_0x2cff6d['countdropretry']+_0x2cff6d[_0x2a9f('0x21')]+_0x2cff6d[_0x2a9f('0x22')]+_0x2cff6d[_0x2a9f('0x23')]<_0x5c4951[_0x2a9f('0x24')][_0x2a9f('0x25')])_0x54a218=0x1;_0x4d4bb3({'additional':_0x54a218});}else{return db[_0x2a9f('0x1c')][_0x2a9f('0x17')]({'raw':!![],'where':{'CmHopperId':_0x26e656['id']},'order':[[_0x2a9f('0x1d'),_0x2a9f('0x1e')]]})[_0x2a9f('0xb')](function(_0x5a74fb){var _0x4d0c19=0x0;if(_0x5a74fb){if(_0x5a74fb[_0x2a9f('0x1f')]+_0x5a74fb[_0x2a9f('0x20')]+_0x5a74fb[_0x2a9f('0x26')]+_0x5a74fb[_0x2a9f('0x27')]+_0x5a74fb['countdropretry']+_0x5a74fb[_0x2a9f('0x21')]+_0x5a74fb[_0x2a9f('0x22')]+_0x5a74fb[_0x2a9f('0x23')]<_0x5c4951[_0x2a9f('0x24')][_0x2a9f('0x25')])_0x4d0c19=0x1;_0x4d4bb3({'additional':_0x4d0c19});}else{_0x4d4bb3({'additional':0x0});}})['catch'](function(_0x54ec6b){logger[_0x2a9f('0x11')](_0x2a9f('0x28'),_0x54ec6b[_0x2a9f('0x13')],_0x5c4951);_0x5bf46b(_0x46b594[_0x2a9f('0x11')](0x1f4,_0x54ec6b[_0x2a9f('0x13')]));});}})['catch'](function(_0x46b02d){logger[_0x2a9f('0x11')](_0x2a9f('0x28'),_0x46b02d[_0x2a9f('0x13')],_0x5c4951);_0x5bf46b(_0x46b594[_0x2a9f('0x11')](0x1f4,_0x46b02d[_0x2a9f('0x13')]));});}else _0x4d4bb3({'additional':0x0});});});};exports[_0x2a9f('0x29')]=function(_0x5c7f51){var _0x4dbac7=this;return new Promise(function(_0x405d45,_0x1de6d1){return db[_0x2a9f('0x16')]['findOne']({'raw':!![],'where':{'ContactId':_0x5c7f51['body'][_0x2a9f('0x2a')],'ListId':_0x5c7f51['body'][_0x2a9f('0x19')],'VoiceQueueId':_0x5c7f51['body']['VoiceQueueId']===undefined?null:_0x5c7f51['body'][_0x2a9f('0x1a')],'CampaignId':_0x5c7f51['body'][_0x2a9f('0x1b')]===undefined?null:_0x5c7f51[_0x2a9f('0x18')]['CampaignId']}})['then'](function(_0x5be125){if(_0x5be125!=null){return db[_0x2a9f('0x1c')][_0x2a9f('0x17')]({'raw':!![],'where':{'CmHopperId':_0x5be125['id'],'OrderBy':{'$gt':_0x5be125[_0x2a9f('0x1d')]}},'order':[[_0x2a9f('0x1d'),_0x2a9f('0x1e')]]})[_0x2a9f('0xb')](function(_0x4d22ab){if(_0x4d22ab)return activateAdditionalPhone(_0x5be125,_0x5c7f51['body'],_0x4d22ab,_0x5c7f51[_0x2a9f('0x2b')],_0x5c7f51['waitTime'])[_0x2a9f('0xb')](function(_0x514225){_0x405d45(_0x514225);});else{return db[_0x2a9f('0x1c')]['findOne']({'raw':!![],'where':{'CmHopperId':_0x5be125['id']},'order':[[_0x2a9f('0x1d'),'ASC']]})[_0x2a9f('0xb')](function(_0x51106a){if(_0x51106a)return activateAdditionalPhone(_0x5be125,_0x5c7f51[_0x2a9f('0x18')],_0x51106a,_0x5c7f51[_0x2a9f('0x2b')],_0x5c7f51[_0x2a9f('0x2c')])['then'](function(_0x569b32){_0x405d45(_0x569b32);});else{_0x405d45({'id':_0x5be125['id'],'phone':''});}})[_0x2a9f('0x2d')](function(_0x1c9f43){logger[_0x2a9f('0x11')](_0x2a9f('0x28'),_0x1c9f43[_0x2a9f('0x13')],_0x5c7f51);_0x1de6d1(_0x4dbac7[_0x2a9f('0x11')](0x1f4,_0x1c9f43['message']));});}})[_0x2a9f('0x2d')](function(_0x468a15){logger[_0x2a9f('0x11')](_0x2a9f('0x28'),_0x468a15[_0x2a9f('0x13')],_0x5c7f51);_0x1de6d1(_0x4dbac7[_0x2a9f('0x11')](0x1f4,_0x468a15['message']));});}else _0x405d45(0x1);});});};function activateAdditionalPhone(_0x2e9abc,_0x42de93,_0x5679f8,_0x5912f7,_0x18ac21){return new Promise(function(_0x2895fc,_0x45ac0f){logger[_0x2a9f('0x14')](_0x2a9f('0x28'),_0x5679f8);var _0x291499;if(moment()>moment(_0x5679f8[_0x2a9f('0x2e')])){_0x291499=moment()['add'](_0x18ac21||0x3,_0x2a9f('0x2f'));}else{if(_0x5679f8['OrderBy']==0x0){_0x291499=moment(_0x5679f8[_0x2a9f('0x2e')]);}else{_0x291499=moment()[_0x2a9f('0x30')](_0x18ac21||0x3,_0x2a9f('0x2f'));}}var _0x359c89={'phone':_0x2e9abc[_0x2a9f('0x31')],'active':0x0,'OrderBy':_['isNil'](_0x2e9abc['OrderBy'])?0x0:_0x2e9abc[_0x2a9f('0x1d')],'scheduledat':moment()[_0x2a9f('0x30')](_0x5912f7||0x1,_0x2a9f('0x2f')),'countbusyretry':_0x42de93['countbusyretry'],'countcongestionretry':_0x42de93[_0x2a9f('0x20')],'countnoanswerretry':_0x42de93[_0x2a9f('0x26')],'countnosuchnumberretry':_0x42de93[_0x2a9f('0x27')],'countdropretry':_0x42de93[_0x2a9f('0x32')],'countabandonedretry':_0x42de93[_0x2a9f('0x21')],'countmachineretry':_0x42de93[_0x2a9f('0x22')],'countagentrejectretry':_0x42de93['countagentrejectretry'],'createdAt':_0x42de93[_0x2a9f('0x33')],'updatedAt':_0x42de93[_0x2a9f('0x34')]};var _0x89336a={'CmHopperId':_0x2e9abc['id'],'phone':_0x5679f8['phone'],'active':0x0,'OrderBy':_[_0x2a9f('0x35')](_0x5679f8[_0x2a9f('0x1d')])?0x0:_0x5679f8['OrderBy'],'scheduledat':_0x291499,'countbusyretry':_0x5679f8[_0x2a9f('0x1f')],'countcongestionretry':_0x5679f8[_0x2a9f('0x20')],'countnoanswerretry':_0x5679f8[_0x2a9f('0x26')],'countnosuchnumberretry':_0x42de93['countnosuchnumberretry'],'countdropretry':_0x42de93[_0x2a9f('0x32')],'countabandonedretry':_0x42de93[_0x2a9f('0x21')],'countmachineretry':_0x42de93['countmachineretry'],'countagentrejectretry':_0x42de93[_0x2a9f('0x23')],'createdAt':_0x5679f8[_0x2a9f('0x33')],'updatedAt':_0x5679f8[_0x2a9f('0x34')]};logger['info'](_0x2a9f('0x36'),_0x359c89);logger['info'](_0x2a9f('0x37'),_0x89336a);return db[_0x2a9f('0x38')][_0x2a9f('0x39')](function(_0x48631a){return db[_0x2a9f('0x1c')][_0x2a9f('0x3a')](_0x359c89,{'where':{'id':_0x5679f8['id']}},{'transaction':_0x48631a})[_0x2a9f('0xb')](function(){return db[_0x2a9f('0x16')][_0x2a9f('0x3a')](_0x89336a,{'where':{'id':_0x2e9abc['id']}},{'transaction':_0x48631a});});})[_0x2a9f('0xb')](function(_0x59948d){_0x2895fc({'id':_0x2e9abc['id'],'phone':_0x5679f8[_0x2a9f('0x31')]});})[_0x2a9f('0x2d')](function(_0x147a0c){logger[_0x2a9f('0x11')](_0x2a9f('0x28'),_0x147a0c[_0x2a9f('0x13')],req);_0x45ac0f(_this['error'](0x1f4,_0x147a0c[_0x2a9f('0x13')]));});});}exports[_0x2a9f('0x3b')]=function(_0x23b8d6){var _0x2bd71a=this;return new Promise(function(_0x518079,_0x5c45bf){return db[_0x2a9f('0x16')][_0x2a9f('0x3a')](_0x23b8d6[_0x2a9f('0x18')][_0x2a9f('0x3c')],{'where':{'id':_0x23b8d6[_0x2a9f('0x18')]['id']}})[_0x2a9f('0xb')](function(_0x1db069){_0x518079(_0x1db069);})[_0x2a9f('0x2d')](function(_0x375396){logger[_0x2a9f('0x11')](_0x2a9f('0x3b'),_0x375396[_0x2a9f('0x13')],_0x23b8d6);_0x5c45bf(_0x2bd71a[_0x2a9f('0x11')](0x1f4,_0x375396[_0x2a9f('0x13')]));});});};