f2994a1226c8ed397c84d9e4ea47723798913f15
[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 _0xe05d=['body','options','CreatePlugin','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','redis','socket.io-emitter','./plugin.socket','register','then','info','Plugin,\x20%s,\x20%s','debug','Plugin,\x20%s,\x20%s,\x20%s','request\x20sent','error','message','result','catch','Plugin','create'];(function(_0x568496,_0x565afd){var _0x26c5c1=function(_0x4d251e){while(--_0x4d251e){_0x568496['push'](_0x568496['shift']());}};_0x26c5c1(++_0x565afd);}(_0xe05d,0x143));var _0xde05=function(_0x3fe067,_0x42464f){_0x3fe067=_0x3fe067-0x0;var _0x3018a8=_0xe05d[_0x3fe067];return _0x3018a8;};'use strict';var _=require(_0xde05('0x0'));var util=require(_0xde05('0x1'));var moment=require(_0xde05('0x2'));var BPromise=require(_0xde05('0x3'));var rs=require(_0xde05('0x4'));var fs=require('fs');var Redis=require(_0xde05('0x5'));var db=require(_0xde05('0x6'))['db'];var utils=require('../../config/utils');var logger=require(_0xde05('0x7'))(_0xde05('0x8'));var config=require(_0xde05('0x9'));var jayson=require(_0xde05('0xa'));var client=jayson[_0xde05('0xb')][_0xde05('0xc')]({'port':0x232a});config[_0xde05('0xd')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xde05('0xe'))(new Redis(config[_0xde05('0xd')]));require(_0xde05('0xf'))[_0xde05('0x10')](socket);function respondWithRpcPromise(_0x25b43c,_0x1c210e,_0x2a9fbb){return new BPromise(function(_0x2bcc4e,_0x6e4789){return client['request'](_0x25b43c,_0x2a9fbb)[_0xde05('0x11')](function(_0xa0fc17){logger[_0xde05('0x12')](_0xde05('0x13'),_0x1c210e,'request\x20sent');logger[_0xde05('0x14')](_0xde05('0x15'),_0x1c210e,_0xde05('0x16'),JSON['stringify'](_0xa0fc17));if(_0xa0fc17[_0xde05('0x17')]){if(_0xa0fc17[_0xde05('0x17')]['code']===0x1f4){logger[_0xde05('0x17')](_0xde05('0x13'),_0x1c210e,_0xa0fc17[_0xde05('0x17')]['message']);return _0x6e4789(_0xa0fc17[_0xde05('0x17')][_0xde05('0x18')]);}logger[_0xde05('0x17')](_0xde05('0x13'),_0x1c210e,_0xa0fc17['error']['message']);return _0x2bcc4e(_0xa0fc17['error'][_0xde05('0x18')]);}else{logger[_0xde05('0x12')](_0xde05('0x13'),_0x1c210e,'request\x20sent');_0x2bcc4e(_0xa0fc17[_0xde05('0x19')][_0xde05('0x18')]);}})[_0xde05('0x1a')](function(_0x43ab2e){logger[_0xde05('0x17')](_0xde05('0x13'),_0x1c210e,_0x43ab2e);_0x6e4789(_0x43ab2e);});});}exports['CreatePlugin']=function(_0x4f2216){var _0x519cb4=this;return new Promise(function(_0x14953b,_0x185c68){return db[_0xde05('0x1b')][_0xde05('0x1c')](_0x4f2216[_0xde05('0x1d')],{'raw':_0x4f2216[_0xde05('0x1e')]?_0x4f2216[_0xde05('0x1e')]['raw']===undefined?!![]:![]:!![]})['then'](function(_0x37cbe6){logger['info'](_0xde05('0x1f'),_0x4f2216);logger['debug'](_0xde05('0x1f'),_0x4f2216,JSON['stringify'](_0x37cbe6));_0x14953b(_0x37cbe6);})[_0xde05('0x1a')](function(_0x588159){logger[_0xde05('0x17')](_0xde05('0x1f'),_0x588159[_0xde05('0x18')],_0x4f2216);_0x185c68(_0x519cb4[_0xde05('0x17')](0x1f4,_0x588159['message']));});});};