53176b36d1b65184671559f9ad4ca70daf8c3d78
[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 _0xbea2=['error','code','Plugin,\x20%s,\x20%s','message','info','result','catch','CreatePlugin','options','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','client','http','redis','defaults','socket.io-emitter','./plugin.socket','register','request','then','request\x20sent','debug','Plugin,\x20%s,\x20%s,\x20%s'];(function(_0x1915e2,_0x51f382){var _0x550ab2=function(_0x42bc80){while(--_0x42bc80){_0x1915e2['push'](_0x1915e2['shift']());}};_0x550ab2(++_0x51f382);}(_0xbea2,0x153));var _0x2bea=function(_0x350256,_0x29e0dd){_0x350256=_0x350256-0x0;var _0x3edccf=_0xbea2[_0x350256];return _0x3edccf;};'use strict';var _=require('lodash');var util=require('util');var moment=require(_0x2bea('0x0'));var BPromise=require(_0x2bea('0x1'));var rs=require(_0x2bea('0x2'));var fs=require('fs');var Redis=require(_0x2bea('0x3'));var db=require(_0x2bea('0x4'))['db'];var utils=require(_0x2bea('0x5'));var logger=require(_0x2bea('0x6'))(_0x2bea('0x7'));var config=require('../../config/environment');var jayson=require(_0x2bea('0x8'));var client=jayson[_0x2bea('0x9')][_0x2bea('0xa')]({'port':0x232a});config[_0x2bea('0xb')]=_[_0x2bea('0xc')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x2bea('0xd'))(new Redis(config[_0x2bea('0xb')]));require(_0x2bea('0xe'))[_0x2bea('0xf')](socket);function respondWithRpcPromise(_0x3a5e0e,_0x3a66db,_0x3bfb93){return new BPromise(function(_0x246e5f,_0x3a6b68){return client[_0x2bea('0x10')](_0x3a5e0e,_0x3bfb93)[_0x2bea('0x11')](function(_0x2e15a6){logger['info']('Plugin,\x20%s,\x20%s',_0x3a66db,_0x2bea('0x12'));logger[_0x2bea('0x13')](_0x2bea('0x14'),_0x3a66db,_0x2bea('0x12'),JSON['stringify'](_0x2e15a6));if(_0x2e15a6[_0x2bea('0x15')]){if(_0x2e15a6[_0x2bea('0x15')][_0x2bea('0x16')]===0x1f4){logger['error'](_0x2bea('0x17'),_0x3a66db,_0x2e15a6[_0x2bea('0x15')][_0x2bea('0x18')]);return _0x3a6b68(_0x2e15a6[_0x2bea('0x15')][_0x2bea('0x18')]);}logger[_0x2bea('0x15')](_0x2bea('0x17'),_0x3a66db,_0x2e15a6[_0x2bea('0x15')][_0x2bea('0x18')]);return _0x246e5f(_0x2e15a6['error'][_0x2bea('0x18')]);}else{logger[_0x2bea('0x19')](_0x2bea('0x17'),_0x3a66db,'request\x20sent');_0x246e5f(_0x2e15a6[_0x2bea('0x1a')][_0x2bea('0x18')]);}})[_0x2bea('0x1b')](function(_0x126e83){logger['error'](_0x2bea('0x17'),_0x3a66db,_0x126e83);_0x3a6b68(_0x126e83);});});}exports[_0x2bea('0x1c')]=function(_0x2b06c4){var _0x197e9e=this;return new Promise(function(_0x30c811,_0x5bb087){return db['Plugin']['create'](_0x2b06c4['body'],{'raw':_0x2b06c4[_0x2bea('0x1d')]?_0x2b06c4[_0x2bea('0x1d')]['raw']===undefined?!![]:![]:!![]})[_0x2bea('0x11')](function(_0x42eafb){logger['info'](_0x2bea('0x1c'),_0x2b06c4);logger['debug'](_0x2bea('0x1c'),_0x2b06c4,JSON['stringify'](_0x42eafb));_0x30c811(_0x42eafb);})[_0x2bea('0x1b')](function(_0xc5dee9){logger[_0x2bea('0x15')](_0x2bea('0x1c'),_0xc5dee9['message'],_0x2b06c4);_0x5bb087(_0x197e9e[_0x2bea('0x15')](0x1f4,_0xc5dee9[_0x2bea('0x18')]));});});};