5eabf4cbe3852c6fb7ff47657724a6cb8083c8bc
[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 _0x6c25=['CreatePlugin','create','options','then','catch','lodash','util','moment','bluebird','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','redis','defaults','localhost','socket.io-emitter','./plugin.socket','register','request','info','request\x20sent','debug','stringify','error','code','Plugin,\x20%s,\x20%s','result','message'];(function(_0x491196,_0x1f7bea){var _0x1586ff=function(_0x59b2b2){while(--_0x59b2b2){_0x491196['push'](_0x491196['shift']());}};_0x1586ff(++_0x1f7bea);}(_0x6c25,0x1e1));var _0x56c2=function(_0x2b12b7,_0x2621a1){_0x2b12b7=_0x2b12b7-0x0;var _0x2c7af3=_0x6c25[_0x2b12b7];return _0x2c7af3;};'use strict';var _=require(_0x56c2('0x0'));var util=require(_0x56c2('0x1'));var moment=require(_0x56c2('0x2'));var BPromise=require(_0x56c2('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x56c2('0x4'));var db=require(_0x56c2('0x5'))['db'];var utils=require(_0x56c2('0x6'));var logger=require(_0x56c2('0x7'))(_0x56c2('0x8'));var config=require(_0x56c2('0x9'));var jayson=require(_0x56c2('0xa'));var client=jayson[_0x56c2('0xb')][_0x56c2('0xc')]({'port':0x232a});config[_0x56c2('0xd')]=_[_0x56c2('0xe')](config[_0x56c2('0xd')],{'host':_0x56c2('0xf'),'port':0x18eb});var socket=require(_0x56c2('0x10'))(new Redis(config['redis']));require(_0x56c2('0x11'))[_0x56c2('0x12')](socket);function respondWithRpcPromise(_0x49bf6f,_0x258d02,_0x50228e){return new BPromise(function(_0x41df48,_0x5f2c88){return client[_0x56c2('0x13')](_0x49bf6f,_0x50228e)['then'](function(_0x26d8f7){logger[_0x56c2('0x14')]('Plugin,\x20%s,\x20%s',_0x258d02,_0x56c2('0x15'));logger[_0x56c2('0x16')]('Plugin,\x20%s,\x20%s,\x20%s',_0x258d02,_0x56c2('0x15'),JSON[_0x56c2('0x17')](_0x26d8f7));if(_0x26d8f7[_0x56c2('0x18')]){if(_0x26d8f7['error'][_0x56c2('0x19')]===0x1f4){logger[_0x56c2('0x18')](_0x56c2('0x1a'),_0x258d02,_0x26d8f7[_0x56c2('0x18')]['message']);return _0x5f2c88(_0x26d8f7['error']['message']);}logger[_0x56c2('0x18')](_0x56c2('0x1a'),_0x258d02,_0x26d8f7[_0x56c2('0x18')]['message']);return _0x41df48(_0x26d8f7[_0x56c2('0x18')]['message']);}else{logger['info'](_0x56c2('0x1a'),_0x258d02,'request\x20sent');_0x41df48(_0x26d8f7[_0x56c2('0x1b')][_0x56c2('0x1c')]);}})['catch'](function(_0x49f272){logger['error'](_0x56c2('0x1a'),_0x258d02,_0x49f272);_0x5f2c88(_0x49f272);});});}exports[_0x56c2('0x1d')]=function(_0x7d84fe){var _0x32542f=this;return new Promise(function(_0x48fd24,_0x2f4212){return db['Plugin'][_0x56c2('0x1e')](_0x7d84fe['body'],{'raw':_0x7d84fe[_0x56c2('0x1f')]?_0x7d84fe['options']['raw']===undefined?!![]:![]:!![]})[_0x56c2('0x20')](function(_0x57e6aa){logger[_0x56c2('0x14')]('CreatePlugin',_0x7d84fe);logger['debug'](_0x56c2('0x1d'),_0x7d84fe,JSON[_0x56c2('0x17')](_0x57e6aa));_0x48fd24(_0x57e6aa);})[_0x56c2('0x21')](function(_0x5647df){logger['error'](_0x56c2('0x1d'),_0x5647df[_0x56c2('0x1c')],_0x7d84fe);_0x2f4212(_0x32542f['error'](0x1f4,_0x5647df[_0x56c2('0x1c')]));});});};