30e915336eea0807dd7c50089cb42842f0163a6d
[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 _0xd676=['stringify','error','code','message','CmHopper,\x20%s,\x20%s','catch','GetCmHopper','CmHopper','findAll','options','raw','where','limit','include','map','model','attributes','debug','find','ShowCmHopper','body','CreateCmHopper','UpdateCmHopper','update','DestroyCmHopper','destroy','GetContactDialer','describe','sequelize','transaction','order','LOCK','UPDATE','CmContact','Contact','keys','User','Agent','length','UserId','push','includes','all','MoveContactManagedDialer','create','CountReScheduled','COUNT','literal','`scheduledat`\x20>=\x20','\x22%s\x22','format','\x20,\x201,\x20null','contactsRescheduled','GetContactRecallMe','GetCmHopperPreview','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','client','http','request','then','info','request\x20sent'];(function(_0x383627,_0x5be16e){var _0x2c16a0=function(_0x569b72){while(--_0x569b72){_0x383627['push'](_0x383627['shift']());}};_0x2c16a0(++_0x5be16e);}(_0xd676,0x7e));var _0x6d67=function(_0x3aaf69,_0x318ff9){_0x3aaf69=_0x3aaf69-0x0;var _0x4542c6=_0xd676[_0x3aaf69];return _0x4542c6;};'use strict';var _=require(_0x6d67('0x0'));var util=require(_0x6d67('0x1'));var moment=require(_0x6d67('0x2'));var BPromise=require(_0x6d67('0x3'));var rs=require(_0x6d67('0x4'));var fs=require('fs');var Redis=require(_0x6d67('0x5'));var db=require(_0x6d67('0x6'))['db'];var utils=require(_0x6d67('0x7'));var logger=require(_0x6d67('0x8'))(_0x6d67('0x9'));var config=require('../../config/environment');var jayson=require('jayson/promise');var client=jayson[_0x6d67('0xa')][_0x6d67('0xb')]({'port':0x232a});function respondWithRpcPromise(_0x1ffb95,_0x1ded06,_0x1eedeb){return new BPromise(function(_0x3e1c4c,_0x4cce8f){return client[_0x6d67('0xc')](_0x1ffb95,_0x1eedeb)[_0x6d67('0xd')](function(_0x36f57b){logger[_0x6d67('0xe')]('CmHopper,\x20%s,\x20%s',_0x1ded06,'request\x20sent');logger['debug']('CmHopper,\x20%s,\x20%s,\x20%s',_0x1ded06,_0x6d67('0xf'),JSON[_0x6d67('0x10')](_0x36f57b));if(_0x36f57b[_0x6d67('0x11')]){if(_0x36f57b[_0x6d67('0x11')][_0x6d67('0x12')]===0x1f4){logger[_0x6d67('0x11')]('CmHopper,\x20%s,\x20%s',_0x1ded06,_0x36f57b[_0x6d67('0x11')][_0x6d67('0x13')]);return _0x4cce8f(_0x36f57b[_0x6d67('0x11')][_0x6d67('0x13')]);}logger['error'](_0x6d67('0x14'),_0x1ded06,_0x36f57b[_0x6d67('0x11')][_0x6d67('0x13')]);return _0x3e1c4c(_0x36f57b[_0x6d67('0x11')][_0x6d67('0x13')]);}else{logger['info'](_0x6d67('0x14'),_0x1ded06,_0x6d67('0xf'));_0x3e1c4c(_0x36f57b['result'][_0x6d67('0x13')]);}})[_0x6d67('0x15')](function(_0xc3dc03){logger[_0x6d67('0x11')](_0x6d67('0x14'),_0x1ded06,_0xc3dc03);_0x4cce8f(_0xc3dc03);});});}exports[_0x6d67('0x16')]=function(_0xd4550c){var _0x4fb63d=this;return new Promise(function(_0x71d2e,_0x350125){return db[_0x6d67('0x17')][_0x6d67('0x18')]({'raw':_0xd4550c[_0x6d67('0x19')]?_0xd4550c['options'][_0x6d67('0x1a')]===undefined?!![]:![]:!![],'where':_0xd4550c[_0x6d67('0x19')]?_0xd4550c[_0x6d67('0x19')][_0x6d67('0x1b')]||null:null,'attributes':_0xd4550c[_0x6d67('0x19')]?_0xd4550c[_0x6d67('0x19')]['attributes']||null:null,'limit':_0xd4550c[_0x6d67('0x19')]?_0xd4550c['options'][_0x6d67('0x1c')]||null:null,'include':_0xd4550c[_0x6d67('0x19')]?_0xd4550c[_0x6d67('0x19')][_0x6d67('0x1d')]?_[_0x6d67('0x1e')](_0xd4550c[_0x6d67('0x19')]['include'],function(_0x5c7e3d){return{'model':db[_0x5c7e3d[_0x6d67('0x1f')]],'as':_0x5c7e3d['as'],'attributes':_0x5c7e3d['attributes'],'include':_0x5c7e3d[_0x6d67('0x1d')]?_[_0x6d67('0x1e')](_0x5c7e3d[_0x6d67('0x1d')],function(_0x4d6ea8){return{'model':db[_0x4d6ea8[_0x6d67('0x1f')]],'as':_0x4d6ea8['as'],'attributes':_0x4d6ea8[_0x6d67('0x20')],'include':_0x4d6ea8[_0x6d67('0x1d')]?_[_0x6d67('0x1e')](_0x4d6ea8[_0x6d67('0x1d')],function(_0xa030e){return{'model':db[_0xa030e['model']],'as':_0xa030e['as'],'attributes':_0xa030e[_0x6d67('0x20')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x1c9eca){logger[_0x6d67('0xe')](_0x6d67('0x16'),_0xd4550c);logger[_0x6d67('0x21')](_0x6d67('0x16'),_0xd4550c,JSON[_0x6d67('0x10')](_0x1c9eca));_0x71d2e(_0x1c9eca);})[_0x6d67('0x15')](function(_0x43bad3){logger[_0x6d67('0x11')](_0x6d67('0x16'),_0x43bad3[_0x6d67('0x13')],_0xd4550c);_0x350125(_0x4fb63d[_0x6d67('0x11')](0x1f4,_0x43bad3[_0x6d67('0x13')]));});});};exports['ShowCmHopper']=function(_0x45eebc){var _0x1cf887=this;return new Promise(function(_0x53cbe4,_0x201bc0){return db[_0x6d67('0x17')][_0x6d67('0x22')]({'raw':_0x45eebc['options']?_0x45eebc['options']['raw']===undefined?!![]:![]:!![],'where':_0x45eebc[_0x6d67('0x19')]?_0x45eebc[_0x6d67('0x19')]['where']||null:null,'attributes':_0x45eebc['options']?_0x45eebc[_0x6d67('0x19')]['attributes']||null:null,'include':_0x45eebc[_0x6d67('0x19')]?_0x45eebc['options'][_0x6d67('0x1d')]?_[_0x6d67('0x1e')](_0x45eebc[_0x6d67('0x19')][_0x6d67('0x1d')],function(_0x16852d){return{'model':db[_0x16852d['model']],'as':_0x16852d['as'],'attributes':_0x16852d[_0x6d67('0x20')],'include':_0x16852d[_0x6d67('0x1d')]?_[_0x6d67('0x1e')](_0x16852d[_0x6d67('0x1d')],function(_0x713247){return{'model':db[_0x713247[_0x6d67('0x1f')]],'as':_0x713247['as'],'attributes':_0x713247[_0x6d67('0x20')],'include':_0x713247[_0x6d67('0x1d')]?_[_0x6d67('0x1e')](_0x713247[_0x6d67('0x1d')],function(_0x382922){return{'model':db[_0x382922[_0x6d67('0x1f')]],'as':_0x382922['as'],'attributes':_0x382922[_0x6d67('0x20')]};}):[]};}):[]};}):[]:[]})[_0x6d67('0xd')](function(_0xfa6f6){logger[_0x6d67('0xe')](_0x6d67('0x23'),_0x45eebc);logger[_0x6d67('0x21')]('ShowCmHopper',_0x45eebc,JSON[_0x6d67('0x10')](_0xfa6f6));_0x53cbe4(_0xfa6f6);})[_0x6d67('0x15')](function(_0x1197c1){logger[_0x6d67('0x11')]('ShowCmHopper',_0x1197c1[_0x6d67('0x13')],_0x45eebc);_0x201bc0(_0x1cf887['error'](0x1f4,_0x1197c1[_0x6d67('0x13')]));});});};exports['CreateCmHopper']=function(_0xf2710){var _0x3f066c=this;return new Promise(function(_0x57347f,_0x4bb14b){return db['CmHopper']['create'](_0xf2710[_0x6d67('0x24')],{'raw':_0xf2710['options']?_0xf2710[_0x6d67('0x19')][_0x6d67('0x1a')]===undefined?!![]:![]:!![]})[_0x6d67('0xd')](function(_0xf51e21){logger[_0x6d67('0xe')](_0x6d67('0x25'),_0xf2710);logger[_0x6d67('0x21')](_0x6d67('0x25'),_0xf2710,JSON['stringify'](_0xf51e21));_0x57347f(_0xf51e21);})[_0x6d67('0x15')](function(_0x54583f){logger[_0x6d67('0x11')](_0x6d67('0x25'),_0x54583f[_0x6d67('0x13')],_0xf2710);_0x4bb14b(_0x3f066c[_0x6d67('0x11')](0x1f4,_0x54583f['message']));});});};exports[_0x6d67('0x26')]=function(_0x565921){var _0x4a8988=this;return new Promise(function(_0x39d848,_0x449180){return db[_0x6d67('0x17')][_0x6d67('0x27')](_0x565921[_0x6d67('0x24')],{'raw':_0x565921[_0x6d67('0x19')]?_0x565921['options']['raw']===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x565921[_0x6d67('0x19')]?_0x565921[_0x6d67('0x19')][_0x6d67('0x1b')]||null:null,'attributes':_0x565921[_0x6d67('0x19')]?_0x565921[_0x6d67('0x19')][_0x6d67('0x20')]||null:null,'limit':_0x565921[_0x6d67('0x19')]?_0x565921[_0x6d67('0x19')][_0x6d67('0x1c')]||null:null})[_0x6d67('0xd')](function(_0x3b4dfc){logger['info'](_0x6d67('0x26'),_0x565921);logger[_0x6d67('0x21')](_0x6d67('0x26'),_0x565921,JSON['stringify'](_0x3b4dfc));_0x39d848(_0x3b4dfc);})[_0x6d67('0x15')](function(_0xfa6f9b){logger[_0x6d67('0x11')]('UpdateCmHopper',_0xfa6f9b['message'],_0x565921);_0x449180(_0x4a8988[_0x6d67('0x11')](0x1f4,_0xfa6f9b['message']));});});};exports[_0x6d67('0x28')]=function(_0x23fcb4){var _0x261916=this;return new Promise(function(_0x270f44,_0x29051b){return db[_0x6d67('0x17')][_0x6d67('0x29')]({'where':_0x23fcb4[_0x6d67('0x19')]?_0x23fcb4['options'][_0x6d67('0x1b')]||null:null})['then'](function(_0x39454d){logger['info'](_0x6d67('0x28'),_0x23fcb4);logger[_0x6d67('0x21')](_0x6d67('0x28'),_0x23fcb4,JSON[_0x6d67('0x10')](_0x39454d));_0x270f44(_0x39454d);})[_0x6d67('0x15')](function(_0x52da71){logger[_0x6d67('0x11')]('DestroyCmHopper',_0x52da71['message'],_0x23fcb4);_0x29051b(_0x261916[_0x6d67('0x11')](0x1f4,_0x52da71[_0x6d67('0x13')]));});});};exports[_0x6d67('0x2a')]=function(_0x1b304a){var _0x53cf97=this;return new Promise(function(_0xaa7960,_0x4db351){return db['CmContact'][_0x6d67('0x2b')]()[_0x6d67('0xd')](function(_0xb47772){return db[_0x6d67('0x2c')][_0x6d67('0x2d')](function(_0x2c9dff){return db['CmHopper']['findAll']({'where':_0x1b304a[_0x6d67('0x19')]?_0x1b304a[_0x6d67('0x19')][_0x6d67('0x1b')]||null:null,'attributes':_0x1b304a[_0x6d67('0x19')]?_0x1b304a['options'][_0x6d67('0x20')]||null:null,'limit':_0x1b304a[_0x6d67('0x19')]?_0x1b304a[_0x6d67('0x19')][_0x6d67('0x1c')]||null:null,'order':_0x1b304a[_0x6d67('0x19')]?_0x1b304a['options'][_0x6d67('0x2e')]||null:null,'transaction':_0x2c9dff,'lock':_0x2c9dff[_0x6d67('0x2f')][_0x6d67('0x30')],'include':[{'model':db[_0x6d67('0x31')],'as':_0x6d67('0x32'),'attributes':_[_0x6d67('0x33')](_0xb47772)},{'model':db[_0x6d67('0x34')],'as':_0x6d67('0x35'),'attributes':['id','name','voicePause']}]})[_0x6d67('0xd')](function(_0x19ca51){var _0x50fb87=[];var _0x3ab455=[];for(var _0x11702a=0x0;_0x11702a<_0x19ca51[_0x6d67('0x36')];_0x11702a+=0x1){var _0xe7a8e3=_0x19ca51[_0x11702a][_0x6d67('0x37')];if(_0xe7a8e3===null){_0x50fb87[_0x6d67('0x38')](_0x19ca51[_0x11702a][_0x6d67('0x27')](_0x1b304a[_0x6d67('0x24')],{'transaction':_0x2c9dff}));}else if(!_0x3ab455[_0x6d67('0x39')](_0xe7a8e3)){_0x3ab455[_0x6d67('0x38')](_0xe7a8e3);_0x50fb87[_0x6d67('0x38')](_0x19ca51[_0x11702a]['update'](_0x1b304a[_0x6d67('0x24')],{'transaction':_0x2c9dff}));}}return BPromise[_0x6d67('0x3a')](_0x50fb87);});})[_0x6d67('0xd')](function(_0x4ef4b){logger['info'](_0x6d67('0x2a'),_0x1b304a);logger['debug'](_0x6d67('0x2a'),_0x1b304a,JSON[_0x6d67('0x10')](_0x4ef4b));_0xaa7960(_0x4ef4b);})['catch'](function(_0x15c744){logger[_0x6d67('0x11')](_0x6d67('0x2a'),_0x15c744[_0x6d67('0x13')],_0x1b304a);_0x4db351(_0x53cf97[_0x6d67('0x11')](0x1f4,_0x15c744[_0x6d67('0x13')]));});});});};exports[_0x6d67('0x3b')]=function(_0x37225f){var _0x3426e6=this;return new Promise(function(_0xa0e186,_0x1402f1){return db['sequelize']['transaction'](function(_0x25739f){return db['CmHopperFinal'][_0x6d67('0x3c')](_0x37225f[_0x6d67('0x24')],{'raw':_0x37225f[_0x6d67('0x19')]?_0x37225f[_0x6d67('0x19')][_0x6d67('0x1a')]===undefined?!![]:![]:!![],'transaction':_0x25739f})[_0x6d67('0xd')](function(){return db[_0x6d67('0x17')][_0x6d67('0x29')]({'where':_0x37225f['options']?_0x37225f[_0x6d67('0x19')][_0x6d67('0x1b')]||null:null,'transaction':_0x25739f});});})[_0x6d67('0xd')](function(_0x4a5dee){logger[_0x6d67('0xe')]('MoveContactManagedDialer',_0x37225f);logger['debug'](_0x6d67('0x3b'),_0x37225f,JSON[_0x6d67('0x10')](_0x4a5dee));_0xa0e186(_0x4a5dee);})[_0x6d67('0x15')](function(_0x412c8d){logger[_0x6d67('0x11')]('MoveContactManagedDialer',_0x412c8d[_0x6d67('0x13')],_0x37225f);_0x1402f1(_0x3426e6['error'](0x1f4,_0x412c8d['message']));});});};exports[_0x6d67('0x3d')]=function(_0xc68fbd){var _0x5c734e=this;return new Promise(function(_0x229f82,_0x2c36b9){return db['CmHopper']['findAll']({'raw':_0xc68fbd['options']?_0xc68fbd[_0x6d67('0x19')][_0x6d67('0x1a')]===undefined?!![]:![]:!![],'where':_0xc68fbd[_0x6d67('0x19')]?_0xc68fbd[_0x6d67('0x19')]['where']||null:null,'attributes':[[db[_0x6d67('0x2c')]['fn'](_0x6d67('0x3e'),db['sequelize']['fn']('IF',db[_0x6d67('0x2c')][_0x6d67('0x3f')](_0x6d67('0x40')+util['format'](_0x6d67('0x41'),moment()[_0x6d67('0x42')]('YYYY-MM-DD\x20HH:mm:ss'))+_0x6d67('0x43')))),_0x6d67('0x44')]]})[_0x6d67('0xd')](function(_0x514c83){logger[_0x6d67('0xe')](_0x6d67('0x3d'),_0xc68fbd);logger[_0x6d67('0x21')](_0x6d67('0x3d'),_0xc68fbd,JSON['stringify'](_0x514c83));_0x229f82(_0x514c83);})[_0x6d67('0x15')](function(_0x1ed149){logger[_0x6d67('0x11')](_0x6d67('0x3d'),_0x1ed149[_0x6d67('0x13')],_0xc68fbd);_0x2c36b9(_0x5c734e[_0x6d67('0x11')](0x1f4,_0x1ed149[_0x6d67('0x13')]));});});};exports[_0x6d67('0x45')]=function(_0x368d6f){var _0x4c1794=this;return new Promise(function(_0x1ade2b,_0x584a26){return db[_0x6d67('0x31')][_0x6d67('0x2b')]()['then'](function(_0x1e164b){return db['sequelize'][_0x6d67('0x2d')](function(_0x37b9ec){return db[_0x6d67('0x17')]['findAll']({'where':_0x368d6f[_0x6d67('0x19')]?_0x368d6f[_0x6d67('0x19')]['where']||null:null,'attributes':_0x368d6f[_0x6d67('0x19')]?_0x368d6f[_0x6d67('0x19')][_0x6d67('0x20')]||null:null,'limit':0x1,'order':_0x368d6f[_0x6d67('0x19')]?_0x368d6f[_0x6d67('0x19')][_0x6d67('0x2e')]||null:null,'group':db['CmHopper'][_0x6d67('0x37')],'transaction':_0x37b9ec,'lock':_0x37b9ec[_0x6d67('0x2f')][_0x6d67('0x30')],'include':_0x368d6f[_0x6d67('0x19')]?_0x368d6f[_0x6d67('0x19')][_0x6d67('0x1d')]?_[_0x6d67('0x1e')](_0x368d6f[_0x6d67('0x19')][_0x6d67('0x1d')],function(_0x2e557d){return{'model':db[_0x2e557d['model']],'as':_0x2e557d['as'],'attributes':_0x2e557d[_0x6d67('0x20')],'include':_0x2e557d[_0x6d67('0x1d')]?_[_0x6d67('0x1e')](_0x2e557d[_0x6d67('0x1d')],function(_0x1c0cac){return{'model':db[_0x1c0cac[_0x6d67('0x1f')]],'as':_0x1c0cac['as'],'attributes':_0x1c0cac[_0x6d67('0x20')],'include':_0x1c0cac[_0x6d67('0x1d')]?_[_0x6d67('0x1e')](_0x1c0cac[_0x6d67('0x1d')],function(_0x1dd179){return{'model':db[_0x1dd179['model']],'as':_0x1dd179['as'],'attributes':_0x1dd179[_0x6d67('0x20')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x4aeb18){var _0x576b56=[];for(var _0x4660e1=0x0;_0x4660e1<_0x4aeb18[_0x6d67('0x36')];_0x4660e1+=0x1){_0x576b56[_0x6d67('0x38')](_0x4aeb18[_0x4660e1][_0x6d67('0x27')](_0x368d6f['body'],{'transaction':_0x37b9ec}));}return BPromise['all'](_0x576b56);});})[_0x6d67('0xd')](function(_0x105108){logger[_0x6d67('0xe')]('GetContactRecallMe',_0x368d6f);logger['debug'](_0x6d67('0x45'),_0x368d6f,JSON[_0x6d67('0x10')](_0x105108));_0x1ade2b(_0x105108);})[_0x6d67('0x15')](function(_0xd4e5ce){logger['error']('GetContactRecallMe',_0xd4e5ce[_0x6d67('0x13')],_0x368d6f);_0x584a26(_0x4c1794['error'](0x1f4,_0xd4e5ce[_0x6d67('0x13')]));});});});};exports[_0x6d67('0x46')]=function(_0x128850){var _0xe2ecf0=this;return new Promise(function(_0x3feeab,_0x1cd64a){db['CmContact'][_0x6d67('0x2b')]()[_0x6d67('0xd')](function(_0x2957a3){return db[_0x6d67('0x17')][_0x6d67('0x18')]({'raw':_0x128850['options']?_0x128850[_0x6d67('0x19')][_0x6d67('0x1a')]===undefined?!![]:![]:!![],'where':_0x128850['options']?_0x128850[_0x6d67('0x19')][_0x6d67('0x1b')]||null:null,'attributes':_0x128850[_0x6d67('0x19')]?_0x128850[_0x6d67('0x19')][_0x6d67('0x20')]||null:null,'limit':_0x128850['options']?_0x128850[_0x6d67('0x19')][_0x6d67('0x1c')]||null:null,'include':_0x128850['options']?_0x128850[_0x6d67('0x19')][_0x6d67('0x1d')]?_[_0x6d67('0x1e')](_0x128850[_0x6d67('0x19')][_0x6d67('0x1d')],function(_0x43118c){return{'model':db[_0x43118c[_0x6d67('0x1f')]],'as':_0x43118c['as'],'attributes':_0x43118c['as']===_0x6d67('0x32')?_[_0x6d67('0x33')](_0x2957a3):_0x43118c[_0x6d67('0x20')],'include':_0x43118c['include']?_[_0x6d67('0x1e')](_0x43118c['include'],function(_0xf62a13){return{'model':db[_0xf62a13[_0x6d67('0x1f')]],'as':_0xf62a13['as'],'attributes':_0xf62a13[_0x6d67('0x20')],'include':_0xf62a13[_0x6d67('0x1d')]?_['map'](_0xf62a13[_0x6d67('0x1d')],function(_0xe5cc19){return{'model':db[_0xe5cc19[_0x6d67('0x1f')]],'as':_0xe5cc19['as'],'attributes':_0xe5cc19[_0x6d67('0x20')]};}):[]};}):[]};}):[]:[]})[_0x6d67('0xd')](function(_0x139329){logger[_0x6d67('0xe')](_0x6d67('0x16'),_0x128850);logger[_0x6d67('0x21')]('GetCmHopper',_0x128850,JSON[_0x6d67('0x10')](_0x139329));_0x3feeab(_0x139329);})['catch'](function(_0x21a4c2){logger[_0x6d67('0x11')](_0x6d67('0x16'),_0x21a4c2['message'],_0x128850);_0x1cd64a(_0xe2ecf0[_0x6d67('0x11')](0x1f4,_0x21a4c2[_0x6d67('0x13')]));});});});};