318f9d7b562c969a62a41443ca7d1b57857e7cd7
[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 _0x1637=['Plugin,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','Plugin','body','options','raw','CreatePlugin','lodash','util','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','client','http','defaults','localhost','socket.io-emitter','./plugin.socket','request','then','info','Plugin,\x20%s,\x20%s','debug'];(function(_0x68c979,_0x431cff){var _0x4f0001=function(_0xa7595d){while(--_0xa7595d){_0x68c979['push'](_0x68c979['shift']());}};_0x4f0001(++_0x431cff);}(_0x1637,0x14c));var _0x7163=function(_0x3e44fa,_0x75ed2a){_0x3e44fa=_0x3e44fa-0x0;var _0x2a0aba=_0x1637[_0x3e44fa];return _0x2a0aba;};'use strict';var _=require(_0x7163('0x0'));var util=require(_0x7163('0x1'));var moment=require('moment');var BPromise=require(_0x7163('0x2'));var rs=require(_0x7163('0x3'));var fs=require('fs');var Redis=require(_0x7163('0x4'));var db=require(_0x7163('0x5'))['db'];var utils=require(_0x7163('0x6'));var logger=require(_0x7163('0x7'))('rpc');var config=require(_0x7163('0x8'));var jayson=require('jayson/promise');var client=jayson[_0x7163('0x9')][_0x7163('0xa')]({'port':0x232a});config['redis']=_[_0x7163('0xb')](config['redis'],{'host':_0x7163('0xc'),'port':0x18eb});var socket=require(_0x7163('0xd'))(new Redis(config['redis']));require(_0x7163('0xe'))['register'](socket);function respondWithRpcPromise(_0x2663ae,_0x138837,_0x34f914){return new BPromise(function(_0x4dadba,_0xd15c80){return client[_0x7163('0xf')](_0x2663ae,_0x34f914)[_0x7163('0x10')](function(_0x5bd85a){logger[_0x7163('0x11')](_0x7163('0x12'),_0x138837,'request\x20sent');logger[_0x7163('0x13')](_0x7163('0x14'),_0x138837,'request\x20sent',JSON[_0x7163('0x15')](_0x5bd85a));if(_0x5bd85a[_0x7163('0x16')]){if(_0x5bd85a['error'][_0x7163('0x17')]===0x1f4){logger[_0x7163('0x16')]('Plugin,\x20%s,\x20%s',_0x138837,_0x5bd85a['error'][_0x7163('0x18')]);return _0xd15c80(_0x5bd85a[_0x7163('0x16')][_0x7163('0x18')]);}logger[_0x7163('0x16')](_0x7163('0x12'),_0x138837,_0x5bd85a[_0x7163('0x16')][_0x7163('0x18')]);return _0x4dadba(_0x5bd85a[_0x7163('0x16')][_0x7163('0x18')]);}else{logger[_0x7163('0x11')](_0x7163('0x12'),_0x138837,'request\x20sent');_0x4dadba(_0x5bd85a[_0x7163('0x19')]['message']);}})[_0x7163('0x1a')](function(_0x3cdffa){logger[_0x7163('0x16')](_0x7163('0x12'),_0x138837,_0x3cdffa);_0xd15c80(_0x3cdffa);});});}exports['CreatePlugin']=function(_0x49eeee){var _0x5143b2=this;return new Promise(function(_0x211476,_0x5dc832){return db[_0x7163('0x1b')]['create'](_0x49eeee[_0x7163('0x1c')],{'raw':_0x49eeee[_0x7163('0x1d')]?_0x49eeee['options'][_0x7163('0x1e')]===undefined?!![]:![]:!![]})[_0x7163('0x10')](function(_0x40c6f4){logger[_0x7163('0x11')](_0x7163('0x1f'),_0x49eeee);logger[_0x7163('0x13')](_0x7163('0x1f'),_0x49eeee,JSON['stringify'](_0x40c6f4));_0x211476(_0x40c6f4);})[_0x7163('0x1a')](function(_0x1901b7){logger[_0x7163('0x16')](_0x7163('0x1f'),_0x1901b7[_0x7163('0x18')],_0x49eeee);_0x5dc832(_0x5143b2[_0x7163('0x16')](0x1f4,_0x1901b7[_0x7163('0x18')]));});});};