9144c24ee6797d08266f419efdc5a0f82eeac8dd
[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 _0x17ab=['debug','Plugin,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','Plugin','create','options','CreatePlugin','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/logger','rpc','jayson/promise','client','http','defaults','redis','localhost','socket.io-emitter','register','request','then','info','Plugin,\x20%s,\x20%s','request\x20sent'];(function(_0x165aab,_0x65e47c){var _0x42e562=function(_0x3c786f){while(--_0x3c786f){_0x165aab['push'](_0x165aab['shift']());}};_0x42e562(++_0x65e47c);}(_0x17ab,0x134));var _0xb17a=function(_0x30ab63,_0x20d7a1){_0x30ab63=_0x30ab63-0x0;var _0x5f293d=_0x17ab[_0x30ab63];return _0x5f293d;};'use strict';var _=require(_0xb17a('0x0'));var util=require(_0xb17a('0x1'));var moment=require(_0xb17a('0x2'));var BPromise=require(_0xb17a('0x3'));var rs=require(_0xb17a('0x4'));var fs=require('fs');var Redis=require(_0xb17a('0x5'));var db=require(_0xb17a('0x6'))['db'];var utils=require('../../config/utils');var logger=require(_0xb17a('0x7'))(_0xb17a('0x8'));var config=require('../../config/environment');var jayson=require(_0xb17a('0x9'));var client=jayson[_0xb17a('0xa')][_0xb17a('0xb')]({'port':0x232a});config['redis']=_[_0xb17a('0xc')](config[_0xb17a('0xd')],{'host':_0xb17a('0xe'),'port':0x18eb});var socket=require(_0xb17a('0xf'))(new Redis(config[_0xb17a('0xd')]));require('./plugin.socket')[_0xb17a('0x10')](socket);function respondWithRpcPromise(_0x3c3065,_0x4cc217,_0x3a2da5){return new BPromise(function(_0x420cc1,_0x5956c6){return client[_0xb17a('0x11')](_0x3c3065,_0x3a2da5)[_0xb17a('0x12')](function(_0x2e87f7){logger[_0xb17a('0x13')](_0xb17a('0x14'),_0x4cc217,_0xb17a('0x15'));logger[_0xb17a('0x16')](_0xb17a('0x17'),_0x4cc217,_0xb17a('0x15'),JSON[_0xb17a('0x18')](_0x2e87f7));if(_0x2e87f7[_0xb17a('0x19')]){if(_0x2e87f7[_0xb17a('0x19')][_0xb17a('0x1a')]===0x1f4){logger[_0xb17a('0x19')](_0xb17a('0x14'),_0x4cc217,_0x2e87f7[_0xb17a('0x19')][_0xb17a('0x1b')]);return _0x5956c6(_0x2e87f7['error'][_0xb17a('0x1b')]);}logger[_0xb17a('0x19')](_0xb17a('0x14'),_0x4cc217,_0x2e87f7[_0xb17a('0x19')][_0xb17a('0x1b')]);return _0x420cc1(_0x2e87f7[_0xb17a('0x19')][_0xb17a('0x1b')]);}else{logger[_0xb17a('0x13')](_0xb17a('0x14'),_0x4cc217,_0xb17a('0x15'));_0x420cc1(_0x2e87f7['result'][_0xb17a('0x1b')]);}})[_0xb17a('0x1c')](function(_0x5f2fe6){logger[_0xb17a('0x19')](_0xb17a('0x14'),_0x4cc217,_0x5f2fe6);_0x5956c6(_0x5f2fe6);});});}exports['CreatePlugin']=function(_0x58ac59){var _0x580f20=this;return new Promise(function(_0x350281,_0x41fb55){return db[_0xb17a('0x1d')][_0xb17a('0x1e')](_0x58ac59['body'],{'raw':_0x58ac59[_0xb17a('0x1f')]?_0x58ac59[_0xb17a('0x1f')]['raw']===undefined?!![]:![]:!![]})[_0xb17a('0x12')](function(_0x20b149){logger[_0xb17a('0x13')](_0xb17a('0x20'),_0x58ac59);logger['debug'](_0xb17a('0x20'),_0x58ac59,JSON['stringify'](_0x20b149));_0x350281(_0x20b149);})[_0xb17a('0x1c')](function(_0x1f0ea6){logger['error']('CreatePlugin',_0x1f0ea6[_0xb17a('0x1b')],_0x58ac59);_0x41fb55(_0x580f20[_0xb17a('0x19')](0x1f4,_0x1f0ea6[_0xb17a('0x1b')]));});});};