Built motion from commit 19a84241.|2.5.34
[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 _0xdbbd=['name','length','UserId','push','includes','GetContactDialer','MoveContactManagedDialer','CmHopperFinal','CountReScheduled','COUNT','literal','`scheduledat`\x20>=\x20','format','\x22%s\x22','YYYY-MM-DD\x20HH:mm:ss','\x20,\x201,\x20null','GetContactRecallMe','order','all','GetCmHopperPreview','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/logger','rpc','../../config/environment','client','http','request','then','info','CmHopper,\x20%s,\x20%s','request\x20sent','debug','CmHopper,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','GetCmHopper','options','raw','attributes','limit','include','map','model','stringify','CmHopper','where','CreateCmHopper','create','body','UpdateCmHopper','update','DestroyCmHopper','CmContact','describe','sequelize','transaction','findAll','UPDATE','Contact','keys','User','Agent'];(function(_0x4f2660,_0x1b0fba){var _0x147417=function(_0x2cccf4){while(--_0x2cccf4){_0x4f2660['push'](_0x4f2660['shift']());}};_0x147417(++_0x1b0fba);}(_0xdbbd,0x1be));var _0xddbb=function(_0x422905,_0x3bce3a){_0x422905=_0x422905-0x0;var _0x33dc6c=_0xdbbd[_0x422905];return _0x33dc6c;};'use strict';var _=require(_0xddbb('0x0'));var util=require(_0xddbb('0x1'));var moment=require(_0xddbb('0x2'));var BPromise=require(_0xddbb('0x3'));var rs=require(_0xddbb('0x4'));var fs=require('fs');var Redis=require(_0xddbb('0x5'));var db=require(_0xddbb('0x6'))['db'];var utils=require('../../config/utils');var logger=require(_0xddbb('0x7'))(_0xddbb('0x8'));var config=require(_0xddbb('0x9'));var jayson=require('jayson/promise');var client=jayson[_0xddbb('0xa')][_0xddbb('0xb')]({'port':0x232a});function respondWithRpcPromise(_0x16c71b,_0x573513,_0x1d9d3b){return new BPromise(function(_0x249840,_0x2f37c6){return client[_0xddbb('0xc')](_0x16c71b,_0x1d9d3b)[_0xddbb('0xd')](function(_0x3d317c){logger[_0xddbb('0xe')](_0xddbb('0xf'),_0x573513,_0xddbb('0x10'));logger[_0xddbb('0x11')](_0xddbb('0x12'),_0x573513,'request\x20sent',JSON['stringify'](_0x3d317c));if(_0x3d317c['error']){if(_0x3d317c[_0xddbb('0x13')][_0xddbb('0x14')]===0x1f4){logger[_0xddbb('0x13')](_0xddbb('0xf'),_0x573513,_0x3d317c['error'][_0xddbb('0x15')]);return _0x2f37c6(_0x3d317c[_0xddbb('0x13')][_0xddbb('0x15')]);}logger[_0xddbb('0x13')](_0xddbb('0xf'),_0x573513,_0x3d317c[_0xddbb('0x13')]['message']);return _0x249840(_0x3d317c[_0xddbb('0x13')][_0xddbb('0x15')]);}else{logger['info'](_0xddbb('0xf'),_0x573513,_0xddbb('0x10'));_0x249840(_0x3d317c[_0xddbb('0x16')]['message']);}})[_0xddbb('0x17')](function(_0x5df7fa){logger[_0xddbb('0x13')](_0xddbb('0xf'),_0x573513,_0x5df7fa);_0x2f37c6(_0x5df7fa);});});}exports[_0xddbb('0x18')]=function(_0xe685d){var _0x221239=this;return new Promise(function(_0x3eecdf,_0x40f94e){return db['CmHopper']['findAll']({'raw':_0xe685d['options']?_0xe685d[_0xddbb('0x19')][_0xddbb('0x1a')]===undefined?!![]:![]:!![],'where':_0xe685d['options']?_0xe685d[_0xddbb('0x19')]['where']||null:null,'attributes':_0xe685d['options']?_0xe685d[_0xddbb('0x19')][_0xddbb('0x1b')]||null:null,'limit':_0xe685d['options']?_0xe685d[_0xddbb('0x19')][_0xddbb('0x1c')]||null:null,'include':_0xe685d[_0xddbb('0x19')]?_0xe685d[_0xddbb('0x19')][_0xddbb('0x1d')]?_[_0xddbb('0x1e')](_0xe685d[_0xddbb('0x19')][_0xddbb('0x1d')],function(_0x28033d){return{'model':db[_0x28033d[_0xddbb('0x1f')]],'as':_0x28033d['as'],'attributes':_0x28033d['attributes'],'include':_0x28033d[_0xddbb('0x1d')]?_[_0xddbb('0x1e')](_0x28033d['include'],function(_0x2de0bc){return{'model':db[_0x2de0bc[_0xddbb('0x1f')]],'as':_0x2de0bc['as'],'attributes':_0x2de0bc[_0xddbb('0x1b')],'include':_0x2de0bc[_0xddbb('0x1d')]?_[_0xddbb('0x1e')](_0x2de0bc['include'],function(_0x153ae2){return{'model':db[_0x153ae2[_0xddbb('0x1f')]],'as':_0x153ae2['as'],'attributes':_0x153ae2[_0xddbb('0x1b')]};}):[]};}):[]};}):[]:[]})[_0xddbb('0xd')](function(_0x5dce01){logger[_0xddbb('0xe')](_0xddbb('0x18'),_0xe685d);logger[_0xddbb('0x11')](_0xddbb('0x18'),_0xe685d,JSON[_0xddbb('0x20')](_0x5dce01));_0x3eecdf(_0x5dce01);})[_0xddbb('0x17')](function(_0x227210){logger[_0xddbb('0x13')]('GetCmHopper',_0x227210[_0xddbb('0x15')],_0xe685d);_0x40f94e(_0x221239[_0xddbb('0x13')](0x1f4,_0x227210['message']));});});};exports['ShowCmHopper']=function(_0x55c2ec){var _0x20be91=this;return new Promise(function(_0x1e496f,_0x3cb279){return db[_0xddbb('0x21')]['find']({'raw':_0x55c2ec['options']?_0x55c2ec['options']['raw']===undefined?!![]:![]:!![],'where':_0x55c2ec[_0xddbb('0x19')]?_0x55c2ec[_0xddbb('0x19')][_0xddbb('0x22')]||null:null,'attributes':_0x55c2ec[_0xddbb('0x19')]?_0x55c2ec[_0xddbb('0x19')][_0xddbb('0x1b')]||null:null,'include':_0x55c2ec[_0xddbb('0x19')]?_0x55c2ec['options']['include']?_[_0xddbb('0x1e')](_0x55c2ec[_0xddbb('0x19')][_0xddbb('0x1d')],function(_0xb84932){return{'model':db[_0xb84932['model']],'as':_0xb84932['as'],'attributes':_0xb84932[_0xddbb('0x1b')],'include':_0xb84932[_0xddbb('0x1d')]?_[_0xddbb('0x1e')](_0xb84932[_0xddbb('0x1d')],function(_0x51a799){return{'model':db[_0x51a799[_0xddbb('0x1f')]],'as':_0x51a799['as'],'attributes':_0x51a799['attributes'],'include':_0x51a799[_0xddbb('0x1d')]?_[_0xddbb('0x1e')](_0x51a799['include'],function(_0x712d62){return{'model':db[_0x712d62['model']],'as':_0x712d62['as'],'attributes':_0x712d62[_0xddbb('0x1b')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x17f16a){logger[_0xddbb('0xe')]('ShowCmHopper',_0x55c2ec);logger['debug']('ShowCmHopper',_0x55c2ec,JSON[_0xddbb('0x20')](_0x17f16a));_0x1e496f(_0x17f16a);})[_0xddbb('0x17')](function(_0xc397eb){logger[_0xddbb('0x13')]('ShowCmHopper',_0xc397eb['message'],_0x55c2ec);_0x3cb279(_0x20be91[_0xddbb('0x13')](0x1f4,_0xc397eb['message']));});});};exports[_0xddbb('0x23')]=function(_0x4e2ba1){var _0xb314d2=this;return new Promise(function(_0x3e438e,_0x167a4a){return db[_0xddbb('0x21')][_0xddbb('0x24')](_0x4e2ba1[_0xddbb('0x25')],{'raw':_0x4e2ba1[_0xddbb('0x19')]?_0x4e2ba1[_0xddbb('0x19')][_0xddbb('0x1a')]===undefined?!![]:![]:!![]})[_0xddbb('0xd')](function(_0x260fe6){logger[_0xddbb('0xe')](_0xddbb('0x23'),_0x4e2ba1);logger[_0xddbb('0x11')](_0xddbb('0x23'),_0x4e2ba1,JSON['stringify'](_0x260fe6));_0x3e438e(_0x260fe6);})[_0xddbb('0x17')](function(_0x5c4f5c){logger['error'](_0xddbb('0x23'),_0x5c4f5c['message'],_0x4e2ba1);_0x167a4a(_0xb314d2[_0xddbb('0x13')](0x1f4,_0x5c4f5c[_0xddbb('0x15')]));});});};exports[_0xddbb('0x26')]=function(_0x471cad){var _0x55688a=this;return new Promise(function(_0x1b072a,_0x7777c0){return db[_0xddbb('0x21')][_0xddbb('0x27')](_0x471cad['body'],{'raw':_0x471cad['options']?_0x471cad['options'][_0xddbb('0x1a')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x471cad[_0xddbb('0x19')]?_0x471cad['options'][_0xddbb('0x22')]||null:null,'attributes':_0x471cad[_0xddbb('0x19')]?_0x471cad['options']['attributes']||null:null,'limit':_0x471cad[_0xddbb('0x19')]?_0x471cad[_0xddbb('0x19')][_0xddbb('0x1c')]||null:null})[_0xddbb('0xd')](function(_0x2db145){logger[_0xddbb('0xe')]('UpdateCmHopper',_0x471cad);logger[_0xddbb('0x11')](_0xddbb('0x26'),_0x471cad,JSON[_0xddbb('0x20')](_0x2db145));_0x1b072a(_0x2db145);})['catch'](function(_0x13fba6){logger[_0xddbb('0x13')]('UpdateCmHopper',_0x13fba6[_0xddbb('0x15')],_0x471cad);_0x7777c0(_0x55688a[_0xddbb('0x13')](0x1f4,_0x13fba6['message']));});});};exports[_0xddbb('0x28')]=function(_0x44a21a){var _0x358f61=this;return new Promise(function(_0x392811,_0x2b0fe9){return db[_0xddbb('0x21')]['destroy']({'where':_0x44a21a[_0xddbb('0x19')]?_0x44a21a[_0xddbb('0x19')]['where']||null:null})[_0xddbb('0xd')](function(_0x40adf8){logger[_0xddbb('0xe')]('DestroyCmHopper',_0x44a21a);logger[_0xddbb('0x11')](_0xddbb('0x28'),_0x44a21a,JSON['stringify'](_0x40adf8));_0x392811(_0x40adf8);})[_0xddbb('0x17')](function(_0x1f9cbc){logger['error']('DestroyCmHopper',_0x1f9cbc['message'],_0x44a21a);_0x2b0fe9(_0x358f61['error'](0x1f4,_0x1f9cbc[_0xddbb('0x15')]));});});};exports['GetContactDialer']=function(_0x1b03f1){var _0x28be40=this;return new Promise(function(_0x3c1379,_0x4494e0){return db[_0xddbb('0x29')][_0xddbb('0x2a')]()[_0xddbb('0xd')](function(_0x4eb7d3){return db[_0xddbb('0x2b')][_0xddbb('0x2c')](function(_0x240b87){return db[_0xddbb('0x21')][_0xddbb('0x2d')]({'where':_0x1b03f1[_0xddbb('0x19')]?_0x1b03f1[_0xddbb('0x19')][_0xddbb('0x22')]||null:null,'attributes':_0x1b03f1[_0xddbb('0x19')]?_0x1b03f1['options'][_0xddbb('0x1b')]||null:null,'limit':_0x1b03f1[_0xddbb('0x19')]?_0x1b03f1[_0xddbb('0x19')][_0xddbb('0x1c')]||null:null,'order':_0x1b03f1['options']?_0x1b03f1['options']['order']||null:null,'transaction':_0x240b87,'lock':_0x240b87['LOCK'][_0xddbb('0x2e')],'include':[{'model':db[_0xddbb('0x29')],'as':_0xddbb('0x2f'),'attributes':_[_0xddbb('0x30')](_0x4eb7d3)},{'model':db[_0xddbb('0x31')],'as':_0xddbb('0x32'),'attributes':['id',_0xddbb('0x33'),'voicePause']}]})[_0xddbb('0xd')](function(_0x32a26b){var _0x46e9b0=[];var _0x291cc2=[];for(var _0x18045e=0x0;_0x18045e<_0x32a26b[_0xddbb('0x34')];_0x18045e+=0x1){var _0x50f94e=_0x32a26b[_0x18045e][_0xddbb('0x35')];if(_0x50f94e===null){_0x46e9b0[_0xddbb('0x36')](_0x32a26b[_0x18045e][_0xddbb('0x27')](_0x1b03f1['body'],{'transaction':_0x240b87}));}else if(!_0x291cc2[_0xddbb('0x37')](_0x50f94e)){_0x291cc2[_0xddbb('0x36')](_0x50f94e);_0x46e9b0['push'](_0x32a26b[_0x18045e][_0xddbb('0x27')](_0x1b03f1[_0xddbb('0x25')],{'transaction':_0x240b87}));}}return BPromise['all'](_0x46e9b0);});})[_0xddbb('0xd')](function(_0x261245){logger[_0xddbb('0xe')](_0xddbb('0x38'),_0x1b03f1);logger['debug'](_0xddbb('0x38'),_0x1b03f1,JSON[_0xddbb('0x20')](_0x261245));_0x3c1379(_0x261245);})['catch'](function(_0x98c939){logger[_0xddbb('0x13')](_0xddbb('0x38'),_0x98c939[_0xddbb('0x15')],_0x1b03f1);_0x4494e0(_0x28be40[_0xddbb('0x13')](0x1f4,_0x98c939[_0xddbb('0x15')]));});});});};exports[_0xddbb('0x39')]=function(_0x3524db){var _0x56637f=this;return new Promise(function(_0x14a123,_0xb247b7){return db['sequelize'][_0xddbb('0x2c')](function(_0x5778fd){return db[_0xddbb('0x3a')][_0xddbb('0x24')](_0x3524db[_0xddbb('0x25')],{'raw':_0x3524db[_0xddbb('0x19')]?_0x3524db[_0xddbb('0x19')][_0xddbb('0x1a')]===undefined?!![]:![]:!![],'transaction':_0x5778fd})[_0xddbb('0xd')](function(){return db[_0xddbb('0x21')]['destroy']({'where':_0x3524db[_0xddbb('0x19')]?_0x3524db['options'][_0xddbb('0x22')]||null:null,'transaction':_0x5778fd});});})[_0xddbb('0xd')](function(_0x2e6fb7){logger[_0xddbb('0xe')](_0xddbb('0x39'),_0x3524db);logger[_0xddbb('0x11')](_0xddbb('0x39'),_0x3524db,JSON[_0xddbb('0x20')](_0x2e6fb7));_0x14a123(_0x2e6fb7);})[_0xddbb('0x17')](function(_0x138268){logger[_0xddbb('0x13')](_0xddbb('0x39'),_0x138268[_0xddbb('0x15')],_0x3524db);_0xb247b7(_0x56637f[_0xddbb('0x13')](0x1f4,_0x138268['message']));});});};exports[_0xddbb('0x3b')]=function(_0x90e303){var _0x12271a=this;return new Promise(function(_0x46dfaa,_0x52c09a){return db[_0xddbb('0x21')][_0xddbb('0x2d')]({'raw':_0x90e303[_0xddbb('0x19')]?_0x90e303['options'][_0xddbb('0x1a')]===undefined?!![]:![]:!![],'where':_0x90e303['options']?_0x90e303['options'][_0xddbb('0x22')]||null:null,'attributes':[[db['sequelize']['fn'](_0xddbb('0x3c'),db[_0xddbb('0x2b')]['fn']('IF',db[_0xddbb('0x2b')][_0xddbb('0x3d')](_0xddbb('0x3e')+util[_0xddbb('0x3f')](_0xddbb('0x40'),moment()[_0xddbb('0x3f')](_0xddbb('0x41')))+_0xddbb('0x42')))),'contactsRescheduled']]})['then'](function(_0x15db35){logger[_0xddbb('0xe')](_0xddbb('0x3b'),_0x90e303);logger['debug'](_0xddbb('0x3b'),_0x90e303,JSON['stringify'](_0x15db35));_0x46dfaa(_0x15db35);})['catch'](function(_0x39a85f){logger[_0xddbb('0x13')](_0xddbb('0x3b'),_0x39a85f['message'],_0x90e303);_0x52c09a(_0x12271a[_0xddbb('0x13')](0x1f4,_0x39a85f[_0xddbb('0x15')]));});});};exports[_0xddbb('0x43')]=function(_0x316283){var _0x678866=this;return new Promise(function(_0x4d91ec,_0x5e9e54){return db[_0xddbb('0x29')][_0xddbb('0x2a')]()['then'](function(_0x2ebbd4){return db['sequelize'][_0xddbb('0x2c')](function(_0x13c1bd){return db['CmHopper'][_0xddbb('0x2d')]({'where':_0x316283['options']?_0x316283[_0xddbb('0x19')][_0xddbb('0x22')]||null:null,'attributes':_0x316283[_0xddbb('0x19')]?_0x316283['options'][_0xddbb('0x1b')]||null:null,'limit':0x1,'order':_0x316283[_0xddbb('0x19')]?_0x316283[_0xddbb('0x19')][_0xddbb('0x44')]||null:null,'group':db[_0xddbb('0x21')][_0xddbb('0x35')],'transaction':_0x13c1bd,'lock':_0x13c1bd['LOCK'][_0xddbb('0x2e')],'include':_0x316283[_0xddbb('0x19')]?_0x316283[_0xddbb('0x19')][_0xddbb('0x1d')]?_[_0xddbb('0x1e')](_0x316283[_0xddbb('0x19')][_0xddbb('0x1d')],function(_0x3d3fe8){return{'model':db[_0x3d3fe8['model']],'as':_0x3d3fe8['as'],'attributes':_0x3d3fe8[_0xddbb('0x1b')],'include':_0x3d3fe8[_0xddbb('0x1d')]?_[_0xddbb('0x1e')](_0x3d3fe8[_0xddbb('0x1d')],function(_0xa6069d){return{'model':db[_0xa6069d[_0xddbb('0x1f')]],'as':_0xa6069d['as'],'attributes':_0xa6069d[_0xddbb('0x1b')],'include':_0xa6069d[_0xddbb('0x1d')]?_[_0xddbb('0x1e')](_0xa6069d[_0xddbb('0x1d')],function(_0x288156){return{'model':db[_0x288156['model']],'as':_0x288156['as'],'attributes':_0x288156[_0xddbb('0x1b')]};}):[]};}):[]};}):[]:[]})[_0xddbb('0xd')](function(_0x9c9124){var _0x5ae041=[];for(var _0x3aad12=0x0;_0x3aad12<_0x9c9124['length'];_0x3aad12+=0x1){_0x5ae041[_0xddbb('0x36')](_0x9c9124[_0x3aad12][_0xddbb('0x27')](_0x316283[_0xddbb('0x25')],{'transaction':_0x13c1bd}));}return BPromise[_0xddbb('0x45')](_0x5ae041);});})[_0xddbb('0xd')](function(_0x4f11dd){logger['info'](_0xddbb('0x43'),_0x316283);logger[_0xddbb('0x11')](_0xddbb('0x43'),_0x316283,JSON[_0xddbb('0x20')](_0x4f11dd));_0x4d91ec(_0x4f11dd);})['catch'](function(_0x4e2cad){logger[_0xddbb('0x13')](_0xddbb('0x43'),_0x4e2cad[_0xddbb('0x15')],_0x316283);_0x5e9e54(_0x678866[_0xddbb('0x13')](0x1f4,_0x4e2cad[_0xddbb('0x15')]));});});});};exports[_0xddbb('0x46')]=function(_0x5b67fa){var _0x22a0b6=this;return new Promise(function(_0x386625,_0xac0e13){db['CmContact'][_0xddbb('0x2a')]()['then'](function(_0x354b63){return db[_0xddbb('0x21')]['findAll']({'raw':_0x5b67fa[_0xddbb('0x19')]?_0x5b67fa['options'][_0xddbb('0x1a')]===undefined?!![]:![]:!![],'where':_0x5b67fa[_0xddbb('0x19')]?_0x5b67fa['options'][_0xddbb('0x22')]||null:null,'attributes':_0x5b67fa[_0xddbb('0x19')]?_0x5b67fa[_0xddbb('0x19')][_0xddbb('0x1b')]||null:null,'limit':_0x5b67fa[_0xddbb('0x19')]?_0x5b67fa[_0xddbb('0x19')][_0xddbb('0x1c')]||null:null,'include':_0x5b67fa[_0xddbb('0x19')]?_0x5b67fa['options'][_0xddbb('0x1d')]?_[_0xddbb('0x1e')](_0x5b67fa['options'][_0xddbb('0x1d')],function(_0x173588){return{'model':db[_0x173588[_0xddbb('0x1f')]],'as':_0x173588['as'],'attributes':_0x173588['as']===_0xddbb('0x2f')?_['keys'](_0x354b63):_0x173588[_0xddbb('0x1b')],'include':_0x173588[_0xddbb('0x1d')]?_[_0xddbb('0x1e')](_0x173588['include'],function(_0xb509b2){return{'model':db[_0xb509b2['model']],'as':_0xb509b2['as'],'attributes':_0xb509b2[_0xddbb('0x1b')],'include':_0xb509b2['include']?_[_0xddbb('0x1e')](_0xb509b2[_0xddbb('0x1d')],function(_0x2deac8){return{'model':db[_0x2deac8[_0xddbb('0x1f')]],'as':_0x2deac8['as'],'attributes':_0x2deac8[_0xddbb('0x1b')]};}):[]};}):[]};}):[]:[]})[_0xddbb('0xd')](function(_0x566a22){logger[_0xddbb('0xe')](_0xddbb('0x18'),_0x5b67fa);logger[_0xddbb('0x11')](_0xddbb('0x18'),_0x5b67fa,JSON[_0xddbb('0x20')](_0x566a22));_0x386625(_0x566a22);})[_0xddbb('0x17')](function(_0x3a541e){logger['error'](_0xddbb('0x18'),_0x3a541e['message'],_0x5b67fa);_0xac0e13(_0x22a0b6[_0xddbb('0x13')](0x1f4,_0x3a541e[_0xddbb('0x15')]));});});});};