Built motion from commit (unavailable).|2.5.1
[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 _0xcae9=['updatedAt','additionalToHop','sequelize','update','IncrementPreviewCounters','field','lodash','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','http','then','info','request\x20sent','debug','stringify','error','code','message','CmHopperAdditionalPhone,\x20%s,\x20%s','result','catch','VerifyAdditionalPhones','CmHopper','findOne','body','VoiceQueueId','CampaignId','OrderBy','ASC','countbusyretry','countnoanswerretry','countnosuchnumberretry','countdropretry','countmachineretry','countagentrejectretry','dialGlobalMaxRetry','CmHopperAdditionalPhone','countcongestionretry','countabandonedretry','entity','SwapAdditionalPhones','ListId','waitTime','scheduledat','add','minutes','phone','isNil','createdAt'];(function(_0x465028,_0x4570ac){var _0xb783d4=function(_0x5458c5){while(--_0x5458c5){_0x465028['push'](_0x465028['shift']());}};_0xb783d4(++_0x4570ac);}(_0xcae9,0xe2));var _0x9cae=function(_0x15cae3,_0x458cb9){_0x15cae3=_0x15cae3-0x0;var _0x20596f=_0xcae9[_0x15cae3];return _0x20596f;};'use strict';var _=require(_0x9cae('0x0'));var util=require('util');var moment=require(_0x9cae('0x1'));var BPromise=require(_0x9cae('0x2'));var rs=require(_0x9cae('0x3'));var fs=require('fs');var Redis=require(_0x9cae('0x4'));var db=require(_0x9cae('0x5'))['db'];var utils=require(_0x9cae('0x6'));var logger=require(_0x9cae('0x7'))('rpc');var config=require(_0x9cae('0x8'));var jayson=require('jayson/promise');var client=jayson['client'][_0x9cae('0x9')]({'port':0x232a});function respondWithRpcPromise(_0x3bf641,_0x52fe2f,_0x2b0a1b){return new BPromise(function(_0x1e600a,_0x3152c3){return client['request'](_0x3bf641,_0x2b0a1b)[_0x9cae('0xa')](function(_0x56b11e){logger[_0x9cae('0xb')]('CmHopperAdditionalPhone,\x20%s,\x20%s',_0x52fe2f,_0x9cae('0xc'));logger[_0x9cae('0xd')]('CmHopperAdditionalPhone,\x20%s,\x20%s,\x20%s',_0x52fe2f,_0x9cae('0xc'),JSON[_0x9cae('0xe')](_0x56b11e));if(_0x56b11e['error']){if(_0x56b11e[_0x9cae('0xf')][_0x9cae('0x10')]===0x1f4){logger[_0x9cae('0xf')]('CmHopperAdditionalPhone,\x20%s,\x20%s',_0x52fe2f,_0x56b11e[_0x9cae('0xf')][_0x9cae('0x11')]);return _0x3152c3(_0x56b11e['error'][_0x9cae('0x11')]);}logger[_0x9cae('0xf')](_0x9cae('0x12'),_0x52fe2f,_0x56b11e[_0x9cae('0xf')][_0x9cae('0x11')]);return _0x1e600a(_0x56b11e[_0x9cae('0xf')]['message']);}else{logger[_0x9cae('0xb')](_0x9cae('0x12'),_0x52fe2f,_0x9cae('0xc'));_0x1e600a(_0x56b11e[_0x9cae('0x13')][_0x9cae('0x11')]);}})[_0x9cae('0x14')](function(_0x2952c5){logger[_0x9cae('0xf')]('CmHopperAdditionalPhone,\x20%s,\x20%s',_0x52fe2f,_0x2952c5);_0x3152c3(_0x2952c5);});});}exports[_0x9cae('0x15')]=function(_0x473d30){var _0x1f5e73=this;return new Promise(function(_0x34d084,_0x5ea393){return db[_0x9cae('0x16')][_0x9cae('0x17')]({'raw':!![],'where':{'ContactId':_0x473d30[_0x9cae('0x18')]['ContactId'],'ListId':_0x473d30[_0x9cae('0x18')]['ListId'],'VoiceQueueId':_0x473d30['body']['VoiceQueueId']===undefined?null:_0x473d30[_0x9cae('0x18')][_0x9cae('0x19')],'CampaignId':_0x473d30[_0x9cae('0x18')][_0x9cae('0x1a')]===undefined?null:_0x473d30[_0x9cae('0x18')]['CampaignId']}})[_0x9cae('0xa')](function(_0x1efe82){if(_0x1efe82!=null){return db['CmHopperAdditionalPhone']['findOne']({'raw':!![],'where':{'CmHopperId':_0x1efe82['id'],'OrderBy':{'$gt':_0x1efe82[_0x9cae('0x1b')]}},'order':[[_0x9cae('0x1b'),_0x9cae('0x1c')]]})[_0x9cae('0xa')](function(_0x57a836){var _0xcb9b59=0x0;if(_0x57a836){if(_0x57a836[_0x9cae('0x1d')]+_0x57a836['countcongestionretry']+_0x57a836[_0x9cae('0x1e')]+_0x57a836[_0x9cae('0x1f')]+_0x57a836[_0x9cae('0x20')]+_0x57a836['countabandonedretry']+_0x57a836[_0x9cae('0x21')]+_0x57a836[_0x9cae('0x22')]<_0x473d30['entity'][_0x9cae('0x23')])_0xcb9b59=0x1;_0x34d084({'additional':_0xcb9b59});}else{return db[_0x9cae('0x24')]['findOne']({'raw':!![],'where':{'CmHopperId':_0x1efe82['id']},'order':[[_0x9cae('0x1b'),_0x9cae('0x1c')]]})[_0x9cae('0xa')](function(_0x34a77f){var _0x2a41ea=0x0;if(_0x34a77f){if(_0x34a77f[_0x9cae('0x1d')]+_0x34a77f[_0x9cae('0x25')]+_0x34a77f['countnoanswerretry']+_0x34a77f['countnosuchnumberretry']+_0x34a77f['countdropretry']+_0x34a77f[_0x9cae('0x26')]+_0x34a77f[_0x9cae('0x21')]+_0x34a77f['countagentrejectretry']<_0x473d30[_0x9cae('0x27')][_0x9cae('0x23')])_0x2a41ea=0x1;_0x34d084({'additional':_0x2a41ea});}else{_0x34d084({'additional':0x0});}})[_0x9cae('0x14')](function(_0x12750a){logger[_0x9cae('0xf')](_0x9cae('0x15'),_0x12750a[_0x9cae('0x11')],_0x473d30);_0x5ea393(_0x1f5e73[_0x9cae('0xf')](0x1f4,_0x12750a['message']));});}})[_0x9cae('0x14')](function(_0x48971a){logger[_0x9cae('0xf')](_0x9cae('0x15'),_0x48971a[_0x9cae('0x11')],_0x473d30);_0x5ea393(_0x1f5e73[_0x9cae('0xf')](0x1f4,_0x48971a['message']));});}else _0x34d084({'additional':0x0});});});};exports[_0x9cae('0x28')]=function(_0xc599af){var _0x4c3238=this;return new Promise(function(_0x38da2c,_0x5b0674){return db[_0x9cae('0x16')][_0x9cae('0x17')]({'raw':!![],'where':{'ContactId':_0xc599af[_0x9cae('0x18')]['ContactId'],'ListId':_0xc599af[_0x9cae('0x18')][_0x9cae('0x29')],'VoiceQueueId':_0xc599af[_0x9cae('0x18')][_0x9cae('0x19')]===undefined?null:_0xc599af[_0x9cae('0x18')]['VoiceQueueId'],'CampaignId':_0xc599af['body'][_0x9cae('0x1a')]===undefined?null:_0xc599af[_0x9cae('0x18')]['CampaignId']}})[_0x9cae('0xa')](function(_0x3fab11){if(_0x3fab11!=null){return db[_0x9cae('0x24')][_0x9cae('0x17')]({'raw':!![],'where':{'CmHopperId':_0x3fab11['id'],'OrderBy':{'$gt':_0x3fab11[_0x9cae('0x1b')]}},'order':[[_0x9cae('0x1b'),'ASC']]})[_0x9cae('0xa')](function(_0x4adae4){if(_0x4adae4)return activateAdditionalPhone(_0x3fab11,_0xc599af[_0x9cae('0x18')],_0x4adae4,_0xc599af['duration'],_0xc599af[_0x9cae('0x2a')])[_0x9cae('0xa')](function(_0x4755f9){_0x38da2c(_0x4755f9);});else{return db[_0x9cae('0x24')][_0x9cae('0x17')]({'raw':!![],'where':{'CmHopperId':_0x3fab11['id']},'order':[['OrderBy',_0x9cae('0x1c')]]})['then'](function(_0x37d80d){if(_0x37d80d)return activateAdditionalPhone(_0x3fab11,_0xc599af[_0x9cae('0x18')],_0x37d80d,_0xc599af['duration'],_0xc599af[_0x9cae('0x2a')])[_0x9cae('0xa')](function(_0x549f3e){_0x38da2c(_0x549f3e);});else{_0x38da2c({'id':_0x3fab11['id'],'phone':''});}})[_0x9cae('0x14')](function(_0x12617b){logger[_0x9cae('0xf')](_0x9cae('0x15'),_0x12617b[_0x9cae('0x11')],_0xc599af);_0x5b0674(_0x4c3238[_0x9cae('0xf')](0x1f4,_0x12617b[_0x9cae('0x11')]));});}})[_0x9cae('0x14')](function(_0xff8e0b){logger['error'](_0x9cae('0x15'),_0xff8e0b['message'],_0xc599af);_0x5b0674(_0x4c3238[_0x9cae('0xf')](0x1f4,_0xff8e0b['message']));});}else _0x38da2c(0x1);});});};function activateAdditionalPhone(_0x535e72,_0x3822d7,_0x23c514,_0x57e0ff,_0x44bc7a){return new Promise(function(_0x5002b5,_0x409b04){logger[_0x9cae('0xb')]('VerifyAdditionalPhones',_0x23c514);var _0x29e766;if(moment()>moment(_0x23c514[_0x9cae('0x2b')])){_0x29e766=moment()[_0x9cae('0x2c')](_0x44bc7a||0x3,_0x9cae('0x2d'));}else{if(_0x23c514['OrderBy']==0x0){_0x29e766=moment(_0x23c514[_0x9cae('0x2b')]);}else{_0x29e766=moment()[_0x9cae('0x2c')](_0x44bc7a||0x3,_0x9cae('0x2d'));}}var _0x1907f9={'phone':_0x535e72[_0x9cae('0x2e')],'active':0x0,'OrderBy':_[_0x9cae('0x2f')](_0x535e72[_0x9cae('0x1b')])?0x0:_0x535e72[_0x9cae('0x1b')],'scheduledat':moment()[_0x9cae('0x2c')](_0x57e0ff||0x1,_0x9cae('0x2d')),'countbusyretry':_0x3822d7[_0x9cae('0x1d')],'countcongestionretry':_0x3822d7[_0x9cae('0x25')],'countnoanswerretry':_0x3822d7[_0x9cae('0x1e')],'countnosuchnumberretry':_0x3822d7[_0x9cae('0x1f')],'countdropretry':_0x3822d7[_0x9cae('0x20')],'countabandonedretry':_0x3822d7[_0x9cae('0x26')],'countmachineretry':_0x3822d7['countmachineretry'],'countagentrejectretry':_0x3822d7[_0x9cae('0x22')],'createdAt':_0x3822d7[_0x9cae('0x30')],'updatedAt':_0x3822d7['updatedAt']};var _0x451335={'CmHopperId':_0x535e72['id'],'phone':_0x23c514[_0x9cae('0x2e')],'active':0x0,'OrderBy':_[_0x9cae('0x2f')](_0x23c514[_0x9cae('0x1b')])?0x0:_0x23c514[_0x9cae('0x1b')],'scheduledat':_0x29e766,'countbusyretry':_0x23c514[_0x9cae('0x1d')],'countcongestionretry':_0x23c514[_0x9cae('0x25')],'countnoanswerretry':_0x23c514[_0x9cae('0x1e')],'countnosuchnumberretry':_0x3822d7['countnosuchnumberretry'],'countdropretry':_0x3822d7[_0x9cae('0x20')],'countabandonedretry':_0x3822d7['countabandonedretry'],'countmachineretry':_0x3822d7['countmachineretry'],'countagentrejectretry':_0x3822d7['countagentrejectretry'],'createdAt':_0x23c514[_0x9cae('0x30')],'updatedAt':_0x23c514[_0x9cae('0x31')]};logger[_0x9cae('0xb')]('hopperToAdd',_0x1907f9);logger[_0x9cae('0xb')](_0x9cae('0x32'),_0x451335);return db[_0x9cae('0x33')]['transaction'](function(_0x210764){return db[_0x9cae('0x24')][_0x9cae('0x34')](_0x1907f9,{'where':{'id':_0x23c514['id']}},{'transaction':_0x210764})[_0x9cae('0xa')](function(){return db[_0x9cae('0x16')][_0x9cae('0x34')](_0x451335,{'where':{'id':_0x535e72['id']}},{'transaction':_0x210764});});})['then'](function(_0x3b3d3c){_0x5002b5({'id':_0x535e72['id'],'phone':_0x23c514[_0x9cae('0x2e')]});})[_0x9cae('0x14')](function(_0x55f25b){logger['error'](_0x9cae('0x15'),_0x55f25b[_0x9cae('0x11')],req);_0x409b04(_this[_0x9cae('0xf')](0x1f4,_0x55f25b[_0x9cae('0x11')]));});});}exports[_0x9cae('0x35')]=function(_0x35d9fe){var _0x56128b=this;return new Promise(function(_0x30d432,_0x1a43c6){return db[_0x9cae('0x16')][_0x9cae('0x34')](_0x35d9fe[_0x9cae('0x18')][_0x9cae('0x36')],{'where':{'id':_0x35d9fe[_0x9cae('0x18')]['id']}})[_0x9cae('0xa')](function(_0x449081){_0x30d432(_0x449081);})[_0x9cae('0x14')](function(_0x580aa5){logger[_0x9cae('0xf')](_0x9cae('0x35'),_0x580aa5['message'],_0x35d9fe);_0x1a43c6(_0x56128b[_0x9cae('0xf')](0x1f4,_0x580aa5[_0x9cae('0x11')]));});});};