Built motion from commit b5413ace.|2.6.9
[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 _0x7de4=['updatedAt','phone','sequelize','transaction','update','field','IncrementPreviewCounters','lodash','bluebird','ioredis','../../mysqldb','../../config/logger','rpc','../../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','VerifyAdditionalPhones','CmHopper','findOne','body','ContactId','ListId','VoiceQueueId','CampaignId','OrderBy','countbusyretry','countcongestionretry','countnosuchnumberretry','countdropretry','countabandonedretry','countmachineretry','entity','dialGlobalMaxRetry','CmHopperAdditionalPhone','ASC','countnoanswerretry','countagentrejectretry','duration','waitTime','scheduledat','minutes','add','isNil','createdAt'];(function(_0x2dab63,_0x146127){var _0x497a6a=function(_0x32953b){while(--_0x32953b){_0x2dab63['push'](_0x2dab63['shift']());}};_0x497a6a(++_0x146127);}(_0x7de4,0x1d7));var _0x47de=function(_0x316375,_0x54da3c){_0x316375=_0x316375-0x0;var _0x3554e6=_0x7de4[_0x316375];return _0x3554e6;};'use strict';var _=require(_0x47de('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0x47de('0x1'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x47de('0x2'));var db=require(_0x47de('0x3'))['db'];var utils=require('../../config/utils');var logger=require(_0x47de('0x4'))(_0x47de('0x5'));var config=require(_0x47de('0x6'));var jayson=require(_0x47de('0x7'));var client=jayson[_0x47de('0x8')][_0x47de('0x9')]({'port':0x232a});function respondWithRpcPromise(_0x18d091,_0x276053,_0x10dc17){return new BPromise(function(_0x37dc8b,_0x2da916){return client[_0x47de('0xa')](_0x18d091,_0x10dc17)[_0x47de('0xb')](function(_0x5162b8){logger[_0x47de('0xc')](_0x47de('0xd'),_0x276053,_0x47de('0xe'));logger[_0x47de('0xf')](_0x47de('0x10'),_0x276053,_0x47de('0xe'),JSON[_0x47de('0x11')](_0x5162b8));if(_0x5162b8[_0x47de('0x12')]){if(_0x5162b8['error'][_0x47de('0x13')]===0x1f4){logger[_0x47de('0x12')](_0x47de('0xd'),_0x276053,_0x5162b8[_0x47de('0x12')]['message']);return _0x2da916(_0x5162b8[_0x47de('0x12')][_0x47de('0x14')]);}logger[_0x47de('0x12')]('CmHopperAdditionalPhone,\x20%s,\x20%s',_0x276053,_0x5162b8[_0x47de('0x12')][_0x47de('0x14')]);return _0x37dc8b(_0x5162b8['error']['message']);}else{logger[_0x47de('0xc')](_0x47de('0xd'),_0x276053,_0x47de('0xe'));_0x37dc8b(_0x5162b8[_0x47de('0x15')]['message']);}})[_0x47de('0x16')](function(_0x479f11){logger[_0x47de('0x12')](_0x47de('0xd'),_0x276053,_0x479f11);_0x2da916(_0x479f11);});});}exports[_0x47de('0x17')]=function(_0x10705a){var _0xc24a81=this;return new Promise(function(_0x199488,_0x44eda4){return db[_0x47de('0x18')][_0x47de('0x19')]({'raw':!![],'where':{'ContactId':_0x10705a[_0x47de('0x1a')][_0x47de('0x1b')],'ListId':_0x10705a[_0x47de('0x1a')][_0x47de('0x1c')],'VoiceQueueId':_0x10705a['body']['VoiceQueueId']===undefined?null:_0x10705a[_0x47de('0x1a')][_0x47de('0x1d')],'CampaignId':_0x10705a[_0x47de('0x1a')][_0x47de('0x1e')]===undefined?null:_0x10705a[_0x47de('0x1a')][_0x47de('0x1e')]}})[_0x47de('0xb')](function(_0x27ae42){if(_0x27ae42!=null){return db['CmHopperAdditionalPhone'][_0x47de('0x19')]({'raw':!![],'where':{'CmHopperId':_0x27ae42['id'],'OrderBy':{'$gt':_0x27ae42[_0x47de('0x1f')]}},'order':[[_0x47de('0x1f'),'ASC']]})[_0x47de('0xb')](function(_0x3f7b82){var _0x140730=0x0;if(_0x3f7b82){if(_0x3f7b82[_0x47de('0x20')]+_0x3f7b82[_0x47de('0x21')]+_0x3f7b82['countnoanswerretry']+_0x3f7b82[_0x47de('0x22')]+_0x3f7b82[_0x47de('0x23')]+_0x3f7b82[_0x47de('0x24')]+_0x3f7b82[_0x47de('0x25')]+_0x3f7b82['countagentrejectretry']<_0x10705a[_0x47de('0x26')][_0x47de('0x27')])_0x140730=0x1;_0x199488({'additional':_0x140730});}else{return db[_0x47de('0x28')][_0x47de('0x19')]({'raw':!![],'where':{'CmHopperId':_0x27ae42['id']},'order':[[_0x47de('0x1f'),_0x47de('0x29')]]})[_0x47de('0xb')](function(_0x38dc2f){var _0x64a6e6=0x0;if(_0x38dc2f){if(_0x38dc2f[_0x47de('0x20')]+_0x38dc2f[_0x47de('0x21')]+_0x38dc2f[_0x47de('0x2a')]+_0x38dc2f[_0x47de('0x22')]+_0x38dc2f[_0x47de('0x23')]+_0x38dc2f[_0x47de('0x24')]+_0x38dc2f[_0x47de('0x25')]+_0x38dc2f[_0x47de('0x2b')]<_0x10705a[_0x47de('0x26')][_0x47de('0x27')])_0x64a6e6=0x1;_0x199488({'additional':_0x64a6e6});}else{_0x199488({'additional':0x0});}})[_0x47de('0x16')](function(_0x441f40){logger[_0x47de('0x12')](_0x47de('0x17'),_0x441f40[_0x47de('0x14')]);_0x44eda4(_0xc24a81[_0x47de('0x12')](0x1f4,_0x441f40['message']));});}})[_0x47de('0x16')](function(_0x598077){logger['error']('VerifyAdditionalPhones',_0x598077[_0x47de('0x14')]);_0x44eda4(_0xc24a81[_0x47de('0x12')](0x1f4,_0x598077[_0x47de('0x14')]));});}else _0x199488({'additional':0x0});});});};exports['SwapAdditionalPhones']=function(_0x5a6005){var _0x4a5378=this;return new Promise(function(_0x5c3b0e,_0x4e7952){return db[_0x47de('0x18')][_0x47de('0x19')]({'raw':!![],'where':{'ContactId':_0x5a6005[_0x47de('0x1a')]['ContactId'],'ListId':_0x5a6005['body'][_0x47de('0x1c')],'VoiceQueueId':_0x5a6005['body'][_0x47de('0x1d')]===undefined?null:_0x5a6005[_0x47de('0x1a')]['VoiceQueueId'],'CampaignId':_0x5a6005['body']['CampaignId']===undefined?null:_0x5a6005[_0x47de('0x1a')][_0x47de('0x1e')]}})[_0x47de('0xb')](function(_0x4cda75){if(_0x4cda75!=null){return db[_0x47de('0x28')][_0x47de('0x19')]({'raw':!![],'where':{'CmHopperId':_0x4cda75['id'],'OrderBy':{'$gte':_0x4cda75['OrderBy']}},'order':[[_0x47de('0x1f'),_0x47de('0x29')]]})[_0x47de('0xb')](function(_0x4cb40a){if(_0x4cb40a)return activateAdditionalPhone(_0x4cda75,_0x5a6005[_0x47de('0x1a')],_0x4cb40a,_0x5a6005[_0x47de('0x2c')],_0x5a6005[_0x47de('0x2d')])[_0x47de('0xb')](function(_0x389c19){_0x5c3b0e(_0x389c19);});else{return db[_0x47de('0x28')]['findOne']({'raw':!![],'where':{'CmHopperId':_0x4cda75['id']},'order':[[_0x47de('0x1f'),_0x47de('0x29')]]})[_0x47de('0xb')](function(_0x14be80){if(_0x14be80)return activateAdditionalPhone(_0x4cda75,_0x5a6005[_0x47de('0x1a')],_0x14be80,_0x5a6005[_0x47de('0x2c')],_0x5a6005[_0x47de('0x2d')])[_0x47de('0xb')](function(_0xdca4f5){_0x5c3b0e(_0xdca4f5);});else{_0x5c3b0e({'id':_0x4cda75['id'],'phone':''});}})['catch'](function(_0x399feb){logger[_0x47de('0x12')]('VerifyAdditionalPhones',_0x399feb[_0x47de('0x14')]);_0x4e7952(_0x4a5378[_0x47de('0x12')](0x1f4,_0x399feb['message']));});}})[_0x47de('0x16')](function(_0x55eb78){logger[_0x47de('0x12')](_0x47de('0x17'),_0x55eb78['message']);_0x4e7952(_0x4a5378[_0x47de('0x12')](0x1f4,_0x55eb78[_0x47de('0x14')]));});}else _0x5c3b0e(0x1);});});};function activateAdditionalPhone(_0x180328,_0x9627cb,_0x5cd48d,_0x32009f,_0x3cd069){return new Promise(function(_0x5f6a9f,_0x2dfd7f){var _0x47670a;if(_['isNil'](_0x5cd48d[_0x47de('0x2e')])){_0x5cd48d['scheduledat']=moment();}if(moment()>moment(_0x5cd48d[_0x47de('0x2e')])){_0x47670a=moment()['add'](_0x3cd069||0x3,_0x47de('0x2f'));}else{if(_0x5cd48d[_0x47de('0x1f')]==0x0){_0x47670a=moment(_0x5cd48d['scheduledat']);}else{_0x47670a=moment()[_0x47de('0x30')](_0x3cd069||0x3,_0x47de('0x2f'));}}if(_[_0x47de('0x31')](_0x47670a)){_0x47670a=moment()[_0x47de('0x30')](_0x3cd069||0x3,_0x47de('0x2f'));}var _0x1d3bdb={'phone':_0x180328['phone'],'active':0x0,'OrderBy':_[_0x47de('0x31')](_0x180328[_0x47de('0x1f')])?0x0:_0x180328[_0x47de('0x1f')],'scheduledat':moment()[_0x47de('0x30')](_0x32009f||0x1,_0x47de('0x2f')),'countbusyretry':_0x9627cb[_0x47de('0x20')],'countcongestionretry':_0x9627cb['countcongestionretry'],'countnoanswerretry':_0x9627cb[_0x47de('0x2a')],'countnosuchnumberretry':_0x9627cb[_0x47de('0x22')],'countdropretry':_0x9627cb[_0x47de('0x23')],'countabandonedretry':_0x9627cb[_0x47de('0x24')],'countmachineretry':_0x9627cb[_0x47de('0x25')],'countagentrejectretry':_0x9627cb[_0x47de('0x2b')],'createdAt':_0x9627cb[_0x47de('0x32')],'updatedAt':_0x9627cb[_0x47de('0x33')]};var _0x4bb7aa={'CmHopperId':_0x180328['id'],'phone':_0x5cd48d[_0x47de('0x34')],'active':0x0,'OrderBy':_['isNil'](_0x5cd48d[_0x47de('0x1f')])?0x0:_0x5cd48d[_0x47de('0x1f')],'scheduledat':_0x47670a,'countbusyretry':_0x5cd48d['countbusyretry'],'countcongestionretry':_0x5cd48d[_0x47de('0x21')],'countnoanswerretry':_0x5cd48d[_0x47de('0x2a')],'countnosuchnumberretry':_0x5cd48d[_0x47de('0x22')],'countdropretry':_0x5cd48d['countdropretry'],'countabandonedretry':_0x5cd48d[_0x47de('0x24')],'countmachineretry':_0x5cd48d[_0x47de('0x25')],'countagentrejectretry':_0x5cd48d['countagentrejectretry'],'createdAt':_0x5cd48d[_0x47de('0x32')],'updatedAt':_0x5cd48d[_0x47de('0x33')]};return db[_0x47de('0x35')][_0x47de('0x36')](function(_0x53cd01){return db[_0x47de('0x28')][_0x47de('0x37')](_0x1d3bdb,{'where':{'id':_0x5cd48d['id']}},{'transaction':_0x53cd01})[_0x47de('0xb')](function(){return db[_0x47de('0x18')][_0x47de('0x37')](_0x4bb7aa,{'where':{'id':_0x180328['id']}},{'transaction':_0x53cd01});});})['then'](function(_0x50b89b){_0x5f6a9f({'id':_0x180328['id'],'phone':_0x5cd48d[_0x47de('0x34')]});})[_0x47de('0x16')](function(_0xebf8b8){logger[_0x47de('0x12')]('activateAdditionalPhone',_0xebf8b8[_0x47de('0x14')]);_0x2dfd7f({'error':_0xebf8b8[_0x47de('0x14')]});});});}exports['IncrementPreviewCounters']=function(_0x3452b6){var _0x27c5d3=this;return new Promise(function(_0x4941d8,_0x555dfb){return db[_0x47de('0x18')]['update'](_0x3452b6[_0x47de('0x1a')][_0x47de('0x38')],{'where':{'id':_0x3452b6[_0x47de('0x1a')]['id']}})[_0x47de('0xb')](function(_0x1dcb00){_0x4941d8(_0x1dcb00);})[_0x47de('0x16')](function(_0x53e9dc){logger['error'](_0x47de('0x39'),_0x53e9dc[_0x47de('0x14')]);_0x555dfb(_0x27c5d3[_0x47de('0x12')](0x1f4,_0x53e9dc[_0x47de('0x14')]));});});};