aa91ae4ae9dca4c915a1e8aa74254dd5dab22f86
[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 _0x87a8=['UpdateCmHopper','update','DestroyCmHopper','destroy','describe','sequelize','findAll','order','LOCK','UPDATE','CmContact','Contact','keys','Agent','name','length','UserId','push','includes','GetContactDialer','MoveContactManagedDialer','CmHopperFinal','create','CountReScheduled','COUNT','literal','`scheduledat`\x20>=\x20','format','\x22%s\x22','\x20,\x201,\x20null','contactsRescheduled','GetContactRecallMe','util','randomstring','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','request','info','CmHopper,\x20%s,\x20%s','request\x20sent','debug','CmHopper,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','GetCmHopper','CmHopper','options','raw','where','attributes','limit','map','include','model','then','ShowCmHopper','find','body','CreateCmHopper'];(function(_0xe6cbe5,_0x5a8c63){var _0x86845b=function(_0x17d3c9){while(--_0x17d3c9){_0xe6cbe5['push'](_0xe6cbe5['shift']());}};_0x86845b(++_0x5a8c63);}(_0x87a8,0xa8));var _0x887a=function(_0x3ca879,_0x2e88ee){_0x3ca879=_0x3ca879-0x0;var _0x1f0bae=_0x87a8[_0x3ca879];return _0x1f0bae;};'use strict';var _=require('lodash');var util=require(_0x887a('0x0'));var moment=require('moment');var BPromise=require('bluebird');var rs=require(_0x887a('0x1'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0x887a('0x2'))['db'];var utils=require(_0x887a('0x3'));var logger=require(_0x887a('0x4'))(_0x887a('0x5'));var config=require(_0x887a('0x6'));var jayson=require(_0x887a('0x7'));var client=jayson[_0x887a('0x8')][_0x887a('0x9')]({'port':0x232a});function respondWithRpcPromise(_0x22ade1,_0x1d2c57,_0x226641){return new BPromise(function(_0x44bee5,_0x4e3c7d){return client[_0x887a('0xa')](_0x22ade1,_0x226641)['then'](function(_0x1911bf){logger[_0x887a('0xb')](_0x887a('0xc'),_0x1d2c57,_0x887a('0xd'));logger[_0x887a('0xe')](_0x887a('0xf'),_0x1d2c57,'request\x20sent',JSON[_0x887a('0x10')](_0x1911bf));if(_0x1911bf[_0x887a('0x11')]){if(_0x1911bf[_0x887a('0x11')][_0x887a('0x12')]===0x1f4){logger[_0x887a('0x11')](_0x887a('0xc'),_0x1d2c57,_0x1911bf[_0x887a('0x11')]['message']);return _0x4e3c7d(_0x1911bf['error'][_0x887a('0x13')]);}logger[_0x887a('0x11')](_0x887a('0xc'),_0x1d2c57,_0x1911bf[_0x887a('0x11')][_0x887a('0x13')]);return _0x44bee5(_0x1911bf[_0x887a('0x11')][_0x887a('0x13')]);}else{logger[_0x887a('0xb')](_0x887a('0xc'),_0x1d2c57,_0x887a('0xd'));_0x44bee5(_0x1911bf['result'][_0x887a('0x13')]);}})[_0x887a('0x14')](function(_0x514f83){logger[_0x887a('0x11')](_0x887a('0xc'),_0x1d2c57,_0x514f83);_0x4e3c7d(_0x514f83);});});}exports[_0x887a('0x15')]=function(_0x242a68){var _0x15d7cd=this;return new Promise(function(_0x4a4cee,_0x4dc385){return db[_0x887a('0x16')]['findAll']({'raw':_0x242a68[_0x887a('0x17')]?_0x242a68[_0x887a('0x17')][_0x887a('0x18')]===undefined?!![]:![]:!![],'where':_0x242a68[_0x887a('0x17')]?_0x242a68[_0x887a('0x17')][_0x887a('0x19')]||null:null,'attributes':_0x242a68[_0x887a('0x17')]?_0x242a68[_0x887a('0x17')][_0x887a('0x1a')]||null:null,'limit':_0x242a68[_0x887a('0x17')]?_0x242a68[_0x887a('0x17')][_0x887a('0x1b')]||null:null,'include':_0x242a68['options']?_0x242a68[_0x887a('0x17')]['include']?_[_0x887a('0x1c')](_0x242a68[_0x887a('0x17')][_0x887a('0x1d')],function(_0x42f99c){return{'model':db[_0x42f99c[_0x887a('0x1e')]],'as':_0x42f99c['as'],'attributes':_0x42f99c['attributes'],'include':_0x42f99c[_0x887a('0x1d')]?_['map'](_0x42f99c[_0x887a('0x1d')],function(_0x4be2ee){return{'model':db[_0x4be2ee[_0x887a('0x1e')]],'as':_0x4be2ee['as'],'attributes':_0x4be2ee[_0x887a('0x1a')],'include':_0x4be2ee[_0x887a('0x1d')]?_[_0x887a('0x1c')](_0x4be2ee[_0x887a('0x1d')],function(_0x3e5107){return{'model':db[_0x3e5107['model']],'as':_0x3e5107['as'],'attributes':_0x3e5107['attributes']};}):[]};}):[]};}):[]:[]})[_0x887a('0x1f')](function(_0x3abff5){logger[_0x887a('0xb')]('GetCmHopper',_0x242a68);logger[_0x887a('0xe')](_0x887a('0x15'),_0x242a68,JSON[_0x887a('0x10')](_0x3abff5));_0x4a4cee(_0x3abff5);})[_0x887a('0x14')](function(_0x390d2a){logger[_0x887a('0x11')](_0x887a('0x15'),_0x390d2a[_0x887a('0x13')],_0x242a68);_0x4dc385(_0x15d7cd[_0x887a('0x11')](0x1f4,_0x390d2a[_0x887a('0x13')]));});});};exports[_0x887a('0x20')]=function(_0xb5c9aa){var _0x1c78e0=this;return new Promise(function(_0x8d2a2b,_0x1ee0a6){return db[_0x887a('0x16')][_0x887a('0x21')]({'raw':_0xb5c9aa[_0x887a('0x17')]?_0xb5c9aa[_0x887a('0x17')][_0x887a('0x18')]===undefined?!![]:![]:!![],'where':_0xb5c9aa[_0x887a('0x17')]?_0xb5c9aa[_0x887a('0x17')][_0x887a('0x19')]||null:null,'attributes':_0xb5c9aa[_0x887a('0x17')]?_0xb5c9aa[_0x887a('0x17')]['attributes']||null:null,'include':_0xb5c9aa[_0x887a('0x17')]?_0xb5c9aa[_0x887a('0x17')][_0x887a('0x1d')]?_[_0x887a('0x1c')](_0xb5c9aa[_0x887a('0x17')][_0x887a('0x1d')],function(_0x31bd62){return{'model':db[_0x31bd62[_0x887a('0x1e')]],'as':_0x31bd62['as'],'attributes':_0x31bd62[_0x887a('0x1a')],'include':_0x31bd62[_0x887a('0x1d')]?_['map'](_0x31bd62[_0x887a('0x1d')],function(_0x54f36a){return{'model':db[_0x54f36a[_0x887a('0x1e')]],'as':_0x54f36a['as'],'attributes':_0x54f36a[_0x887a('0x1a')],'include':_0x54f36a[_0x887a('0x1d')]?_['map'](_0x54f36a[_0x887a('0x1d')],function(_0x470608){return{'model':db[_0x470608['model']],'as':_0x470608['as'],'attributes':_0x470608[_0x887a('0x1a')]};}):[]};}):[]};}):[]:[]})[_0x887a('0x1f')](function(_0xd63bd){logger[_0x887a('0xb')](_0x887a('0x20'),_0xb5c9aa);logger[_0x887a('0xe')]('ShowCmHopper',_0xb5c9aa,JSON[_0x887a('0x10')](_0xd63bd));_0x8d2a2b(_0xd63bd);})[_0x887a('0x14')](function(_0x9d11e6){logger[_0x887a('0x11')](_0x887a('0x20'),_0x9d11e6[_0x887a('0x13')],_0xb5c9aa);_0x1ee0a6(_0x1c78e0['error'](0x1f4,_0x9d11e6[_0x887a('0x13')]));});});};exports['CreateCmHopper']=function(_0x3d9994){var _0x652588=this;return new Promise(function(_0x1b41ab,_0x22a069){return db[_0x887a('0x16')]['create'](_0x3d9994[_0x887a('0x22')],{'raw':_0x3d9994[_0x887a('0x17')]?_0x3d9994['options'][_0x887a('0x18')]===undefined?!![]:![]:!![]})[_0x887a('0x1f')](function(_0x46c4d3){logger[_0x887a('0xb')](_0x887a('0x23'),_0x3d9994);logger[_0x887a('0xe')]('CreateCmHopper',_0x3d9994,JSON['stringify'](_0x46c4d3));_0x1b41ab(_0x46c4d3);})[_0x887a('0x14')](function(_0x11f17a){logger[_0x887a('0x11')](_0x887a('0x23'),_0x11f17a[_0x887a('0x13')],_0x3d9994);_0x22a069(_0x652588[_0x887a('0x11')](0x1f4,_0x11f17a[_0x887a('0x13')]));});});};exports[_0x887a('0x24')]=function(_0x244bd7){var _0x4797a1=this;return new Promise(function(_0x39ae5d,_0x34ce06){return db[_0x887a('0x16')][_0x887a('0x25')](_0x244bd7['body'],{'raw':_0x244bd7['options']?_0x244bd7['options'][_0x887a('0x18')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x244bd7[_0x887a('0x17')]?_0x244bd7[_0x887a('0x17')][_0x887a('0x19')]||null:null,'attributes':_0x244bd7['options']?_0x244bd7[_0x887a('0x17')][_0x887a('0x1a')]||null:null,'limit':_0x244bd7[_0x887a('0x17')]?_0x244bd7[_0x887a('0x17')][_0x887a('0x1b')]||null:null})[_0x887a('0x1f')](function(_0x54c807){logger[_0x887a('0xb')](_0x887a('0x24'),_0x244bd7);logger[_0x887a('0xe')](_0x887a('0x24'),_0x244bd7,JSON[_0x887a('0x10')](_0x54c807));_0x39ae5d(_0x54c807);})[_0x887a('0x14')](function(_0x293e60){logger[_0x887a('0x11')]('UpdateCmHopper',_0x293e60['message'],_0x244bd7);_0x34ce06(_0x4797a1[_0x887a('0x11')](0x1f4,_0x293e60[_0x887a('0x13')]));});});};exports[_0x887a('0x26')]=function(_0x3dc70e){var _0x4ae153=this;return new Promise(function(_0x4e1e81,_0x4029ce){return db[_0x887a('0x16')][_0x887a('0x27')]({'where':_0x3dc70e[_0x887a('0x17')]?_0x3dc70e[_0x887a('0x17')][_0x887a('0x19')]||null:null})[_0x887a('0x1f')](function(_0x364689){logger[_0x887a('0xb')](_0x887a('0x26'),_0x3dc70e);logger[_0x887a('0xe')](_0x887a('0x26'),_0x3dc70e,JSON['stringify'](_0x364689));_0x4e1e81(_0x364689);})['catch'](function(_0x407480){logger[_0x887a('0x11')](_0x887a('0x26'),_0x407480[_0x887a('0x13')],_0x3dc70e);_0x4029ce(_0x4ae153['error'](0x1f4,_0x407480[_0x887a('0x13')]));});});};exports['GetContactDialer']=function(_0x325807){var _0x106c9f=this;return new Promise(function(_0x5cc373,_0x56e6c5){return db['CmContact'][_0x887a('0x28')]()[_0x887a('0x1f')](function(_0xdc16c7){return db[_0x887a('0x29')]['transaction'](function(_0x35b344){return db[_0x887a('0x16')][_0x887a('0x2a')]({'where':_0x325807[_0x887a('0x17')]?_0x325807['options'][_0x887a('0x19')]||null:null,'attributes':_0x325807[_0x887a('0x17')]?_0x325807[_0x887a('0x17')][_0x887a('0x1a')]||null:null,'limit':_0x325807[_0x887a('0x17')]?_0x325807[_0x887a('0x17')][_0x887a('0x1b')]||null:null,'order':_0x325807['options']?_0x325807['options'][_0x887a('0x2b')]||null:null,'transaction':_0x35b344,'lock':_0x35b344[_0x887a('0x2c')][_0x887a('0x2d')],'include':[{'model':db[_0x887a('0x2e')],'as':_0x887a('0x2f'),'attributes':_[_0x887a('0x30')](_0xdc16c7)},{'model':db['User'],'as':_0x887a('0x31'),'attributes':['id',_0x887a('0x32'),'voicePause']}]})['then'](function(_0x3ed21f){var _0x2712cc=[];var _0x2eeca8=[];for(var _0x1a80b0=0x0;_0x1a80b0<_0x3ed21f[_0x887a('0x33')];_0x1a80b0+=0x1){var _0x43edc0=_0x3ed21f[_0x1a80b0][_0x887a('0x34')];if(_0x43edc0===null){_0x2712cc[_0x887a('0x35')](_0x3ed21f[_0x1a80b0]['update'](_0x325807[_0x887a('0x22')],{'transaction':_0x35b344}));}else if(!_0x2eeca8[_0x887a('0x36')](_0x43edc0)){_0x2eeca8['push'](_0x43edc0);_0x2712cc[_0x887a('0x35')](_0x3ed21f[_0x1a80b0][_0x887a('0x25')](_0x325807[_0x887a('0x22')],{'transaction':_0x35b344}));}}return BPromise['all'](_0x2712cc);});})['then'](function(_0x5d5ea3){logger[_0x887a('0xb')]('GetContactDialer',_0x325807);logger[_0x887a('0xe')](_0x887a('0x37'),_0x325807,JSON['stringify'](_0x5d5ea3));_0x5cc373(_0x5d5ea3);})[_0x887a('0x14')](function(_0x117022){logger[_0x887a('0x11')](_0x887a('0x37'),_0x117022[_0x887a('0x13')],_0x325807);_0x56e6c5(_0x106c9f[_0x887a('0x11')](0x1f4,_0x117022[_0x887a('0x13')]));});});});};exports[_0x887a('0x38')]=function(_0x130c43){var _0x36cae8=this;return new Promise(function(_0x2a3f93,_0x5973ed){return db[_0x887a('0x29')]['transaction'](function(_0x47a760){return db[_0x887a('0x39')][_0x887a('0x3a')](_0x130c43[_0x887a('0x22')],{'raw':_0x130c43[_0x887a('0x17')]?_0x130c43[_0x887a('0x17')][_0x887a('0x18')]===undefined?!![]:![]:!![],'transaction':_0x47a760})[_0x887a('0x1f')](function(){return db[_0x887a('0x16')][_0x887a('0x27')]({'where':_0x130c43[_0x887a('0x17')]?_0x130c43[_0x887a('0x17')][_0x887a('0x19')]||null:null,'transaction':_0x47a760});});})[_0x887a('0x1f')](function(_0x36eb25){logger[_0x887a('0xb')]('MoveContactManagedDialer',_0x130c43);logger[_0x887a('0xe')](_0x887a('0x38'),_0x130c43,JSON[_0x887a('0x10')](_0x36eb25));_0x2a3f93(_0x36eb25);})[_0x887a('0x14')](function(_0x5ed2f3){logger[_0x887a('0x11')]('MoveContactManagedDialer',_0x5ed2f3[_0x887a('0x13')],_0x130c43);_0x5973ed(_0x36cae8['error'](0x1f4,_0x5ed2f3[_0x887a('0x13')]));});});};exports[_0x887a('0x3b')]=function(_0x560a18){var _0x1815a0=this;return new Promise(function(_0x5c6e93,_0x1064b1){return db[_0x887a('0x16')][_0x887a('0x2a')]({'raw':_0x560a18[_0x887a('0x17')]?_0x560a18['options'][_0x887a('0x18')]===undefined?!![]:![]:!![],'where':_0x560a18[_0x887a('0x17')]?_0x560a18[_0x887a('0x17')]['where']||null:null,'attributes':[[db['sequelize']['fn'](_0x887a('0x3c'),db['sequelize']['fn']('IF',db['sequelize'][_0x887a('0x3d')](_0x887a('0x3e')+util[_0x887a('0x3f')](_0x887a('0x40'),moment()[_0x887a('0x3f')]('YYYY-MM-DD\x20HH:mm:ss'))+_0x887a('0x41')))),_0x887a('0x42')]]})[_0x887a('0x1f')](function(_0x5d1488){logger[_0x887a('0xb')](_0x887a('0x3b'),_0x560a18);logger[_0x887a('0xe')](_0x887a('0x3b'),_0x560a18,JSON[_0x887a('0x10')](_0x5d1488));_0x5c6e93(_0x5d1488);})[_0x887a('0x14')](function(_0x30aa5b){logger[_0x887a('0x11')](_0x887a('0x3b'),_0x30aa5b[_0x887a('0x13')],_0x560a18);_0x1064b1(_0x1815a0[_0x887a('0x11')](0x1f4,_0x30aa5b[_0x887a('0x13')]));});});};exports[_0x887a('0x43')]=function(_0x45bc8a){var _0x222608=this;return new Promise(function(_0x57587d,_0x211494){return db['CmContact'][_0x887a('0x28')]()[_0x887a('0x1f')](function(_0x4e3c05){return db['sequelize']['transaction'](function(_0x3108da){return db[_0x887a('0x16')]['findAll']({'where':_0x45bc8a[_0x887a('0x17')]?_0x45bc8a['options'][_0x887a('0x19')]||null:null,'attributes':_0x45bc8a[_0x887a('0x17')]?_0x45bc8a[_0x887a('0x17')][_0x887a('0x1a')]||null:null,'limit':0x1,'order':_0x45bc8a['options']?_0x45bc8a[_0x887a('0x17')][_0x887a('0x2b')]||null:null,'group':db[_0x887a('0x16')][_0x887a('0x34')],'transaction':_0x3108da,'lock':_0x3108da['LOCK']['UPDATE'],'include':_0x45bc8a[_0x887a('0x17')]?_0x45bc8a[_0x887a('0x17')][_0x887a('0x1d')]?_[_0x887a('0x1c')](_0x45bc8a[_0x887a('0x17')]['include'],function(_0x5547ba){return{'model':db[_0x5547ba[_0x887a('0x1e')]],'as':_0x5547ba['as'],'attributes':_0x5547ba[_0x887a('0x1a')],'include':_0x5547ba[_0x887a('0x1d')]?_['map'](_0x5547ba[_0x887a('0x1d')],function(_0x3cee79){return{'model':db[_0x3cee79[_0x887a('0x1e')]],'as':_0x3cee79['as'],'attributes':_0x3cee79[_0x887a('0x1a')],'include':_0x3cee79['include']?_[_0x887a('0x1c')](_0x3cee79['include'],function(_0x25b67c){return{'model':db[_0x25b67c[_0x887a('0x1e')]],'as':_0x25b67c['as'],'attributes':_0x25b67c[_0x887a('0x1a')]};}):[]};}):[]};}):[]:[]})[_0x887a('0x1f')](function(_0x4b247b){var _0x3476ad=[];for(var _0x557202=0x0;_0x557202<_0x4b247b[_0x887a('0x33')];_0x557202+=0x1){_0x3476ad['push'](_0x4b247b[_0x557202][_0x887a('0x25')](_0x45bc8a[_0x887a('0x22')],{'transaction':_0x3108da}));}return BPromise['all'](_0x3476ad);});})[_0x887a('0x1f')](function(_0x146a2a){logger['info'](_0x887a('0x43'),_0x45bc8a);logger[_0x887a('0xe')](_0x887a('0x43'),_0x45bc8a,JSON[_0x887a('0x10')](_0x146a2a));_0x57587d(_0x146a2a);})[_0x887a('0x14')](function(_0x2f330a){logger['error'](_0x887a('0x43'),_0x2f330a[_0x887a('0x13')],_0x45bc8a);_0x211494(_0x222608[_0x887a('0x11')](0x1f4,_0x2f330a[_0x887a('0x13')]));});});});};exports['GetCmHopperPreview']=function(_0x430efb){var _0x59904b=this;return new Promise(function(_0x5ab067,_0x594b2e){db['CmContact'][_0x887a('0x28')]()['then'](function(_0xe1fbc2){return db[_0x887a('0x16')]['findAll']({'raw':_0x430efb[_0x887a('0x17')]?_0x430efb[_0x887a('0x17')][_0x887a('0x18')]===undefined?!![]:![]:!![],'where':_0x430efb['options']?_0x430efb['options']['where']||null:null,'attributes':_0x430efb[_0x887a('0x17')]?_0x430efb[_0x887a('0x17')][_0x887a('0x1a')]||null:null,'limit':_0x430efb['options']?_0x430efb['options'][_0x887a('0x1b')]||null:null,'include':_0x430efb[_0x887a('0x17')]?_0x430efb[_0x887a('0x17')][_0x887a('0x1d')]?_['map'](_0x430efb[_0x887a('0x17')][_0x887a('0x1d')],function(_0x1d842c){return{'model':db[_0x1d842c[_0x887a('0x1e')]],'as':_0x1d842c['as'],'attributes':_0x1d842c['as']===_0x887a('0x2f')?_[_0x887a('0x30')](_0xe1fbc2):_0x1d842c[_0x887a('0x1a')],'include':_0x1d842c['include']?_[_0x887a('0x1c')](_0x1d842c[_0x887a('0x1d')],function(_0x3e2e81){return{'model':db[_0x3e2e81[_0x887a('0x1e')]],'as':_0x3e2e81['as'],'attributes':_0x3e2e81[_0x887a('0x1a')],'include':_0x3e2e81[_0x887a('0x1d')]?_['map'](_0x3e2e81['include'],function(_0x481277){return{'model':db[_0x481277[_0x887a('0x1e')]],'as':_0x481277['as'],'attributes':_0x481277[_0x887a('0x1a')]};}):[]};}):[]};}):[]:[]})[_0x887a('0x1f')](function(_0x43b505){logger[_0x887a('0xb')](_0x887a('0x15'),_0x430efb);logger[_0x887a('0xe')](_0x887a('0x15'),_0x430efb,JSON['stringify'](_0x43b505));_0x5ab067(_0x43b505);})[_0x887a('0x14')](function(_0x3a292d){logger[_0x887a('0x11')](_0x887a('0x15'),_0x3a292d[_0x887a('0x13')],_0x430efb);_0x594b2e(_0x59904b[_0x887a('0x11')](0x1f4,_0x3a292d[_0x887a('0x13')]));});});});};