Built motion from commit (unavailable).|2.5.31
[motion2.git] / server / api / cmHopper / cmHopper.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 _0x5e33=['error','CmHopper,\x20%s,\x20%s','message','GetCmHopper','CmHopper','findAll','options','raw','where','map','include','attributes','model','catch','find','ShowCmHopper','CreateCmHopper','UpdateCmHopper','update','DestroyCmHopper','destroy','GetContactDialer','CmContact','describe','sequelize','transaction','order','UPDATE','Contact','keys','User','Agent','name','voicePause','length','push','body','includes','MoveContactManagedDialer','CmHopperFinal','create','CountReScheduled','format','\x22%s\x22','contactsRescheduled','GetContactRecallMe','UserId','GetCmHopperPreview','lodash','moment','randomstring','ioredis','../../mysqldb','../../config/logger','jayson/promise','client','request','then','info','request\x20sent','debug','CmHopper,\x20%s,\x20%s,\x20%s','stringify'];(function(_0x2aeae1,_0x340bc6){var _0x36323d=function(_0x52fb7b){while(--_0x52fb7b){_0x2aeae1['push'](_0x2aeae1['shift']());}};_0x36323d(++_0x340bc6);}(_0x5e33,0xed));var _0x35e3=function(_0x532c30,_0x27c4e8){_0x532c30=_0x532c30-0x0;var _0x52d9f1=_0x5e33[_0x532c30];return _0x52d9f1;};'use strict';var _=require(_0x35e3('0x0'));var util=require('util');var moment=require(_0x35e3('0x1'));var BPromise=require('bluebird');var rs=require(_0x35e3('0x2'));var fs=require('fs');var Redis=require(_0x35e3('0x3'));var db=require(_0x35e3('0x4'))['db'];var utils=require('../../config/utils');var logger=require(_0x35e3('0x5'))('rpc');var config=require('../../config/environment');var jayson=require(_0x35e3('0x6'));var client=jayson[_0x35e3('0x7')]['http']({'port':0x232a});function respondWithRpcPromise(_0x14cc2d,_0x264acf,_0x3d2a47){return new BPromise(function(_0x52669b,_0x5dc13a){return client[_0x35e3('0x8')](_0x14cc2d,_0x3d2a47)[_0x35e3('0x9')](function(_0x540ad3){logger[_0x35e3('0xa')]('CmHopper,\x20%s,\x20%s',_0x264acf,_0x35e3('0xb'));logger[_0x35e3('0xc')](_0x35e3('0xd'),_0x264acf,_0x35e3('0xb'),JSON[_0x35e3('0xe')](_0x540ad3));if(_0x540ad3[_0x35e3('0xf')]){if(_0x540ad3['error']['code']===0x1f4){logger['error'](_0x35e3('0x10'),_0x264acf,_0x540ad3[_0x35e3('0xf')][_0x35e3('0x11')]);return _0x5dc13a(_0x540ad3['error'][_0x35e3('0x11')]);}logger[_0x35e3('0xf')]('CmHopper,\x20%s,\x20%s',_0x264acf,_0x540ad3[_0x35e3('0xf')][_0x35e3('0x11')]);return _0x52669b(_0x540ad3[_0x35e3('0xf')][_0x35e3('0x11')]);}else{logger[_0x35e3('0xa')](_0x35e3('0x10'),_0x264acf,_0x35e3('0xb'));_0x52669b(_0x540ad3['result'][_0x35e3('0x11')]);}})['catch'](function(_0x30c59a){logger[_0x35e3('0xf')](_0x35e3('0x10'),_0x264acf,_0x30c59a);_0x5dc13a(_0x30c59a);});});}exports[_0x35e3('0x12')]=function(_0x3004e4){var _0x50dfb7=this;return new Promise(function(_0x147319,_0x32a699){return db[_0x35e3('0x13')][_0x35e3('0x14')]({'raw':_0x3004e4[_0x35e3('0x15')]?_0x3004e4[_0x35e3('0x15')][_0x35e3('0x16')]===undefined?!![]:![]:!![],'where':_0x3004e4['options']?_0x3004e4[_0x35e3('0x15')][_0x35e3('0x17')]||null:null,'attributes':_0x3004e4[_0x35e3('0x15')]?_0x3004e4[_0x35e3('0x15')]['attributes']||null:null,'limit':_0x3004e4[_0x35e3('0x15')]?_0x3004e4[_0x35e3('0x15')]['limit']||null:null,'include':_0x3004e4[_0x35e3('0x15')]?_0x3004e4[_0x35e3('0x15')]['include']?_[_0x35e3('0x18')](_0x3004e4[_0x35e3('0x15')][_0x35e3('0x19')],function(_0x5844d6){return{'model':db[_0x5844d6['model']],'as':_0x5844d6['as'],'attributes':_0x5844d6[_0x35e3('0x1a')],'include':_0x5844d6[_0x35e3('0x19')]?_[_0x35e3('0x18')](_0x5844d6[_0x35e3('0x19')],function(_0x772534){return{'model':db[_0x772534[_0x35e3('0x1b')]],'as':_0x772534['as'],'attributes':_0x772534['attributes'],'include':_0x772534[_0x35e3('0x19')]?_['map'](_0x772534[_0x35e3('0x19')],function(_0x124643){return{'model':db[_0x124643[_0x35e3('0x1b')]],'as':_0x124643['as'],'attributes':_0x124643[_0x35e3('0x1a')]};}):[]};}):[]};}):[]:[]})[_0x35e3('0x9')](function(_0x425dde){logger[_0x35e3('0xa')](_0x35e3('0x12'),_0x3004e4);logger[_0x35e3('0xc')](_0x35e3('0x12'),_0x3004e4,JSON['stringify'](_0x425dde));_0x147319(_0x425dde);})[_0x35e3('0x1c')](function(_0xd1fc16){logger['error'](_0x35e3('0x12'),_0xd1fc16[_0x35e3('0x11')],_0x3004e4);_0x32a699(_0x50dfb7[_0x35e3('0xf')](0x1f4,_0xd1fc16[_0x35e3('0x11')]));});});};exports['ShowCmHopper']=function(_0x353e82){var _0x452392=this;return new Promise(function(_0x4b7ff8,_0x54a69c){return db[_0x35e3('0x13')][_0x35e3('0x1d')]({'raw':_0x353e82[_0x35e3('0x15')]?_0x353e82[_0x35e3('0x15')][_0x35e3('0x16')]===undefined?!![]:![]:!![],'where':_0x353e82[_0x35e3('0x15')]?_0x353e82[_0x35e3('0x15')]['where']||null:null,'attributes':_0x353e82[_0x35e3('0x15')]?_0x353e82[_0x35e3('0x15')][_0x35e3('0x1a')]||null:null,'include':_0x353e82[_0x35e3('0x15')]?_0x353e82['options']['include']?_[_0x35e3('0x18')](_0x353e82[_0x35e3('0x15')][_0x35e3('0x19')],function(_0x268621){return{'model':db[_0x268621['model']],'as':_0x268621['as'],'attributes':_0x268621[_0x35e3('0x1a')],'include':_0x268621['include']?_[_0x35e3('0x18')](_0x268621[_0x35e3('0x19')],function(_0x39a876){return{'model':db[_0x39a876[_0x35e3('0x1b')]],'as':_0x39a876['as'],'attributes':_0x39a876[_0x35e3('0x1a')],'include':_0x39a876[_0x35e3('0x19')]?_['map'](_0x39a876[_0x35e3('0x19')],function(_0x56ff5f){return{'model':db[_0x56ff5f['model']],'as':_0x56ff5f['as'],'attributes':_0x56ff5f['attributes']};}):[]};}):[]};}):[]:[]})[_0x35e3('0x9')](function(_0x5d6b3c){logger['info'](_0x35e3('0x1e'),_0x353e82);logger[_0x35e3('0xc')](_0x35e3('0x1e'),_0x353e82,JSON[_0x35e3('0xe')](_0x5d6b3c));_0x4b7ff8(_0x5d6b3c);})['catch'](function(_0x4f83da){logger[_0x35e3('0xf')](_0x35e3('0x1e'),_0x4f83da['message'],_0x353e82);_0x54a69c(_0x452392[_0x35e3('0xf')](0x1f4,_0x4f83da[_0x35e3('0x11')]));});});};exports[_0x35e3('0x1f')]=function(_0x10489a){var _0x5b1835=this;return new Promise(function(_0x3e5a12,_0x1d7216){return db['CmHopper']['create'](_0x10489a['body'],{'raw':_0x10489a[_0x35e3('0x15')]?_0x10489a['options'][_0x35e3('0x16')]===undefined?!![]:![]:!![]})[_0x35e3('0x9')](function(_0x4f08ff){logger['info'](_0x35e3('0x1f'),_0x10489a);logger[_0x35e3('0xc')](_0x35e3('0x1f'),_0x10489a,JSON['stringify'](_0x4f08ff));_0x3e5a12(_0x4f08ff);})['catch'](function(_0x16e88b){logger[_0x35e3('0xf')](_0x35e3('0x1f'),_0x16e88b['message'],_0x10489a);_0x1d7216(_0x5b1835[_0x35e3('0xf')](0x1f4,_0x16e88b['message']));});});};exports[_0x35e3('0x20')]=function(_0x5e683f){var _0x1ce659=this;return new Promise(function(_0x5f12d3,_0x154a4d){return db[_0x35e3('0x13')][_0x35e3('0x21')](_0x5e683f['body'],{'raw':_0x5e683f['options']?_0x5e683f[_0x35e3('0x15')]['raw']===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x5e683f[_0x35e3('0x15')]?_0x5e683f[_0x35e3('0x15')][_0x35e3('0x17')]||null:null,'attributes':_0x5e683f['options']?_0x5e683f[_0x35e3('0x15')]['attributes']||null:null,'limit':_0x5e683f['options']?_0x5e683f[_0x35e3('0x15')]['limit']||null:null})[_0x35e3('0x9')](function(_0x4f8270){logger[_0x35e3('0xa')](_0x35e3('0x20'),_0x5e683f);logger[_0x35e3('0xc')](_0x35e3('0x20'),_0x5e683f,JSON[_0x35e3('0xe')](_0x4f8270));_0x5f12d3(_0x4f8270);})[_0x35e3('0x1c')](function(_0x15e4ef){logger[_0x35e3('0xf')](_0x35e3('0x20'),_0x15e4ef['message'],_0x5e683f);_0x154a4d(_0x1ce659[_0x35e3('0xf')](0x1f4,_0x15e4ef[_0x35e3('0x11')]));});});};exports[_0x35e3('0x22')]=function(_0x199da6){var _0x5d03a6=this;return new Promise(function(_0x18373a,_0x5c2e50){return db['CmHopper'][_0x35e3('0x23')]({'where':_0x199da6['options']?_0x199da6[_0x35e3('0x15')][_0x35e3('0x17')]||null:null})[_0x35e3('0x9')](function(_0x293219){logger['info'](_0x35e3('0x22'),_0x199da6);logger[_0x35e3('0xc')](_0x35e3('0x22'),_0x199da6,JSON[_0x35e3('0xe')](_0x293219));_0x18373a(_0x293219);})[_0x35e3('0x1c')](function(_0x47724c){logger['error'](_0x35e3('0x22'),_0x47724c[_0x35e3('0x11')],_0x199da6);_0x5c2e50(_0x5d03a6[_0x35e3('0xf')](0x1f4,_0x47724c[_0x35e3('0x11')]));});});};exports[_0x35e3('0x24')]=function(_0x21d842){var _0x32e08d=this;return new Promise(function(_0x51e66a,_0x58ce8a){return db[_0x35e3('0x25')][_0x35e3('0x26')]()[_0x35e3('0x9')](function(_0x313163){return db[_0x35e3('0x27')][_0x35e3('0x28')](function(_0x2e568f){return db[_0x35e3('0x13')][_0x35e3('0x14')]({'where':_0x21d842[_0x35e3('0x15')]?_0x21d842['options'][_0x35e3('0x17')]||null:null,'attributes':_0x21d842[_0x35e3('0x15')]?_0x21d842[_0x35e3('0x15')][_0x35e3('0x1a')]||null:null,'limit':_0x21d842[_0x35e3('0x15')]?_0x21d842[_0x35e3('0x15')]['limit']||null:null,'order':_0x21d842[_0x35e3('0x15')]?_0x21d842[_0x35e3('0x15')][_0x35e3('0x29')]||null:null,'transaction':_0x2e568f,'lock':_0x2e568f['LOCK'][_0x35e3('0x2a')],'include':[{'model':db[_0x35e3('0x25')],'as':_0x35e3('0x2b'),'attributes':_[_0x35e3('0x2c')](_0x313163)},{'model':db[_0x35e3('0x2d')],'as':_0x35e3('0x2e'),'attributes':['id',_0x35e3('0x2f'),_0x35e3('0x30')]}]})[_0x35e3('0x9')](function(_0x3d69bd){var _0x4ed1f9=[];var _0x2298ca=[];for(var _0xc6a3dd=0x0;_0xc6a3dd<_0x3d69bd[_0x35e3('0x31')];_0xc6a3dd+=0x1){var _0x55997f=_0x3d69bd[_0xc6a3dd]['UserId'];if(_0x55997f===null){_0x4ed1f9[_0x35e3('0x32')](_0x3d69bd[_0xc6a3dd][_0x35e3('0x21')](_0x21d842[_0x35e3('0x33')],{'transaction':_0x2e568f}));}else if(!_0x2298ca[_0x35e3('0x34')](_0x55997f)){_0x2298ca[_0x35e3('0x32')](_0x55997f);_0x4ed1f9['push'](_0x3d69bd[_0xc6a3dd][_0x35e3('0x21')](_0x21d842[_0x35e3('0x33')],{'transaction':_0x2e568f}));}}return BPromise['all'](_0x4ed1f9);});})[_0x35e3('0x9')](function(_0x1f7555){logger[_0x35e3('0xa')]('GetContactDialer',_0x21d842);logger[_0x35e3('0xc')](_0x35e3('0x24'),_0x21d842,JSON[_0x35e3('0xe')](_0x1f7555));_0x51e66a(_0x1f7555);})[_0x35e3('0x1c')](function(_0x3223df){logger[_0x35e3('0xf')](_0x35e3('0x24'),_0x3223df[_0x35e3('0x11')],_0x21d842);_0x58ce8a(_0x32e08d[_0x35e3('0xf')](0x1f4,_0x3223df[_0x35e3('0x11')]));});});});};exports[_0x35e3('0x35')]=function(_0x1ef836){var _0x41d246=this;return new Promise(function(_0x329805,_0x147570){return db['sequelize']['transaction'](function(_0x51fbd5){return db[_0x35e3('0x36')][_0x35e3('0x37')](_0x1ef836['body'],{'raw':_0x1ef836[_0x35e3('0x15')]?_0x1ef836['options']['raw']===undefined?!![]:![]:!![],'transaction':_0x51fbd5})[_0x35e3('0x9')](function(){return db[_0x35e3('0x13')][_0x35e3('0x23')]({'where':_0x1ef836[_0x35e3('0x15')]?_0x1ef836[_0x35e3('0x15')][_0x35e3('0x17')]||null:null,'transaction':_0x51fbd5});});})[_0x35e3('0x9')](function(_0x50c644){logger[_0x35e3('0xa')]('MoveContactManagedDialer',_0x1ef836);logger['debug'](_0x35e3('0x35'),_0x1ef836,JSON['stringify'](_0x50c644));_0x329805(_0x50c644);})[_0x35e3('0x1c')](function(_0x4e8759){logger[_0x35e3('0xf')](_0x35e3('0x35'),_0x4e8759[_0x35e3('0x11')],_0x1ef836);_0x147570(_0x41d246[_0x35e3('0xf')](0x1f4,_0x4e8759[_0x35e3('0x11')]));});});};exports[_0x35e3('0x38')]=function(_0x11ac05){var _0x120b3b=this;return new Promise(function(_0x5c7524,_0x5176ab){return db['CmHopper'][_0x35e3('0x14')]({'raw':_0x11ac05[_0x35e3('0x15')]?_0x11ac05['options'][_0x35e3('0x16')]===undefined?!![]:![]:!![],'where':_0x11ac05[_0x35e3('0x15')]?_0x11ac05[_0x35e3('0x15')][_0x35e3('0x17')]||null:null,'attributes':[[db[_0x35e3('0x27')]['fn']('COUNT',db[_0x35e3('0x27')]['fn']('IF',db['sequelize']['literal']('`scheduledat`\x20>=\x20'+util[_0x35e3('0x39')](_0x35e3('0x3a'),moment()[_0x35e3('0x39')]('YYYY-MM-DD\x20HH:mm:ss'))+'\x20,\x201,\x20null'))),_0x35e3('0x3b')]]})[_0x35e3('0x9')](function(_0x9bfc60){logger[_0x35e3('0xa')](_0x35e3('0x38'),_0x11ac05);logger['debug'](_0x35e3('0x38'),_0x11ac05,JSON[_0x35e3('0xe')](_0x9bfc60));_0x5c7524(_0x9bfc60);})[_0x35e3('0x1c')](function(_0x1e8223){logger['error'](_0x35e3('0x38'),_0x1e8223['message'],_0x11ac05);_0x5176ab(_0x120b3b[_0x35e3('0xf')](0x1f4,_0x1e8223['message']));});});};exports[_0x35e3('0x3c')]=function(_0x3a5a61){var _0x508e08=this;return new Promise(function(_0x38a35e,_0x46abc0){return db['CmContact']['describe']()[_0x35e3('0x9')](function(_0x3954ef){return db[_0x35e3('0x27')]['transaction'](function(_0x153dc5){return db[_0x35e3('0x13')]['findAll']({'where':_0x3a5a61[_0x35e3('0x15')]?_0x3a5a61[_0x35e3('0x15')][_0x35e3('0x17')]||null:null,'attributes':_0x3a5a61[_0x35e3('0x15')]?_0x3a5a61['options']['attributes']||null:null,'limit':0x1,'order':_0x3a5a61['options']?_0x3a5a61[_0x35e3('0x15')][_0x35e3('0x29')]||null:null,'group':db[_0x35e3('0x13')][_0x35e3('0x3d')],'transaction':_0x153dc5,'lock':_0x153dc5['LOCK']['UPDATE'],'include':_0x3a5a61[_0x35e3('0x15')]?_0x3a5a61[_0x35e3('0x15')]['include']?_[_0x35e3('0x18')](_0x3a5a61[_0x35e3('0x15')][_0x35e3('0x19')],function(_0x38cac8){return{'model':db[_0x38cac8['model']],'as':_0x38cac8['as'],'attributes':_0x38cac8[_0x35e3('0x1a')],'include':_0x38cac8[_0x35e3('0x19')]?_[_0x35e3('0x18')](_0x38cac8['include'],function(_0x5cba28){return{'model':db[_0x5cba28[_0x35e3('0x1b')]],'as':_0x5cba28['as'],'attributes':_0x5cba28['attributes'],'include':_0x5cba28[_0x35e3('0x19')]?_[_0x35e3('0x18')](_0x5cba28[_0x35e3('0x19')],function(_0x2b2c1c){return{'model':db[_0x2b2c1c[_0x35e3('0x1b')]],'as':_0x2b2c1c['as'],'attributes':_0x2b2c1c[_0x35e3('0x1a')]};}):[]};}):[]};}):[]:[]})[_0x35e3('0x9')](function(_0x175217){var _0xf7f838=[];for(var _0x5a6e5b=0x0;_0x5a6e5b<_0x175217['length'];_0x5a6e5b+=0x1){_0xf7f838[_0x35e3('0x32')](_0x175217[_0x5a6e5b][_0x35e3('0x21')](_0x3a5a61['body'],{'transaction':_0x153dc5}));}return BPromise['all'](_0xf7f838);});})[_0x35e3('0x9')](function(_0x595494){logger[_0x35e3('0xa')](_0x35e3('0x3c'),_0x3a5a61);logger[_0x35e3('0xc')](_0x35e3('0x3c'),_0x3a5a61,JSON[_0x35e3('0xe')](_0x595494));_0x38a35e(_0x595494);})[_0x35e3('0x1c')](function(_0x49771d){logger['error']('GetContactRecallMe',_0x49771d[_0x35e3('0x11')],_0x3a5a61);_0x46abc0(_0x508e08[_0x35e3('0xf')](0x1f4,_0x49771d['message']));});});});};exports[_0x35e3('0x3e')]=function(_0x1df6d8){var _0x113b58=this;return new Promise(function(_0x669791,_0x587595){db[_0x35e3('0x25')][_0x35e3('0x26')]()['then'](function(_0x5723a6){return db['CmHopper'][_0x35e3('0x14')]({'raw':_0x1df6d8[_0x35e3('0x15')]?_0x1df6d8[_0x35e3('0x15')][_0x35e3('0x16')]===undefined?!![]:![]:!![],'where':_0x1df6d8['options']?_0x1df6d8[_0x35e3('0x15')]['where']||null:null,'attributes':_0x1df6d8[_0x35e3('0x15')]?_0x1df6d8[_0x35e3('0x15')][_0x35e3('0x1a')]||null:null,'limit':_0x1df6d8[_0x35e3('0x15')]?_0x1df6d8[_0x35e3('0x15')]['limit']||null:null,'include':_0x1df6d8[_0x35e3('0x15')]?_0x1df6d8['options'][_0x35e3('0x19')]?_[_0x35e3('0x18')](_0x1df6d8[_0x35e3('0x15')][_0x35e3('0x19')],function(_0x54af1e){return{'model':db[_0x54af1e[_0x35e3('0x1b')]],'as':_0x54af1e['as'],'attributes':_0x54af1e['as']===_0x35e3('0x2b')?_[_0x35e3('0x2c')](_0x5723a6):_0x54af1e[_0x35e3('0x1a')],'include':_0x54af1e[_0x35e3('0x19')]?_['map'](_0x54af1e[_0x35e3('0x19')],function(_0x102211){return{'model':db[_0x102211[_0x35e3('0x1b')]],'as':_0x102211['as'],'attributes':_0x102211[_0x35e3('0x1a')],'include':_0x102211[_0x35e3('0x19')]?_[_0x35e3('0x18')](_0x102211['include'],function(_0x3af399){return{'model':db[_0x3af399[_0x35e3('0x1b')]],'as':_0x3af399['as'],'attributes':_0x3af399['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x346484){logger['info']('GetCmHopper',_0x1df6d8);logger[_0x35e3('0xc')]('GetCmHopper',_0x1df6d8,JSON[_0x35e3('0xe')](_0x346484));_0x669791(_0x346484);})[_0x35e3('0x1c')](function(_0x26233d){logger[_0x35e3('0xf')](_0x35e3('0x12'),_0x26233d[_0x35e3('0x11')],_0x1df6d8);_0x587595(_0x113b58['error'](0x1f4,_0x26233d[_0x35e3('0x11')]));});});});};