Built motion from commit (unavailable).|2.5.23
[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 _0x97b3=['rpc','../../config/environment','jayson/promise','client','http','redis','defaults','localhost','./plugin.socket','register','request','then','info','Plugin,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','Plugin','body','options','CreatePlugin','moment','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger'];(function(_0x1598fb,_0x2d090c){var _0x222296=function(_0x36c2f4){while(--_0x36c2f4){_0x1598fb['push'](_0x1598fb['shift']());}};_0x222296(++_0x2d090c);}(_0x97b3,0x11a));var _0x397b=function(_0x583406,_0x45e8b5){_0x583406=_0x583406-0x0;var _0x5778db=_0x97b3[_0x583406];return _0x5778db;};'use strict';var _=require('lodash');var util=require('util');var moment=require(_0x397b('0x0'));var BPromise=require('bluebird');var rs=require(_0x397b('0x1'));var fs=require('fs');var Redis=require(_0x397b('0x2'));var db=require(_0x397b('0x3'))['db'];var utils=require(_0x397b('0x4'));var logger=require(_0x397b('0x5'))(_0x397b('0x6'));var config=require(_0x397b('0x7'));var jayson=require(_0x397b('0x8'));var client=jayson[_0x397b('0x9')][_0x397b('0xa')]({'port':0x232a});config[_0x397b('0xb')]=_[_0x397b('0xc')](config['redis'],{'host':_0x397b('0xd'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x397b('0xe'))[_0x397b('0xf')](socket);function respondWithRpcPromise(_0x42bdb1,_0x542a3a,_0x59af3e){return new BPromise(function(_0x42c98f,_0x3b6972){return client[_0x397b('0x10')](_0x42bdb1,_0x59af3e)[_0x397b('0x11')](function(_0x59a629){logger[_0x397b('0x12')](_0x397b('0x13'),_0x542a3a,_0x397b('0x14'));logger[_0x397b('0x15')]('Plugin,\x20%s,\x20%s,\x20%s',_0x542a3a,_0x397b('0x14'),JSON[_0x397b('0x16')](_0x59a629));if(_0x59a629[_0x397b('0x17')]){if(_0x59a629[_0x397b('0x17')][_0x397b('0x18')]===0x1f4){logger[_0x397b('0x17')](_0x397b('0x13'),_0x542a3a,_0x59a629[_0x397b('0x17')][_0x397b('0x19')]);return _0x3b6972(_0x59a629[_0x397b('0x17')][_0x397b('0x19')]);}logger[_0x397b('0x17')](_0x397b('0x13'),_0x542a3a,_0x59a629[_0x397b('0x17')][_0x397b('0x19')]);return _0x42c98f(_0x59a629[_0x397b('0x17')][_0x397b('0x19')]);}else{logger[_0x397b('0x12')](_0x397b('0x13'),_0x542a3a,'request\x20sent');_0x42c98f(_0x59a629[_0x397b('0x1a')][_0x397b('0x19')]);}})[_0x397b('0x1b')](function(_0x1189de){logger[_0x397b('0x17')](_0x397b('0x13'),_0x542a3a,_0x1189de);_0x3b6972(_0x1189de);});});}exports['CreatePlugin']=function(_0x37254f){var _0x39051f=this;return new Promise(function(_0x427c16,_0x5f25f3){return db[_0x397b('0x1c')]['create'](_0x37254f[_0x397b('0x1d')],{'raw':_0x37254f['options']?_0x37254f[_0x397b('0x1e')]['raw']===undefined?!![]:![]:!![]})[_0x397b('0x11')](function(_0x5e701d){logger['info']('CreatePlugin',_0x37254f);logger['debug'](_0x397b('0x1f'),_0x37254f,JSON[_0x397b('0x16')](_0x5e701d));_0x427c16(_0x5e701d);})['catch'](function(_0x584ab1){logger[_0x397b('0x17')](_0x397b('0x1f'),_0x584ab1[_0x397b('0x19')],_0x37254f);_0x5f25f3(_0x39051f['error'](0x1f4,_0x584ab1['message']));});});};