Built motion from commit (unavailable).|2.5.18
[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 _0x7317=['literal','`scheduledat`\x20>=\x20','\x22%s\x22','format','YYYY-MM-DD\x20HH:mm:ss','\x20,\x201,\x20null','contactsRescheduled','GetContactRecallMe','order','UserId','UPDATE','length','update','lodash','util','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','jayson/promise','then','info','CmHopper,\x20%s,\x20%s','request\x20sent','debug','CmHopper,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','findAll','options','raw','attributes','limit','include','model','map','GetCmHopper','ShowCmHopper','CmHopper','find','where','CreateCmHopper','create','body','UpdateCmHopper','DestroyCmHopper','GetContactDialer','CmContact','describe','sequelize','transaction','LOCK','Contact','keys','User','Agent','name','voicePause','includes','push','all','MoveContactManagedDialer','CmHopperFinal','destroy','CountReScheduled','COUNT'];(function(_0x3d5839,_0x1aa799){var _0x5b2a3b=function(_0x20b3be){while(--_0x20b3be){_0x3d5839['push'](_0x3d5839['shift']());}};_0x5b2a3b(++_0x1aa799);}(_0x7317,0x175));var _0x7731=function(_0x28e9af,_0x48cf96){_0x28e9af=_0x28e9af-0x0;var _0x39f7e0=_0x7317[_0x28e9af];return _0x39f7e0;};'use strict';var _=require(_0x7731('0x0'));var util=require(_0x7731('0x1'));var moment=require('moment');var BPromise=require('bluebird');var rs=require(_0x7731('0x2'));var fs=require('fs');var Redis=require(_0x7731('0x3'));var db=require(_0x7731('0x4'))['db'];var utils=require(_0x7731('0x5'));var logger=require('../../config/logger')(_0x7731('0x6'));var config=require(_0x7731('0x7'));var jayson=require(_0x7731('0x8'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x4313f8,_0x32a2a7,_0x373c53){return new BPromise(function(_0x269acc,_0x5282f8){return client['request'](_0x4313f8,_0x373c53)[_0x7731('0x9')](function(_0x5ca2d4){logger[_0x7731('0xa')](_0x7731('0xb'),_0x32a2a7,_0x7731('0xc'));logger[_0x7731('0xd')](_0x7731('0xe'),_0x32a2a7,_0x7731('0xc'),JSON[_0x7731('0xf')](_0x5ca2d4));if(_0x5ca2d4[_0x7731('0x10')]){if(_0x5ca2d4['error'][_0x7731('0x11')]===0x1f4){logger[_0x7731('0x10')](_0x7731('0xb'),_0x32a2a7,_0x5ca2d4[_0x7731('0x10')][_0x7731('0x12')]);return _0x5282f8(_0x5ca2d4[_0x7731('0x10')][_0x7731('0x12')]);}logger[_0x7731('0x10')](_0x7731('0xb'),_0x32a2a7,_0x5ca2d4['error']['message']);return _0x269acc(_0x5ca2d4['error']['message']);}else{logger[_0x7731('0xa')]('CmHopper,\x20%s,\x20%s',_0x32a2a7,_0x7731('0xc'));_0x269acc(_0x5ca2d4[_0x7731('0x13')][_0x7731('0x12')]);}})[_0x7731('0x14')](function(_0x53e2a5){logger[_0x7731('0x10')]('CmHopper,\x20%s,\x20%s',_0x32a2a7,_0x53e2a5);_0x5282f8(_0x53e2a5);});});}exports['GetCmHopper']=function(_0x25e417){var _0x5238fc=this;return new Promise(function(_0x2d6082,_0x46df43){return db['CmHopper'][_0x7731('0x15')]({'raw':_0x25e417[_0x7731('0x16')]?_0x25e417[_0x7731('0x16')][_0x7731('0x17')]===undefined?!![]:![]:!![],'where':_0x25e417['options']?_0x25e417[_0x7731('0x16')]['where']||null:null,'attributes':_0x25e417[_0x7731('0x16')]?_0x25e417[_0x7731('0x16')][_0x7731('0x18')]||null:null,'limit':_0x25e417['options']?_0x25e417['options'][_0x7731('0x19')]||null:null,'include':_0x25e417['options']?_0x25e417[_0x7731('0x16')]['include']?_['map'](_0x25e417[_0x7731('0x16')][_0x7731('0x1a')],function(_0x53ef7f){return{'model':db[_0x53ef7f[_0x7731('0x1b')]],'as':_0x53ef7f['as'],'attributes':_0x53ef7f[_0x7731('0x18')],'include':_0x53ef7f['include']?_['map'](_0x53ef7f[_0x7731('0x1a')],function(_0x242b28){return{'model':db[_0x242b28[_0x7731('0x1b')]],'as':_0x242b28['as'],'attributes':_0x242b28[_0x7731('0x18')],'include':_0x242b28['include']?_[_0x7731('0x1c')](_0x242b28[_0x7731('0x1a')],function(_0xbd9466){return{'model':db[_0xbd9466[_0x7731('0x1b')]],'as':_0xbd9466['as'],'attributes':_0xbd9466[_0x7731('0x18')]};}):[]};}):[]};}):[]:[]})[_0x7731('0x9')](function(_0x1fd38e){logger['info'](_0x7731('0x1d'),_0x25e417);logger[_0x7731('0xd')](_0x7731('0x1d'),_0x25e417,JSON[_0x7731('0xf')](_0x1fd38e));_0x2d6082(_0x1fd38e);})['catch'](function(_0x40ef8b){logger['error']('GetCmHopper',_0x40ef8b[_0x7731('0x12')],_0x25e417);_0x46df43(_0x5238fc['error'](0x1f4,_0x40ef8b['message']));});});};exports[_0x7731('0x1e')]=function(_0x24be97){var _0x4d8865=this;return new Promise(function(_0x500650,_0x422290){return db[_0x7731('0x1f')][_0x7731('0x20')]({'raw':_0x24be97[_0x7731('0x16')]?_0x24be97['options']['raw']===undefined?!![]:![]:!![],'where':_0x24be97['options']?_0x24be97['options'][_0x7731('0x21')]||null:null,'attributes':_0x24be97['options']?_0x24be97['options'][_0x7731('0x18')]||null:null,'include':_0x24be97[_0x7731('0x16')]?_0x24be97[_0x7731('0x16')][_0x7731('0x1a')]?_[_0x7731('0x1c')](_0x24be97[_0x7731('0x16')][_0x7731('0x1a')],function(_0x43fb5f){return{'model':db[_0x43fb5f[_0x7731('0x1b')]],'as':_0x43fb5f['as'],'attributes':_0x43fb5f[_0x7731('0x18')],'include':_0x43fb5f['include']?_[_0x7731('0x1c')](_0x43fb5f['include'],function(_0x5891e9){return{'model':db[_0x5891e9[_0x7731('0x1b')]],'as':_0x5891e9['as'],'attributes':_0x5891e9['attributes'],'include':_0x5891e9[_0x7731('0x1a')]?_[_0x7731('0x1c')](_0x5891e9[_0x7731('0x1a')],function(_0x35bc9d){return{'model':db[_0x35bc9d[_0x7731('0x1b')]],'as':_0x35bc9d['as'],'attributes':_0x35bc9d[_0x7731('0x18')]};}):[]};}):[]};}):[]:[]})[_0x7731('0x9')](function(_0x309cb0){logger[_0x7731('0xa')](_0x7731('0x1e'),_0x24be97);logger[_0x7731('0xd')](_0x7731('0x1e'),_0x24be97,JSON[_0x7731('0xf')](_0x309cb0));_0x500650(_0x309cb0);})[_0x7731('0x14')](function(_0x16d2d7){logger[_0x7731('0x10')](_0x7731('0x1e'),_0x16d2d7['message'],_0x24be97);_0x422290(_0x4d8865['error'](0x1f4,_0x16d2d7[_0x7731('0x12')]));});});};exports[_0x7731('0x22')]=function(_0x33f916){var _0x322129=this;return new Promise(function(_0x29a12a,_0x4171cd){return db[_0x7731('0x1f')][_0x7731('0x23')](_0x33f916[_0x7731('0x24')],{'raw':_0x33f916[_0x7731('0x16')]?_0x33f916['options'][_0x7731('0x17')]===undefined?!![]:![]:!![]})[_0x7731('0x9')](function(_0x3067c9){logger[_0x7731('0xa')](_0x7731('0x22'),_0x33f916);logger[_0x7731('0xd')]('CreateCmHopper',_0x33f916,JSON[_0x7731('0xf')](_0x3067c9));_0x29a12a(_0x3067c9);})[_0x7731('0x14')](function(_0x47d570){logger['error']('CreateCmHopper',_0x47d570[_0x7731('0x12')],_0x33f916);_0x4171cd(_0x322129[_0x7731('0x10')](0x1f4,_0x47d570[_0x7731('0x12')]));});});};exports[_0x7731('0x25')]=function(_0x5dbf8d){var _0x252894=this;return new Promise(function(_0x452363,_0xb7bfc4){return db['CmHopper']['update'](_0x5dbf8d[_0x7731('0x24')],{'raw':_0x5dbf8d['options']?_0x5dbf8d[_0x7731('0x16')][_0x7731('0x17')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x5dbf8d[_0x7731('0x16')]?_0x5dbf8d['options'][_0x7731('0x21')]||null:null,'attributes':_0x5dbf8d[_0x7731('0x16')]?_0x5dbf8d[_0x7731('0x16')][_0x7731('0x18')]||null:null,'limit':_0x5dbf8d[_0x7731('0x16')]?_0x5dbf8d['options'][_0x7731('0x19')]||null:null})[_0x7731('0x9')](function(_0x582533){logger[_0x7731('0xa')](_0x7731('0x25'),_0x5dbf8d);logger[_0x7731('0xd')](_0x7731('0x25'),_0x5dbf8d,JSON[_0x7731('0xf')](_0x582533));_0x452363(_0x582533);})[_0x7731('0x14')](function(_0xc39ee8){logger[_0x7731('0x10')]('UpdateCmHopper',_0xc39ee8[_0x7731('0x12')],_0x5dbf8d);_0xb7bfc4(_0x252894[_0x7731('0x10')](0x1f4,_0xc39ee8[_0x7731('0x12')]));});});};exports[_0x7731('0x26')]=function(_0x42c844){var _0x562cf0=this;return new Promise(function(_0x5c1ebe,_0x481e15){return db[_0x7731('0x1f')]['destroy']({'where':_0x42c844[_0x7731('0x16')]?_0x42c844[_0x7731('0x16')][_0x7731('0x21')]||null:null})['then'](function(_0x3d89df){logger[_0x7731('0xa')]('DestroyCmHopper',_0x42c844);logger['debug'](_0x7731('0x26'),_0x42c844,JSON[_0x7731('0xf')](_0x3d89df));_0x5c1ebe(_0x3d89df);})[_0x7731('0x14')](function(_0x571d77){logger[_0x7731('0x10')](_0x7731('0x26'),_0x571d77['message'],_0x42c844);_0x481e15(_0x562cf0['error'](0x1f4,_0x571d77['message']));});});};exports[_0x7731('0x27')]=function(_0x13ed63){var _0x3293d1=this;return new Promise(function(_0x2cef42,_0x43963d){return db[_0x7731('0x28')][_0x7731('0x29')]()[_0x7731('0x9')](function(_0x1eaebb){return db[_0x7731('0x2a')][_0x7731('0x2b')](function(_0xbaed0b){return db[_0x7731('0x1f')][_0x7731('0x15')]({'where':_0x13ed63[_0x7731('0x16')]?_0x13ed63[_0x7731('0x16')]['where']||null:null,'attributes':_0x13ed63[_0x7731('0x16')]?_0x13ed63[_0x7731('0x16')][_0x7731('0x18')]||null:null,'limit':_0x13ed63['options']?_0x13ed63['options']['limit']||null:null,'order':_0x13ed63['options']?_0x13ed63[_0x7731('0x16')]['order']||null:null,'transaction':_0xbaed0b,'lock':_0xbaed0b[_0x7731('0x2c')]['UPDATE'],'include':[{'model':db['CmContact'],'as':_0x7731('0x2d'),'attributes':_[_0x7731('0x2e')](_0x1eaebb)},{'model':db[_0x7731('0x2f')],'as':_0x7731('0x30'),'attributes':['id',_0x7731('0x31'),_0x7731('0x32')]}]})[_0x7731('0x9')](function(_0x408556){var _0x4816f2=[];var _0x29f005=[];for(var _0x46c131=0x0;_0x46c131<_0x408556['length'];_0x46c131+=0x1){if(!_0x29f005[_0x7731('0x33')](_0x408556[_0x46c131]['UserId'])){_0x29f005[_0x7731('0x34')](_0x408556[_0x46c131]['UserId']);_0x4816f2[_0x7731('0x34')](_0x408556[_0x46c131]['update'](_0x13ed63['body'],{'transaction':_0xbaed0b}));}}return BPromise[_0x7731('0x35')](_0x4816f2);});})['then'](function(_0x2f3b4e){logger[_0x7731('0xa')](_0x7731('0x27'),_0x13ed63);logger[_0x7731('0xd')]('GetContactDialer',_0x13ed63,JSON[_0x7731('0xf')](_0x2f3b4e));_0x2cef42(_0x2f3b4e);})[_0x7731('0x14')](function(_0x47bb62){logger['error'](_0x7731('0x27'),_0x47bb62['message'],_0x13ed63);_0x43963d(_0x3293d1['error'](0x1f4,_0x47bb62['message']));});});});};exports[_0x7731('0x36')]=function(_0x4be336){var _0x52b26b=this;return new Promise(function(_0x5eb967,_0x21beca){return db['sequelize'][_0x7731('0x2b')](function(_0x4feb1a){return db[_0x7731('0x37')]['create'](_0x4be336[_0x7731('0x24')],{'raw':_0x4be336[_0x7731('0x16')]?_0x4be336[_0x7731('0x16')]['raw']===undefined?!![]:![]:!![],'transaction':_0x4feb1a})[_0x7731('0x9')](function(){return db[_0x7731('0x1f')][_0x7731('0x38')]({'where':_0x4be336[_0x7731('0x16')]?_0x4be336[_0x7731('0x16')][_0x7731('0x21')]||null:null,'transaction':_0x4feb1a});});})[_0x7731('0x9')](function(_0x46f69d){logger['info'](_0x7731('0x36'),_0x4be336);logger[_0x7731('0xd')](_0x7731('0x36'),_0x4be336,JSON[_0x7731('0xf')](_0x46f69d));_0x5eb967(_0x46f69d);})[_0x7731('0x14')](function(_0x46f393){logger[_0x7731('0x10')](_0x7731('0x36'),_0x46f393[_0x7731('0x12')],_0x4be336);_0x21beca(_0x52b26b[_0x7731('0x10')](0x1f4,_0x46f393[_0x7731('0x12')]));});});};exports[_0x7731('0x39')]=function(_0x1678e5){var _0x233e7b=this;return new Promise(function(_0x95d30c,_0x27f04d){return db[_0x7731('0x1f')][_0x7731('0x15')]({'raw':_0x1678e5['options']?_0x1678e5[_0x7731('0x16')]['raw']===undefined?!![]:![]:!![],'where':_0x1678e5[_0x7731('0x16')]?_0x1678e5[_0x7731('0x16')][_0x7731('0x21')]||null:null,'attributes':[[db[_0x7731('0x2a')]['fn'](_0x7731('0x3a'),db['sequelize']['fn']('IF',db[_0x7731('0x2a')][_0x7731('0x3b')](_0x7731('0x3c')+util['format'](_0x7731('0x3d'),moment()[_0x7731('0x3e')](_0x7731('0x3f')))+_0x7731('0x40')))),_0x7731('0x41')]]})[_0x7731('0x9')](function(_0x24faa4){logger[_0x7731('0xa')](_0x7731('0x39'),_0x1678e5);logger[_0x7731('0xd')](_0x7731('0x39'),_0x1678e5,JSON[_0x7731('0xf')](_0x24faa4));_0x95d30c(_0x24faa4);})[_0x7731('0x14')](function(_0x43e24e){logger[_0x7731('0x10')](_0x7731('0x39'),_0x43e24e[_0x7731('0x12')],_0x1678e5);_0x27f04d(_0x233e7b[_0x7731('0x10')](0x1f4,_0x43e24e[_0x7731('0x12')]));});});};exports[_0x7731('0x42')]=function(_0x490dd0){var _0x125be6=this;return new Promise(function(_0x1b5c07,_0x582dbd){return db[_0x7731('0x28')][_0x7731('0x29')]()[_0x7731('0x9')](function(_0x353d19){return db[_0x7731('0x2a')][_0x7731('0x2b')](function(_0xd315e8){return db[_0x7731('0x1f')][_0x7731('0x15')]({'where':_0x490dd0[_0x7731('0x16')]?_0x490dd0[_0x7731('0x16')][_0x7731('0x21')]||null:null,'attributes':_0x490dd0['options']?_0x490dd0[_0x7731('0x16')][_0x7731('0x18')]||null:null,'limit':0x1,'order':_0x490dd0['options']?_0x490dd0['options'][_0x7731('0x43')]||null:null,'group':db[_0x7731('0x1f')][_0x7731('0x44')],'transaction':_0xd315e8,'lock':_0xd315e8[_0x7731('0x2c')][_0x7731('0x45')],'include':_0x490dd0[_0x7731('0x16')]?_0x490dd0[_0x7731('0x16')][_0x7731('0x1a')]?_[_0x7731('0x1c')](_0x490dd0[_0x7731('0x16')][_0x7731('0x1a')],function(_0x2cfcd5){return{'model':db[_0x2cfcd5[_0x7731('0x1b')]],'as':_0x2cfcd5['as'],'attributes':_0x2cfcd5[_0x7731('0x18')],'include':_0x2cfcd5[_0x7731('0x1a')]?_[_0x7731('0x1c')](_0x2cfcd5[_0x7731('0x1a')],function(_0x5bb57e){return{'model':db[_0x5bb57e[_0x7731('0x1b')]],'as':_0x5bb57e['as'],'attributes':_0x5bb57e['attributes'],'include':_0x5bb57e[_0x7731('0x1a')]?_[_0x7731('0x1c')](_0x5bb57e[_0x7731('0x1a')],function(_0x3adb88){return{'model':db[_0x3adb88[_0x7731('0x1b')]],'as':_0x3adb88['as'],'attributes':_0x3adb88['attributes']};}):[]};}):[]};}):[]:[]})[_0x7731('0x9')](function(_0x59016d){var _0x48182b=[];for(var _0x13a29c=0x0;_0x13a29c<_0x59016d[_0x7731('0x46')];_0x13a29c+=0x1){_0x48182b['push'](_0x59016d[_0x13a29c][_0x7731('0x47')](_0x490dd0['body'],{'transaction':_0xd315e8}));}return BPromise[_0x7731('0x35')](_0x48182b);});})['then'](function(_0x402273){logger[_0x7731('0xa')]('GetContactRecallMe',_0x490dd0);logger['debug'](_0x7731('0x42'),_0x490dd0,JSON[_0x7731('0xf')](_0x402273));_0x1b5c07(_0x402273);})['catch'](function(_0x55f645){logger[_0x7731('0x10')](_0x7731('0x42'),_0x55f645['message'],_0x490dd0);_0x582dbd(_0x125be6[_0x7731('0x10')](0x1f4,_0x55f645['message']));});});});};exports['GetCmHopperPreview']=function(_0x81b9fd){var _0x19337b=this;return new Promise(function(_0x1722cb,_0x5310a4){db[_0x7731('0x28')]['describe']()[_0x7731('0x9')](function(_0x232932){return db[_0x7731('0x1f')][_0x7731('0x15')]({'raw':_0x81b9fd['options']?_0x81b9fd[_0x7731('0x16')][_0x7731('0x17')]===undefined?!![]:![]:!![],'where':_0x81b9fd[_0x7731('0x16')]?_0x81b9fd[_0x7731('0x16')][_0x7731('0x21')]||null:null,'attributes':_0x81b9fd[_0x7731('0x16')]?_0x81b9fd[_0x7731('0x16')][_0x7731('0x18')]||null:null,'limit':_0x81b9fd[_0x7731('0x16')]?_0x81b9fd[_0x7731('0x16')][_0x7731('0x19')]||null:null,'include':_0x81b9fd[_0x7731('0x16')]?_0x81b9fd['options']['include']?_[_0x7731('0x1c')](_0x81b9fd[_0x7731('0x16')][_0x7731('0x1a')],function(_0x1d4f65){return{'model':db[_0x1d4f65[_0x7731('0x1b')]],'as':_0x1d4f65['as'],'attributes':_0x1d4f65['as']===_0x7731('0x2d')?_[_0x7731('0x2e')](_0x232932):_0x1d4f65[_0x7731('0x18')],'include':_0x1d4f65[_0x7731('0x1a')]?_['map'](_0x1d4f65[_0x7731('0x1a')],function(_0x79e4ca){return{'model':db[_0x79e4ca[_0x7731('0x1b')]],'as':_0x79e4ca['as'],'attributes':_0x79e4ca['attributes'],'include':_0x79e4ca[_0x7731('0x1a')]?_[_0x7731('0x1c')](_0x79e4ca[_0x7731('0x1a')],function(_0x1dd520){return{'model':db[_0x1dd520[_0x7731('0x1b')]],'as':_0x1dd520['as'],'attributes':_0x1dd520[_0x7731('0x18')]};}):[]};}):[]};}):[]:[]})[_0x7731('0x9')](function(_0xcd3c6e){logger[_0x7731('0xa')](_0x7731('0x1d'),_0x81b9fd);logger['debug'](_0x7731('0x1d'),_0x81b9fd,JSON[_0x7731('0xf')](_0xcd3c6e));_0x1722cb(_0xcd3c6e);})[_0x7731('0x14')](function(_0x435e29){logger['error'](_0x7731('0x1d'),_0x435e29[_0x7731('0x12')],_0x81b9fd);_0x5310a4(_0x19337b['error'](0x1f4,_0x435e29[_0x7731('0x12')]));});});});};