da8614ea3ebb18f93daf04608016ad8beaa9978c
[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 _0x2439=['Plugin,\x20%s,\x20%s','message','result','catch','CreatePlugin','Plugin','create','options','raw','then','stringify','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/logger','../../config/environment','jayson/promise','client','http','redis','defaults','localhost','request','info','request\x20sent','debug','Plugin,\x20%s,\x20%s,\x20%s','error','code'];(function(_0x32724a,_0x242334){var _0x39c409=function(_0x1461c2){while(--_0x1461c2){_0x32724a['push'](_0x32724a['shift']());}};_0x39c409(++_0x242334);}(_0x2439,0x155));var _0x9243=function(_0x35c1db,_0xd75c15){_0x35c1db=_0x35c1db-0x0;var _0x4173ff=_0x2439[_0x35c1db];return _0x4173ff;};'use strict';var _=require(_0x9243('0x0'));var util=require(_0x9243('0x1'));var moment=require(_0x9243('0x2'));var BPromise=require(_0x9243('0x3'));var rs=require(_0x9243('0x4'));var fs=require('fs');var Redis=require(_0x9243('0x5'));var db=require(_0x9243('0x6'))['db'];var utils=require('../../config/utils');var logger=require(_0x9243('0x7'))('rpc');var config=require(_0x9243('0x8'));var jayson=require(_0x9243('0x9'));var client=jayson[_0x9243('0xa')][_0x9243('0xb')]({'port':0x232a});config[_0x9243('0xc')]=_[_0x9243('0xd')](config[_0x9243('0xc')],{'host':_0x9243('0xe'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x9243('0xc')]));require('./plugin.socket')['register'](socket);function respondWithRpcPromise(_0x5dddc8,_0x4f6790,_0x4345cf){return new BPromise(function(_0x1d5e7d,_0x319621){return client[_0x9243('0xf')](_0x5dddc8,_0x4345cf)['then'](function(_0x4614f4){logger[_0x9243('0x10')]('Plugin,\x20%s,\x20%s',_0x4f6790,_0x9243('0x11'));logger[_0x9243('0x12')](_0x9243('0x13'),_0x4f6790,'request\x20sent',JSON['stringify'](_0x4614f4));if(_0x4614f4['error']){if(_0x4614f4[_0x9243('0x14')][_0x9243('0x15')]===0x1f4){logger['error'](_0x9243('0x16'),_0x4f6790,_0x4614f4[_0x9243('0x14')][_0x9243('0x17')]);return _0x319621(_0x4614f4[_0x9243('0x14')][_0x9243('0x17')]);}logger[_0x9243('0x14')](_0x9243('0x16'),_0x4f6790,_0x4614f4[_0x9243('0x14')][_0x9243('0x17')]);return _0x1d5e7d(_0x4614f4[_0x9243('0x14')][_0x9243('0x17')]);}else{logger['info']('Plugin,\x20%s,\x20%s',_0x4f6790,'request\x20sent');_0x1d5e7d(_0x4614f4[_0x9243('0x18')]['message']);}})[_0x9243('0x19')](function(_0x530f75){logger[_0x9243('0x14')](_0x9243('0x16'),_0x4f6790,_0x530f75);_0x319621(_0x530f75);});});}exports[_0x9243('0x1a')]=function(_0x29f5b3){var _0x59afdd=this;return new Promise(function(_0x2ad714,_0x343518){return db[_0x9243('0x1b')][_0x9243('0x1c')](_0x29f5b3['body'],{'raw':_0x29f5b3[_0x9243('0x1d')]?_0x29f5b3[_0x9243('0x1d')][_0x9243('0x1e')]===undefined?!![]:![]:!![]})[_0x9243('0x1f')](function(_0x3504c7){logger[_0x9243('0x10')](_0x9243('0x1a'),_0x29f5b3);logger[_0x9243('0x12')](_0x9243('0x1a'),_0x29f5b3,JSON[_0x9243('0x20')](_0x3504c7));_0x2ad714(_0x3504c7);})[_0x9243('0x19')](function(_0x2343fc){logger['error']('CreatePlugin',_0x2343fc[_0x9243('0x17')],_0x29f5b3);_0x343518(_0x59afdd[_0x9243('0x14')](0x1f4,_0x2343fc[_0x9243('0x17')]));});});};