Built motion from commit 10af8726.|2.6.34
[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 _0x4e3e=['then','info','Plugin,\x20%s,\x20%s','request\x20sent','debug','Plugin,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','Plugin','create','body','options','CreatePlugin','lodash','util','ioredis','../../mysqldb','../../config/utils','../../config/environment','jayson/promise','client','redis','localhost','socket.io-emitter','register'];(function(_0xa3a1ce,_0x3a8fe6){var _0x354cdf=function(_0x54ff2b){while(--_0x54ff2b){_0xa3a1ce['push'](_0xa3a1ce['shift']());}};_0x354cdf(++_0x3a8fe6);}(_0x4e3e,0x1e1));var _0xe4e3=function(_0x4fac58,_0x213b99){_0x4fac58=_0x4fac58-0x0;var _0x10e5d1=_0x4e3e[_0x4fac58];return _0x10e5d1;};'use strict';var _=require(_0xe4e3('0x0'));var util=require(_0xe4e3('0x1'));var moment=require('moment');var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xe4e3('0x2'));var db=require(_0xe4e3('0x3'))['db'];var utils=require(_0xe4e3('0x4'));var logger=require('../../config/logger')('rpc');var config=require(_0xe4e3('0x5'));var jayson=require(_0xe4e3('0x6'));var client=jayson[_0xe4e3('0x7')]['http']({'port':0x232a});config[_0xe4e3('0x8')]=_['defaults'](config[_0xe4e3('0x8')],{'host':_0xe4e3('0x9'),'port':0x18eb});var socket=require(_0xe4e3('0xa'))(new Redis(config[_0xe4e3('0x8')]));require('./plugin.socket')[_0xe4e3('0xb')](socket);function respondWithRpcPromise(_0x52a0f8,_0x2f46da,_0x338795){return new BPromise(function(_0x54acec,_0x44b095){return client['request'](_0x52a0f8,_0x338795)[_0xe4e3('0xc')](function(_0x566620){logger[_0xe4e3('0xd')](_0xe4e3('0xe'),_0x2f46da,_0xe4e3('0xf'));logger[_0xe4e3('0x10')](_0xe4e3('0x11'),_0x2f46da,_0xe4e3('0xf'),JSON[_0xe4e3('0x12')](_0x566620));if(_0x566620[_0xe4e3('0x13')]){if(_0x566620[_0xe4e3('0x13')][_0xe4e3('0x14')]===0x1f4){logger[_0xe4e3('0x13')]('Plugin,\x20%s,\x20%s',_0x2f46da,_0x566620[_0xe4e3('0x13')][_0xe4e3('0x15')]);return _0x44b095(_0x566620['error'][_0xe4e3('0x15')]);}logger[_0xe4e3('0x13')](_0xe4e3('0xe'),_0x2f46da,_0x566620['error'][_0xe4e3('0x15')]);return _0x54acec(_0x566620[_0xe4e3('0x13')]['message']);}else{logger[_0xe4e3('0xd')](_0xe4e3('0xe'),_0x2f46da,'request\x20sent');_0x54acec(_0x566620[_0xe4e3('0x16')][_0xe4e3('0x15')]);}})[_0xe4e3('0x17')](function(_0x173c34){logger[_0xe4e3('0x13')](_0xe4e3('0xe'),_0x2f46da,_0x173c34);_0x44b095(_0x173c34);});});}exports['CreatePlugin']=function(_0x4fbba2){var _0x313556=this;return new Promise(function(_0x4f9852,_0x3ea6bf){return db[_0xe4e3('0x18')][_0xe4e3('0x19')](_0x4fbba2[_0xe4e3('0x1a')],{'raw':_0x4fbba2['options']?_0x4fbba2[_0xe4e3('0x1b')]['raw']===undefined?!![]:![]:!![]})[_0xe4e3('0xc')](function(_0x17925c){logger['info'](_0xe4e3('0x1c'),_0x4fbba2);logger['debug'](_0xe4e3('0x1c'),_0x4fbba2,JSON[_0xe4e3('0x12')](_0x17925c));_0x4f9852(_0x17925c);})[_0xe4e3('0x17')](function(_0x21768a){logger['error']('CreatePlugin',_0x21768a[_0xe4e3('0x15')],_0x4fbba2);_0x3ea6bf(_0x313556['error'](0x1f4,_0x21768a[_0xe4e3('0x15')]));});});};