Built motion from commit (unavailable).|2.5.26
[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 _0xc9c9=['request','then','CmHopper,\x20%s,\x20%s','request\x20sent','CmHopper,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','GetCmHopper','findAll','options','raw','where','attributes','map','include','model','stringify','CmHopper','info','ShowCmHopper','debug','CreateCmHopper','create','body','UpdateCmHopper','update','limit','destroy','DestroyCmHopper','GetContactDialer','CmContact','describe','transaction','order','keys','Agent','name','includes','push','all','MoveContactManagedDialer','sequelize','CmHopperFinal','COUNT','literal','`scheduledat`\x20>=\x20','\x22%s\x22','format','\x20,\x201,\x20null','contactsRescheduled','CountReScheduled','UserId','LOCK','UPDATE','length','GetContactRecallMe','GetCmHopperPreview','lodash','moment','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','client','http'];(function(_0x4cfb78,_0x4c1da6){var _0xc1250e=function(_0x217b6c){while(--_0x217b6c){_0x4cfb78['push'](_0x4cfb78['shift']());}};_0xc1250e(++_0x4c1da6);}(_0xc9c9,0x19a));var _0x9c9c=function(_0x527acd,_0x32b758){_0x527acd=_0x527acd-0x0;var _0x2c990f=_0xc9c9[_0x527acd];return _0x2c990f;};'use strict';var _=require(_0x9c9c('0x0'));var util=require('util');var moment=require(_0x9c9c('0x1'));var BPromise=require('bluebird');var rs=require(_0x9c9c('0x2'));var fs=require('fs');var Redis=require(_0x9c9c('0x3'));var db=require(_0x9c9c('0x4'))['db'];var utils=require(_0x9c9c('0x5'));var logger=require('../../config/logger')(_0x9c9c('0x6'));var config=require(_0x9c9c('0x7'));var jayson=require('jayson/promise');var client=jayson[_0x9c9c('0x8')][_0x9c9c('0x9')]({'port':0x232a});function respondWithRpcPromise(_0x554e08,_0x2f2eb9,_0x3c5deb){return new BPromise(function(_0x4ff617,_0x58aad3){return client[_0x9c9c('0xa')](_0x554e08,_0x3c5deb)[_0x9c9c('0xb')](function(_0x58feca){logger['info'](_0x9c9c('0xc'),_0x2f2eb9,_0x9c9c('0xd'));logger['debug'](_0x9c9c('0xe'),_0x2f2eb9,'request\x20sent',JSON['stringify'](_0x58feca));if(_0x58feca[_0x9c9c('0xf')]){if(_0x58feca['error'][_0x9c9c('0x10')]===0x1f4){logger[_0x9c9c('0xf')]('CmHopper,\x20%s,\x20%s',_0x2f2eb9,_0x58feca[_0x9c9c('0xf')][_0x9c9c('0x11')]);return _0x58aad3(_0x58feca[_0x9c9c('0xf')][_0x9c9c('0x11')]);}logger[_0x9c9c('0xf')](_0x9c9c('0xc'),_0x2f2eb9,_0x58feca['error']['message']);return _0x4ff617(_0x58feca[_0x9c9c('0xf')]['message']);}else{logger['info'](_0x9c9c('0xc'),_0x2f2eb9,'request\x20sent');_0x4ff617(_0x58feca[_0x9c9c('0x12')][_0x9c9c('0x11')]);}})[_0x9c9c('0x13')](function(_0x3a4024){logger[_0x9c9c('0xf')](_0x9c9c('0xc'),_0x2f2eb9,_0x3a4024);_0x58aad3(_0x3a4024);});});}exports[_0x9c9c('0x14')]=function(_0x48d389){var _0x55e525=this;return new Promise(function(_0x402dd7,_0xe14963){return db['CmHopper'][_0x9c9c('0x15')]({'raw':_0x48d389[_0x9c9c('0x16')]?_0x48d389['options'][_0x9c9c('0x17')]===undefined?!![]:![]:!![],'where':_0x48d389[_0x9c9c('0x16')]?_0x48d389[_0x9c9c('0x16')][_0x9c9c('0x18')]||null:null,'attributes':_0x48d389['options']?_0x48d389[_0x9c9c('0x16')][_0x9c9c('0x19')]||null:null,'limit':_0x48d389[_0x9c9c('0x16')]?_0x48d389[_0x9c9c('0x16')]['limit']||null:null,'include':_0x48d389['options']?_0x48d389[_0x9c9c('0x16')]['include']?_[_0x9c9c('0x1a')](_0x48d389[_0x9c9c('0x16')][_0x9c9c('0x1b')],function(_0x56c1d3){return{'model':db[_0x56c1d3[_0x9c9c('0x1c')]],'as':_0x56c1d3['as'],'attributes':_0x56c1d3[_0x9c9c('0x19')],'include':_0x56c1d3[_0x9c9c('0x1b')]?_[_0x9c9c('0x1a')](_0x56c1d3[_0x9c9c('0x1b')],function(_0x3b4ab0){return{'model':db[_0x3b4ab0['model']],'as':_0x3b4ab0['as'],'attributes':_0x3b4ab0[_0x9c9c('0x19')],'include':_0x3b4ab0['include']?_[_0x9c9c('0x1a')](_0x3b4ab0['include'],function(_0x4c981b){return{'model':db[_0x4c981b[_0x9c9c('0x1c')]],'as':_0x4c981b['as'],'attributes':_0x4c981b['attributes']};}):[]};}):[]};}):[]:[]})[_0x9c9c('0xb')](function(_0x1496a0){logger['info'](_0x9c9c('0x14'),_0x48d389);logger['debug'](_0x9c9c('0x14'),_0x48d389,JSON[_0x9c9c('0x1d')](_0x1496a0));_0x402dd7(_0x1496a0);})[_0x9c9c('0x13')](function(_0x5b4e18){logger['error'](_0x9c9c('0x14'),_0x5b4e18['message'],_0x48d389);_0xe14963(_0x55e525[_0x9c9c('0xf')](0x1f4,_0x5b4e18[_0x9c9c('0x11')]));});});};exports['ShowCmHopper']=function(_0x46001d){var _0x2c606e=this;return new Promise(function(_0x1dd80b,_0x23bf14){return db[_0x9c9c('0x1e')]['find']({'raw':_0x46001d[_0x9c9c('0x16')]?_0x46001d[_0x9c9c('0x16')][_0x9c9c('0x17')]===undefined?!![]:![]:!![],'where':_0x46001d['options']?_0x46001d[_0x9c9c('0x16')][_0x9c9c('0x18')]||null:null,'attributes':_0x46001d[_0x9c9c('0x16')]?_0x46001d[_0x9c9c('0x16')][_0x9c9c('0x19')]||null:null,'include':_0x46001d[_0x9c9c('0x16')]?_0x46001d['options'][_0x9c9c('0x1b')]?_[_0x9c9c('0x1a')](_0x46001d[_0x9c9c('0x16')][_0x9c9c('0x1b')],function(_0x4b10d3){return{'model':db[_0x4b10d3['model']],'as':_0x4b10d3['as'],'attributes':_0x4b10d3[_0x9c9c('0x19')],'include':_0x4b10d3[_0x9c9c('0x1b')]?_[_0x9c9c('0x1a')](_0x4b10d3[_0x9c9c('0x1b')],function(_0x444705){return{'model':db[_0x444705[_0x9c9c('0x1c')]],'as':_0x444705['as'],'attributes':_0x444705['attributes'],'include':_0x444705['include']?_[_0x9c9c('0x1a')](_0x444705['include'],function(_0x181deb){return{'model':db[_0x181deb[_0x9c9c('0x1c')]],'as':_0x181deb['as'],'attributes':_0x181deb[_0x9c9c('0x19')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x50174d){logger[_0x9c9c('0x1f')](_0x9c9c('0x20'),_0x46001d);logger[_0x9c9c('0x21')](_0x9c9c('0x20'),_0x46001d,JSON[_0x9c9c('0x1d')](_0x50174d));_0x1dd80b(_0x50174d);})[_0x9c9c('0x13')](function(_0x17f2ab){logger[_0x9c9c('0xf')](_0x9c9c('0x20'),_0x17f2ab['message'],_0x46001d);_0x23bf14(_0x2c606e[_0x9c9c('0xf')](0x1f4,_0x17f2ab[_0x9c9c('0x11')]));});});};exports[_0x9c9c('0x22')]=function(_0x3a483d){var _0xd1ba5c=this;return new Promise(function(_0x435aeb,_0x2b184a){return db[_0x9c9c('0x1e')][_0x9c9c('0x23')](_0x3a483d[_0x9c9c('0x24')],{'raw':_0x3a483d[_0x9c9c('0x16')]?_0x3a483d[_0x9c9c('0x16')][_0x9c9c('0x17')]===undefined?!![]:![]:!![]})[_0x9c9c('0xb')](function(_0x3d1a18){logger[_0x9c9c('0x1f')](_0x9c9c('0x22'),_0x3a483d);logger[_0x9c9c('0x21')](_0x9c9c('0x22'),_0x3a483d,JSON[_0x9c9c('0x1d')](_0x3d1a18));_0x435aeb(_0x3d1a18);})[_0x9c9c('0x13')](function(_0x192fbb){logger[_0x9c9c('0xf')](_0x9c9c('0x22'),_0x192fbb[_0x9c9c('0x11')],_0x3a483d);_0x2b184a(_0xd1ba5c['error'](0x1f4,_0x192fbb[_0x9c9c('0x11')]));});});};exports[_0x9c9c('0x25')]=function(_0x40003d){var _0x3d2ef6=this;return new Promise(function(_0x52b9ff,_0x3d4e1a){return db['CmHopper'][_0x9c9c('0x26')](_0x40003d['body'],{'raw':_0x40003d[_0x9c9c('0x16')]?_0x40003d[_0x9c9c('0x16')][_0x9c9c('0x17')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x40003d['options']?_0x40003d[_0x9c9c('0x16')]['where']||null:null,'attributes':_0x40003d['options']?_0x40003d[_0x9c9c('0x16')][_0x9c9c('0x19')]||null:null,'limit':_0x40003d[_0x9c9c('0x16')]?_0x40003d[_0x9c9c('0x16')][_0x9c9c('0x27')]||null:null})[_0x9c9c('0xb')](function(_0x5b7cfc){logger[_0x9c9c('0x1f')]('UpdateCmHopper',_0x40003d);logger['debug'](_0x9c9c('0x25'),_0x40003d,JSON[_0x9c9c('0x1d')](_0x5b7cfc));_0x52b9ff(_0x5b7cfc);})[_0x9c9c('0x13')](function(_0x3c27d7){logger[_0x9c9c('0xf')](_0x9c9c('0x25'),_0x3c27d7['message'],_0x40003d);_0x3d4e1a(_0x3d2ef6[_0x9c9c('0xf')](0x1f4,_0x3c27d7['message']));});});};exports['DestroyCmHopper']=function(_0x134193){var _0xd4403f=this;return new Promise(function(_0x1686eb,_0x1cbf79){return db[_0x9c9c('0x1e')][_0x9c9c('0x28')]({'where':_0x134193['options']?_0x134193[_0x9c9c('0x16')]['where']||null:null})[_0x9c9c('0xb')](function(_0x5c9627){logger[_0x9c9c('0x1f')]('DestroyCmHopper',_0x134193);logger[_0x9c9c('0x21')]('DestroyCmHopper',_0x134193,JSON['stringify'](_0x5c9627));_0x1686eb(_0x5c9627);})['catch'](function(_0x3a3302){logger[_0x9c9c('0xf')](_0x9c9c('0x29'),_0x3a3302[_0x9c9c('0x11')],_0x134193);_0x1cbf79(_0xd4403f['error'](0x1f4,_0x3a3302[_0x9c9c('0x11')]));});});};exports[_0x9c9c('0x2a')]=function(_0x10068b){var _0x2b5396=this;return new Promise(function(_0x1b831d,_0x229a4c){return db[_0x9c9c('0x2b')][_0x9c9c('0x2c')]()[_0x9c9c('0xb')](function(_0x256c5a){return db['sequelize'][_0x9c9c('0x2d')](function(_0x58cf2e){return db[_0x9c9c('0x1e')][_0x9c9c('0x15')]({'where':_0x10068b[_0x9c9c('0x16')]?_0x10068b[_0x9c9c('0x16')][_0x9c9c('0x18')]||null:null,'attributes':_0x10068b[_0x9c9c('0x16')]?_0x10068b[_0x9c9c('0x16')]['attributes']||null:null,'limit':_0x10068b[_0x9c9c('0x16')]?_0x10068b[_0x9c9c('0x16')][_0x9c9c('0x27')]||null:null,'order':_0x10068b[_0x9c9c('0x16')]?_0x10068b[_0x9c9c('0x16')][_0x9c9c('0x2e')]||null:null,'transaction':_0x58cf2e,'lock':_0x58cf2e['LOCK']['UPDATE'],'include':[{'model':db[_0x9c9c('0x2b')],'as':'Contact','attributes':_[_0x9c9c('0x2f')](_0x256c5a)},{'model':db['User'],'as':_0x9c9c('0x30'),'attributes':['id',_0x9c9c('0x31'),'voicePause']}]})[_0x9c9c('0xb')](function(_0x5ac146){var _0x42cd7b=[];var _0x215723=[];for(var _0x4b7755=0x0;_0x4b7755<_0x5ac146['length'];_0x4b7755+=0x1){if(!_0x215723[_0x9c9c('0x32')](_0x5ac146[_0x4b7755]['UserId'])){_0x215723[_0x9c9c('0x33')](_0x5ac146[_0x4b7755]['UserId']);_0x42cd7b['push'](_0x5ac146[_0x4b7755]['update'](_0x10068b[_0x9c9c('0x24')],{'transaction':_0x58cf2e}));}}return BPromise[_0x9c9c('0x34')](_0x42cd7b);});})[_0x9c9c('0xb')](function(_0x53623a){logger[_0x9c9c('0x1f')](_0x9c9c('0x2a'),_0x10068b);logger[_0x9c9c('0x21')](_0x9c9c('0x2a'),_0x10068b,JSON['stringify'](_0x53623a));_0x1b831d(_0x53623a);})['catch'](function(_0x5c5259){logger[_0x9c9c('0xf')](_0x9c9c('0x2a'),_0x5c5259['message'],_0x10068b);_0x229a4c(_0x2b5396['error'](0x1f4,_0x5c5259[_0x9c9c('0x11')]));});});});};exports[_0x9c9c('0x35')]=function(_0x363de9){var _0x32273e=this;return new Promise(function(_0x4dc3b5,_0x52ba47){return db[_0x9c9c('0x36')][_0x9c9c('0x2d')](function(_0xbef5a0){return db[_0x9c9c('0x37')][_0x9c9c('0x23')](_0x363de9['body'],{'raw':_0x363de9[_0x9c9c('0x16')]?_0x363de9[_0x9c9c('0x16')][_0x9c9c('0x17')]===undefined?!![]:![]:!![],'transaction':_0xbef5a0})['then'](function(){return db[_0x9c9c('0x1e')][_0x9c9c('0x28')]({'where':_0x363de9[_0x9c9c('0x16')]?_0x363de9[_0x9c9c('0x16')][_0x9c9c('0x18')]||null:null,'transaction':_0xbef5a0});});})[_0x9c9c('0xb')](function(_0x187bc1){logger[_0x9c9c('0x1f')](_0x9c9c('0x35'),_0x363de9);logger[_0x9c9c('0x21')](_0x9c9c('0x35'),_0x363de9,JSON[_0x9c9c('0x1d')](_0x187bc1));_0x4dc3b5(_0x187bc1);})['catch'](function(_0x3074a6){logger[_0x9c9c('0xf')](_0x9c9c('0x35'),_0x3074a6['message'],_0x363de9);_0x52ba47(_0x32273e[_0x9c9c('0xf')](0x1f4,_0x3074a6['message']));});});};exports['CountReScheduled']=function(_0x2df1b8){var _0x386e30=this;return new Promise(function(_0x2fb3bb,_0x22321e){return db[_0x9c9c('0x1e')][_0x9c9c('0x15')]({'raw':_0x2df1b8[_0x9c9c('0x16')]?_0x2df1b8[_0x9c9c('0x16')][_0x9c9c('0x17')]===undefined?!![]:![]:!![],'where':_0x2df1b8['options']?_0x2df1b8['options'][_0x9c9c('0x18')]||null:null,'attributes':[[db[_0x9c9c('0x36')]['fn'](_0x9c9c('0x38'),db['sequelize']['fn']('IF',db[_0x9c9c('0x36')][_0x9c9c('0x39')](_0x9c9c('0x3a')+util['format'](_0x9c9c('0x3b'),moment()[_0x9c9c('0x3c')]('YYYY-MM-DD\x20HH:mm:ss'))+_0x9c9c('0x3d')))),_0x9c9c('0x3e')]]})[_0x9c9c('0xb')](function(_0x2f82b3){logger[_0x9c9c('0x1f')](_0x9c9c('0x3f'),_0x2df1b8);logger[_0x9c9c('0x21')]('CountReScheduled',_0x2df1b8,JSON['stringify'](_0x2f82b3));_0x2fb3bb(_0x2f82b3);})['catch'](function(_0x414b3b){logger['error'](_0x9c9c('0x3f'),_0x414b3b[_0x9c9c('0x11')],_0x2df1b8);_0x22321e(_0x386e30['error'](0x1f4,_0x414b3b[_0x9c9c('0x11')]));});});};exports['GetContactRecallMe']=function(_0x11c8ae){var _0xaf8545=this;return new Promise(function(_0x4b4c44,_0x14bcf5){return db[_0x9c9c('0x2b')][_0x9c9c('0x2c')]()[_0x9c9c('0xb')](function(_0x2358f9){return db[_0x9c9c('0x36')][_0x9c9c('0x2d')](function(_0x35ab91){return db[_0x9c9c('0x1e')][_0x9c9c('0x15')]({'where':_0x11c8ae[_0x9c9c('0x16')]?_0x11c8ae[_0x9c9c('0x16')]['where']||null:null,'attributes':_0x11c8ae[_0x9c9c('0x16')]?_0x11c8ae[_0x9c9c('0x16')][_0x9c9c('0x19')]||null:null,'limit':0x1,'order':_0x11c8ae[_0x9c9c('0x16')]?_0x11c8ae[_0x9c9c('0x16')][_0x9c9c('0x2e')]||null:null,'group':db['CmHopper'][_0x9c9c('0x40')],'transaction':_0x35ab91,'lock':_0x35ab91[_0x9c9c('0x41')][_0x9c9c('0x42')],'include':_0x11c8ae[_0x9c9c('0x16')]?_0x11c8ae[_0x9c9c('0x16')][_0x9c9c('0x1b')]?_['map'](_0x11c8ae['options'][_0x9c9c('0x1b')],function(_0x375056){return{'model':db[_0x375056[_0x9c9c('0x1c')]],'as':_0x375056['as'],'attributes':_0x375056[_0x9c9c('0x19')],'include':_0x375056[_0x9c9c('0x1b')]?_[_0x9c9c('0x1a')](_0x375056[_0x9c9c('0x1b')],function(_0x323810){return{'model':db[_0x323810[_0x9c9c('0x1c')]],'as':_0x323810['as'],'attributes':_0x323810[_0x9c9c('0x19')],'include':_0x323810[_0x9c9c('0x1b')]?_[_0x9c9c('0x1a')](_0x323810[_0x9c9c('0x1b')],function(_0x59b190){return{'model':db[_0x59b190[_0x9c9c('0x1c')]],'as':_0x59b190['as'],'attributes':_0x59b190[_0x9c9c('0x19')]};}):[]};}):[]};}):[]:[]})[_0x9c9c('0xb')](function(_0x441d4c){var _0x107f4b=[];for(var _0x1af1ef=0x0;_0x1af1ef<_0x441d4c[_0x9c9c('0x43')];_0x1af1ef+=0x1){_0x107f4b[_0x9c9c('0x33')](_0x441d4c[_0x1af1ef][_0x9c9c('0x26')](_0x11c8ae[_0x9c9c('0x24')],{'transaction':_0x35ab91}));}return BPromise[_0x9c9c('0x34')](_0x107f4b);});})['then'](function(_0x22675f){logger[_0x9c9c('0x1f')](_0x9c9c('0x44'),_0x11c8ae);logger[_0x9c9c('0x21')]('GetContactRecallMe',_0x11c8ae,JSON['stringify'](_0x22675f));_0x4b4c44(_0x22675f);})[_0x9c9c('0x13')](function(_0x2bc79a){logger['error']('GetContactRecallMe',_0x2bc79a[_0x9c9c('0x11')],_0x11c8ae);_0x14bcf5(_0xaf8545[_0x9c9c('0xf')](0x1f4,_0x2bc79a[_0x9c9c('0x11')]));});});});};exports[_0x9c9c('0x45')]=function(_0x2ea966){var _0x41975b=this;return new Promise(function(_0x24192a,_0x2f99ce){db[_0x9c9c('0x2b')]['describe']()[_0x9c9c('0xb')](function(_0xaca1bf){return db[_0x9c9c('0x1e')][_0x9c9c('0x15')]({'raw':_0x2ea966[_0x9c9c('0x16')]?_0x2ea966[_0x9c9c('0x16')][_0x9c9c('0x17')]===undefined?!![]:![]:!![],'where':_0x2ea966[_0x9c9c('0x16')]?_0x2ea966[_0x9c9c('0x16')][_0x9c9c('0x18')]||null:null,'attributes':_0x2ea966['options']?_0x2ea966[_0x9c9c('0x16')]['attributes']||null:null,'limit':_0x2ea966['options']?_0x2ea966[_0x9c9c('0x16')][_0x9c9c('0x27')]||null:null,'include':_0x2ea966['options']?_0x2ea966[_0x9c9c('0x16')][_0x9c9c('0x1b')]?_[_0x9c9c('0x1a')](_0x2ea966[_0x9c9c('0x16')][_0x9c9c('0x1b')],function(_0x25f321){return{'model':db[_0x25f321[_0x9c9c('0x1c')]],'as':_0x25f321['as'],'attributes':_0x25f321['as']==='Contact'?_[_0x9c9c('0x2f')](_0xaca1bf):_0x25f321[_0x9c9c('0x19')],'include':_0x25f321[_0x9c9c('0x1b')]?_[_0x9c9c('0x1a')](_0x25f321[_0x9c9c('0x1b')],function(_0x38731a){return{'model':db[_0x38731a[_0x9c9c('0x1c')]],'as':_0x38731a['as'],'attributes':_0x38731a[_0x9c9c('0x19')],'include':_0x38731a[_0x9c9c('0x1b')]?_[_0x9c9c('0x1a')](_0x38731a[_0x9c9c('0x1b')],function(_0x152005){return{'model':db[_0x152005[_0x9c9c('0x1c')]],'as':_0x152005['as'],'attributes':_0x152005[_0x9c9c('0x19')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x16a5c2){logger[_0x9c9c('0x1f')](_0x9c9c('0x14'),_0x2ea966);logger[_0x9c9c('0x21')](_0x9c9c('0x14'),_0x2ea966,JSON['stringify'](_0x16a5c2));_0x24192a(_0x16a5c2);})[_0x9c9c('0x13')](function(_0x323b05){logger[_0x9c9c('0xf')](_0x9c9c('0x14'),_0x323b05['message'],_0x2ea966);_0x2f99ce(_0x41975b[_0x9c9c('0xf')](0x1f4,_0x323b05[_0x9c9c('0x11')]));});});});};