6d7dc6aa39368e3ace1bd5403f64e60eea160efe
[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 _0xdcc6=['GetCmHopper','CmHopper','findAll','options','where','attributes','limit','model','include','map','catch','ShowCmHopper','find','raw','CreateCmHopper','create','body','UpdateCmHopper','update','destroy','DestroyCmHopper','GetContactDialer','CmContact','describe','sequelize','order','Contact','keys','User','Agent','includes','push','UserId','all','MoveContactManagedDialer','CmHopperFinal','CountReScheduled','COUNT','literal','`scheduledat`\x20>=\x20','format','\x22%s\x22','\x20,\x201,\x20null','contactsRescheduled','GetContactRecallMe','transaction','LOCK','length','GetCmHopperPreview','lodash','util','moment','randomstring','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','jayson/promise','client','request','then','info','request\x20sent','debug','stringify','error','code','CmHopper,\x20%s,\x20%s','message','result'];(function(_0x39c4aa,_0x4a3822){var _0x1e0f1b=function(_0x4108e4){while(--_0x4108e4){_0x39c4aa['push'](_0x39c4aa['shift']());}};_0x1e0f1b(++_0x4a3822);}(_0xdcc6,0x1d5));var _0x6dcc=function(_0x1708e0,_0x1cf4e2){_0x1708e0=_0x1708e0-0x0;var _0x5a4e51=_0xdcc6[_0x1708e0];return _0x5a4e51;};'use strict';var _=require(_0x6dcc('0x0'));var util=require(_0x6dcc('0x1'));var moment=require(_0x6dcc('0x2'));var BPromise=require('bluebird');var rs=require(_0x6dcc('0x3'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0x6dcc('0x4'))['db'];var utils=require(_0x6dcc('0x5'));var logger=require(_0x6dcc('0x6'))('rpc');var config=require(_0x6dcc('0x7'));var jayson=require(_0x6dcc('0x8'));var client=jayson[_0x6dcc('0x9')]['http']({'port':0x232a});function respondWithRpcPromise(_0x483e76,_0x3a68b7,_0x18434d){return new BPromise(function(_0x4441d5,_0x271fbb){return client[_0x6dcc('0xa')](_0x483e76,_0x18434d)[_0x6dcc('0xb')](function(_0x23f5a8){logger[_0x6dcc('0xc')]('CmHopper,\x20%s,\x20%s',_0x3a68b7,_0x6dcc('0xd'));logger[_0x6dcc('0xe')]('CmHopper,\x20%s,\x20%s,\x20%s',_0x3a68b7,_0x6dcc('0xd'),JSON[_0x6dcc('0xf')](_0x23f5a8));if(_0x23f5a8['error']){if(_0x23f5a8[_0x6dcc('0x10')][_0x6dcc('0x11')]===0x1f4){logger[_0x6dcc('0x10')](_0x6dcc('0x12'),_0x3a68b7,_0x23f5a8[_0x6dcc('0x10')][_0x6dcc('0x13')]);return _0x271fbb(_0x23f5a8[_0x6dcc('0x10')][_0x6dcc('0x13')]);}logger[_0x6dcc('0x10')](_0x6dcc('0x12'),_0x3a68b7,_0x23f5a8[_0x6dcc('0x10')][_0x6dcc('0x13')]);return _0x4441d5(_0x23f5a8['error'][_0x6dcc('0x13')]);}else{logger[_0x6dcc('0xc')](_0x6dcc('0x12'),_0x3a68b7,'request\x20sent');_0x4441d5(_0x23f5a8[_0x6dcc('0x14')]['message']);}})['catch'](function(_0x130c02){logger[_0x6dcc('0x10')](_0x6dcc('0x12'),_0x3a68b7,_0x130c02);_0x271fbb(_0x130c02);});});}exports[_0x6dcc('0x15')]=function(_0x2e9ea0){var _0x206597=this;return new Promise(function(_0x6010ea,_0x57eeec){return db[_0x6dcc('0x16')][_0x6dcc('0x17')]({'raw':_0x2e9ea0[_0x6dcc('0x18')]?_0x2e9ea0[_0x6dcc('0x18')]['raw']===undefined?!![]:![]:!![],'where':_0x2e9ea0[_0x6dcc('0x18')]?_0x2e9ea0[_0x6dcc('0x18')][_0x6dcc('0x19')]||null:null,'attributes':_0x2e9ea0[_0x6dcc('0x18')]?_0x2e9ea0[_0x6dcc('0x18')][_0x6dcc('0x1a')]||null:null,'limit':_0x2e9ea0[_0x6dcc('0x18')]?_0x2e9ea0[_0x6dcc('0x18')][_0x6dcc('0x1b')]||null:null,'include':_0x2e9ea0[_0x6dcc('0x18')]?_0x2e9ea0['options']['include']?_['map'](_0x2e9ea0[_0x6dcc('0x18')]['include'],function(_0x479535){return{'model':db[_0x479535[_0x6dcc('0x1c')]],'as':_0x479535['as'],'attributes':_0x479535[_0x6dcc('0x1a')],'include':_0x479535[_0x6dcc('0x1d')]?_[_0x6dcc('0x1e')](_0x479535[_0x6dcc('0x1d')],function(_0x54606c){return{'model':db[_0x54606c[_0x6dcc('0x1c')]],'as':_0x54606c['as'],'attributes':_0x54606c[_0x6dcc('0x1a')],'include':_0x54606c[_0x6dcc('0x1d')]?_[_0x6dcc('0x1e')](_0x54606c[_0x6dcc('0x1d')],function(_0x8ed55c){return{'model':db[_0x8ed55c[_0x6dcc('0x1c')]],'as':_0x8ed55c['as'],'attributes':_0x8ed55c['attributes']};}):[]};}):[]};}):[]:[]})[_0x6dcc('0xb')](function(_0x3e60be){logger[_0x6dcc('0xc')]('GetCmHopper',_0x2e9ea0);logger[_0x6dcc('0xe')]('GetCmHopper',_0x2e9ea0,JSON[_0x6dcc('0xf')](_0x3e60be));_0x6010ea(_0x3e60be);})[_0x6dcc('0x1f')](function(_0x25b218){logger[_0x6dcc('0x10')]('GetCmHopper',_0x25b218['message'],_0x2e9ea0);_0x57eeec(_0x206597['error'](0x1f4,_0x25b218[_0x6dcc('0x13')]));});});};exports[_0x6dcc('0x20')]=function(_0x25b7f2){var _0x4e79ef=this;return new Promise(function(_0xb6ca8c,_0x45c3c4){return db['CmHopper'][_0x6dcc('0x21')]({'raw':_0x25b7f2[_0x6dcc('0x18')]?_0x25b7f2[_0x6dcc('0x18')][_0x6dcc('0x22')]===undefined?!![]:![]:!![],'where':_0x25b7f2[_0x6dcc('0x18')]?_0x25b7f2[_0x6dcc('0x18')][_0x6dcc('0x19')]||null:null,'attributes':_0x25b7f2['options']?_0x25b7f2[_0x6dcc('0x18')][_0x6dcc('0x1a')]||null:null,'include':_0x25b7f2[_0x6dcc('0x18')]?_0x25b7f2['options']['include']?_[_0x6dcc('0x1e')](_0x25b7f2[_0x6dcc('0x18')][_0x6dcc('0x1d')],function(_0x474b03){return{'model':db[_0x474b03[_0x6dcc('0x1c')]],'as':_0x474b03['as'],'attributes':_0x474b03[_0x6dcc('0x1a')],'include':_0x474b03[_0x6dcc('0x1d')]?_[_0x6dcc('0x1e')](_0x474b03[_0x6dcc('0x1d')],function(_0x524bb4){return{'model':db[_0x524bb4[_0x6dcc('0x1c')]],'as':_0x524bb4['as'],'attributes':_0x524bb4[_0x6dcc('0x1a')],'include':_0x524bb4[_0x6dcc('0x1d')]?_['map'](_0x524bb4['include'],function(_0x19184e){return{'model':db[_0x19184e[_0x6dcc('0x1c')]],'as':_0x19184e['as'],'attributes':_0x19184e['attributes']};}):[]};}):[]};}):[]:[]})[_0x6dcc('0xb')](function(_0x3a0010){logger[_0x6dcc('0xc')]('ShowCmHopper',_0x25b7f2);logger['debug']('ShowCmHopper',_0x25b7f2,JSON[_0x6dcc('0xf')](_0x3a0010));_0xb6ca8c(_0x3a0010);})['catch'](function(_0x3026d8){logger['error'](_0x6dcc('0x20'),_0x3026d8[_0x6dcc('0x13')],_0x25b7f2);_0x45c3c4(_0x4e79ef[_0x6dcc('0x10')](0x1f4,_0x3026d8[_0x6dcc('0x13')]));});});};exports[_0x6dcc('0x23')]=function(_0x1edee3){var _0x5465d7=this;return new Promise(function(_0x234695,_0xfd6a8a){return db[_0x6dcc('0x16')][_0x6dcc('0x24')](_0x1edee3[_0x6dcc('0x25')],{'raw':_0x1edee3[_0x6dcc('0x18')]?_0x1edee3['options'][_0x6dcc('0x22')]===undefined?!![]:![]:!![]})[_0x6dcc('0xb')](function(_0x4124a6){logger['info'](_0x6dcc('0x23'),_0x1edee3);logger[_0x6dcc('0xe')](_0x6dcc('0x23'),_0x1edee3,JSON[_0x6dcc('0xf')](_0x4124a6));_0x234695(_0x4124a6);})[_0x6dcc('0x1f')](function(_0x1968f9){logger[_0x6dcc('0x10')](_0x6dcc('0x23'),_0x1968f9['message'],_0x1edee3);_0xfd6a8a(_0x5465d7['error'](0x1f4,_0x1968f9[_0x6dcc('0x13')]));});});};exports[_0x6dcc('0x26')]=function(_0x421a4e){var _0x4abbba=this;return new Promise(function(_0x27622d,_0x151139){return db['CmHopper'][_0x6dcc('0x27')](_0x421a4e[_0x6dcc('0x25')],{'raw':_0x421a4e['options']?_0x421a4e[_0x6dcc('0x18')][_0x6dcc('0x22')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x421a4e['options']?_0x421a4e[_0x6dcc('0x18')][_0x6dcc('0x19')]||null:null,'attributes':_0x421a4e[_0x6dcc('0x18')]?_0x421a4e[_0x6dcc('0x18')][_0x6dcc('0x1a')]||null:null,'limit':_0x421a4e[_0x6dcc('0x18')]?_0x421a4e[_0x6dcc('0x18')]['limit']||null:null})[_0x6dcc('0xb')](function(_0x474ac4){logger['info'](_0x6dcc('0x26'),_0x421a4e);logger[_0x6dcc('0xe')]('UpdateCmHopper',_0x421a4e,JSON['stringify'](_0x474ac4));_0x27622d(_0x474ac4);})['catch'](function(_0x208c7b){logger[_0x6dcc('0x10')](_0x6dcc('0x26'),_0x208c7b[_0x6dcc('0x13')],_0x421a4e);_0x151139(_0x4abbba[_0x6dcc('0x10')](0x1f4,_0x208c7b['message']));});});};exports['DestroyCmHopper']=function(_0x300f71){var _0x577451=this;return new Promise(function(_0x537580,_0x259e22){return db[_0x6dcc('0x16')][_0x6dcc('0x28')]({'where':_0x300f71[_0x6dcc('0x18')]?_0x300f71[_0x6dcc('0x18')]['where']||null:null})[_0x6dcc('0xb')](function(_0x3f51dc){logger[_0x6dcc('0xc')]('DestroyCmHopper',_0x300f71);logger[_0x6dcc('0xe')](_0x6dcc('0x29'),_0x300f71,JSON[_0x6dcc('0xf')](_0x3f51dc));_0x537580(_0x3f51dc);})[_0x6dcc('0x1f')](function(_0x364fa0){logger[_0x6dcc('0x10')](_0x6dcc('0x29'),_0x364fa0['message'],_0x300f71);_0x259e22(_0x577451['error'](0x1f4,_0x364fa0[_0x6dcc('0x13')]));});});};exports[_0x6dcc('0x2a')]=function(_0x46ad54){var _0x4b8fc1=this;return new Promise(function(_0x25b9a6,_0x34e25b){return db[_0x6dcc('0x2b')][_0x6dcc('0x2c')]()[_0x6dcc('0xb')](function(_0x528c9e){return db[_0x6dcc('0x2d')]['transaction'](function(_0x288ce7){return db[_0x6dcc('0x16')][_0x6dcc('0x17')]({'where':_0x46ad54[_0x6dcc('0x18')]?_0x46ad54[_0x6dcc('0x18')][_0x6dcc('0x19')]||null:null,'attributes':_0x46ad54['options']?_0x46ad54['options'][_0x6dcc('0x1a')]||null:null,'limit':_0x46ad54[_0x6dcc('0x18')]?_0x46ad54[_0x6dcc('0x18')]['limit']||null:null,'order':_0x46ad54['options']?_0x46ad54[_0x6dcc('0x18')][_0x6dcc('0x2e')]||null:null,'transaction':_0x288ce7,'lock':_0x288ce7['LOCK']['UPDATE'],'include':[{'model':db['CmContact'],'as':_0x6dcc('0x2f'),'attributes':_[_0x6dcc('0x30')](_0x528c9e)},{'model':db[_0x6dcc('0x31')],'as':_0x6dcc('0x32'),'attributes':['id','name','voicePause']}]})[_0x6dcc('0xb')](function(_0x54bce6){var _0x30692b=[];var _0x1238b1=[];for(var _0x19c967=0x0;_0x19c967<_0x54bce6['length'];_0x19c967+=0x1){if(!_0x1238b1[_0x6dcc('0x33')](_0x54bce6[_0x19c967]['UserId'])){_0x1238b1[_0x6dcc('0x34')](_0x54bce6[_0x19c967][_0x6dcc('0x35')]);_0x30692b[_0x6dcc('0x34')](_0x54bce6[_0x19c967][_0x6dcc('0x27')](_0x46ad54[_0x6dcc('0x25')],{'transaction':_0x288ce7}));}}return BPromise[_0x6dcc('0x36')](_0x30692b);});})[_0x6dcc('0xb')](function(_0xcb3203){logger[_0x6dcc('0xc')]('GetContactDialer',_0x46ad54);logger['debug'](_0x6dcc('0x2a'),_0x46ad54,JSON[_0x6dcc('0xf')](_0xcb3203));_0x25b9a6(_0xcb3203);})['catch'](function(_0x351097){logger[_0x6dcc('0x10')]('GetContactDialer',_0x351097[_0x6dcc('0x13')],_0x46ad54);_0x34e25b(_0x4b8fc1[_0x6dcc('0x10')](0x1f4,_0x351097[_0x6dcc('0x13')]));});});});};exports[_0x6dcc('0x37')]=function(_0x12a68c){var _0x5d0fc0=this;return new Promise(function(_0x46f6d1,_0xc31c9e){return db[_0x6dcc('0x2d')]['transaction'](function(_0x30e540){return db[_0x6dcc('0x38')]['create'](_0x12a68c['body'],{'raw':_0x12a68c['options']?_0x12a68c[_0x6dcc('0x18')][_0x6dcc('0x22')]===undefined?!![]:![]:!![],'transaction':_0x30e540})[_0x6dcc('0xb')](function(){return db[_0x6dcc('0x16')]['destroy']({'where':_0x12a68c[_0x6dcc('0x18')]?_0x12a68c['options']['where']||null:null,'transaction':_0x30e540});});})[_0x6dcc('0xb')](function(_0x444a8d){logger[_0x6dcc('0xc')]('MoveContactManagedDialer',_0x12a68c);logger['debug'](_0x6dcc('0x37'),_0x12a68c,JSON['stringify'](_0x444a8d));_0x46f6d1(_0x444a8d);})[_0x6dcc('0x1f')](function(_0x230be6){logger[_0x6dcc('0x10')](_0x6dcc('0x37'),_0x230be6[_0x6dcc('0x13')],_0x12a68c);_0xc31c9e(_0x5d0fc0['error'](0x1f4,_0x230be6[_0x6dcc('0x13')]));});});};exports[_0x6dcc('0x39')]=function(_0x5aadd8){var _0x34187a=this;return new Promise(function(_0x48c354,_0x15ed6e){return db[_0x6dcc('0x16')][_0x6dcc('0x17')]({'raw':_0x5aadd8['options']?_0x5aadd8[_0x6dcc('0x18')][_0x6dcc('0x22')]===undefined?!![]:![]:!![],'where':_0x5aadd8[_0x6dcc('0x18')]?_0x5aadd8[_0x6dcc('0x18')][_0x6dcc('0x19')]||null:null,'attributes':[[db[_0x6dcc('0x2d')]['fn'](_0x6dcc('0x3a'),db['sequelize']['fn']('IF',db[_0x6dcc('0x2d')][_0x6dcc('0x3b')](_0x6dcc('0x3c')+util[_0x6dcc('0x3d')](_0x6dcc('0x3e'),moment()[_0x6dcc('0x3d')]('YYYY-MM-DD\x20HH:mm:ss'))+_0x6dcc('0x3f')))),_0x6dcc('0x40')]]})[_0x6dcc('0xb')](function(_0x21544c){logger[_0x6dcc('0xc')](_0x6dcc('0x39'),_0x5aadd8);logger['debug']('CountReScheduled',_0x5aadd8,JSON[_0x6dcc('0xf')](_0x21544c));_0x48c354(_0x21544c);})[_0x6dcc('0x1f')](function(_0x155d19){logger[_0x6dcc('0x10')]('CountReScheduled',_0x155d19[_0x6dcc('0x13')],_0x5aadd8);_0x15ed6e(_0x34187a[_0x6dcc('0x10')](0x1f4,_0x155d19[_0x6dcc('0x13')]));});});};exports[_0x6dcc('0x41')]=function(_0x4d7a3f){var _0x298474=this;return new Promise(function(_0x192a3a,_0x133060){return db[_0x6dcc('0x2b')][_0x6dcc('0x2c')]()[_0x6dcc('0xb')](function(_0x23ff19){return db['sequelize'][_0x6dcc('0x42')](function(_0x21a956){return db[_0x6dcc('0x16')][_0x6dcc('0x17')]({'where':_0x4d7a3f[_0x6dcc('0x18')]?_0x4d7a3f[_0x6dcc('0x18')][_0x6dcc('0x19')]||null:null,'attributes':_0x4d7a3f[_0x6dcc('0x18')]?_0x4d7a3f[_0x6dcc('0x18')][_0x6dcc('0x1a')]||null:null,'limit':0x1,'order':_0x4d7a3f['options']?_0x4d7a3f['options'][_0x6dcc('0x2e')]||null:null,'group':db['CmHopper'][_0x6dcc('0x35')],'transaction':_0x21a956,'lock':_0x21a956[_0x6dcc('0x43')]['UPDATE'],'include':_0x4d7a3f[_0x6dcc('0x18')]?_0x4d7a3f[_0x6dcc('0x18')][_0x6dcc('0x1d')]?_['map'](_0x4d7a3f['options']['include'],function(_0x5128a2){return{'model':db[_0x5128a2[_0x6dcc('0x1c')]],'as':_0x5128a2['as'],'attributes':_0x5128a2[_0x6dcc('0x1a')],'include':_0x5128a2[_0x6dcc('0x1d')]?_[_0x6dcc('0x1e')](_0x5128a2['include'],function(_0xf2e5f0){return{'model':db[_0xf2e5f0[_0x6dcc('0x1c')]],'as':_0xf2e5f0['as'],'attributes':_0xf2e5f0[_0x6dcc('0x1a')],'include':_0xf2e5f0[_0x6dcc('0x1d')]?_[_0x6dcc('0x1e')](_0xf2e5f0[_0x6dcc('0x1d')],function(_0x121cf7){return{'model':db[_0x121cf7[_0x6dcc('0x1c')]],'as':_0x121cf7['as'],'attributes':_0x121cf7[_0x6dcc('0x1a')]};}):[]};}):[]};}):[]:[]})[_0x6dcc('0xb')](function(_0x47d7e1){var _0x198b82=[];for(var _0x27370a=0x0;_0x27370a<_0x47d7e1[_0x6dcc('0x44')];_0x27370a+=0x1){_0x198b82['push'](_0x47d7e1[_0x27370a][_0x6dcc('0x27')](_0x4d7a3f[_0x6dcc('0x25')],{'transaction':_0x21a956}));}return BPromise[_0x6dcc('0x36')](_0x198b82);});})['then'](function(_0xd3a80d){logger[_0x6dcc('0xc')](_0x6dcc('0x41'),_0x4d7a3f);logger[_0x6dcc('0xe')](_0x6dcc('0x41'),_0x4d7a3f,JSON[_0x6dcc('0xf')](_0xd3a80d));_0x192a3a(_0xd3a80d);})[_0x6dcc('0x1f')](function(_0x14a933){logger[_0x6dcc('0x10')]('GetContactRecallMe',_0x14a933[_0x6dcc('0x13')],_0x4d7a3f);_0x133060(_0x298474['error'](0x1f4,_0x14a933[_0x6dcc('0x13')]));});});});};exports[_0x6dcc('0x45')]=function(_0x137026){var _0x1827f5=this;return new Promise(function(_0x58287f,_0x144834){db['CmContact'][_0x6dcc('0x2c')]()[_0x6dcc('0xb')](function(_0x58183d){return db[_0x6dcc('0x16')][_0x6dcc('0x17')]({'raw':_0x137026[_0x6dcc('0x18')]?_0x137026[_0x6dcc('0x18')][_0x6dcc('0x22')]===undefined?!![]:![]:!![],'where':_0x137026[_0x6dcc('0x18')]?_0x137026[_0x6dcc('0x18')][_0x6dcc('0x19')]||null:null,'attributes':_0x137026['options']?_0x137026[_0x6dcc('0x18')]['attributes']||null:null,'limit':_0x137026[_0x6dcc('0x18')]?_0x137026[_0x6dcc('0x18')][_0x6dcc('0x1b')]||null:null,'include':_0x137026[_0x6dcc('0x18')]?_0x137026['options'][_0x6dcc('0x1d')]?_['map'](_0x137026[_0x6dcc('0x18')][_0x6dcc('0x1d')],function(_0x4f0276){return{'model':db[_0x4f0276[_0x6dcc('0x1c')]],'as':_0x4f0276['as'],'attributes':_0x4f0276['as']===_0x6dcc('0x2f')?_[_0x6dcc('0x30')](_0x58183d):_0x4f0276[_0x6dcc('0x1a')],'include':_0x4f0276[_0x6dcc('0x1d')]?_[_0x6dcc('0x1e')](_0x4f0276[_0x6dcc('0x1d')],function(_0x4d94cb){return{'model':db[_0x4d94cb[_0x6dcc('0x1c')]],'as':_0x4d94cb['as'],'attributes':_0x4d94cb[_0x6dcc('0x1a')],'include':_0x4d94cb[_0x6dcc('0x1d')]?_[_0x6dcc('0x1e')](_0x4d94cb[_0x6dcc('0x1d')],function(_0x539fbe){return{'model':db[_0x539fbe[_0x6dcc('0x1c')]],'as':_0x539fbe['as'],'attributes':_0x539fbe[_0x6dcc('0x1a')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x3546cb){logger['info'](_0x6dcc('0x15'),_0x137026);logger[_0x6dcc('0xe')](_0x6dcc('0x15'),_0x137026,JSON['stringify'](_0x3546cb));_0x58287f(_0x3546cb);})[_0x6dcc('0x1f')](function(_0x3f37f0){logger['error']('GetCmHopper',_0x3f37f0[_0x6dcc('0x13')],_0x137026);_0x144834(_0x1827f5['error'](0x1f4,_0x3f37f0[_0x6dcc('0x13')]));});});});};