Built motion from commit (unavailable).|2.5.6
[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 _0xb71c=['catch','CmHopper','VoiceQueueId','duration','waitTime','scheduledat','add','minutes','phone','isNil','countbusyretry','updatedAt','createdAt','additionalToHop','sequelize','transaction','update','field','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','client','http','then','CmHopperAdditionalPhone,\x20%s,\x20%s','request\x20sent','debug','CmHopperAdditionalPhone,\x20%s,\x20%s,\x20%s','error','code','message','info','result','VerifyAdditionalPhones','findOne','body','ContactId','ListId','CampaignId','CmHopperAdditionalPhone','OrderBy','ASC','countcongestionretry','countnoanswerretry','countdropretry','countabandonedretry','countmachineretry','countagentrejectretry','entity','countnosuchnumberretry','dialGlobalMaxRetry'];(function(_0x49dce8,_0xa6091e){var _0x10a4a7=function(_0x16deee){while(--_0x16deee){_0x49dce8['push'](_0x49dce8['shift']());}};_0x10a4a7(++_0xa6091e);}(_0xb71c,0x174));var _0xcb71=function(_0x24e59c,_0x1d79d2){_0x24e59c=_0x24e59c-0x0;var _0x38bbd1=_0xb71c[_0x24e59c];return _0x38bbd1;};'use strict';var _=require(_0xcb71('0x0'));var util=require(_0xcb71('0x1'));var moment=require(_0xcb71('0x2'));var BPromise=require(_0xcb71('0x3'));var rs=require(_0xcb71('0x4'));var fs=require('fs');var Redis=require(_0xcb71('0x5'));var db=require(_0xcb71('0x6'))['db'];var utils=require(_0xcb71('0x7'));var logger=require(_0xcb71('0x8'))(_0xcb71('0x9'));var config=require('../../config/environment');var jayson=require(_0xcb71('0xa'));var client=jayson[_0xcb71('0xb')][_0xcb71('0xc')]({'port':0x232a});function respondWithRpcPromise(_0x23cceb,_0x21803e,_0x4e5886){return new BPromise(function(_0x29b258,_0x316dbc){return client['request'](_0x23cceb,_0x4e5886)[_0xcb71('0xd')](function(_0x50dc4c){logger['info'](_0xcb71('0xe'),_0x21803e,_0xcb71('0xf'));logger[_0xcb71('0x10')](_0xcb71('0x11'),_0x21803e,'request\x20sent',JSON['stringify'](_0x50dc4c));if(_0x50dc4c[_0xcb71('0x12')]){if(_0x50dc4c[_0xcb71('0x12')][_0xcb71('0x13')]===0x1f4){logger[_0xcb71('0x12')]('CmHopperAdditionalPhone,\x20%s,\x20%s',_0x21803e,_0x50dc4c['error']['message']);return _0x316dbc(_0x50dc4c[_0xcb71('0x12')][_0xcb71('0x14')]);}logger[_0xcb71('0x12')]('CmHopperAdditionalPhone,\x20%s,\x20%s',_0x21803e,_0x50dc4c[_0xcb71('0x12')][_0xcb71('0x14')]);return _0x29b258(_0x50dc4c['error'][_0xcb71('0x14')]);}else{logger[_0xcb71('0x15')](_0xcb71('0xe'),_0x21803e,_0xcb71('0xf'));_0x29b258(_0x50dc4c[_0xcb71('0x16')][_0xcb71('0x14')]);}})['catch'](function(_0x42208c){logger[_0xcb71('0x12')](_0xcb71('0xe'),_0x21803e,_0x42208c);_0x316dbc(_0x42208c);});});}exports[_0xcb71('0x17')]=function(_0x13de4b){var _0x174796=this;return new Promise(function(_0x1f3a5b,_0x16692a){return db['CmHopper'][_0xcb71('0x18')]({'raw':!![],'where':{'ContactId':_0x13de4b[_0xcb71('0x19')][_0xcb71('0x1a')],'ListId':_0x13de4b['body'][_0xcb71('0x1b')],'VoiceQueueId':_0x13de4b['body']['VoiceQueueId']===undefined?null:_0x13de4b[_0xcb71('0x19')]['VoiceQueueId'],'CampaignId':_0x13de4b['body'][_0xcb71('0x1c')]===undefined?null:_0x13de4b[_0xcb71('0x19')][_0xcb71('0x1c')]}})[_0xcb71('0xd')](function(_0x303865){if(_0x303865!=null){return db[_0xcb71('0x1d')][_0xcb71('0x18')]({'raw':!![],'where':{'CmHopperId':_0x303865['id'],'OrderBy':{'$gt':_0x303865[_0xcb71('0x1e')]}},'order':[[_0xcb71('0x1e'),_0xcb71('0x1f')]]})[_0xcb71('0xd')](function(_0x6c8ea5){var _0x2254bd=0x0;if(_0x6c8ea5){if(_0x6c8ea5['countbusyretry']+_0x6c8ea5[_0xcb71('0x20')]+_0x6c8ea5[_0xcb71('0x21')]+_0x6c8ea5['countnosuchnumberretry']+_0x6c8ea5[_0xcb71('0x22')]+_0x6c8ea5[_0xcb71('0x23')]+_0x6c8ea5[_0xcb71('0x24')]+_0x6c8ea5[_0xcb71('0x25')]<_0x13de4b[_0xcb71('0x26')]['dialGlobalMaxRetry'])_0x2254bd=0x1;_0x1f3a5b({'additional':_0x2254bd});}else{return db[_0xcb71('0x1d')][_0xcb71('0x18')]({'raw':!![],'where':{'CmHopperId':_0x303865['id']},'order':[['OrderBy',_0xcb71('0x1f')]]})[_0xcb71('0xd')](function(_0x40b199){var _0x2a394e=0x0;if(_0x40b199){if(_0x40b199['countbusyretry']+_0x40b199[_0xcb71('0x20')]+_0x40b199[_0xcb71('0x21')]+_0x40b199[_0xcb71('0x27')]+_0x40b199[_0xcb71('0x22')]+_0x40b199[_0xcb71('0x23')]+_0x40b199[_0xcb71('0x24')]+_0x40b199['countagentrejectretry']<_0x13de4b[_0xcb71('0x26')][_0xcb71('0x28')])_0x2a394e=0x1;_0x1f3a5b({'additional':_0x2a394e});}else{_0x1f3a5b({'additional':0x0});}})[_0xcb71('0x29')](function(_0x281d89){logger[_0xcb71('0x12')](_0xcb71('0x17'),_0x281d89['message'],_0x13de4b);_0x16692a(_0x174796['error'](0x1f4,_0x281d89['message']));});}})[_0xcb71('0x29')](function(_0x44c081){logger['error']('VerifyAdditionalPhones',_0x44c081[_0xcb71('0x14')],_0x13de4b);_0x16692a(_0x174796['error'](0x1f4,_0x44c081['message']));});}else _0x1f3a5b({'additional':0x0});});});};exports['SwapAdditionalPhones']=function(_0x30a4d9){var _0x16c52c=this;return new Promise(function(_0x5be1bb,_0x5d8c9b){return db[_0xcb71('0x2a')][_0xcb71('0x18')]({'raw':!![],'where':{'ContactId':_0x30a4d9[_0xcb71('0x19')]['ContactId'],'ListId':_0x30a4d9[_0xcb71('0x19')][_0xcb71('0x1b')],'VoiceQueueId':_0x30a4d9[_0xcb71('0x19')][_0xcb71('0x2b')]===undefined?null:_0x30a4d9[_0xcb71('0x19')][_0xcb71('0x2b')],'CampaignId':_0x30a4d9['body'][_0xcb71('0x1c')]===undefined?null:_0x30a4d9[_0xcb71('0x19')][_0xcb71('0x1c')]}})[_0xcb71('0xd')](function(_0x7522f7){if(_0x7522f7!=null){return db['CmHopperAdditionalPhone'][_0xcb71('0x18')]({'raw':!![],'where':{'CmHopperId':_0x7522f7['id'],'OrderBy':{'$gt':_0x7522f7[_0xcb71('0x1e')]}},'order':[['OrderBy',_0xcb71('0x1f')]]})['then'](function(_0x510004){if(_0x510004)return activateAdditionalPhone(_0x7522f7,_0x30a4d9['body'],_0x510004,_0x30a4d9[_0xcb71('0x2c')],_0x30a4d9[_0xcb71('0x2d')])[_0xcb71('0xd')](function(_0x84e849){_0x5be1bb(_0x84e849);});else{return db['CmHopperAdditionalPhone']['findOne']({'raw':!![],'where':{'CmHopperId':_0x7522f7['id']},'order':[[_0xcb71('0x1e'),'ASC']]})[_0xcb71('0xd')](function(_0x29e4a4){if(_0x29e4a4)return activateAdditionalPhone(_0x7522f7,_0x30a4d9[_0xcb71('0x19')],_0x29e4a4,_0x30a4d9[_0xcb71('0x2c')],_0x30a4d9[_0xcb71('0x2d')])[_0xcb71('0xd')](function(_0x46c92b){_0x5be1bb(_0x46c92b);});else{_0x5be1bb({'id':_0x7522f7['id'],'phone':''});}})[_0xcb71('0x29')](function(_0x502a0d){logger[_0xcb71('0x12')]('VerifyAdditionalPhones',_0x502a0d['message'],_0x30a4d9);_0x5d8c9b(_0x16c52c[_0xcb71('0x12')](0x1f4,_0x502a0d[_0xcb71('0x14')]));});}})[_0xcb71('0x29')](function(_0x326a3b){logger[_0xcb71('0x12')](_0xcb71('0x17'),_0x326a3b['message'],_0x30a4d9);_0x5d8c9b(_0x16c52c[_0xcb71('0x12')](0x1f4,_0x326a3b['message']));});}else _0x5be1bb(0x1);});});};function activateAdditionalPhone(_0x5822e6,_0x1af71c,_0xde1759,_0x1b8615,_0x3f22d4){return new Promise(function(_0x4ab869,_0x1a0a24){logger[_0xcb71('0x15')](_0xcb71('0x17'),_0xde1759);var _0x48f3d9;if(moment()>moment(_0xde1759[_0xcb71('0x2e')])){_0x48f3d9=moment()[_0xcb71('0x2f')](_0x3f22d4||0x3,_0xcb71('0x30'));}else{if(_0xde1759['OrderBy']==0x0){_0x48f3d9=moment(_0xde1759[_0xcb71('0x2e')]);}else{_0x48f3d9=moment()[_0xcb71('0x2f')](_0x3f22d4||0x3,_0xcb71('0x30'));}}var _0x2d127c={'phone':_0x5822e6[_0xcb71('0x31')],'active':0x0,'OrderBy':_[_0xcb71('0x32')](_0x5822e6[_0xcb71('0x1e')])?0x0:_0x5822e6['OrderBy'],'scheduledat':moment()[_0xcb71('0x2f')](_0x1b8615||0x1,_0xcb71('0x30')),'countbusyretry':_0x1af71c[_0xcb71('0x33')],'countcongestionretry':_0x1af71c['countcongestionretry'],'countnoanswerretry':_0x1af71c[_0xcb71('0x21')],'countnosuchnumberretry':_0x1af71c[_0xcb71('0x27')],'countdropretry':_0x1af71c[_0xcb71('0x22')],'countabandonedretry':_0x1af71c[_0xcb71('0x23')],'countmachineretry':_0x1af71c[_0xcb71('0x24')],'countagentrejectretry':_0x1af71c[_0xcb71('0x25')],'createdAt':_0x1af71c['createdAt'],'updatedAt':_0x1af71c[_0xcb71('0x34')]};var _0x90427={'CmHopperId':_0x5822e6['id'],'phone':_0xde1759[_0xcb71('0x31')],'active':0x0,'OrderBy':_[_0xcb71('0x32')](_0xde1759['OrderBy'])?0x0:_0xde1759[_0xcb71('0x1e')],'scheduledat':_0x48f3d9,'countbusyretry':_0xde1759[_0xcb71('0x33')],'countcongestionretry':_0xde1759[_0xcb71('0x20')],'countnoanswerretry':_0xde1759[_0xcb71('0x21')],'countnosuchnumberretry':_0x1af71c[_0xcb71('0x27')],'countdropretry':_0x1af71c[_0xcb71('0x22')],'countabandonedretry':_0x1af71c['countabandonedretry'],'countmachineretry':_0x1af71c[_0xcb71('0x24')],'countagentrejectretry':_0x1af71c['countagentrejectretry'],'createdAt':_0xde1759[_0xcb71('0x35')],'updatedAt':_0xde1759[_0xcb71('0x34')]};logger[_0xcb71('0x15')]('hopperToAdd',_0x2d127c);logger[_0xcb71('0x15')](_0xcb71('0x36'),_0x90427);return db[_0xcb71('0x37')][_0xcb71('0x38')](function(_0x50f43f){return db[_0xcb71('0x1d')]['update'](_0x2d127c,{'where':{'id':_0xde1759['id']}},{'transaction':_0x50f43f})[_0xcb71('0xd')](function(){return db[_0xcb71('0x2a')][_0xcb71('0x39')](_0x90427,{'where':{'id':_0x5822e6['id']}},{'transaction':_0x50f43f});});})['then'](function(_0x4409a3){_0x4ab869({'id':_0x5822e6['id'],'phone':_0xde1759['phone']});})[_0xcb71('0x29')](function(_0x33e382){logger['error'](_0xcb71('0x17'),_0x33e382[_0xcb71('0x14')],req);_0x1a0a24(_this['error'](0x1f4,_0x33e382[_0xcb71('0x14')]));});});}exports['IncrementPreviewCounters']=function(_0x37821f){var _0x5136a2=this;return new Promise(function(_0x19c9f5,_0x1580c8){return db[_0xcb71('0x2a')][_0xcb71('0x39')](_0x37821f[_0xcb71('0x19')][_0xcb71('0x3a')],{'where':{'id':_0x37821f[_0xcb71('0x19')]['id']}})[_0xcb71('0xd')](function(_0x476da6){_0x19c9f5(_0x476da6);})[_0xcb71('0x29')](function(_0x499dcd){logger[_0xcb71('0x12')]('IncrementPreviewCounters',_0x499dcd[_0xcb71('0x14')],_0x37821f);_0x1580c8(_0x5136a2[_0xcb71('0x12')](0x1f4,_0x499dcd[_0xcb71('0x14')]));});});};