c56b514e6a0b72945f2c68877b8ad2c094a20fd5
[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 _0x0a89=['lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/logger','../../config/environment','jayson/promise','client','http','redis','localhost','socket.io-emitter','./plugin.socket','request','info','request\x20sent','Plugin,\x20%s,\x20%s,\x20%s','stringify','error','code','Plugin,\x20%s,\x20%s','message','Plugin','body','then','CreatePlugin','debug','catch'];(function(_0x484b64,_0x396508){var _0x30c300=function(_0x1e29c6){while(--_0x1e29c6){_0x484b64['push'](_0x484b64['shift']());}};_0x30c300(++_0x396508);}(_0x0a89,0xf8));var _0x90a8=function(_0x47cf58,_0x461462){_0x47cf58=_0x47cf58-0x0;var _0x5a576a=_0x0a89[_0x47cf58];return _0x5a576a;};'use strict';var _=require(_0x90a8('0x0'));var util=require(_0x90a8('0x1'));var moment=require(_0x90a8('0x2'));var BPromise=require(_0x90a8('0x3'));var rs=require(_0x90a8('0x4'));var fs=require('fs');var Redis=require(_0x90a8('0x5'));var db=require(_0x90a8('0x6'))['db'];var utils=require('../../config/utils');var logger=require(_0x90a8('0x7'))('rpc');var config=require(_0x90a8('0x8'));var jayson=require(_0x90a8('0x9'));var client=jayson[_0x90a8('0xa')][_0x90a8('0xb')]({'port':0x232a});config[_0x90a8('0xc')]=_['defaults'](config[_0x90a8('0xc')],{'host':_0x90a8('0xd'),'port':0x18eb});var socket=require(_0x90a8('0xe'))(new Redis(config[_0x90a8('0xc')]));require(_0x90a8('0xf'))['register'](socket);function respondWithRpcPromise(_0xc6a2ed,_0x29a194,_0x5b0ba8){return new BPromise(function(_0x54c6f2,_0x3ebd2f){return client[_0x90a8('0x10')](_0xc6a2ed,_0x5b0ba8)['then'](function(_0xc65bb8){logger[_0x90a8('0x11')]('Plugin,\x20%s,\x20%s',_0x29a194,_0x90a8('0x12'));logger['debug'](_0x90a8('0x13'),_0x29a194,_0x90a8('0x12'),JSON[_0x90a8('0x14')](_0xc65bb8));if(_0xc65bb8[_0x90a8('0x15')]){if(_0xc65bb8[_0x90a8('0x15')][_0x90a8('0x16')]===0x1f4){logger[_0x90a8('0x15')](_0x90a8('0x17'),_0x29a194,_0xc65bb8[_0x90a8('0x15')][_0x90a8('0x18')]);return _0x3ebd2f(_0xc65bb8[_0x90a8('0x15')]['message']);}logger[_0x90a8('0x15')]('Plugin,\x20%s,\x20%s',_0x29a194,_0xc65bb8[_0x90a8('0x15')][_0x90a8('0x18')]);return _0x54c6f2(_0xc65bb8[_0x90a8('0x15')]['message']);}else{logger[_0x90a8('0x11')](_0x90a8('0x17'),_0x29a194,_0x90a8('0x12'));_0x54c6f2(_0xc65bb8['result'][_0x90a8('0x18')]);}})['catch'](function(_0x802f75){logger['error'](_0x90a8('0x17'),_0x29a194,_0x802f75);_0x3ebd2f(_0x802f75);});});}exports['CreatePlugin']=function(_0x558195){var _0x3fd57c=this;return new Promise(function(_0x12b3cd,_0x5016f4){return db[_0x90a8('0x19')]['create'](_0x558195[_0x90a8('0x1a')],{'raw':_0x558195['options']?_0x558195['options']['raw']===undefined?!![]:![]:!![]})[_0x90a8('0x1b')](function(_0x240dd9){logger[_0x90a8('0x11')](_0x90a8('0x1c'),_0x558195);logger[_0x90a8('0x1d')](_0x90a8('0x1c'),_0x558195,JSON[_0x90a8('0x14')](_0x240dd9));_0x12b3cd(_0x240dd9);})[_0x90a8('0x1e')](function(_0x3972b0){logger['error']('CreatePlugin',_0x3972b0[_0x90a8('0x18')],_0x558195);_0x5016f4(_0x3fd57c[_0x90a8('0x15')](0x1f4,_0x3972b0['message']));});});};