Built motion from commit (unavailable).|2.5.24
[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 _0xb7b9=['then','CmHopper,\x20%s,\x20%s','request\x20sent','CmHopper,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','GetCmHopper','CmHopper','findAll','options','raw','attributes','limit','model','map','include','info','debug','ShowCmHopper','find','CreateCmHopper','create','UpdateCmHopper','update','body','DestroyCmHopper','destroy','where','GetContactDialer','CmContact','describe','sequelize','transaction','order','LOCK','UPDATE','Contact','keys','User','Agent','name','voicePause','length','includes','UserId','push','MoveContactManagedDialer','COUNT','literal','`scheduledat`\x20>=\x20','format','\x20,\x201,\x20null','CountReScheduled','GetContactRecallMe','all','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','request'];(function(_0x59d05d,_0x34bbcb){var _0x28e3f0=function(_0x1f9b0a){while(--_0x1f9b0a){_0x59d05d['push'](_0x59d05d['shift']());}};_0x28e3f0(++_0x34bbcb);}(_0xb7b9,0xcd));var _0x9b7b=function(_0x1d3581,_0x38e500){_0x1d3581=_0x1d3581-0x0;var _0x492b3d=_0xb7b9[_0x1d3581];return _0x492b3d;};'use strict';var _=require(_0x9b7b('0x0'));var util=require(_0x9b7b('0x1'));var moment=require(_0x9b7b('0x2'));var BPromise=require(_0x9b7b('0x3'));var rs=require(_0x9b7b('0x4'));var fs=require('fs');var Redis=require(_0x9b7b('0x5'));var db=require(_0x9b7b('0x6'))['db'];var utils=require('../../config/utils');var logger=require(_0x9b7b('0x7'))(_0x9b7b('0x8'));var config=require(_0x9b7b('0x9'));var jayson=require(_0x9b7b('0xa'));var client=jayson[_0x9b7b('0xb')][_0x9b7b('0xc')]({'port':0x232a});function respondWithRpcPromise(_0x2e5a8e,_0x2a6874,_0x481224){return new BPromise(function(_0x498200,_0x48f9c1){return client[_0x9b7b('0xd')](_0x2e5a8e,_0x481224)[_0x9b7b('0xe')](function(_0x38805b){logger['info'](_0x9b7b('0xf'),_0x2a6874,_0x9b7b('0x10'));logger['debug'](_0x9b7b('0x11'),_0x2a6874,_0x9b7b('0x10'),JSON[_0x9b7b('0x12')](_0x38805b));if(_0x38805b['error']){if(_0x38805b[_0x9b7b('0x13')][_0x9b7b('0x14')]===0x1f4){logger['error'](_0x9b7b('0xf'),_0x2a6874,_0x38805b[_0x9b7b('0x13')][_0x9b7b('0x15')]);return _0x48f9c1(_0x38805b[_0x9b7b('0x13')]['message']);}logger[_0x9b7b('0x13')](_0x9b7b('0xf'),_0x2a6874,_0x38805b[_0x9b7b('0x13')][_0x9b7b('0x15')]);return _0x498200(_0x38805b[_0x9b7b('0x13')]['message']);}else{logger['info']('CmHopper,\x20%s,\x20%s',_0x2a6874,_0x9b7b('0x10'));_0x498200(_0x38805b[_0x9b7b('0x16')][_0x9b7b('0x15')]);}})[_0x9b7b('0x17')](function(_0x666360){logger[_0x9b7b('0x13')](_0x9b7b('0xf'),_0x2a6874,_0x666360);_0x48f9c1(_0x666360);});});}exports[_0x9b7b('0x18')]=function(_0x1e5da3){var _0xe9c15e=this;return new Promise(function(_0x4f7dcf,_0x1c818a){return db[_0x9b7b('0x19')][_0x9b7b('0x1a')]({'raw':_0x1e5da3['options']?_0x1e5da3[_0x9b7b('0x1b')][_0x9b7b('0x1c')]===undefined?!![]:![]:!![],'where':_0x1e5da3[_0x9b7b('0x1b')]?_0x1e5da3['options']['where']||null:null,'attributes':_0x1e5da3['options']?_0x1e5da3[_0x9b7b('0x1b')][_0x9b7b('0x1d')]||null:null,'limit':_0x1e5da3[_0x9b7b('0x1b')]?_0x1e5da3['options'][_0x9b7b('0x1e')]||null:null,'include':_0x1e5da3[_0x9b7b('0x1b')]?_0x1e5da3[_0x9b7b('0x1b')]['include']?_['map'](_0x1e5da3[_0x9b7b('0x1b')]['include'],function(_0x2f11da){return{'model':db[_0x2f11da[_0x9b7b('0x1f')]],'as':_0x2f11da['as'],'attributes':_0x2f11da[_0x9b7b('0x1d')],'include':_0x2f11da['include']?_[_0x9b7b('0x20')](_0x2f11da['include'],function(_0x4ec3f4){return{'model':db[_0x4ec3f4[_0x9b7b('0x1f')]],'as':_0x4ec3f4['as'],'attributes':_0x4ec3f4['attributes'],'include':_0x4ec3f4[_0x9b7b('0x21')]?_[_0x9b7b('0x20')](_0x4ec3f4[_0x9b7b('0x21')],function(_0x2a5bf6){return{'model':db[_0x2a5bf6['model']],'as':_0x2a5bf6['as'],'attributes':_0x2a5bf6[_0x9b7b('0x1d')]};}):[]};}):[]};}):[]:[]})[_0x9b7b('0xe')](function(_0x460261){logger[_0x9b7b('0x22')](_0x9b7b('0x18'),_0x1e5da3);logger[_0x9b7b('0x23')](_0x9b7b('0x18'),_0x1e5da3,JSON[_0x9b7b('0x12')](_0x460261));_0x4f7dcf(_0x460261);})[_0x9b7b('0x17')](function(_0x212cfd){logger[_0x9b7b('0x13')](_0x9b7b('0x18'),_0x212cfd[_0x9b7b('0x15')],_0x1e5da3);_0x1c818a(_0xe9c15e[_0x9b7b('0x13')](0x1f4,_0x212cfd[_0x9b7b('0x15')]));});});};exports[_0x9b7b('0x24')]=function(_0x85352e){var _0x3d6479=this;return new Promise(function(_0x12f6fd,_0x40eb45){return db[_0x9b7b('0x19')][_0x9b7b('0x25')]({'raw':_0x85352e[_0x9b7b('0x1b')]?_0x85352e['options'][_0x9b7b('0x1c')]===undefined?!![]:![]:!![],'where':_0x85352e[_0x9b7b('0x1b')]?_0x85352e[_0x9b7b('0x1b')]['where']||null:null,'attributes':_0x85352e[_0x9b7b('0x1b')]?_0x85352e[_0x9b7b('0x1b')][_0x9b7b('0x1d')]||null:null,'include':_0x85352e['options']?_0x85352e[_0x9b7b('0x1b')][_0x9b7b('0x21')]?_[_0x9b7b('0x20')](_0x85352e[_0x9b7b('0x1b')][_0x9b7b('0x21')],function(_0x4b05b5){return{'model':db[_0x4b05b5[_0x9b7b('0x1f')]],'as':_0x4b05b5['as'],'attributes':_0x4b05b5['attributes'],'include':_0x4b05b5[_0x9b7b('0x21')]?_['map'](_0x4b05b5[_0x9b7b('0x21')],function(_0x3607fd){return{'model':db[_0x3607fd[_0x9b7b('0x1f')]],'as':_0x3607fd['as'],'attributes':_0x3607fd[_0x9b7b('0x1d')],'include':_0x3607fd[_0x9b7b('0x21')]?_[_0x9b7b('0x20')](_0x3607fd['include'],function(_0x2f5c7){return{'model':db[_0x2f5c7[_0x9b7b('0x1f')]],'as':_0x2f5c7['as'],'attributes':_0x2f5c7[_0x9b7b('0x1d')]};}):[]};}):[]};}):[]:[]})[_0x9b7b('0xe')](function(_0x44e7b0){logger['info'](_0x9b7b('0x24'),_0x85352e);logger['debug'](_0x9b7b('0x24'),_0x85352e,JSON['stringify'](_0x44e7b0));_0x12f6fd(_0x44e7b0);})[_0x9b7b('0x17')](function(_0x3c645e){logger['error'](_0x9b7b('0x24'),_0x3c645e[_0x9b7b('0x15')],_0x85352e);_0x40eb45(_0x3d6479[_0x9b7b('0x13')](0x1f4,_0x3c645e['message']));});});};exports[_0x9b7b('0x26')]=function(_0x1c3d41){var _0x5598e1=this;return new Promise(function(_0x5376a7,_0x397c1a){return db[_0x9b7b('0x19')][_0x9b7b('0x27')](_0x1c3d41['body'],{'raw':_0x1c3d41[_0x9b7b('0x1b')]?_0x1c3d41['options'][_0x9b7b('0x1c')]===undefined?!![]:![]:!![]})[_0x9b7b('0xe')](function(_0x1c1c8f){logger[_0x9b7b('0x22')](_0x9b7b('0x26'),_0x1c3d41);logger[_0x9b7b('0x23')](_0x9b7b('0x26'),_0x1c3d41,JSON['stringify'](_0x1c1c8f));_0x5376a7(_0x1c1c8f);})['catch'](function(_0x49e7ca){logger[_0x9b7b('0x13')]('CreateCmHopper',_0x49e7ca[_0x9b7b('0x15')],_0x1c3d41);_0x397c1a(_0x5598e1[_0x9b7b('0x13')](0x1f4,_0x49e7ca[_0x9b7b('0x15')]));});});};exports[_0x9b7b('0x28')]=function(_0x1cbe96){var _0x102e35=this;return new Promise(function(_0x4dfa68,_0x34f32b){return db[_0x9b7b('0x19')][_0x9b7b('0x29')](_0x1cbe96[_0x9b7b('0x2a')],{'raw':_0x1cbe96[_0x9b7b('0x1b')]?_0x1cbe96[_0x9b7b('0x1b')][_0x9b7b('0x1c')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x1cbe96['options']?_0x1cbe96[_0x9b7b('0x1b')]['where']||null:null,'attributes':_0x1cbe96[_0x9b7b('0x1b')]?_0x1cbe96[_0x9b7b('0x1b')][_0x9b7b('0x1d')]||null:null,'limit':_0x1cbe96['options']?_0x1cbe96[_0x9b7b('0x1b')][_0x9b7b('0x1e')]||null:null})['then'](function(_0x16f122){logger[_0x9b7b('0x22')](_0x9b7b('0x28'),_0x1cbe96);logger['debug']('UpdateCmHopper',_0x1cbe96,JSON['stringify'](_0x16f122));_0x4dfa68(_0x16f122);})[_0x9b7b('0x17')](function(_0x457b81){logger[_0x9b7b('0x13')](_0x9b7b('0x28'),_0x457b81[_0x9b7b('0x15')],_0x1cbe96);_0x34f32b(_0x102e35[_0x9b7b('0x13')](0x1f4,_0x457b81[_0x9b7b('0x15')]));});});};exports[_0x9b7b('0x2b')]=function(_0x3b75c2){var _0x249671=this;return new Promise(function(_0x396491,_0x19d2f2){return db[_0x9b7b('0x19')][_0x9b7b('0x2c')]({'where':_0x3b75c2[_0x9b7b('0x1b')]?_0x3b75c2[_0x9b7b('0x1b')][_0x9b7b('0x2d')]||null:null})[_0x9b7b('0xe')](function(_0x12060a){logger[_0x9b7b('0x22')]('DestroyCmHopper',_0x3b75c2);logger['debug']('DestroyCmHopper',_0x3b75c2,JSON[_0x9b7b('0x12')](_0x12060a));_0x396491(_0x12060a);})['catch'](function(_0x340dae){logger['error']('DestroyCmHopper',_0x340dae[_0x9b7b('0x15')],_0x3b75c2);_0x19d2f2(_0x249671[_0x9b7b('0x13')](0x1f4,_0x340dae['message']));});});};exports[_0x9b7b('0x2e')]=function(_0x345073){var _0x4516d3=this;return new Promise(function(_0x1eda74,_0xb2efe0){return db[_0x9b7b('0x2f')][_0x9b7b('0x30')]()[_0x9b7b('0xe')](function(_0x19fdba){return db[_0x9b7b('0x31')][_0x9b7b('0x32')](function(_0x72900f){return db['CmHopper'][_0x9b7b('0x1a')]({'where':_0x345073['options']?_0x345073[_0x9b7b('0x1b')][_0x9b7b('0x2d')]||null:null,'attributes':_0x345073[_0x9b7b('0x1b')]?_0x345073[_0x9b7b('0x1b')]['attributes']||null:null,'limit':_0x345073[_0x9b7b('0x1b')]?_0x345073[_0x9b7b('0x1b')][_0x9b7b('0x1e')]||null:null,'order':_0x345073['options']?_0x345073['options'][_0x9b7b('0x33')]||null:null,'transaction':_0x72900f,'lock':_0x72900f[_0x9b7b('0x34')][_0x9b7b('0x35')],'include':[{'model':db[_0x9b7b('0x2f')],'as':_0x9b7b('0x36'),'attributes':_[_0x9b7b('0x37')](_0x19fdba)},{'model':db[_0x9b7b('0x38')],'as':_0x9b7b('0x39'),'attributes':['id',_0x9b7b('0x3a'),_0x9b7b('0x3b')]}]})[_0x9b7b('0xe')](function(_0x23f5b4){var _0x5d6c36=[];var _0x48511e=[];for(var _0x61538e=0x0;_0x61538e<_0x23f5b4[_0x9b7b('0x3c')];_0x61538e+=0x1){if(!_0x48511e[_0x9b7b('0x3d')](_0x23f5b4[_0x61538e][_0x9b7b('0x3e')])){_0x48511e['push'](_0x23f5b4[_0x61538e][_0x9b7b('0x3e')]);_0x5d6c36[_0x9b7b('0x3f')](_0x23f5b4[_0x61538e][_0x9b7b('0x29')](_0x345073['body'],{'transaction':_0x72900f}));}}return BPromise['all'](_0x5d6c36);});})[_0x9b7b('0xe')](function(_0x176598){logger['info'](_0x9b7b('0x2e'),_0x345073);logger[_0x9b7b('0x23')]('GetContactDialer',_0x345073,JSON[_0x9b7b('0x12')](_0x176598));_0x1eda74(_0x176598);})[_0x9b7b('0x17')](function(_0x53362d){logger[_0x9b7b('0x13')](_0x9b7b('0x2e'),_0x53362d[_0x9b7b('0x15')],_0x345073);_0xb2efe0(_0x4516d3[_0x9b7b('0x13')](0x1f4,_0x53362d[_0x9b7b('0x15')]));});});});};exports[_0x9b7b('0x40')]=function(_0x3b89cf){var _0x2f91df=this;return new Promise(function(_0x17b11c,_0x36435a){return db[_0x9b7b('0x31')][_0x9b7b('0x32')](function(_0x16f17d){return db['CmHopperFinal'][_0x9b7b('0x27')](_0x3b89cf[_0x9b7b('0x2a')],{'raw':_0x3b89cf[_0x9b7b('0x1b')]?_0x3b89cf[_0x9b7b('0x1b')][_0x9b7b('0x1c')]===undefined?!![]:![]:!![],'transaction':_0x16f17d})[_0x9b7b('0xe')](function(){return db[_0x9b7b('0x19')]['destroy']({'where':_0x3b89cf[_0x9b7b('0x1b')]?_0x3b89cf[_0x9b7b('0x1b')][_0x9b7b('0x2d')]||null:null,'transaction':_0x16f17d});});})['then'](function(_0x448def){logger[_0x9b7b('0x22')](_0x9b7b('0x40'),_0x3b89cf);logger[_0x9b7b('0x23')]('MoveContactManagedDialer',_0x3b89cf,JSON['stringify'](_0x448def));_0x17b11c(_0x448def);})['catch'](function(_0x4ed008){logger[_0x9b7b('0x13')](_0x9b7b('0x40'),_0x4ed008[_0x9b7b('0x15')],_0x3b89cf);_0x36435a(_0x2f91df[_0x9b7b('0x13')](0x1f4,_0x4ed008['message']));});});};exports['CountReScheduled']=function(_0x27027d){var _0x4c6cd7=this;return new Promise(function(_0x546cd9,_0x29e1df){return db['CmHopper'][_0x9b7b('0x1a')]({'raw':_0x27027d[_0x9b7b('0x1b')]?_0x27027d[_0x9b7b('0x1b')][_0x9b7b('0x1c')]===undefined?!![]:![]:!![],'where':_0x27027d[_0x9b7b('0x1b')]?_0x27027d['options'][_0x9b7b('0x2d')]||null:null,'attributes':[[db[_0x9b7b('0x31')]['fn'](_0x9b7b('0x41'),db[_0x9b7b('0x31')]['fn']('IF',db[_0x9b7b('0x31')][_0x9b7b('0x42')](_0x9b7b('0x43')+util['format']('\x22%s\x22',moment()[_0x9b7b('0x44')]('YYYY-MM-DD\x20HH:mm:ss'))+_0x9b7b('0x45')))),'contactsRescheduled']]})[_0x9b7b('0xe')](function(_0x378b2b){logger[_0x9b7b('0x22')](_0x9b7b('0x46'),_0x27027d);logger[_0x9b7b('0x23')](_0x9b7b('0x46'),_0x27027d,JSON[_0x9b7b('0x12')](_0x378b2b));_0x546cd9(_0x378b2b);})[_0x9b7b('0x17')](function(_0x11f25a){logger[_0x9b7b('0x13')](_0x9b7b('0x46'),_0x11f25a[_0x9b7b('0x15')],_0x27027d);_0x29e1df(_0x4c6cd7[_0x9b7b('0x13')](0x1f4,_0x11f25a[_0x9b7b('0x15')]));});});};exports[_0x9b7b('0x47')]=function(_0x3611e0){var _0x133215=this;return new Promise(function(_0x7ad4a3,_0x113738){return db['CmContact'][_0x9b7b('0x30')]()[_0x9b7b('0xe')](function(_0x1d13b7){return db[_0x9b7b('0x31')][_0x9b7b('0x32')](function(_0x1c8720){return db['CmHopper'][_0x9b7b('0x1a')]({'where':_0x3611e0['options']?_0x3611e0[_0x9b7b('0x1b')][_0x9b7b('0x2d')]||null:null,'attributes':_0x3611e0[_0x9b7b('0x1b')]?_0x3611e0[_0x9b7b('0x1b')][_0x9b7b('0x1d')]||null:null,'limit':0x1,'order':_0x3611e0[_0x9b7b('0x1b')]?_0x3611e0['options']['order']||null:null,'group':db['CmHopper'][_0x9b7b('0x3e')],'transaction':_0x1c8720,'lock':_0x1c8720[_0x9b7b('0x34')][_0x9b7b('0x35')],'include':_0x3611e0[_0x9b7b('0x1b')]?_0x3611e0['options']['include']?_[_0x9b7b('0x20')](_0x3611e0[_0x9b7b('0x1b')][_0x9b7b('0x21')],function(_0x19acab){return{'model':db[_0x19acab[_0x9b7b('0x1f')]],'as':_0x19acab['as'],'attributes':_0x19acab[_0x9b7b('0x1d')],'include':_0x19acab[_0x9b7b('0x21')]?_['map'](_0x19acab['include'],function(_0x1e667f){return{'model':db[_0x1e667f['model']],'as':_0x1e667f['as'],'attributes':_0x1e667f[_0x9b7b('0x1d')],'include':_0x1e667f[_0x9b7b('0x21')]?_[_0x9b7b('0x20')](_0x1e667f['include'],function(_0x17a5a9){return{'model':db[_0x17a5a9[_0x9b7b('0x1f')]],'as':_0x17a5a9['as'],'attributes':_0x17a5a9['attributes']};}):[]};}):[]};}):[]:[]})[_0x9b7b('0xe')](function(_0x3cd3b1){var _0x5f9430=[];for(var _0x16f73e=0x0;_0x16f73e<_0x3cd3b1[_0x9b7b('0x3c')];_0x16f73e+=0x1){_0x5f9430['push'](_0x3cd3b1[_0x16f73e][_0x9b7b('0x29')](_0x3611e0['body'],{'transaction':_0x1c8720}));}return BPromise[_0x9b7b('0x48')](_0x5f9430);});})['then'](function(_0x3eb903){logger[_0x9b7b('0x22')]('GetContactRecallMe',_0x3611e0);logger[_0x9b7b('0x23')]('GetContactRecallMe',_0x3611e0,JSON[_0x9b7b('0x12')](_0x3eb903));_0x7ad4a3(_0x3eb903);})[_0x9b7b('0x17')](function(_0x3f690e){logger[_0x9b7b('0x13')](_0x9b7b('0x47'),_0x3f690e[_0x9b7b('0x15')],_0x3611e0);_0x113738(_0x133215[_0x9b7b('0x13')](0x1f4,_0x3f690e[_0x9b7b('0x15')]));});});});};exports['GetCmHopperPreview']=function(_0x25df2d){var _0x3ef29d=this;return new Promise(function(_0x5b57c9,_0x4e93a6){db[_0x9b7b('0x2f')][_0x9b7b('0x30')]()[_0x9b7b('0xe')](function(_0x174538){return db[_0x9b7b('0x19')][_0x9b7b('0x1a')]({'raw':_0x25df2d[_0x9b7b('0x1b')]?_0x25df2d[_0x9b7b('0x1b')][_0x9b7b('0x1c')]===undefined?!![]:![]:!![],'where':_0x25df2d['options']?_0x25df2d[_0x9b7b('0x1b')][_0x9b7b('0x2d')]||null:null,'attributes':_0x25df2d['options']?_0x25df2d[_0x9b7b('0x1b')][_0x9b7b('0x1d')]||null:null,'limit':_0x25df2d[_0x9b7b('0x1b')]?_0x25df2d[_0x9b7b('0x1b')]['limit']||null:null,'include':_0x25df2d['options']?_0x25df2d['options'][_0x9b7b('0x21')]?_[_0x9b7b('0x20')](_0x25df2d[_0x9b7b('0x1b')][_0x9b7b('0x21')],function(_0x542042){return{'model':db[_0x542042['model']],'as':_0x542042['as'],'attributes':_0x542042['as']===_0x9b7b('0x36')?_[_0x9b7b('0x37')](_0x174538):_0x542042[_0x9b7b('0x1d')],'include':_0x542042[_0x9b7b('0x21')]?_[_0x9b7b('0x20')](_0x542042[_0x9b7b('0x21')],function(_0x1c8c40){return{'model':db[_0x1c8c40[_0x9b7b('0x1f')]],'as':_0x1c8c40['as'],'attributes':_0x1c8c40[_0x9b7b('0x1d')],'include':_0x1c8c40[_0x9b7b('0x21')]?_[_0x9b7b('0x20')](_0x1c8c40[_0x9b7b('0x21')],function(_0x48ca37){return{'model':db[_0x48ca37[_0x9b7b('0x1f')]],'as':_0x48ca37['as'],'attributes':_0x48ca37[_0x9b7b('0x1d')]};}):[]};}):[]};}):[]:[]})[_0x9b7b('0xe')](function(_0x26ab76){logger[_0x9b7b('0x22')](_0x9b7b('0x18'),_0x25df2d);logger['debug'](_0x9b7b('0x18'),_0x25df2d,JSON['stringify'](_0x26ab76));_0x5b57c9(_0x26ab76);})['catch'](function(_0x4acf0b){logger[_0x9b7b('0x13')](_0x9b7b('0x18'),_0x4acf0b[_0x9b7b('0x15')],_0x25df2d);_0x4e93a6(_0x3ef29d[_0x9b7b('0x13')](0x1f4,_0x4acf0b[_0x9b7b('0x15')]));});});});};