cb66617e556618ef2d260aa7eb61f1ff4a63d55d
[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 _0xa42e=['create','body','options','stringify','lodash','moment','bluebird','../../config/utils','rpc','../../config/environment','client','defaults','socket.io-emitter','redis','./plugin.socket','register','then','info','request\x20sent','Plugin,\x20%s,\x20%s,\x20%s','error','Plugin,\x20%s,\x20%s','message','catch','CreatePlugin','Plugin'];(function(_0x45ddfb,_0x233aa1){var _0xf4bcd2=function(_0x2e0667){while(--_0x2e0667){_0x45ddfb['push'](_0x45ddfb['shift']());}};_0xf4bcd2(++_0x233aa1);}(_0xa42e,0xba));var _0xea42=function(_0xdb78b4,_0x47c871){_0xdb78b4=_0xdb78b4-0x0;var _0x32df72=_0xa42e[_0xdb78b4];return _0x32df72;};'use strict';var _=require(_0xea42('0x0'));var util=require('util');var moment=require(_0xea42('0x1'));var BPromise=require(_0xea42('0x2'));var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require('../../mysqldb')['db'];var utils=require(_0xea42('0x3'));var logger=require('../../config/logger')(_0xea42('0x4'));var config=require(_0xea42('0x5'));var jayson=require('jayson/promise');var client=jayson[_0xea42('0x6')]['http']({'port':0x232a});config['redis']=_[_0xea42('0x7')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xea42('0x8'))(new Redis(config[_0xea42('0x9')]));require(_0xea42('0xa'))[_0xea42('0xb')](socket);function respondWithRpcPromise(_0x3720be,_0x52afe9,_0x445901){return new BPromise(function(_0x34fec0,_0x1c3ff2){return client['request'](_0x3720be,_0x445901)[_0xea42('0xc')](function(_0x3383c9){logger[_0xea42('0xd')]('Plugin,\x20%s,\x20%s',_0x52afe9,_0xea42('0xe'));logger['debug'](_0xea42('0xf'),_0x52afe9,'request\x20sent',JSON['stringify'](_0x3383c9));if(_0x3383c9['error']){if(_0x3383c9[_0xea42('0x10')]['code']===0x1f4){logger['error'](_0xea42('0x11'),_0x52afe9,_0x3383c9[_0xea42('0x10')][_0xea42('0x12')]);return _0x1c3ff2(_0x3383c9[_0xea42('0x10')][_0xea42('0x12')]);}logger['error'](_0xea42('0x11'),_0x52afe9,_0x3383c9[_0xea42('0x10')]['message']);return _0x34fec0(_0x3383c9[_0xea42('0x10')][_0xea42('0x12')]);}else{logger[_0xea42('0xd')]('Plugin,\x20%s,\x20%s',_0x52afe9,_0xea42('0xe'));_0x34fec0(_0x3383c9['result'][_0xea42('0x12')]);}})[_0xea42('0x13')](function(_0x4087a2){logger[_0xea42('0x10')](_0xea42('0x11'),_0x52afe9,_0x4087a2);_0x1c3ff2(_0x4087a2);});});}exports[_0xea42('0x14')]=function(_0x142609){var _0x3ae084=this;return new Promise(function(_0x1debc1,_0xd9d429){return db[_0xea42('0x15')][_0xea42('0x16')](_0x142609[_0xea42('0x17')],{'raw':_0x142609['options']?_0x142609[_0xea42('0x18')]['raw']===undefined?!![]:![]:!![]})[_0xea42('0xc')](function(_0x2462fe){logger[_0xea42('0xd')]('CreatePlugin',_0x142609);logger['debug'](_0xea42('0x14'),_0x142609,JSON[_0xea42('0x19')](_0x2462fe));_0x1debc1(_0x2462fe);})['catch'](function(_0x5370b5){logger[_0xea42('0x10')]('CreatePlugin',_0x5370b5[_0xea42('0x12')],_0x142609);_0xd9d429(_0x3ae084[_0xea42('0x10')](0x1f4,_0x5370b5['message']));});});};