Built motion from commit 44377920.|2.6.11
[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 _0x959d=['SwapAdditionalPhones','duration','waitTime','scheduledat','add','minutes','isNil','phone','countnosuchnumberretry','createdAt','sequelize','transaction','update','activateAdditionalPhone','IncrementPreviewCounters','field','lodash','util','moment','bluebird','ioredis','../../mysqldb','../../config/logger','../../config/environment','jayson/promise','client','http','request','then','info','CmHopperAdditionalPhone,\x20%s,\x20%s','request\x20sent','debug','CmHopperAdditionalPhone,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','CmHopper','findOne','body','ContactId','ListId','VoiceQueueId','CampaignId','CmHopperAdditionalPhone','OrderBy','countbusyretry','countcongestionretry','countnoanswerretry','countdropretry','countabandonedretry','countmachineretry','countagentrejectretry','entity','ASC','dialGlobalMaxRetry','VerifyAdditionalPhones'];(function(_0x4f95f8,_0x4545e3){var _0xb645ab=function(_0x129a1b){while(--_0x129a1b){_0x4f95f8['push'](_0x4f95f8['shift']());}};_0xb645ab(++_0x4545e3);}(_0x959d,0x13c));var _0xd959=function(_0x4b2251,_0x393f10){_0x4b2251=_0x4b2251-0x0;var _0x5d22fb=_0x959d[_0x4b2251];return _0x5d22fb;};'use strict';var _=require(_0xd959('0x0'));var util=require(_0xd959('0x1'));var moment=require(_0xd959('0x2'));var BPromise=require(_0xd959('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xd959('0x4'));var db=require(_0xd959('0x5'))['db'];var utils=require('../../config/utils');var logger=require(_0xd959('0x6'))('rpc');var config=require(_0xd959('0x7'));var jayson=require(_0xd959('0x8'));var client=jayson[_0xd959('0x9')][_0xd959('0xa')]({'port':0x232a});function respondWithRpcPromise(_0x1de413,_0xf3aea4,_0x190ca2){return new BPromise(function(_0x1b9819,_0x1e89bb){return client[_0xd959('0xb')](_0x1de413,_0x190ca2)[_0xd959('0xc')](function(_0x104e88){logger[_0xd959('0xd')](_0xd959('0xe'),_0xf3aea4,_0xd959('0xf'));logger[_0xd959('0x10')](_0xd959('0x11'),_0xf3aea4,'request\x20sent',JSON[_0xd959('0x12')](_0x104e88));if(_0x104e88['error']){if(_0x104e88[_0xd959('0x13')][_0xd959('0x14')]===0x1f4){logger[_0xd959('0x13')](_0xd959('0xe'),_0xf3aea4,_0x104e88['error'][_0xd959('0x15')]);return _0x1e89bb(_0x104e88[_0xd959('0x13')][_0xd959('0x15')]);}logger[_0xd959('0x13')](_0xd959('0xe'),_0xf3aea4,_0x104e88[_0xd959('0x13')][_0xd959('0x15')]);return _0x1b9819(_0x104e88[_0xd959('0x13')][_0xd959('0x15')]);}else{logger['info'](_0xd959('0xe'),_0xf3aea4,'request\x20sent');_0x1b9819(_0x104e88[_0xd959('0x16')][_0xd959('0x15')]);}})[_0xd959('0x17')](function(_0x1aac92){logger['error'](_0xd959('0xe'),_0xf3aea4,_0x1aac92);_0x1e89bb(_0x1aac92);});});}exports['VerifyAdditionalPhones']=function(_0x508e1c){var _0x296561=this;return new Promise(function(_0x27b9d3,_0x2adbcc){return db[_0xd959('0x18')][_0xd959('0x19')]({'raw':!![],'where':{'ContactId':_0x508e1c[_0xd959('0x1a')][_0xd959('0x1b')],'ListId':_0x508e1c[_0xd959('0x1a')][_0xd959('0x1c')],'VoiceQueueId':_0x508e1c['body'][_0xd959('0x1d')]===undefined?null:_0x508e1c[_0xd959('0x1a')]['VoiceQueueId'],'CampaignId':_0x508e1c[_0xd959('0x1a')]['CampaignId']===undefined?null:_0x508e1c[_0xd959('0x1a')][_0xd959('0x1e')]}})[_0xd959('0xc')](function(_0xd1dc38){if(_0xd1dc38!=null){return db[_0xd959('0x1f')]['findOne']({'raw':!![],'where':{'CmHopperId':_0xd1dc38['id'],'OrderBy':{'$gt':_0xd1dc38['OrderBy']}},'order':[[_0xd959('0x20'),'ASC']]})[_0xd959('0xc')](function(_0x5c1899){var _0x22f55c=0x0;if(_0x5c1899){if(_0x5c1899[_0xd959('0x21')]+_0x5c1899[_0xd959('0x22')]+_0x5c1899[_0xd959('0x23')]+_0x5c1899['countnosuchnumberretry']+_0x5c1899[_0xd959('0x24')]+_0x5c1899[_0xd959('0x25')]+_0x5c1899[_0xd959('0x26')]+_0x5c1899[_0xd959('0x27')]<_0x508e1c[_0xd959('0x28')]['dialGlobalMaxRetry'])_0x22f55c=0x1;_0x27b9d3({'additional':_0x22f55c});}else{return db['CmHopperAdditionalPhone'][_0xd959('0x19')]({'raw':!![],'where':{'CmHopperId':_0xd1dc38['id']},'order':[[_0xd959('0x20'),_0xd959('0x29')]]})[_0xd959('0xc')](function(_0x198206){var _0x56df47=0x0;if(_0x198206){if(_0x198206[_0xd959('0x21')]+_0x198206[_0xd959('0x22')]+_0x198206[_0xd959('0x23')]+_0x198206['countnosuchnumberretry']+_0x198206['countdropretry']+_0x198206['countabandonedretry']+_0x198206[_0xd959('0x26')]+_0x198206[_0xd959('0x27')]<_0x508e1c[_0xd959('0x28')][_0xd959('0x2a')])_0x56df47=0x1;_0x27b9d3({'additional':_0x56df47});}else{_0x27b9d3({'additional':0x0});}})[_0xd959('0x17')](function(_0x5bf384){logger[_0xd959('0x13')]('VerifyAdditionalPhones',_0x5bf384[_0xd959('0x15')]);_0x2adbcc(_0x296561[_0xd959('0x13')](0x1f4,_0x5bf384[_0xd959('0x15')]));});}})[_0xd959('0x17')](function(_0x41f649){logger[_0xd959('0x13')](_0xd959('0x2b'),_0x41f649[_0xd959('0x15')]);_0x2adbcc(_0x296561['error'](0x1f4,_0x41f649[_0xd959('0x15')]));});}else _0x27b9d3({'additional':0x0});});});};exports[_0xd959('0x2c')]=function(_0x4e76b1){var _0x5bd21a=this;return new Promise(function(_0x178c2d,_0x1fb7d2){return db[_0xd959('0x18')][_0xd959('0x19')]({'raw':!![],'where':{'ContactId':_0x4e76b1['body'][_0xd959('0x1b')],'ListId':_0x4e76b1[_0xd959('0x1a')][_0xd959('0x1c')],'VoiceQueueId':_0x4e76b1[_0xd959('0x1a')][_0xd959('0x1d')]===undefined?null:_0x4e76b1[_0xd959('0x1a')][_0xd959('0x1d')],'CampaignId':_0x4e76b1['body']['CampaignId']===undefined?null:_0x4e76b1[_0xd959('0x1a')][_0xd959('0x1e')]}})[_0xd959('0xc')](function(_0x9f597a){if(_0x9f597a!=null){return db['CmHopperAdditionalPhone']['findOne']({'raw':!![],'where':{'CmHopperId':_0x9f597a['id'],'OrderBy':{'$gte':_0x9f597a['OrderBy']}},'order':[[_0xd959('0x20'),_0xd959('0x29')]]})[_0xd959('0xc')](function(_0x40acf0){if(_0x40acf0)return activateAdditionalPhone(_0x9f597a,_0x4e76b1['body'],_0x40acf0,_0x4e76b1[_0xd959('0x2d')],_0x4e76b1[_0xd959('0x2e')])[_0xd959('0xc')](function(_0x51b722){_0x178c2d(_0x51b722);});else{return db['CmHopperAdditionalPhone'][_0xd959('0x19')]({'raw':!![],'where':{'CmHopperId':_0x9f597a['id']},'order':[[_0xd959('0x20'),_0xd959('0x29')]]})[_0xd959('0xc')](function(_0x4cefd2){if(_0x4cefd2)return activateAdditionalPhone(_0x9f597a,_0x4e76b1['body'],_0x4cefd2,_0x4e76b1[_0xd959('0x2d')],_0x4e76b1[_0xd959('0x2e')])[_0xd959('0xc')](function(_0x272b72){_0x178c2d(_0x272b72);});else{_0x178c2d({'id':_0x9f597a['id'],'phone':''});}})[_0xd959('0x17')](function(_0x42a552){logger[_0xd959('0x13')](_0xd959('0x2b'),_0x42a552['message']);_0x1fb7d2(_0x5bd21a[_0xd959('0x13')](0x1f4,_0x42a552[_0xd959('0x15')]));});}})['catch'](function(_0x48f564){logger[_0xd959('0x13')](_0xd959('0x2b'),_0x48f564[_0xd959('0x15')]);_0x1fb7d2(_0x5bd21a['error'](0x1f4,_0x48f564[_0xd959('0x15')]));});}else _0x178c2d(0x1);});});};function activateAdditionalPhone(_0x59131d,_0x42334f,_0x48d6da,_0x69d2cc,_0x278677){return new Promise(function(_0x425f1b,_0x5564d1){var _0x319d8c;if(_['isNil'](_0x48d6da[_0xd959('0x2f')])){_0x48d6da[_0xd959('0x2f')]=moment();}if(moment()>moment(_0x48d6da[_0xd959('0x2f')])){_0x319d8c=moment()[_0xd959('0x30')](_0x278677||0x3,_0xd959('0x31'));}else{if(_0x48d6da[_0xd959('0x20')]==0x0){_0x319d8c=moment(_0x48d6da['scheduledat']);}else{_0x319d8c=moment()[_0xd959('0x30')](_0x278677||0x3,_0xd959('0x31'));}}if(_[_0xd959('0x32')](_0x319d8c)){_0x319d8c=moment()[_0xd959('0x30')](_0x278677||0x3,_0xd959('0x31'));}var _0x53712f={'phone':_0x59131d[_0xd959('0x33')],'active':0x0,'OrderBy':_[_0xd959('0x32')](_0x59131d[_0xd959('0x20')])?0x0:_0x59131d[_0xd959('0x20')],'scheduledat':moment()[_0xd959('0x30')](_0x69d2cc||0x1,_0xd959('0x31')),'countbusyretry':_0x42334f[_0xd959('0x21')],'countcongestionretry':_0x42334f[_0xd959('0x22')],'countnoanswerretry':_0x42334f[_0xd959('0x23')],'countnosuchnumberretry':_0x42334f[_0xd959('0x34')],'countdropretry':_0x42334f[_0xd959('0x24')],'countabandonedretry':_0x42334f[_0xd959('0x25')],'countmachineretry':_0x42334f[_0xd959('0x26')],'countagentrejectretry':_0x42334f[_0xd959('0x27')],'createdAt':_0x42334f[_0xd959('0x35')],'updatedAt':_0x42334f['updatedAt']};var _0x50baa3={'CmHopperId':_0x59131d['id'],'phone':_0x48d6da['phone'],'active':0x0,'OrderBy':_[_0xd959('0x32')](_0x48d6da[_0xd959('0x20')])?0x0:_0x48d6da['OrderBy'],'scheduledat':_0x319d8c,'countbusyretry':_0x48d6da[_0xd959('0x21')],'countcongestionretry':_0x48d6da[_0xd959('0x22')],'countnoanswerretry':_0x48d6da[_0xd959('0x23')],'countnosuchnumberretry':_0x48d6da[_0xd959('0x34')],'countdropretry':_0x48d6da[_0xd959('0x24')],'countabandonedretry':_0x48d6da[_0xd959('0x25')],'countmachineretry':_0x48d6da[_0xd959('0x26')],'countagentrejectretry':_0x48d6da[_0xd959('0x27')],'createdAt':_0x48d6da[_0xd959('0x35')],'updatedAt':_0x48d6da['updatedAt']};return db[_0xd959('0x36')][_0xd959('0x37')](function(_0x369f4b){return db[_0xd959('0x1f')][_0xd959('0x38')](_0x53712f,{'where':{'id':_0x48d6da['id']}},{'transaction':_0x369f4b})[_0xd959('0xc')](function(){return db[_0xd959('0x18')]['update'](_0x50baa3,{'where':{'id':_0x59131d['id']}},{'transaction':_0x369f4b});});})[_0xd959('0xc')](function(_0x3137a1){_0x425f1b({'id':_0x59131d['id'],'phone':_0x48d6da[_0xd959('0x33')]});})['catch'](function(_0x539da7){logger[_0xd959('0x13')](_0xd959('0x39'),_0x539da7['message']);_0x5564d1({'error':_0x539da7[_0xd959('0x15')]});});});}exports[_0xd959('0x3a')]=function(_0x5b7a60){var _0x39a551=this;return new Promise(function(_0x222f3a,_0x1176ca){return db[_0xd959('0x18')][_0xd959('0x38')](_0x5b7a60[_0xd959('0x1a')][_0xd959('0x3b')],{'where':{'id':_0x5b7a60[_0xd959('0x1a')]['id']}})[_0xd959('0xc')](function(_0x52486c){_0x222f3a(_0x52486c);})[_0xd959('0x17')](function(_0x39a16b){logger[_0xd959('0x13')](_0xd959('0x3a'),_0x39a16b[_0xd959('0x15')]);_0x1176ca(_0x39a551['error'](0x1f4,_0x39a16b[_0xd959('0x15')]));});});};