60b7111f0ac5abb861962fa0ac599b5340d0a5f1
[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 _0x2b65=['bluebird','randomstring','ioredis','../../config/utils','../../config/logger','../../config/environment','jayson/promise','http','defaults','redis','localhost','socket.io-emitter','./plugin.socket','request','then','info','Plugin,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','catch','CreatePlugin','Plugin','create','body','options','raw','lodash','util','moment'];(function(_0x46451c,_0x88ddd){var _0x12dce4=function(_0x2e4087){while(--_0x2e4087){_0x46451c['push'](_0x46451c['shift']());}};_0x12dce4(++_0x88ddd);}(_0x2b65,0xc3));var _0x52b6=function(_0x400672,_0x243a7e){_0x400672=_0x400672-0x0;var _0x27ed65=_0x2b65[_0x400672];return _0x27ed65;};'use strict';var _=require(_0x52b6('0x0'));var util=require(_0x52b6('0x1'));var moment=require(_0x52b6('0x2'));var BPromise=require(_0x52b6('0x3'));var rs=require(_0x52b6('0x4'));var fs=require('fs');var Redis=require(_0x52b6('0x5'));var db=require('../../mysqldb')['db'];var utils=require(_0x52b6('0x6'));var logger=require(_0x52b6('0x7'))('rpc');var config=require(_0x52b6('0x8'));var jayson=require(_0x52b6('0x9'));var client=jayson['client'][_0x52b6('0xa')]({'port':0x232a});config['redis']=_[_0x52b6('0xb')](config[_0x52b6('0xc')],{'host':_0x52b6('0xd'),'port':0x18eb});var socket=require(_0x52b6('0xe'))(new Redis(config[_0x52b6('0xc')]));require(_0x52b6('0xf'))['register'](socket);function respondWithRpcPromise(_0x33c5f6,_0xed6997,_0x1a172a){return new BPromise(function(_0x221a54,_0xd3bd97){return client[_0x52b6('0x10')](_0x33c5f6,_0x1a172a)[_0x52b6('0x11')](function(_0x192995){logger[_0x52b6('0x12')](_0x52b6('0x13'),_0xed6997,_0x52b6('0x14'));logger['debug']('Plugin,\x20%s,\x20%s,\x20%s',_0xed6997,'request\x20sent',JSON[_0x52b6('0x15')](_0x192995));if(_0x192995[_0x52b6('0x16')]){if(_0x192995[_0x52b6('0x16')][_0x52b6('0x17')]===0x1f4){logger[_0x52b6('0x16')](_0x52b6('0x13'),_0xed6997,_0x192995[_0x52b6('0x16')][_0x52b6('0x18')]);return _0xd3bd97(_0x192995[_0x52b6('0x16')][_0x52b6('0x18')]);}logger['error'](_0x52b6('0x13'),_0xed6997,_0x192995[_0x52b6('0x16')][_0x52b6('0x18')]);return _0x221a54(_0x192995['error'][_0x52b6('0x18')]);}else{logger[_0x52b6('0x12')](_0x52b6('0x13'),_0xed6997,_0x52b6('0x14'));_0x221a54(_0x192995[_0x52b6('0x19')][_0x52b6('0x18')]);}})[_0x52b6('0x1a')](function(_0x4cd056){logger[_0x52b6('0x16')](_0x52b6('0x13'),_0xed6997,_0x4cd056);_0xd3bd97(_0x4cd056);});});}exports[_0x52b6('0x1b')]=function(_0x58b500){var _0x442b41=this;return new Promise(function(_0x351ac7,_0x1cb634){return db[_0x52b6('0x1c')][_0x52b6('0x1d')](_0x58b500[_0x52b6('0x1e')],{'raw':_0x58b500[_0x52b6('0x1f')]?_0x58b500['options'][_0x52b6('0x20')]===undefined?!![]:![]:!![]})[_0x52b6('0x11')](function(_0x39f9d2){logger[_0x52b6('0x12')]('CreatePlugin',_0x58b500);logger['debug'](_0x52b6('0x1b'),_0x58b500,JSON[_0x52b6('0x15')](_0x39f9d2));_0x351ac7(_0x39f9d2);})[_0x52b6('0x1a')](function(_0x2e6e70){logger[_0x52b6('0x16')](_0x52b6('0x1b'),_0x2e6e70[_0x52b6('0x18')],_0x58b500);_0x1cb634(_0x442b41[_0x52b6('0x16')](0x1f4,_0x2e6e70[_0x52b6('0x18')]));});});};