30def181017078392fb8cc4ba54d68bdfc083ee0
[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 _0xa646=['catch','Plugin','create','body','options','CreatePlugin','lodash','moment','randomstring','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','client','http','redis','localhost','socket.io-emitter','./plugin.socket','register','request','then','info','Plugin,\x20%s,\x20%s','request\x20sent','debug','Plugin,\x20%s,\x20%s,\x20%s','stringify','error','message','result'];(function(_0x209941,_0x5c9988){var _0x1e8729=function(_0x51a9b8){while(--_0x51a9b8){_0x209941['push'](_0x209941['shift']());}};_0x1e8729(++_0x5c9988);}(_0xa646,0xa6));var _0x6a64=function(_0x16e377,_0x1ba410){_0x16e377=_0x16e377-0x0;var _0x5d0a9b=_0xa646[_0x16e377];return _0x5d0a9b;};'use strict';var _=require(_0x6a64('0x0'));var util=require('util');var moment=require(_0x6a64('0x1'));var BPromise=require('bluebird');var rs=require(_0x6a64('0x2'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0x6a64('0x3'))['db'];var utils=require(_0x6a64('0x4'));var logger=require(_0x6a64('0x5'))(_0x6a64('0x6'));var config=require('../../config/environment');var jayson=require(_0x6a64('0x7'));var client=jayson[_0x6a64('0x8')][_0x6a64('0x9')]({'port':0x232a});config[_0x6a64('0xa')]=_['defaults'](config[_0x6a64('0xa')],{'host':_0x6a64('0xb'),'port':0x18eb});var socket=require(_0x6a64('0xc'))(new Redis(config['redis']));require(_0x6a64('0xd'))[_0x6a64('0xe')](socket);function respondWithRpcPromise(_0x2acb39,_0x2a7a58,_0x168ce7){return new BPromise(function(_0x330f62,_0x10e95f){return client[_0x6a64('0xf')](_0x2acb39,_0x168ce7)[_0x6a64('0x10')](function(_0x1a2be2){logger[_0x6a64('0x11')](_0x6a64('0x12'),_0x2a7a58,_0x6a64('0x13'));logger[_0x6a64('0x14')](_0x6a64('0x15'),_0x2a7a58,_0x6a64('0x13'),JSON[_0x6a64('0x16')](_0x1a2be2));if(_0x1a2be2[_0x6a64('0x17')]){if(_0x1a2be2['error']['code']===0x1f4){logger['error'](_0x6a64('0x12'),_0x2a7a58,_0x1a2be2[_0x6a64('0x17')][_0x6a64('0x18')]);return _0x10e95f(_0x1a2be2['error'][_0x6a64('0x18')]);}logger[_0x6a64('0x17')](_0x6a64('0x12'),_0x2a7a58,_0x1a2be2[_0x6a64('0x17')]['message']);return _0x330f62(_0x1a2be2[_0x6a64('0x17')][_0x6a64('0x18')]);}else{logger[_0x6a64('0x11')](_0x6a64('0x12'),_0x2a7a58,_0x6a64('0x13'));_0x330f62(_0x1a2be2[_0x6a64('0x19')]['message']);}})[_0x6a64('0x1a')](function(_0x48b2f6){logger['error'](_0x6a64('0x12'),_0x2a7a58,_0x48b2f6);_0x10e95f(_0x48b2f6);});});}exports['CreatePlugin']=function(_0x1b2584){var _0x25df9c=this;return new Promise(function(_0x1b77c9,_0x45c182){return db[_0x6a64('0x1b')][_0x6a64('0x1c')](_0x1b2584[_0x6a64('0x1d')],{'raw':_0x1b2584[_0x6a64('0x1e')]?_0x1b2584[_0x6a64('0x1e')]['raw']===undefined?!![]:![]:!![]})[_0x6a64('0x10')](function(_0xf69529){logger['info'](_0x6a64('0x1f'),_0x1b2584);logger[_0x6a64('0x14')](_0x6a64('0x1f'),_0x1b2584,JSON['stringify'](_0xf69529));_0x1b77c9(_0xf69529);})[_0x6a64('0x1a')](function(_0x145771){logger['error'](_0x6a64('0x1f'),_0x145771[_0x6a64('0x18')],_0x1b2584);_0x45c182(_0x25df9c[_0x6a64('0x17')](0x1f4,_0x145771[_0x6a64('0x18')]));});});};