Built motion from commit (unavailable).|2.5.20
[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 _0x9594=['keys','User','includes','UserId','push','all','MoveContactManagedDialer','CmHopperFinal','destroy','CountReScheduled','format','\x22%s\x22','YYYY-MM-DD\x20HH:mm:ss','\x20,\x201,\x20null','contactsRescheduled','GetContactRecallMe','lodash','bluebird','randomstring','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','request','then','info','request\x20sent','debug','CmHopper,\x20%s,\x20%s,\x20%s','stringify','code','error','CmHopper,\x20%s,\x20%s','message','result','catch','GetCmHopper','CmHopper','findAll','options','raw','where','attributes','limit','include','map','model','ShowCmHopper','find','CreateCmHopper','create','body','UpdateCmHopper','DestroyCmHopper','GetContactDialer','describe','sequelize','transaction','order','LOCK','UPDATE','CmContact','Contact'];(function(_0x1b527e,_0x1409a9){var _0x37c600=function(_0x10baea){while(--_0x10baea){_0x1b527e['push'](_0x1b527e['shift']());}};_0x37c600(++_0x1409a9);}(_0x9594,0xd9));var _0x4959=function(_0x2b4411,_0x2625ed){_0x2b4411=_0x2b4411-0x0;var _0x8e41ef=_0x9594[_0x2b4411];return _0x8e41ef;};'use strict';var _=require(_0x4959('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0x4959('0x1'));var rs=require(_0x4959('0x2'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0x4959('0x3'))['db'];var utils=require(_0x4959('0x4'));var logger=require(_0x4959('0x5'))(_0x4959('0x6'));var config=require(_0x4959('0x7'));var jayson=require(_0x4959('0x8'));var client=jayson[_0x4959('0x9')][_0x4959('0xa')]({'port':0x232a});function respondWithRpcPromise(_0x233868,_0x31fe07,_0x26d10f){return new BPromise(function(_0x3fd920,_0x397be7){return client[_0x4959('0xb')](_0x233868,_0x26d10f)[_0x4959('0xc')](function(_0x1c2b9b){logger[_0x4959('0xd')]('CmHopper,\x20%s,\x20%s',_0x31fe07,_0x4959('0xe'));logger[_0x4959('0xf')](_0x4959('0x10'),_0x31fe07,_0x4959('0xe'),JSON[_0x4959('0x11')](_0x1c2b9b));if(_0x1c2b9b['error']){if(_0x1c2b9b['error'][_0x4959('0x12')]===0x1f4){logger[_0x4959('0x13')](_0x4959('0x14'),_0x31fe07,_0x1c2b9b[_0x4959('0x13')]['message']);return _0x397be7(_0x1c2b9b[_0x4959('0x13')][_0x4959('0x15')]);}logger[_0x4959('0x13')](_0x4959('0x14'),_0x31fe07,_0x1c2b9b[_0x4959('0x13')][_0x4959('0x15')]);return _0x3fd920(_0x1c2b9b[_0x4959('0x13')][_0x4959('0x15')]);}else{logger['info']('CmHopper,\x20%s,\x20%s',_0x31fe07,'request\x20sent');_0x3fd920(_0x1c2b9b[_0x4959('0x16')][_0x4959('0x15')]);}})[_0x4959('0x17')](function(_0x398c25){logger[_0x4959('0x13')](_0x4959('0x14'),_0x31fe07,_0x398c25);_0x397be7(_0x398c25);});});}exports[_0x4959('0x18')]=function(_0x347508){var _0x326988=this;return new Promise(function(_0x37afd7,_0x24e8fc){return db[_0x4959('0x19')][_0x4959('0x1a')]({'raw':_0x347508[_0x4959('0x1b')]?_0x347508['options'][_0x4959('0x1c')]===undefined?!![]:![]:!![],'where':_0x347508[_0x4959('0x1b')]?_0x347508[_0x4959('0x1b')][_0x4959('0x1d')]||null:null,'attributes':_0x347508[_0x4959('0x1b')]?_0x347508[_0x4959('0x1b')][_0x4959('0x1e')]||null:null,'limit':_0x347508[_0x4959('0x1b')]?_0x347508[_0x4959('0x1b')][_0x4959('0x1f')]||null:null,'include':_0x347508['options']?_0x347508[_0x4959('0x1b')][_0x4959('0x20')]?_[_0x4959('0x21')](_0x347508[_0x4959('0x1b')][_0x4959('0x20')],function(_0x416509){return{'model':db[_0x416509[_0x4959('0x22')]],'as':_0x416509['as'],'attributes':_0x416509[_0x4959('0x1e')],'include':_0x416509[_0x4959('0x20')]?_[_0x4959('0x21')](_0x416509[_0x4959('0x20')],function(_0x4b2e09){return{'model':db[_0x4b2e09[_0x4959('0x22')]],'as':_0x4b2e09['as'],'attributes':_0x4b2e09['attributes'],'include':_0x4b2e09[_0x4959('0x20')]?_[_0x4959('0x21')](_0x4b2e09[_0x4959('0x20')],function(_0x900cd2){return{'model':db[_0x900cd2[_0x4959('0x22')]],'as':_0x900cd2['as'],'attributes':_0x900cd2['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x58959e){logger[_0x4959('0xd')](_0x4959('0x18'),_0x347508);logger[_0x4959('0xf')](_0x4959('0x18'),_0x347508,JSON[_0x4959('0x11')](_0x58959e));_0x37afd7(_0x58959e);})['catch'](function(_0x5f40b9){logger[_0x4959('0x13')]('GetCmHopper',_0x5f40b9[_0x4959('0x15')],_0x347508);_0x24e8fc(_0x326988[_0x4959('0x13')](0x1f4,_0x5f40b9[_0x4959('0x15')]));});});};exports[_0x4959('0x23')]=function(_0x1b3c49){var _0x4372d6=this;return new Promise(function(_0x4eacf7,_0x17e9e2){return db[_0x4959('0x19')][_0x4959('0x24')]({'raw':_0x1b3c49[_0x4959('0x1b')]?_0x1b3c49[_0x4959('0x1b')][_0x4959('0x1c')]===undefined?!![]:![]:!![],'where':_0x1b3c49['options']?_0x1b3c49[_0x4959('0x1b')][_0x4959('0x1d')]||null:null,'attributes':_0x1b3c49[_0x4959('0x1b')]?_0x1b3c49['options'][_0x4959('0x1e')]||null:null,'include':_0x1b3c49[_0x4959('0x1b')]?_0x1b3c49[_0x4959('0x1b')][_0x4959('0x20')]?_['map'](_0x1b3c49[_0x4959('0x1b')][_0x4959('0x20')],function(_0x612b24){return{'model':db[_0x612b24[_0x4959('0x22')]],'as':_0x612b24['as'],'attributes':_0x612b24[_0x4959('0x1e')],'include':_0x612b24[_0x4959('0x20')]?_[_0x4959('0x21')](_0x612b24[_0x4959('0x20')],function(_0x1cb58d){return{'model':db[_0x1cb58d[_0x4959('0x22')]],'as':_0x1cb58d['as'],'attributes':_0x1cb58d[_0x4959('0x1e')],'include':_0x1cb58d[_0x4959('0x20')]?_[_0x4959('0x21')](_0x1cb58d['include'],function(_0x51ffc5){return{'model':db[_0x51ffc5[_0x4959('0x22')]],'as':_0x51ffc5['as'],'attributes':_0x51ffc5['attributes']};}):[]};}):[]};}):[]:[]})[_0x4959('0xc')](function(_0x1d1a37){logger[_0x4959('0xd')](_0x4959('0x23'),_0x1b3c49);logger[_0x4959('0xf')](_0x4959('0x23'),_0x1b3c49,JSON[_0x4959('0x11')](_0x1d1a37));_0x4eacf7(_0x1d1a37);})[_0x4959('0x17')](function(_0x517f04){logger[_0x4959('0x13')](_0x4959('0x23'),_0x517f04[_0x4959('0x15')],_0x1b3c49);_0x17e9e2(_0x4372d6['error'](0x1f4,_0x517f04[_0x4959('0x15')]));});});};exports[_0x4959('0x25')]=function(_0x439e92){var _0x19fc1e=this;return new Promise(function(_0x2a85b6,_0x378714){return db[_0x4959('0x19')][_0x4959('0x26')](_0x439e92[_0x4959('0x27')],{'raw':_0x439e92[_0x4959('0x1b')]?_0x439e92[_0x4959('0x1b')]['raw']===undefined?!![]:![]:!![]})[_0x4959('0xc')](function(_0x54bfae){logger[_0x4959('0xd')](_0x4959('0x25'),_0x439e92);logger[_0x4959('0xf')]('CreateCmHopper',_0x439e92,JSON['stringify'](_0x54bfae));_0x2a85b6(_0x54bfae);})[_0x4959('0x17')](function(_0x47f3d4){logger[_0x4959('0x13')](_0x4959('0x25'),_0x47f3d4[_0x4959('0x15')],_0x439e92);_0x378714(_0x19fc1e[_0x4959('0x13')](0x1f4,_0x47f3d4[_0x4959('0x15')]));});});};exports['UpdateCmHopper']=function(_0x1cdf6c){var _0x50a575=this;return new Promise(function(_0x9fe1a7,_0x42ab81){return db['CmHopper']['update'](_0x1cdf6c[_0x4959('0x27')],{'raw':_0x1cdf6c[_0x4959('0x1b')]?_0x1cdf6c['options'][_0x4959('0x1c')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x1cdf6c['options']?_0x1cdf6c[_0x4959('0x1b')][_0x4959('0x1d')]||null:null,'attributes':_0x1cdf6c['options']?_0x1cdf6c['options'][_0x4959('0x1e')]||null:null,'limit':_0x1cdf6c[_0x4959('0x1b')]?_0x1cdf6c[_0x4959('0x1b')][_0x4959('0x1f')]||null:null})['then'](function(_0xf6e0b9){logger['info']('UpdateCmHopper',_0x1cdf6c);logger[_0x4959('0xf')](_0x4959('0x28'),_0x1cdf6c,JSON[_0x4959('0x11')](_0xf6e0b9));_0x9fe1a7(_0xf6e0b9);})[_0x4959('0x17')](function(_0x3df5bd){logger[_0x4959('0x13')](_0x4959('0x28'),_0x3df5bd[_0x4959('0x15')],_0x1cdf6c);_0x42ab81(_0x50a575[_0x4959('0x13')](0x1f4,_0x3df5bd['message']));});});};exports[_0x4959('0x29')]=function(_0x9da169){var _0x48f111=this;return new Promise(function(_0x48844a,_0x580688){return db[_0x4959('0x19')]['destroy']({'where':_0x9da169['options']?_0x9da169[_0x4959('0x1b')]['where']||null:null})[_0x4959('0xc')](function(_0x42ddee){logger[_0x4959('0xd')](_0x4959('0x29'),_0x9da169);logger['debug']('DestroyCmHopper',_0x9da169,JSON[_0x4959('0x11')](_0x42ddee));_0x48844a(_0x42ddee);})['catch'](function(_0x1e23bd){logger[_0x4959('0x13')](_0x4959('0x29'),_0x1e23bd['message'],_0x9da169);_0x580688(_0x48f111[_0x4959('0x13')](0x1f4,_0x1e23bd['message']));});});};exports[_0x4959('0x2a')]=function(_0x82d648){var _0x1e046a=this;return new Promise(function(_0x13bee7,_0x51c6d6){return db['CmContact'][_0x4959('0x2b')]()[_0x4959('0xc')](function(_0x4c68ae){return db[_0x4959('0x2c')][_0x4959('0x2d')](function(_0x2d8ac4){return db[_0x4959('0x19')]['findAll']({'where':_0x82d648['options']?_0x82d648[_0x4959('0x1b')][_0x4959('0x1d')]||null:null,'attributes':_0x82d648['options']?_0x82d648[_0x4959('0x1b')]['attributes']||null:null,'limit':_0x82d648[_0x4959('0x1b')]?_0x82d648[_0x4959('0x1b')][_0x4959('0x1f')]||null:null,'order':_0x82d648[_0x4959('0x1b')]?_0x82d648[_0x4959('0x1b')][_0x4959('0x2e')]||null:null,'transaction':_0x2d8ac4,'lock':_0x2d8ac4[_0x4959('0x2f')][_0x4959('0x30')],'include':[{'model':db[_0x4959('0x31')],'as':_0x4959('0x32'),'attributes':_[_0x4959('0x33')](_0x4c68ae)},{'model':db[_0x4959('0x34')],'as':'Agent','attributes':['id','name','voicePause']}]})[_0x4959('0xc')](function(_0x28a69c){var _0x5effb4=[];var _0x24c02d=[];for(var _0x304a51=0x0;_0x304a51<_0x28a69c['length'];_0x304a51+=0x1){if(!_0x24c02d[_0x4959('0x35')](_0x28a69c[_0x304a51][_0x4959('0x36')])){_0x24c02d[_0x4959('0x37')](_0x28a69c[_0x304a51][_0x4959('0x36')]);_0x5effb4[_0x4959('0x37')](_0x28a69c[_0x304a51]['update'](_0x82d648['body'],{'transaction':_0x2d8ac4}));}}return BPromise[_0x4959('0x38')](_0x5effb4);});})['then'](function(_0x36af06){logger[_0x4959('0xd')](_0x4959('0x2a'),_0x82d648);logger[_0x4959('0xf')](_0x4959('0x2a'),_0x82d648,JSON[_0x4959('0x11')](_0x36af06));_0x13bee7(_0x36af06);})[_0x4959('0x17')](function(_0x6099c4){logger['error'](_0x4959('0x2a'),_0x6099c4['message'],_0x82d648);_0x51c6d6(_0x1e046a[_0x4959('0x13')](0x1f4,_0x6099c4[_0x4959('0x15')]));});});});};exports[_0x4959('0x39')]=function(_0x4183f2){var _0x3900a4=this;return new Promise(function(_0xc420c9,_0x39a589){return db[_0x4959('0x2c')][_0x4959('0x2d')](function(_0x3b93a4){return db[_0x4959('0x3a')][_0x4959('0x26')](_0x4183f2['body'],{'raw':_0x4183f2[_0x4959('0x1b')]?_0x4183f2[_0x4959('0x1b')][_0x4959('0x1c')]===undefined?!![]:![]:!![],'transaction':_0x3b93a4})['then'](function(){return db[_0x4959('0x19')][_0x4959('0x3b')]({'where':_0x4183f2[_0x4959('0x1b')]?_0x4183f2[_0x4959('0x1b')][_0x4959('0x1d')]||null:null,'transaction':_0x3b93a4});});})[_0x4959('0xc')](function(_0xd4d03e){logger[_0x4959('0xd')]('MoveContactManagedDialer',_0x4183f2);logger[_0x4959('0xf')]('MoveContactManagedDialer',_0x4183f2,JSON[_0x4959('0x11')](_0xd4d03e));_0xc420c9(_0xd4d03e);})['catch'](function(_0xf78b7c){logger[_0x4959('0x13')](_0x4959('0x39'),_0xf78b7c[_0x4959('0x15')],_0x4183f2);_0x39a589(_0x3900a4['error'](0x1f4,_0xf78b7c['message']));});});};exports[_0x4959('0x3c')]=function(_0x4e11e3){var _0x4e7f15=this;return new Promise(function(_0x597e94,_0x867cef){return db[_0x4959('0x19')]['findAll']({'raw':_0x4e11e3[_0x4959('0x1b')]?_0x4e11e3[_0x4959('0x1b')][_0x4959('0x1c')]===undefined?!![]:![]:!![],'where':_0x4e11e3[_0x4959('0x1b')]?_0x4e11e3[_0x4959('0x1b')][_0x4959('0x1d')]||null:null,'attributes':[[db[_0x4959('0x2c')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x4959('0x2c')]['literal']('`scheduledat`\x20>=\x20'+util[_0x4959('0x3d')](_0x4959('0x3e'),moment()[_0x4959('0x3d')](_0x4959('0x3f')))+_0x4959('0x40')))),_0x4959('0x41')]]})[_0x4959('0xc')](function(_0x45a06e){logger[_0x4959('0xd')]('CountReScheduled',_0x4e11e3);logger[_0x4959('0xf')](_0x4959('0x3c'),_0x4e11e3,JSON[_0x4959('0x11')](_0x45a06e));_0x597e94(_0x45a06e);})[_0x4959('0x17')](function(_0x3fecb4){logger['error']('CountReScheduled',_0x3fecb4[_0x4959('0x15')],_0x4e11e3);_0x867cef(_0x4e7f15[_0x4959('0x13')](0x1f4,_0x3fecb4['message']));});});};exports[_0x4959('0x42')]=function(_0x27e8ea){var _0x55151b=this;return new Promise(function(_0x4c324c,_0x4b1c48){return db[_0x4959('0x31')][_0x4959('0x2b')]()[_0x4959('0xc')](function(_0x594708){return db['sequelize'][_0x4959('0x2d')](function(_0x805955){return db[_0x4959('0x19')][_0x4959('0x1a')]({'where':_0x27e8ea[_0x4959('0x1b')]?_0x27e8ea[_0x4959('0x1b')][_0x4959('0x1d')]||null:null,'attributes':_0x27e8ea['options']?_0x27e8ea[_0x4959('0x1b')]['attributes']||null:null,'limit':0x1,'order':_0x27e8ea[_0x4959('0x1b')]?_0x27e8ea[_0x4959('0x1b')][_0x4959('0x2e')]||null:null,'group':db[_0x4959('0x19')]['UserId'],'transaction':_0x805955,'lock':_0x805955[_0x4959('0x2f')][_0x4959('0x30')],'include':_0x27e8ea[_0x4959('0x1b')]?_0x27e8ea[_0x4959('0x1b')][_0x4959('0x20')]?_['map'](_0x27e8ea['options'][_0x4959('0x20')],function(_0x1b3324){return{'model':db[_0x1b3324[_0x4959('0x22')]],'as':_0x1b3324['as'],'attributes':_0x1b3324[_0x4959('0x1e')],'include':_0x1b3324[_0x4959('0x20')]?_[_0x4959('0x21')](_0x1b3324[_0x4959('0x20')],function(_0xb4154f){return{'model':db[_0xb4154f['model']],'as':_0xb4154f['as'],'attributes':_0xb4154f[_0x4959('0x1e')],'include':_0xb4154f[_0x4959('0x20')]?_[_0x4959('0x21')](_0xb4154f[_0x4959('0x20')],function(_0x584f22){return{'model':db[_0x584f22['model']],'as':_0x584f22['as'],'attributes':_0x584f22['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x347078){var _0x493925=[];for(var _0x2f7578=0x0;_0x2f7578<_0x347078['length'];_0x2f7578+=0x1){_0x493925[_0x4959('0x37')](_0x347078[_0x2f7578]['update'](_0x27e8ea[_0x4959('0x27')],{'transaction':_0x805955}));}return BPromise[_0x4959('0x38')](_0x493925);});})[_0x4959('0xc')](function(_0xc74bfb){logger[_0x4959('0xd')]('GetContactRecallMe',_0x27e8ea);logger['debug'](_0x4959('0x42'),_0x27e8ea,JSON[_0x4959('0x11')](_0xc74bfb));_0x4c324c(_0xc74bfb);})[_0x4959('0x17')](function(_0x4e5fea){logger['error']('GetContactRecallMe',_0x4e5fea[_0x4959('0x15')],_0x27e8ea);_0x4b1c48(_0x55151b[_0x4959('0x13')](0x1f4,_0x4e5fea['message']));});});});};exports['GetCmHopperPreview']=function(_0x437640){var _0x3388c7=this;return new Promise(function(_0x3bbb75,_0x2af4df){db[_0x4959('0x31')][_0x4959('0x2b')]()['then'](function(_0x583243){return db[_0x4959('0x19')][_0x4959('0x1a')]({'raw':_0x437640['options']?_0x437640[_0x4959('0x1b')][_0x4959('0x1c')]===undefined?!![]:![]:!![],'where':_0x437640[_0x4959('0x1b')]?_0x437640[_0x4959('0x1b')]['where']||null:null,'attributes':_0x437640[_0x4959('0x1b')]?_0x437640[_0x4959('0x1b')][_0x4959('0x1e')]||null:null,'limit':_0x437640[_0x4959('0x1b')]?_0x437640[_0x4959('0x1b')]['limit']||null:null,'include':_0x437640[_0x4959('0x1b')]?_0x437640[_0x4959('0x1b')]['include']?_[_0x4959('0x21')](_0x437640[_0x4959('0x1b')]['include'],function(_0x1959ad){return{'model':db[_0x1959ad[_0x4959('0x22')]],'as':_0x1959ad['as'],'attributes':_0x1959ad['as']===_0x4959('0x32')?_[_0x4959('0x33')](_0x583243):_0x1959ad[_0x4959('0x1e')],'include':_0x1959ad[_0x4959('0x20')]?_['map'](_0x1959ad[_0x4959('0x20')],function(_0x184e10){return{'model':db[_0x184e10[_0x4959('0x22')]],'as':_0x184e10['as'],'attributes':_0x184e10[_0x4959('0x1e')],'include':_0x184e10[_0x4959('0x20')]?_[_0x4959('0x21')](_0x184e10[_0x4959('0x20')],function(_0x106bec){return{'model':db[_0x106bec['model']],'as':_0x106bec['as'],'attributes':_0x106bec[_0x4959('0x1e')]};}):[]};}):[]};}):[]:[]})[_0x4959('0xc')](function(_0x2ccca1){logger[_0x4959('0xd')](_0x4959('0x18'),_0x437640);logger['debug'](_0x4959('0x18'),_0x437640,JSON[_0x4959('0x11')](_0x2ccca1));_0x3bbb75(_0x2ccca1);})[_0x4959('0x17')](function(_0x1e7222){logger[_0x4959('0x13')](_0x4959('0x18'),_0x1e7222[_0x4959('0x15')],_0x437640);_0x2af4df(_0x3388c7['error'](0x1f4,_0x1e7222[_0x4959('0x15')]));});});});};