Built motion from commit 775e2a94.|2.6.3
[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 _0x1ddf=['transaction','update','activateAdditionalPhone','IncrementPreviewCounters','field','util','moment','bluebird','randomstring','ioredis','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','http','request','then','CmHopperAdditionalPhone,\x20%s,\x20%s','request\x20sent','CmHopperAdditionalPhone,\x20%s,\x20%s,\x20%s','stringify','error','message','info','result','catch','VerifyAdditionalPhones','findOne','body','ContactId','ListId','VoiceQueueId','CampaignId','CmHopperAdditionalPhone','OrderBy','ASC','countbusyretry','countcongestionretry','countnoanswerretry','countnosuchnumberretry','countdropretry','countmachineretry','countagentrejectretry','entity','dialGlobalMaxRetry','countabandonedretry','SwapAdditionalPhones','CmHopper','duration','waitTime','isNil','scheduledat','add','minutes','phone','updatedAt','createdAt','sequelize'];(function(_0x5988cd,_0x267f13){var _0x2c58c6=function(_0x1137eb){while(--_0x1137eb){_0x5988cd['push'](_0x5988cd['shift']());}};_0x2c58c6(++_0x267f13);}(_0x1ddf,0x1a2));var _0xf1dd=function(_0x486008,_0x2b2d05){_0x486008=_0x486008-0x0;var _0x2fefc7=_0x1ddf[_0x486008];return _0x2fefc7;};'use strict';var _=require('lodash');var util=require(_0xf1dd('0x0'));var moment=require(_0xf1dd('0x1'));var BPromise=require(_0xf1dd('0x2'));var rs=require(_0xf1dd('0x3'));var fs=require('fs');var Redis=require(_0xf1dd('0x4'));var db=require('../../mysqldb')['db'];var utils=require(_0xf1dd('0x5'));var logger=require(_0xf1dd('0x6'))(_0xf1dd('0x7'));var config=require(_0xf1dd('0x8'));var jayson=require(_0xf1dd('0x9'));var client=jayson['client'][_0xf1dd('0xa')]({'port':0x232a});function respondWithRpcPromise(_0x1d5e96,_0x12f34c,_0x892764){return new BPromise(function(_0x528144,_0x16d500){return client[_0xf1dd('0xb')](_0x1d5e96,_0x892764)[_0xf1dd('0xc')](function(_0x1a5dc6){logger['info'](_0xf1dd('0xd'),_0x12f34c,_0xf1dd('0xe'));logger['debug'](_0xf1dd('0xf'),_0x12f34c,_0xf1dd('0xe'),JSON[_0xf1dd('0x10')](_0x1a5dc6));if(_0x1a5dc6[_0xf1dd('0x11')]){if(_0x1a5dc6[_0xf1dd('0x11')]['code']===0x1f4){logger[_0xf1dd('0x11')]('CmHopperAdditionalPhone,\x20%s,\x20%s',_0x12f34c,_0x1a5dc6[_0xf1dd('0x11')][_0xf1dd('0x12')]);return _0x16d500(_0x1a5dc6[_0xf1dd('0x11')][_0xf1dd('0x12')]);}logger[_0xf1dd('0x11')](_0xf1dd('0xd'),_0x12f34c,_0x1a5dc6[_0xf1dd('0x11')][_0xf1dd('0x12')]);return _0x528144(_0x1a5dc6[_0xf1dd('0x11')]['message']);}else{logger[_0xf1dd('0x13')](_0xf1dd('0xd'),_0x12f34c,'request\x20sent');_0x528144(_0x1a5dc6[_0xf1dd('0x14')][_0xf1dd('0x12')]);}})[_0xf1dd('0x15')](function(_0x44f9bd){logger['error'](_0xf1dd('0xd'),_0x12f34c,_0x44f9bd);_0x16d500(_0x44f9bd);});});}exports[_0xf1dd('0x16')]=function(_0x4815dc){var _0x4d670b=this;return new Promise(function(_0x3a097b,_0x5a2ab9){return db['CmHopper'][_0xf1dd('0x17')]({'raw':!![],'where':{'ContactId':_0x4815dc[_0xf1dd('0x18')][_0xf1dd('0x19')],'ListId':_0x4815dc[_0xf1dd('0x18')][_0xf1dd('0x1a')],'VoiceQueueId':_0x4815dc[_0xf1dd('0x18')][_0xf1dd('0x1b')]===undefined?null:_0x4815dc[_0xf1dd('0x18')][_0xf1dd('0x1b')],'CampaignId':_0x4815dc[_0xf1dd('0x18')][_0xf1dd('0x1c')]===undefined?null:_0x4815dc[_0xf1dd('0x18')][_0xf1dd('0x1c')]}})[_0xf1dd('0xc')](function(_0x42c09b){if(_0x42c09b!=null){return db[_0xf1dd('0x1d')][_0xf1dd('0x17')]({'raw':!![],'where':{'CmHopperId':_0x42c09b['id'],'OrderBy':{'$gt':_0x42c09b[_0xf1dd('0x1e')]}},'order':[['OrderBy',_0xf1dd('0x1f')]]})[_0xf1dd('0xc')](function(_0x2df160){var _0x3ac59a=0x0;if(_0x2df160){if(_0x2df160[_0xf1dd('0x20')]+_0x2df160[_0xf1dd('0x21')]+_0x2df160[_0xf1dd('0x22')]+_0x2df160[_0xf1dd('0x23')]+_0x2df160[_0xf1dd('0x24')]+_0x2df160['countabandonedretry']+_0x2df160[_0xf1dd('0x25')]+_0x2df160[_0xf1dd('0x26')]<_0x4815dc[_0xf1dd('0x27')][_0xf1dd('0x28')])_0x3ac59a=0x1;_0x3a097b({'additional':_0x3ac59a});}else{return db[_0xf1dd('0x1d')]['findOne']({'raw':!![],'where':{'CmHopperId':_0x42c09b['id']},'order':[['OrderBy',_0xf1dd('0x1f')]]})[_0xf1dd('0xc')](function(_0x2c8459){var _0x450e4b=0x0;if(_0x2c8459){if(_0x2c8459[_0xf1dd('0x20')]+_0x2c8459[_0xf1dd('0x21')]+_0x2c8459[_0xf1dd('0x22')]+_0x2c8459['countnosuchnumberretry']+_0x2c8459[_0xf1dd('0x24')]+_0x2c8459[_0xf1dd('0x29')]+_0x2c8459[_0xf1dd('0x25')]+_0x2c8459[_0xf1dd('0x26')]<_0x4815dc['entity']['dialGlobalMaxRetry'])_0x450e4b=0x1;_0x3a097b({'additional':_0x450e4b});}else{_0x3a097b({'additional':0x0});}})[_0xf1dd('0x15')](function(_0x71562f){logger[_0xf1dd('0x11')](_0xf1dd('0x16'),_0x71562f[_0xf1dd('0x12')]);_0x5a2ab9(_0x4d670b[_0xf1dd('0x11')](0x1f4,_0x71562f[_0xf1dd('0x12')]));});}})[_0xf1dd('0x15')](function(_0x111472){logger[_0xf1dd('0x11')](_0xf1dd('0x16'),_0x111472[_0xf1dd('0x12')]);_0x5a2ab9(_0x4d670b['error'](0x1f4,_0x111472[_0xf1dd('0x12')]));});}else _0x3a097b({'additional':0x0});});});};exports[_0xf1dd('0x2a')]=function(_0x189e49){var _0x265407=this;return new Promise(function(_0x374f7f,_0x3b05b1){return db[_0xf1dd('0x2b')][_0xf1dd('0x17')]({'raw':!![],'where':{'ContactId':_0x189e49[_0xf1dd('0x18')][_0xf1dd('0x19')],'ListId':_0x189e49[_0xf1dd('0x18')]['ListId'],'VoiceQueueId':_0x189e49[_0xf1dd('0x18')]['VoiceQueueId']===undefined?null:_0x189e49['body'][_0xf1dd('0x1b')],'CampaignId':_0x189e49[_0xf1dd('0x18')][_0xf1dd('0x1c')]===undefined?null:_0x189e49['body'][_0xf1dd('0x1c')]}})[_0xf1dd('0xc')](function(_0x5c3297){if(_0x5c3297!=null){return db[_0xf1dd('0x1d')][_0xf1dd('0x17')]({'raw':!![],'where':{'CmHopperId':_0x5c3297['id'],'OrderBy':{'$gte':_0x5c3297[_0xf1dd('0x1e')]}},'order':[[_0xf1dd('0x1e'),_0xf1dd('0x1f')]]})['then'](function(_0x295893){if(_0x295893)return activateAdditionalPhone(_0x5c3297,_0x189e49[_0xf1dd('0x18')],_0x295893,_0x189e49[_0xf1dd('0x2c')],_0x189e49[_0xf1dd('0x2d')])[_0xf1dd('0xc')](function(_0x3aa222){_0x374f7f(_0x3aa222);});else{return db['CmHopperAdditionalPhone'][_0xf1dd('0x17')]({'raw':!![],'where':{'CmHopperId':_0x5c3297['id']},'order':[[_0xf1dd('0x1e'),_0xf1dd('0x1f')]]})[_0xf1dd('0xc')](function(_0x60643b){if(_0x60643b)return activateAdditionalPhone(_0x5c3297,_0x189e49[_0xf1dd('0x18')],_0x60643b,_0x189e49[_0xf1dd('0x2c')],_0x189e49[_0xf1dd('0x2d')])[_0xf1dd('0xc')](function(_0x4fa117){_0x374f7f(_0x4fa117);});else{_0x374f7f({'id':_0x5c3297['id'],'phone':''});}})[_0xf1dd('0x15')](function(_0x16c39d){logger[_0xf1dd('0x11')](_0xf1dd('0x16'),_0x16c39d[_0xf1dd('0x12')]);_0x3b05b1(_0x265407['error'](0x1f4,_0x16c39d['message']));});}})[_0xf1dd('0x15')](function(_0x1c3305){logger[_0xf1dd('0x11')](_0xf1dd('0x16'),_0x1c3305[_0xf1dd('0x12')]);_0x3b05b1(_0x265407['error'](0x1f4,_0x1c3305['message']));});}else _0x374f7f(0x1);});});};function activateAdditionalPhone(_0x3285cc,_0x27ba14,_0x44607f,_0x5058fd,_0x4a5d33){return new Promise(function(_0x4f67c0,_0x11eefd){var _0x5ab69b;if(_[_0xf1dd('0x2e')](_0x44607f[_0xf1dd('0x2f')])){_0x44607f[_0xf1dd('0x2f')]=moment();}if(moment()>moment(_0x44607f[_0xf1dd('0x2f')])){_0x5ab69b=moment()[_0xf1dd('0x30')](_0x4a5d33||0x3,'minutes');}else{if(_0x44607f[_0xf1dd('0x1e')]==0x0){_0x5ab69b=moment(_0x44607f['scheduledat']);}else{_0x5ab69b=moment()['add'](_0x4a5d33||0x3,_0xf1dd('0x31'));}}if(_['isNil'](_0x5ab69b)){_0x5ab69b=moment()[_0xf1dd('0x30')](_0x4a5d33||0x3,'minutes');}var _0x19140a={'phone':_0x3285cc[_0xf1dd('0x32')],'active':0x0,'OrderBy':_['isNil'](_0x3285cc[_0xf1dd('0x1e')])?0x0:_0x3285cc[_0xf1dd('0x1e')],'scheduledat':moment()['add'](_0x5058fd||0x1,'minutes'),'countbusyretry':_0x27ba14['countbusyretry'],'countcongestionretry':_0x27ba14[_0xf1dd('0x21')],'countnoanswerretry':_0x27ba14[_0xf1dd('0x22')],'countnosuchnumberretry':_0x27ba14['countnosuchnumberretry'],'countdropretry':_0x27ba14[_0xf1dd('0x24')],'countabandonedretry':_0x27ba14[_0xf1dd('0x29')],'countmachineretry':_0x27ba14[_0xf1dd('0x25')],'countagentrejectretry':_0x27ba14[_0xf1dd('0x26')],'createdAt':_0x27ba14['createdAt'],'updatedAt':_0x27ba14[_0xf1dd('0x33')]};var _0x312063={'CmHopperId':_0x3285cc['id'],'phone':_0x44607f[_0xf1dd('0x32')],'active':0x0,'OrderBy':_[_0xf1dd('0x2e')](_0x44607f['OrderBy'])?0x0:_0x44607f[_0xf1dd('0x1e')],'scheduledat':_0x5ab69b,'countbusyretry':_0x44607f[_0xf1dd('0x20')],'countcongestionretry':_0x44607f[_0xf1dd('0x21')],'countnoanswerretry':_0x44607f[_0xf1dd('0x22')],'countnosuchnumberretry':_0x44607f[_0xf1dd('0x23')],'countdropretry':_0x44607f[_0xf1dd('0x24')],'countabandonedretry':_0x44607f[_0xf1dd('0x29')],'countmachineretry':_0x44607f[_0xf1dd('0x25')],'countagentrejectretry':_0x44607f[_0xf1dd('0x26')],'createdAt':_0x44607f[_0xf1dd('0x34')],'updatedAt':_0x44607f[_0xf1dd('0x33')]};return db[_0xf1dd('0x35')][_0xf1dd('0x36')](function(_0x4ed3ef){return db[_0xf1dd('0x1d')][_0xf1dd('0x37')](_0x19140a,{'where':{'id':_0x44607f['id']}},{'transaction':_0x4ed3ef})[_0xf1dd('0xc')](function(){return db['CmHopper'][_0xf1dd('0x37')](_0x312063,{'where':{'id':_0x3285cc['id']}},{'transaction':_0x4ed3ef});});})[_0xf1dd('0xc')](function(_0x4fd03c){_0x4f67c0({'id':_0x3285cc['id'],'phone':_0x44607f[_0xf1dd('0x32')]});})[_0xf1dd('0x15')](function(_0x55d719){logger[_0xf1dd('0x11')](_0xf1dd('0x38'),_0x55d719[_0xf1dd('0x12')]);_0x11eefd({'error':_0x55d719[_0xf1dd('0x12')]});});});}exports[_0xf1dd('0x39')]=function(_0x42f56b){var _0x29e103=this;return new Promise(function(_0x2fc9be,_0x4983f4){return db[_0xf1dd('0x2b')]['update'](_0x42f56b[_0xf1dd('0x18')][_0xf1dd('0x3a')],{'where':{'id':_0x42f56b[_0xf1dd('0x18')]['id']}})[_0xf1dd('0xc')](function(_0x1738b3){_0x2fc9be(_0x1738b3);})[_0xf1dd('0x15')](function(_0x4c364f){logger[_0xf1dd('0x11')](_0xf1dd('0x39'),_0x4c364f[_0xf1dd('0x12')]);_0x4983f4(_0x29e103['error'](0x1f4,_0x4c364f[_0xf1dd('0x12')]));});});};