4f13316f30f800c5f5a8321e70bedb698db8bf7a
[motion2.git] / server / api / plugin / plugin.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 _0xc35f=['rpc','client','http','redis','localhost','socket.io-emitter','./plugin.socket','register','request','info','request\x20sent','debug','Plugin,\x20%s,\x20%s,\x20%s','stringify','error','Plugin,\x20%s,\x20%s','message','result','CreatePlugin','create','body','raw','then','catch','lodash','util','moment','bluebird','ioredis','../../mysqldb','../../config/utils'];(function(_0x19f242,_0x156cd6){var _0x17f55f=function(_0x1a2d16){while(--_0x1a2d16){_0x19f242['push'](_0x19f242['shift']());}};_0x17f55f(++_0x156cd6);}(_0xc35f,0x1ca));var _0xfc35=function(_0x3c6812,_0x1f6a10){_0x3c6812=_0x3c6812-0x0;var _0x460350=_0xc35f[_0x3c6812];return _0x460350;};'use strict';var _=require(_0xfc35('0x0'));var util=require(_0xfc35('0x1'));var moment=require(_0xfc35('0x2'));var BPromise=require(_0xfc35('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xfc35('0x4'));var db=require(_0xfc35('0x5'))['db'];var utils=require(_0xfc35('0x6'));var logger=require('../../config/logger')(_0xfc35('0x7'));var config=require('../../config/environment');var jayson=require('jayson/promise');var client=jayson[_0xfc35('0x8')][_0xfc35('0x9')]({'port':0x232a});config['redis']=_['defaults'](config[_0xfc35('0xa')],{'host':_0xfc35('0xb'),'port':0x18eb});var socket=require(_0xfc35('0xc'))(new Redis(config['redis']));require(_0xfc35('0xd'))[_0xfc35('0xe')](socket);function respondWithRpcPromise(_0x7cc33a,_0x5278e3,_0x28242f){return new BPromise(function(_0xad628d,_0x37f6ba){return client[_0xfc35('0xf')](_0x7cc33a,_0x28242f)['then'](function(_0xf8fef5){logger[_0xfc35('0x10')]('Plugin,\x20%s,\x20%s',_0x5278e3,_0xfc35('0x11'));logger[_0xfc35('0x12')](_0xfc35('0x13'),_0x5278e3,'request\x20sent',JSON[_0xfc35('0x14')](_0xf8fef5));if(_0xf8fef5['error']){if(_0xf8fef5[_0xfc35('0x15')]['code']===0x1f4){logger[_0xfc35('0x15')](_0xfc35('0x16'),_0x5278e3,_0xf8fef5['error']['message']);return _0x37f6ba(_0xf8fef5[_0xfc35('0x15')][_0xfc35('0x17')]);}logger[_0xfc35('0x15')](_0xfc35('0x16'),_0x5278e3,_0xf8fef5[_0xfc35('0x15')][_0xfc35('0x17')]);return _0xad628d(_0xf8fef5['error'][_0xfc35('0x17')]);}else{logger[_0xfc35('0x10')]('Plugin,\x20%s,\x20%s',_0x5278e3,_0xfc35('0x11'));_0xad628d(_0xf8fef5[_0xfc35('0x18')][_0xfc35('0x17')]);}})['catch'](function(_0x19e319){logger[_0xfc35('0x15')](_0xfc35('0x16'),_0x5278e3,_0x19e319);_0x37f6ba(_0x19e319);});});}exports[_0xfc35('0x19')]=function(_0x5561f1){var _0x52c320=this;return new Promise(function(_0xe7bc19,_0x97c05){return db['Plugin'][_0xfc35('0x1a')](_0x5561f1[_0xfc35('0x1b')],{'raw':_0x5561f1['options']?_0x5561f1['options'][_0xfc35('0x1c')]===undefined?!![]:![]:!![]})[_0xfc35('0x1d')](function(_0x5b32b7){logger[_0xfc35('0x10')](_0xfc35('0x19'),_0x5561f1);logger['debug'](_0xfc35('0x19'),_0x5561f1,JSON[_0xfc35('0x14')](_0x5b32b7));_0xe7bc19(_0x5b32b7);})[_0xfc35('0x1e')](function(_0x53024c){logger[_0xfc35('0x15')]('CreatePlugin',_0x53024c[_0xfc35('0x17')],_0x5561f1);_0x97c05(_0x52c320[_0xfc35('0x15')](0x1f4,_0x53024c[_0xfc35('0x17')]));});});};