ed91e88a72e795609f9eacc4ad687af5d040ae30
[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 _0x95a1=['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','moment','bluebird','randomstring','ioredis','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','redis','defaults','socket.io-emitter','./plugin.socket','request'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0x95a1,0x129));var _0x195a=function(_0x486647,_0xc5b7c){_0x486647=_0x486647-0x0;var _0x1934dc=_0x95a1[_0x486647];return _0x1934dc;};'use strict';var _=require(_0x195a('0x0'));var util=require(_0x195a('0x1'));var moment=require(_0x195a('0x2'));var BPromise=require(_0x195a('0x3'));var rs=require(_0x195a('0x4'));var fs=require('fs');var Redis=require(_0x195a('0x5'));var db=require('../../mysqldb')['db'];var utils=require(_0x195a('0x6'));var logger=require(_0x195a('0x7'))(_0x195a('0x8'));var config=require(_0x195a('0x9'));var jayson=require(_0x195a('0xa'));var client=jayson[_0x195a('0xb')][_0x195a('0xc')]({'port':0x232a});config[_0x195a('0xd')]=_[_0x195a('0xe')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x195a('0xf'))(new Redis(config['redis']));require(_0x195a('0x10'))['register'](socket);function respondWithRpcPromise(_0xa6c403,_0x178a5d,_0x48ef13){return new BPromise(function(_0x55f152,_0x184530){return client[_0x195a('0x11')](_0xa6c403,_0x48ef13)[_0x195a('0x12')](function(_0x4041c3){logger[_0x195a('0x13')](_0x195a('0x14'),_0x178a5d,_0x195a('0x15'));logger[_0x195a('0x16')](_0x195a('0x17'),_0x178a5d,_0x195a('0x15'),JSON[_0x195a('0x18')](_0x4041c3));if(_0x4041c3[_0x195a('0x19')]){if(_0x4041c3[_0x195a('0x19')][_0x195a('0x1a')]===0x1f4){logger['error']('Plugin,\x20%s,\x20%s',_0x178a5d,_0x4041c3[_0x195a('0x19')]['message']);return _0x184530(_0x4041c3['error'][_0x195a('0x1b')]);}logger[_0x195a('0x19')](_0x195a('0x14'),_0x178a5d,_0x4041c3['error'][_0x195a('0x1b')]);return _0x55f152(_0x4041c3[_0x195a('0x19')][_0x195a('0x1b')]);}else{logger[_0x195a('0x13')]('Plugin,\x20%s,\x20%s',_0x178a5d,_0x195a('0x15'));_0x55f152(_0x4041c3[_0x195a('0x1c')][_0x195a('0x1b')]);}})[_0x195a('0x1d')](function(_0x15c6d2){logger[_0x195a('0x19')](_0x195a('0x14'),_0x178a5d,_0x15c6d2);_0x184530(_0x15c6d2);});});}exports['CreatePlugin']=function(_0x4a8def){var _0x32608e=this;return new Promise(function(_0x332b00,_0x2c8207){return db[_0x195a('0x1e')][_0x195a('0x1f')](_0x4a8def[_0x195a('0x20')],{'raw':_0x4a8def['options']?_0x4a8def[_0x195a('0x21')]['raw']===undefined?!![]:![]:!![]})[_0x195a('0x12')](function(_0x548b0f){logger[_0x195a('0x13')](_0x195a('0x22'),_0x4a8def);logger['debug'](_0x195a('0x22'),_0x4a8def,JSON[_0x195a('0x18')](_0x548b0f));_0x332b00(_0x548b0f);})['catch'](function(_0x3226f7){logger['error'](_0x195a('0x22'),_0x3226f7[_0x195a('0x1b')],_0x4a8def);_0x2c8207(_0x32608e[_0x195a('0x19')](0x1f4,_0x3226f7[_0x195a('0x1b')]));});});};