6d537f0d4ea507198a91d885bc59e9dd8e242409
[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 _0x7932=['lodash','util','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','client','http','redis','defaults','info','Plugin,\x20%s,\x20%s','request\x20sent','Plugin,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','CreatePlugin','Plugin','options','raw','then','debug','stringify'];(function(_0x37502c,_0x2ae7b4){var _0x499b43=function(_0x3e3001){while(--_0x3e3001){_0x37502c['push'](_0x37502c['shift']());}};_0x499b43(++_0x2ae7b4);}(_0x7932,0xf0));var _0x2793=function(_0x19c151,_0x3293d6){_0x19c151=_0x19c151-0x0;var _0x4db9fc=_0x7932[_0x19c151];return _0x4db9fc;};'use strict';var _=require(_0x2793('0x0'));var util=require(_0x2793('0x1'));var moment=require('moment');var BPromise=require(_0x2793('0x2'));var rs=require(_0x2793('0x3'));var fs=require('fs');var Redis=require(_0x2793('0x4'));var db=require(_0x2793('0x5'))['db'];var utils=require(_0x2793('0x6'));var logger=require(_0x2793('0x7'))(_0x2793('0x8'));var config=require('../../config/environment');var jayson=require(_0x2793('0x9'));var client=jayson[_0x2793('0xa')][_0x2793('0xb')]({'port':0x232a});config[_0x2793('0xc')]=_[_0x2793('0xd')](config[_0x2793('0xc')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x2793('0xc')]));require('./plugin.socket')['register'](socket);function respondWithRpcPromise(_0x4403dd,_0xc6bd97,_0x5bf24b){return new BPromise(function(_0x1eee5b,_0x1afed0){return client['request'](_0x4403dd,_0x5bf24b)['then'](function(_0xa834c4){logger[_0x2793('0xe')](_0x2793('0xf'),_0xc6bd97,_0x2793('0x10'));logger['debug'](_0x2793('0x11'),_0xc6bd97,_0x2793('0x10'),JSON['stringify'](_0xa834c4));if(_0xa834c4[_0x2793('0x12')]){if(_0xa834c4[_0x2793('0x12')][_0x2793('0x13')]===0x1f4){logger['error'](_0x2793('0xf'),_0xc6bd97,_0xa834c4['error'][_0x2793('0x14')]);return _0x1afed0(_0xa834c4['error']['message']);}logger[_0x2793('0x12')](_0x2793('0xf'),_0xc6bd97,_0xa834c4[_0x2793('0x12')][_0x2793('0x14')]);return _0x1eee5b(_0xa834c4['error'][_0x2793('0x14')]);}else{logger['info'](_0x2793('0xf'),_0xc6bd97,_0x2793('0x10'));_0x1eee5b(_0xa834c4[_0x2793('0x15')][_0x2793('0x14')]);}})[_0x2793('0x16')](function(_0x52446c){logger[_0x2793('0x12')](_0x2793('0xf'),_0xc6bd97,_0x52446c);_0x1afed0(_0x52446c);});});}exports[_0x2793('0x17')]=function(_0x51604f){var _0x1aab48=this;return new Promise(function(_0x48171b,_0x13fc36){return db[_0x2793('0x18')]['create'](_0x51604f['body'],{'raw':_0x51604f[_0x2793('0x19')]?_0x51604f[_0x2793('0x19')][_0x2793('0x1a')]===undefined?!![]:![]:!![]})[_0x2793('0x1b')](function(_0x2abcdd){logger[_0x2793('0xe')](_0x2793('0x17'),_0x51604f);logger[_0x2793('0x1c')](_0x2793('0x17'),_0x51604f,JSON[_0x2793('0x1d')](_0x2abcdd));_0x48171b(_0x2abcdd);})[_0x2793('0x16')](function(_0x34336d){logger['error'](_0x2793('0x17'),_0x34336d['message'],_0x51604f);_0x13fc36(_0x1aab48[_0x2793('0x12')](0x1f4,_0x34336d['message']));});});};