4ac86c4d744e2788ab61f9e9b2a7d7407efd8449
[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 _0x342e=['debug','Plugin,\x20%s,\x20%s,\x20%s','stringify','error','code','Plugin,\x20%s,\x20%s','message','result','catch','Plugin','create','body','options','raw','then','CreatePlugin','lodash','util','moment','bluebird','randomstring','ioredis','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','defaults','redis','localhost','socket.io-emitter','./plugin.socket','register','request','info','request\x20sent'];(function(_0x45bf9f,_0x399917){var _0x3e5d1e=function(_0x35f36a){while(--_0x35f36a){_0x45bf9f['push'](_0x45bf9f['shift']());}};_0x3e5d1e(++_0x399917);}(_0x342e,0xa8));var _0xe342=function(_0x1406ae,_0x292395){_0x1406ae=_0x1406ae-0x0;var _0x23a076=_0x342e[_0x1406ae];return _0x23a076;};'use strict';var _=require(_0xe342('0x0'));var util=require(_0xe342('0x1'));var moment=require(_0xe342('0x2'));var BPromise=require(_0xe342('0x3'));var rs=require(_0xe342('0x4'));var fs=require('fs');var Redis=require(_0xe342('0x5'));var db=require('../../mysqldb')['db'];var utils=require(_0xe342('0x6'));var logger=require(_0xe342('0x7'))(_0xe342('0x8'));var config=require(_0xe342('0x9'));var jayson=require(_0xe342('0xa'));var client=jayson[_0xe342('0xb')][_0xe342('0xc')]({'port':0x232a});config['redis']=_[_0xe342('0xd')](config[_0xe342('0xe')],{'host':_0xe342('0xf'),'port':0x18eb});var socket=require(_0xe342('0x10'))(new Redis(config[_0xe342('0xe')]));require(_0xe342('0x11'))[_0xe342('0x12')](socket);function respondWithRpcPromise(_0x339f32,_0x5d5280,_0x32f7b0){return new BPromise(function(_0x10a325,_0x34dab6){return client[_0xe342('0x13')](_0x339f32,_0x32f7b0)['then'](function(_0x3831cf){logger[_0xe342('0x14')]('Plugin,\x20%s,\x20%s',_0x5d5280,_0xe342('0x15'));logger[_0xe342('0x16')](_0xe342('0x17'),_0x5d5280,_0xe342('0x15'),JSON[_0xe342('0x18')](_0x3831cf));if(_0x3831cf[_0xe342('0x19')]){if(_0x3831cf[_0xe342('0x19')][_0xe342('0x1a')]===0x1f4){logger[_0xe342('0x19')](_0xe342('0x1b'),_0x5d5280,_0x3831cf[_0xe342('0x19')][_0xe342('0x1c')]);return _0x34dab6(_0x3831cf[_0xe342('0x19')]['message']);}logger[_0xe342('0x19')](_0xe342('0x1b'),_0x5d5280,_0x3831cf[_0xe342('0x19')][_0xe342('0x1c')]);return _0x10a325(_0x3831cf[_0xe342('0x19')][_0xe342('0x1c')]);}else{logger[_0xe342('0x14')](_0xe342('0x1b'),_0x5d5280,'request\x20sent');_0x10a325(_0x3831cf[_0xe342('0x1d')][_0xe342('0x1c')]);}})[_0xe342('0x1e')](function(_0x598bf6){logger['error']('Plugin,\x20%s,\x20%s',_0x5d5280,_0x598bf6);_0x34dab6(_0x598bf6);});});}exports['CreatePlugin']=function(_0x230d0f){var _0x5ef6c9=this;return new Promise(function(_0x3df867,_0x2c9cda){return db[_0xe342('0x1f')][_0xe342('0x20')](_0x230d0f[_0xe342('0x21')],{'raw':_0x230d0f[_0xe342('0x22')]?_0x230d0f[_0xe342('0x22')][_0xe342('0x23')]===undefined?!![]:![]:!![]})[_0xe342('0x24')](function(_0x3d4625){logger['info'](_0xe342('0x25'),_0x230d0f);logger[_0xe342('0x16')](_0xe342('0x25'),_0x230d0f,JSON[_0xe342('0x18')](_0x3d4625));_0x3df867(_0x3d4625);})[_0xe342('0x1e')](function(_0x34a7a5){logger[_0xe342('0x19')](_0xe342('0x25'),_0x34a7a5['message'],_0x230d0f);_0x2c9cda(_0x5ef6c9['error'](0x1f4,_0x34a7a5[_0xe342('0x1c')]));});});};