Built motion from commit (unavailable).|2.5.22
[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 _0xed3e=['attributes','limit','map','include','model','ShowCmHopper','find','create','body','CreateCmHopper','UpdateCmHopper','update','catch','DestroyCmHopper','GetContactDialer','CmContact','describe','sequelize','transaction','LOCK','Contact','keys','User','Agent','name','voicePause','includes','UserId','push','all','CmHopperFinal','destroy','MoveContactManagedDialer','COUNT','literal','format','\x22%s\x22','YYYY-MM-DD\x20HH:mm:ss','\x20,\x201,\x20null','contactsRescheduled','CountReScheduled','GetContactRecallMe','order','UPDATE','length','GetCmHopperPreview','lodash','util','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','client','request','then','info','CmHopper,\x20%s,\x20%s','debug','CmHopper,\x20%s,\x20%s,\x20%s','stringify','error','code','message','request\x20sent','result','GetCmHopper','CmHopper','findAll','options','raw','where'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0xed3e,0x156));var _0xeed3=function(_0x17a06d,_0x56ec85){_0x17a06d=_0x17a06d-0x0;var _0x5d6220=_0xed3e[_0x17a06d];return _0x5d6220;};'use strict';var _=require(_0xeed3('0x0'));var util=require(_0xeed3('0x1'));var moment=require('moment');var BPromise=require(_0xeed3('0x2'));var rs=require(_0xeed3('0x3'));var fs=require('fs');var Redis=require(_0xeed3('0x4'));var db=require(_0xeed3('0x5'))['db'];var utils=require(_0xeed3('0x6'));var logger=require(_0xeed3('0x7'))('rpc');var config=require(_0xeed3('0x8'));var jayson=require('jayson/promise');var client=jayson[_0xeed3('0x9')]['http']({'port':0x232a});function respondWithRpcPromise(_0x1c0969,_0x1493ad,_0x56ab14){return new BPromise(function(_0x280d31,_0x2a0408){return client[_0xeed3('0xa')](_0x1c0969,_0x56ab14)[_0xeed3('0xb')](function(_0x34092a){logger[_0xeed3('0xc')](_0xeed3('0xd'),_0x1493ad,'request\x20sent');logger[_0xeed3('0xe')](_0xeed3('0xf'),_0x1493ad,'request\x20sent',JSON[_0xeed3('0x10')](_0x34092a));if(_0x34092a[_0xeed3('0x11')]){if(_0x34092a[_0xeed3('0x11')][_0xeed3('0x12')]===0x1f4){logger[_0xeed3('0x11')](_0xeed3('0xd'),_0x1493ad,_0x34092a[_0xeed3('0x11')]['message']);return _0x2a0408(_0x34092a['error'][_0xeed3('0x13')]);}logger[_0xeed3('0x11')](_0xeed3('0xd'),_0x1493ad,_0x34092a[_0xeed3('0x11')]['message']);return _0x280d31(_0x34092a[_0xeed3('0x11')][_0xeed3('0x13')]);}else{logger[_0xeed3('0xc')](_0xeed3('0xd'),_0x1493ad,_0xeed3('0x14'));_0x280d31(_0x34092a[_0xeed3('0x15')]['message']);}})['catch'](function(_0x54c381){logger[_0xeed3('0x11')](_0xeed3('0xd'),_0x1493ad,_0x54c381);_0x2a0408(_0x54c381);});});}exports[_0xeed3('0x16')]=function(_0x5055d4){var _0x93d06=this;return new Promise(function(_0x5c7541,_0x129ff7){return db[_0xeed3('0x17')][_0xeed3('0x18')]({'raw':_0x5055d4['options']?_0x5055d4[_0xeed3('0x19')][_0xeed3('0x1a')]===undefined?!![]:![]:!![],'where':_0x5055d4[_0xeed3('0x19')]?_0x5055d4['options'][_0xeed3('0x1b')]||null:null,'attributes':_0x5055d4[_0xeed3('0x19')]?_0x5055d4[_0xeed3('0x19')][_0xeed3('0x1c')]||null:null,'limit':_0x5055d4['options']?_0x5055d4['options'][_0xeed3('0x1d')]||null:null,'include':_0x5055d4[_0xeed3('0x19')]?_0x5055d4[_0xeed3('0x19')]['include']?_[_0xeed3('0x1e')](_0x5055d4[_0xeed3('0x19')][_0xeed3('0x1f')],function(_0x2870a0){return{'model':db[_0x2870a0[_0xeed3('0x20')]],'as':_0x2870a0['as'],'attributes':_0x2870a0['attributes'],'include':_0x2870a0[_0xeed3('0x1f')]?_['map'](_0x2870a0[_0xeed3('0x1f')],function(_0x33e98d){return{'model':db[_0x33e98d[_0xeed3('0x20')]],'as':_0x33e98d['as'],'attributes':_0x33e98d[_0xeed3('0x1c')],'include':_0x33e98d[_0xeed3('0x1f')]?_[_0xeed3('0x1e')](_0x33e98d['include'],function(_0x92c8c0){return{'model':db[_0x92c8c0[_0xeed3('0x20')]],'as':_0x92c8c0['as'],'attributes':_0x92c8c0[_0xeed3('0x1c')]};}):[]};}):[]};}):[]:[]})[_0xeed3('0xb')](function(_0x4a9b76){logger[_0xeed3('0xc')]('GetCmHopper',_0x5055d4);logger[_0xeed3('0xe')](_0xeed3('0x16'),_0x5055d4,JSON[_0xeed3('0x10')](_0x4a9b76));_0x5c7541(_0x4a9b76);})['catch'](function(_0x35d5a7){logger[_0xeed3('0x11')]('GetCmHopper',_0x35d5a7[_0xeed3('0x13')],_0x5055d4);_0x129ff7(_0x93d06[_0xeed3('0x11')](0x1f4,_0x35d5a7[_0xeed3('0x13')]));});});};exports[_0xeed3('0x21')]=function(_0x3f65d1){var _0x52c4c1=this;return new Promise(function(_0x41d050,_0xa52533){return db[_0xeed3('0x17')][_0xeed3('0x22')]({'raw':_0x3f65d1['options']?_0x3f65d1['options'][_0xeed3('0x1a')]===undefined?!![]:![]:!![],'where':_0x3f65d1[_0xeed3('0x19')]?_0x3f65d1[_0xeed3('0x19')][_0xeed3('0x1b')]||null:null,'attributes':_0x3f65d1[_0xeed3('0x19')]?_0x3f65d1['options']['attributes']||null:null,'include':_0x3f65d1[_0xeed3('0x19')]?_0x3f65d1['options']['include']?_['map'](_0x3f65d1[_0xeed3('0x19')]['include'],function(_0x48b8a0){return{'model':db[_0x48b8a0['model']],'as':_0x48b8a0['as'],'attributes':_0x48b8a0[_0xeed3('0x1c')],'include':_0x48b8a0['include']?_['map'](_0x48b8a0[_0xeed3('0x1f')],function(_0x2b9494){return{'model':db[_0x2b9494['model']],'as':_0x2b9494['as'],'attributes':_0x2b9494[_0xeed3('0x1c')],'include':_0x2b9494['include']?_['map'](_0x2b9494[_0xeed3('0x1f')],function(_0x1f150c){return{'model':db[_0x1f150c[_0xeed3('0x20')]],'as':_0x1f150c['as'],'attributes':_0x1f150c['attributes']};}):[]};}):[]};}):[]:[]})[_0xeed3('0xb')](function(_0x1e4549){logger[_0xeed3('0xc')](_0xeed3('0x21'),_0x3f65d1);logger['debug']('ShowCmHopper',_0x3f65d1,JSON[_0xeed3('0x10')](_0x1e4549));_0x41d050(_0x1e4549);})['catch'](function(_0x4889b2){logger[_0xeed3('0x11')](_0xeed3('0x21'),_0x4889b2[_0xeed3('0x13')],_0x3f65d1);_0xa52533(_0x52c4c1[_0xeed3('0x11')](0x1f4,_0x4889b2[_0xeed3('0x13')]));});});};exports['CreateCmHopper']=function(_0x3f80f7){var _0x4ba216=this;return new Promise(function(_0x2c15a3,_0x58420d){return db[_0xeed3('0x17')][_0xeed3('0x23')](_0x3f80f7[_0xeed3('0x24')],{'raw':_0x3f80f7[_0xeed3('0x19')]?_0x3f80f7[_0xeed3('0x19')][_0xeed3('0x1a')]===undefined?!![]:![]:!![]})[_0xeed3('0xb')](function(_0x146edb){logger[_0xeed3('0xc')](_0xeed3('0x25'),_0x3f80f7);logger[_0xeed3('0xe')](_0xeed3('0x25'),_0x3f80f7,JSON[_0xeed3('0x10')](_0x146edb));_0x2c15a3(_0x146edb);})['catch'](function(_0x1ac8aa){logger[_0xeed3('0x11')]('CreateCmHopper',_0x1ac8aa[_0xeed3('0x13')],_0x3f80f7);_0x58420d(_0x4ba216[_0xeed3('0x11')](0x1f4,_0x1ac8aa[_0xeed3('0x13')]));});});};exports[_0xeed3('0x26')]=function(_0x32eb0c){var _0x36309d=this;return new Promise(function(_0x461610,_0x4121a0){return db['CmHopper'][_0xeed3('0x27')](_0x32eb0c[_0xeed3('0x24')],{'raw':_0x32eb0c['options']?_0x32eb0c[_0xeed3('0x19')][_0xeed3('0x1a')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x32eb0c[_0xeed3('0x19')]?_0x32eb0c['options'][_0xeed3('0x1b')]||null:null,'attributes':_0x32eb0c[_0xeed3('0x19')]?_0x32eb0c[_0xeed3('0x19')][_0xeed3('0x1c')]||null:null,'limit':_0x32eb0c[_0xeed3('0x19')]?_0x32eb0c['options'][_0xeed3('0x1d')]||null:null})['then'](function(_0x2e08b2){logger[_0xeed3('0xc')](_0xeed3('0x26'),_0x32eb0c);logger[_0xeed3('0xe')](_0xeed3('0x26'),_0x32eb0c,JSON[_0xeed3('0x10')](_0x2e08b2));_0x461610(_0x2e08b2);})[_0xeed3('0x28')](function(_0x2b6ba3){logger[_0xeed3('0x11')](_0xeed3('0x26'),_0x2b6ba3[_0xeed3('0x13')],_0x32eb0c);_0x4121a0(_0x36309d[_0xeed3('0x11')](0x1f4,_0x2b6ba3[_0xeed3('0x13')]));});});};exports[_0xeed3('0x29')]=function(_0x17955c){var _0x4194b0=this;return new Promise(function(_0x49cf6b,_0x4f9fe1){return db[_0xeed3('0x17')]['destroy']({'where':_0x17955c[_0xeed3('0x19')]?_0x17955c[_0xeed3('0x19')][_0xeed3('0x1b')]||null:null})[_0xeed3('0xb')](function(_0x4a2605){logger['info'](_0xeed3('0x29'),_0x17955c);logger[_0xeed3('0xe')](_0xeed3('0x29'),_0x17955c,JSON[_0xeed3('0x10')](_0x4a2605));_0x49cf6b(_0x4a2605);})['catch'](function(_0x2758a1){logger[_0xeed3('0x11')](_0xeed3('0x29'),_0x2758a1[_0xeed3('0x13')],_0x17955c);_0x4f9fe1(_0x4194b0[_0xeed3('0x11')](0x1f4,_0x2758a1['message']));});});};exports[_0xeed3('0x2a')]=function(_0x4e2f38){var _0x57d614=this;return new Promise(function(_0x4208ac,_0x44fb28){return db[_0xeed3('0x2b')][_0xeed3('0x2c')]()[_0xeed3('0xb')](function(_0x3836bd){return db[_0xeed3('0x2d')][_0xeed3('0x2e')](function(_0x580255){return db['CmHopper'][_0xeed3('0x18')]({'where':_0x4e2f38['options']?_0x4e2f38['options'][_0xeed3('0x1b')]||null:null,'attributes':_0x4e2f38[_0xeed3('0x19')]?_0x4e2f38['options'][_0xeed3('0x1c')]||null:null,'limit':_0x4e2f38[_0xeed3('0x19')]?_0x4e2f38[_0xeed3('0x19')][_0xeed3('0x1d')]||null:null,'order':_0x4e2f38['options']?_0x4e2f38['options']['order']||null:null,'transaction':_0x580255,'lock':_0x580255[_0xeed3('0x2f')]['UPDATE'],'include':[{'model':db['CmContact'],'as':_0xeed3('0x30'),'attributes':_[_0xeed3('0x31')](_0x3836bd)},{'model':db[_0xeed3('0x32')],'as':_0xeed3('0x33'),'attributes':['id',_0xeed3('0x34'),_0xeed3('0x35')]}]})['then'](function(_0x3cde5b){var _0x4678cf=[];var _0x3e8450=[];for(var _0x12034c=0x0;_0x12034c<_0x3cde5b['length'];_0x12034c+=0x1){if(!_0x3e8450[_0xeed3('0x36')](_0x3cde5b[_0x12034c][_0xeed3('0x37')])){_0x3e8450[_0xeed3('0x38')](_0x3cde5b[_0x12034c][_0xeed3('0x37')]);_0x4678cf['push'](_0x3cde5b[_0x12034c]['update'](_0x4e2f38['body'],{'transaction':_0x580255}));}}return BPromise[_0xeed3('0x39')](_0x4678cf);});})[_0xeed3('0xb')](function(_0x5ea6fd){logger[_0xeed3('0xc')]('GetContactDialer',_0x4e2f38);logger[_0xeed3('0xe')]('GetContactDialer',_0x4e2f38,JSON[_0xeed3('0x10')](_0x5ea6fd));_0x4208ac(_0x5ea6fd);})[_0xeed3('0x28')](function(_0x49c204){logger[_0xeed3('0x11')](_0xeed3('0x2a'),_0x49c204['message'],_0x4e2f38);_0x44fb28(_0x57d614[_0xeed3('0x11')](0x1f4,_0x49c204[_0xeed3('0x13')]));});});});};exports['MoveContactManagedDialer']=function(_0x2f1aaf){var _0x535796=this;return new Promise(function(_0x5db85e,_0x295dab){return db['sequelize']['transaction'](function(_0x41cbd7){return db[_0xeed3('0x3a')][_0xeed3('0x23')](_0x2f1aaf['body'],{'raw':_0x2f1aaf[_0xeed3('0x19')]?_0x2f1aaf[_0xeed3('0x19')][_0xeed3('0x1a')]===undefined?!![]:![]:!![],'transaction':_0x41cbd7})[_0xeed3('0xb')](function(){return db[_0xeed3('0x17')][_0xeed3('0x3b')]({'where':_0x2f1aaf['options']?_0x2f1aaf[_0xeed3('0x19')]['where']||null:null,'transaction':_0x41cbd7});});})[_0xeed3('0xb')](function(_0x3dab80){logger[_0xeed3('0xc')](_0xeed3('0x3c'),_0x2f1aaf);logger[_0xeed3('0xe')](_0xeed3('0x3c'),_0x2f1aaf,JSON[_0xeed3('0x10')](_0x3dab80));_0x5db85e(_0x3dab80);})[_0xeed3('0x28')](function(_0x26eced){logger[_0xeed3('0x11')]('MoveContactManagedDialer',_0x26eced[_0xeed3('0x13')],_0x2f1aaf);_0x295dab(_0x535796[_0xeed3('0x11')](0x1f4,_0x26eced[_0xeed3('0x13')]));});});};exports['CountReScheduled']=function(_0x36711e){var _0x7ba370=this;return new Promise(function(_0x14e4ca,_0x5ed2a9){return db[_0xeed3('0x17')][_0xeed3('0x18')]({'raw':_0x36711e[_0xeed3('0x19')]?_0x36711e[_0xeed3('0x19')]['raw']===undefined?!![]:![]:!![],'where':_0x36711e[_0xeed3('0x19')]?_0x36711e[_0xeed3('0x19')][_0xeed3('0x1b')]||null:null,'attributes':[[db[_0xeed3('0x2d')]['fn'](_0xeed3('0x3d'),db[_0xeed3('0x2d')]['fn']('IF',db[_0xeed3('0x2d')][_0xeed3('0x3e')]('`scheduledat`\x20>=\x20'+util[_0xeed3('0x3f')](_0xeed3('0x40'),moment()[_0xeed3('0x3f')](_0xeed3('0x41')))+_0xeed3('0x42')))),_0xeed3('0x43')]]})['then'](function(_0x318a7b){logger['info']('CountReScheduled',_0x36711e);logger[_0xeed3('0xe')]('CountReScheduled',_0x36711e,JSON[_0xeed3('0x10')](_0x318a7b));_0x14e4ca(_0x318a7b);})['catch'](function(_0x100af9){logger['error'](_0xeed3('0x44'),_0x100af9[_0xeed3('0x13')],_0x36711e);_0x5ed2a9(_0x7ba370[_0xeed3('0x11')](0x1f4,_0x100af9[_0xeed3('0x13')]));});});};exports[_0xeed3('0x45')]=function(_0x2246d5){var _0xcc2e8b=this;return new Promise(function(_0x522651,_0x2d477d){return db[_0xeed3('0x2b')]['describe']()[_0xeed3('0xb')](function(_0xbd31a0){return db[_0xeed3('0x2d')][_0xeed3('0x2e')](function(_0x27f6f6){return db[_0xeed3('0x17')]['findAll']({'where':_0x2246d5[_0xeed3('0x19')]?_0x2246d5[_0xeed3('0x19')]['where']||null:null,'attributes':_0x2246d5[_0xeed3('0x19')]?_0x2246d5[_0xeed3('0x19')][_0xeed3('0x1c')]||null:null,'limit':0x1,'order':_0x2246d5['options']?_0x2246d5[_0xeed3('0x19')][_0xeed3('0x46')]||null:null,'group':db[_0xeed3('0x17')]['UserId'],'transaction':_0x27f6f6,'lock':_0x27f6f6[_0xeed3('0x2f')][_0xeed3('0x47')],'include':_0x2246d5[_0xeed3('0x19')]?_0x2246d5[_0xeed3('0x19')][_0xeed3('0x1f')]?_[_0xeed3('0x1e')](_0x2246d5[_0xeed3('0x19')][_0xeed3('0x1f')],function(_0x382b77){return{'model':db[_0x382b77[_0xeed3('0x20')]],'as':_0x382b77['as'],'attributes':_0x382b77[_0xeed3('0x1c')],'include':_0x382b77['include']?_[_0xeed3('0x1e')](_0x382b77[_0xeed3('0x1f')],function(_0x16eb5c){return{'model':db[_0x16eb5c[_0xeed3('0x20')]],'as':_0x16eb5c['as'],'attributes':_0x16eb5c['attributes'],'include':_0x16eb5c[_0xeed3('0x1f')]?_[_0xeed3('0x1e')](_0x16eb5c[_0xeed3('0x1f')],function(_0x28182f){return{'model':db[_0x28182f[_0xeed3('0x20')]],'as':_0x28182f['as'],'attributes':_0x28182f['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x4ee337){var _0x56c44b=[];for(var _0x3c234e=0x0;_0x3c234e<_0x4ee337[_0xeed3('0x48')];_0x3c234e+=0x1){_0x56c44b[_0xeed3('0x38')](_0x4ee337[_0x3c234e][_0xeed3('0x27')](_0x2246d5[_0xeed3('0x24')],{'transaction':_0x27f6f6}));}return BPromise[_0xeed3('0x39')](_0x56c44b);});})[_0xeed3('0xb')](function(_0x56cfd2){logger['info']('GetContactRecallMe',_0x2246d5);logger[_0xeed3('0xe')]('GetContactRecallMe',_0x2246d5,JSON['stringify'](_0x56cfd2));_0x522651(_0x56cfd2);})[_0xeed3('0x28')](function(_0x9a43ce){logger['error'](_0xeed3('0x45'),_0x9a43ce[_0xeed3('0x13')],_0x2246d5);_0x2d477d(_0xcc2e8b[_0xeed3('0x11')](0x1f4,_0x9a43ce[_0xeed3('0x13')]));});});});};exports[_0xeed3('0x49')]=function(_0x4d5d15){var _0x5cc11f=this;return new Promise(function(_0x3532fa,_0x3dc3e8){db[_0xeed3('0x2b')][_0xeed3('0x2c')]()[_0xeed3('0xb')](function(_0x267133){return db[_0xeed3('0x17')][_0xeed3('0x18')]({'raw':_0x4d5d15['options']?_0x4d5d15['options'][_0xeed3('0x1a')]===undefined?!![]:![]:!![],'where':_0x4d5d15[_0xeed3('0x19')]?_0x4d5d15[_0xeed3('0x19')]['where']||null:null,'attributes':_0x4d5d15['options']?_0x4d5d15[_0xeed3('0x19')][_0xeed3('0x1c')]||null:null,'limit':_0x4d5d15[_0xeed3('0x19')]?_0x4d5d15[_0xeed3('0x19')][_0xeed3('0x1d')]||null:null,'include':_0x4d5d15[_0xeed3('0x19')]?_0x4d5d15[_0xeed3('0x19')]['include']?_[_0xeed3('0x1e')](_0x4d5d15[_0xeed3('0x19')]['include'],function(_0x2cb8ad){return{'model':db[_0x2cb8ad[_0xeed3('0x20')]],'as':_0x2cb8ad['as'],'attributes':_0x2cb8ad['as']===_0xeed3('0x30')?_['keys'](_0x267133):_0x2cb8ad[_0xeed3('0x1c')],'include':_0x2cb8ad[_0xeed3('0x1f')]?_[_0xeed3('0x1e')](_0x2cb8ad['include'],function(_0x23b029){return{'model':db[_0x23b029[_0xeed3('0x20')]],'as':_0x23b029['as'],'attributes':_0x23b029[_0xeed3('0x1c')],'include':_0x23b029['include']?_[_0xeed3('0x1e')](_0x23b029[_0xeed3('0x1f')],function(_0xb31e00){return{'model':db[_0xb31e00[_0xeed3('0x20')]],'as':_0xb31e00['as'],'attributes':_0xb31e00['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x11da87){logger['info'](_0xeed3('0x16'),_0x4d5d15);logger[_0xeed3('0xe')](_0xeed3('0x16'),_0x4d5d15,JSON[_0xeed3('0x10')](_0x11da87));_0x3532fa(_0x11da87);})[_0xeed3('0x28')](function(_0x4d5619){logger[_0xeed3('0x11')](_0xeed3('0x16'),_0x4d5619[_0xeed3('0x13')],_0x4d5d15);_0x3dc3e8(_0x5cc11f[_0xeed3('0x11')](0x1f4,_0x4d5619[_0xeed3('0x13')]));});});});};