69131a3808d6cafa86ca0b06f9fadf2035fcd8b0
[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 _0x71b5=['defaults','redis','localhost','socket.io-emitter','./plugin.socket','register','Plugin,\x20%s,\x20%s','request\x20sent','debug','Plugin,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','CreatePlugin','create','body','options','raw','then','lodash','util','moment','bluebird','randomstring','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','jayson/promise','http'];(function(_0x4f91ac,_0x1d0ac6){var _0x2baa65=function(_0x427be1){while(--_0x427be1){_0x4f91ac['push'](_0x4f91ac['shift']());}};_0x2baa65(++_0x1d0ac6);}(_0x71b5,0xe3));var _0x571b=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x71b5[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x571b('0x0'));var util=require(_0x571b('0x1'));var moment=require(_0x571b('0x2'));var BPromise=require(_0x571b('0x3'));var rs=require(_0x571b('0x4'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0x571b('0x5'))['db'];var utils=require(_0x571b('0x6'));var logger=require(_0x571b('0x7'))('rpc');var config=require(_0x571b('0x8'));var jayson=require(_0x571b('0x9'));var client=jayson['client'][_0x571b('0xa')]({'port':0x232a});config['redis']=_[_0x571b('0xb')](config[_0x571b('0xc')],{'host':_0x571b('0xd'),'port':0x18eb});var socket=require(_0x571b('0xe'))(new Redis(config[_0x571b('0xc')]));require(_0x571b('0xf'))[_0x571b('0x10')](socket);function respondWithRpcPromise(_0x260f43,_0x9cf5bc,_0x3f08ac){return new BPromise(function(_0x5dc10e,_0x348c8c){return client['request'](_0x260f43,_0x3f08ac)['then'](function(_0x26dc5c){logger['info'](_0x571b('0x11'),_0x9cf5bc,_0x571b('0x12'));logger[_0x571b('0x13')](_0x571b('0x14'),_0x9cf5bc,'request\x20sent',JSON[_0x571b('0x15')](_0x26dc5c));if(_0x26dc5c['error']){if(_0x26dc5c[_0x571b('0x16')][_0x571b('0x17')]===0x1f4){logger[_0x571b('0x16')]('Plugin,\x20%s,\x20%s',_0x9cf5bc,_0x26dc5c[_0x571b('0x16')][_0x571b('0x18')]);return _0x348c8c(_0x26dc5c[_0x571b('0x16')][_0x571b('0x18')]);}logger[_0x571b('0x16')]('Plugin,\x20%s,\x20%s',_0x9cf5bc,_0x26dc5c['error'][_0x571b('0x18')]);return _0x5dc10e(_0x26dc5c[_0x571b('0x16')]['message']);}else{logger[_0x571b('0x19')](_0x571b('0x11'),_0x9cf5bc,'request\x20sent');_0x5dc10e(_0x26dc5c[_0x571b('0x1a')][_0x571b('0x18')]);}})[_0x571b('0x1b')](function(_0x5d6673){logger[_0x571b('0x16')](_0x571b('0x11'),_0x9cf5bc,_0x5d6673);_0x348c8c(_0x5d6673);});});}exports[_0x571b('0x1c')]=function(_0x4b534f){var _0x4801d3=this;return new Promise(function(_0x373556,_0x231394){return db['Plugin'][_0x571b('0x1d')](_0x4b534f[_0x571b('0x1e')],{'raw':_0x4b534f[_0x571b('0x1f')]?_0x4b534f[_0x571b('0x1f')][_0x571b('0x20')]===undefined?!![]:![]:!![]})[_0x571b('0x21')](function(_0x2276a7){logger[_0x571b('0x19')]('CreatePlugin',_0x4b534f);logger['debug'](_0x571b('0x1c'),_0x4b534f,JSON[_0x571b('0x15')](_0x2276a7));_0x373556(_0x2276a7);})[_0x571b('0x1b')](function(_0x5197b2){logger[_0x571b('0x16')](_0x571b('0x1c'),_0x5197b2[_0x571b('0x18')],_0x4b534f);_0x231394(_0x4801d3[_0x571b('0x16')](0x1f4,_0x5197b2['message']));});});};