b9ab30d96582589b0c17c523c28ea01caf8e96f8
[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 _0xcf3f=['result','catch','Plugin','body','debug','CreatePlugin','lodash','util','bluebird','ioredis','../../mysqldb','../../config/utils','../../config/logger','jayson/promise','http','redis','defaults','localhost','socket.io-emitter','./plugin.socket','register','request','then','Plugin,\x20%s,\x20%s','request\x20sent','Plugin,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info'];(function(_0xb90df3,_0x375aeb){var _0x4b7c50=function(_0x37755a){while(--_0x37755a){_0xb90df3['push'](_0xb90df3['shift']());}};_0x4b7c50(++_0x375aeb);}(_0xcf3f,0xc0));var _0xfcf3=function(_0x455319,_0x3463cf){_0x455319=_0x455319-0x0;var _0x4d6383=_0xcf3f[_0x455319];return _0x4d6383;};'use strict';var _=require(_0xfcf3('0x0'));var util=require(_0xfcf3('0x1'));var moment=require('moment');var BPromise=require(_0xfcf3('0x2'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xfcf3('0x3'));var db=require(_0xfcf3('0x4'))['db'];var utils=require(_0xfcf3('0x5'));var logger=require(_0xfcf3('0x6'))('rpc');var config=require('../../config/environment');var jayson=require(_0xfcf3('0x7'));var client=jayson['client'][_0xfcf3('0x8')]({'port':0x232a});config[_0xfcf3('0x9')]=_[_0xfcf3('0xa')](config[_0xfcf3('0x9')],{'host':_0xfcf3('0xb'),'port':0x18eb});var socket=require(_0xfcf3('0xc'))(new Redis(config[_0xfcf3('0x9')]));require(_0xfcf3('0xd'))[_0xfcf3('0xe')](socket);function respondWithRpcPromise(_0x1517c2,_0x4c0ed9,_0x329ce9){return new BPromise(function(_0x480fba,_0x368755){return client[_0xfcf3('0xf')](_0x1517c2,_0x329ce9)[_0xfcf3('0x10')](function(_0x27cd81){logger['info'](_0xfcf3('0x11'),_0x4c0ed9,_0xfcf3('0x12'));logger['debug'](_0xfcf3('0x13'),_0x4c0ed9,_0xfcf3('0x12'),JSON[_0xfcf3('0x14')](_0x27cd81));if(_0x27cd81[_0xfcf3('0x15')]){if(_0x27cd81[_0xfcf3('0x15')][_0xfcf3('0x16')]===0x1f4){logger['error'](_0xfcf3('0x11'),_0x4c0ed9,_0x27cd81['error'][_0xfcf3('0x17')]);return _0x368755(_0x27cd81[_0xfcf3('0x15')][_0xfcf3('0x17')]);}logger[_0xfcf3('0x15')](_0xfcf3('0x11'),_0x4c0ed9,_0x27cd81[_0xfcf3('0x15')][_0xfcf3('0x17')]);return _0x480fba(_0x27cd81[_0xfcf3('0x15')][_0xfcf3('0x17')]);}else{logger[_0xfcf3('0x18')]('Plugin,\x20%s,\x20%s',_0x4c0ed9,'request\x20sent');_0x480fba(_0x27cd81[_0xfcf3('0x19')][_0xfcf3('0x17')]);}})[_0xfcf3('0x1a')](function(_0x38fd9f){logger[_0xfcf3('0x15')](_0xfcf3('0x11'),_0x4c0ed9,_0x38fd9f);_0x368755(_0x38fd9f);});});}exports['CreatePlugin']=function(_0x550fa4){var _0xa7224=this;return new Promise(function(_0x3ff6d0,_0x34f67e){return db[_0xfcf3('0x1b')]['create'](_0x550fa4[_0xfcf3('0x1c')],{'raw':_0x550fa4['options']?_0x550fa4['options']['raw']===undefined?!![]:![]:!![]})[_0xfcf3('0x10')](function(_0xadced1){logger[_0xfcf3('0x18')]('CreatePlugin',_0x550fa4);logger[_0xfcf3('0x1d')](_0xfcf3('0x1e'),_0x550fa4,JSON['stringify'](_0xadced1));_0x3ff6d0(_0xadced1);})['catch'](function(_0xca8a4d){logger['error'](_0xfcf3('0x1e'),_0xca8a4d[_0xfcf3('0x17')],_0x550fa4);_0x34f67e(_0xa7224['error'](0x1f4,_0xca8a4d[_0xfcf3('0x17')]));});});};