4e768b39f4fdba62c1611b23b7f327eecd149a30
[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 _0xdc57=['socket.io-emitter','./plugin.socket','request','info','Plugin,\x20%s,\x20%s','request\x20sent','stringify','error','message','result','catch','CreatePlugin','Plugin','create','body','options','raw','then','debug','lodash','util','moment','bluebird','../../config/utils','rpc','../../config/environment','http','redis','defaults'];(function(_0x491faa,_0x4f2907){var _0x414440=function(_0x310864){while(--_0x310864){_0x491faa['push'](_0x491faa['shift']());}};_0x414440(++_0x4f2907);}(_0xdc57,0xa4));var _0x7dc5=function(_0x470300,_0x4ebcbd){_0x470300=_0x470300-0x0;var _0x4a950e=_0xdc57[_0x470300];return _0x4a950e;};'use strict';var _=require(_0x7dc5('0x0'));var util=require(_0x7dc5('0x1'));var moment=require(_0x7dc5('0x2'));var BPromise=require(_0x7dc5('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require('../../mysqldb')['db'];var utils=require(_0x7dc5('0x4'));var logger=require('../../config/logger')(_0x7dc5('0x5'));var config=require(_0x7dc5('0x6'));var jayson=require('jayson/promise');var client=jayson['client'][_0x7dc5('0x7')]({'port':0x232a});config[_0x7dc5('0x8')]=_[_0x7dc5('0x9')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x7dc5('0xa'))(new Redis(config[_0x7dc5('0x8')]));require(_0x7dc5('0xb'))['register'](socket);function respondWithRpcPromise(_0x3a102a,_0x3cffdc,_0x35bd37){return new BPromise(function(_0x4d4dfe,_0x3e98b0){return client[_0x7dc5('0xc')](_0x3a102a,_0x35bd37)['then'](function(_0x10a9a2){logger[_0x7dc5('0xd')](_0x7dc5('0xe'),_0x3cffdc,_0x7dc5('0xf'));logger['debug']('Plugin,\x20%s,\x20%s,\x20%s',_0x3cffdc,_0x7dc5('0xf'),JSON[_0x7dc5('0x10')](_0x10a9a2));if(_0x10a9a2[_0x7dc5('0x11')]){if(_0x10a9a2['error']['code']===0x1f4){logger[_0x7dc5('0x11')](_0x7dc5('0xe'),_0x3cffdc,_0x10a9a2[_0x7dc5('0x11')][_0x7dc5('0x12')]);return _0x3e98b0(_0x10a9a2['error'][_0x7dc5('0x12')]);}logger['error']('Plugin,\x20%s,\x20%s',_0x3cffdc,_0x10a9a2[_0x7dc5('0x11')]['message']);return _0x4d4dfe(_0x10a9a2[_0x7dc5('0x11')][_0x7dc5('0x12')]);}else{logger[_0x7dc5('0xd')](_0x7dc5('0xe'),_0x3cffdc,'request\x20sent');_0x4d4dfe(_0x10a9a2[_0x7dc5('0x13')]['message']);}})[_0x7dc5('0x14')](function(_0x7d2742){logger['error'](_0x7dc5('0xe'),_0x3cffdc,_0x7d2742);_0x3e98b0(_0x7d2742);});});}exports[_0x7dc5('0x15')]=function(_0x41424d){var _0x5b68ef=this;return new Promise(function(_0x2f3d40,_0x35ab70){return db[_0x7dc5('0x16')][_0x7dc5('0x17')](_0x41424d[_0x7dc5('0x18')],{'raw':_0x41424d[_0x7dc5('0x19')]?_0x41424d[_0x7dc5('0x19')][_0x7dc5('0x1a')]===undefined?!![]:![]:!![]})[_0x7dc5('0x1b')](function(_0x1150ff){logger[_0x7dc5('0xd')](_0x7dc5('0x15'),_0x41424d);logger[_0x7dc5('0x1c')](_0x7dc5('0x15'),_0x41424d,JSON[_0x7dc5('0x10')](_0x1150ff));_0x2f3d40(_0x1150ff);})['catch'](function(_0x16667b){logger[_0x7dc5('0x11')](_0x7dc5('0x15'),_0x16667b[_0x7dc5('0x12')],_0x41424d);_0x35ab70(_0x5b68ef[_0x7dc5('0x11')](0x1f4,_0x16667b[_0x7dc5('0x12')]));});});};