499471cbd976d376427e0631a0273d252e2f4009
[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 _0x746e=['ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','client','http','redis','localhost','socket.io-emitter','./plugin.socket','register','then','info','Plugin,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','catch','CreatePlugin','Plugin','body','options','raw','util','moment','bluebird'];(function(_0x301997,_0x1c2cce){var _0x49eeb5=function(_0x120bd6){while(--_0x120bd6){_0x301997['push'](_0x301997['shift']());}};_0x49eeb5(++_0x1c2cce);}(_0x746e,0x190));var _0xe746=function(_0x3902c1,_0x1c9eb2){_0x3902c1=_0x3902c1-0x0;var _0x1266cc=_0x746e[_0x3902c1];return _0x1266cc;};'use strict';var _=require('lodash');var util=require(_0xe746('0x0'));var moment=require(_0xe746('0x1'));var BPromise=require(_0xe746('0x2'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xe746('0x3'));var db=require(_0xe746('0x4'))['db'];var utils=require(_0xe746('0x5'));var logger=require(_0xe746('0x6'))(_0xe746('0x7'));var config=require('../../config/environment');var jayson=require(_0xe746('0x8'));var client=jayson[_0xe746('0x9')][_0xe746('0xa')]({'port':0x232a});config[_0xe746('0xb')]=_['defaults'](config[_0xe746('0xb')],{'host':_0xe746('0xc'),'port':0x18eb});var socket=require(_0xe746('0xd'))(new Redis(config['redis']));require(_0xe746('0xe'))[_0xe746('0xf')](socket);function respondWithRpcPromise(_0x5d619e,_0x3d30a0,_0x135e67){return new BPromise(function(_0x2d6d6f,_0x32ac0c){return client['request'](_0x5d619e,_0x135e67)[_0xe746('0x10')](function(_0x49a9a2){logger[_0xe746('0x11')](_0xe746('0x12'),_0x3d30a0,_0xe746('0x13'));logger['debug']('Plugin,\x20%s,\x20%s,\x20%s',_0x3d30a0,'request\x20sent',JSON[_0xe746('0x14')](_0x49a9a2));if(_0x49a9a2[_0xe746('0x15')]){if(_0x49a9a2[_0xe746('0x15')][_0xe746('0x16')]===0x1f4){logger[_0xe746('0x15')]('Plugin,\x20%s,\x20%s',_0x3d30a0,_0x49a9a2[_0xe746('0x15')][_0xe746('0x17')]);return _0x32ac0c(_0x49a9a2[_0xe746('0x15')][_0xe746('0x17')]);}logger[_0xe746('0x15')](_0xe746('0x12'),_0x3d30a0,_0x49a9a2[_0xe746('0x15')]['message']);return _0x2d6d6f(_0x49a9a2[_0xe746('0x15')][_0xe746('0x17')]);}else{logger[_0xe746('0x11')](_0xe746('0x12'),_0x3d30a0,'request\x20sent');_0x2d6d6f(_0x49a9a2[_0xe746('0x18')]['message']);}})[_0xe746('0x19')](function(_0x242f20){logger[_0xe746('0x15')](_0xe746('0x12'),_0x3d30a0,_0x242f20);_0x32ac0c(_0x242f20);});});}exports[_0xe746('0x1a')]=function(_0x218081){var _0x52ade8=this;return new Promise(function(_0x30f78f,_0x1030dc){return db[_0xe746('0x1b')]['create'](_0x218081[_0xe746('0x1c')],{'raw':_0x218081[_0xe746('0x1d')]?_0x218081[_0xe746('0x1d')][_0xe746('0x1e')]===undefined?!![]:![]:!![]})[_0xe746('0x10')](function(_0x587098){logger[_0xe746('0x11')](_0xe746('0x1a'),_0x218081);logger['debug'](_0xe746('0x1a'),_0x218081,JSON[_0xe746('0x14')](_0x587098));_0x30f78f(_0x587098);})[_0xe746('0x19')](function(_0x5d282b){logger['error'](_0xe746('0x1a'),_0x5d282b[_0xe746('0x17')],_0x218081);_0x1030dc(_0x52ade8[_0xe746('0x15')](0x1f4,_0x5d282b[_0xe746('0x17')]));});});};