19c1ee2484b3f9decfb1c29518d1c914bdf9d83a
[motion2.git] / server / api / chatQueue / chatQueue.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 _0xa88f=['redis','localhost','socket.io-emitter','request','info','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','message','result','ChatQueue','options','raw','where','include','attributes','model','map','GetChatQueue','catch','ShowChatQueue','find','then','lodash','util','moment','bluebird','../../mysqldb','../../config/utils','rpc','../../config/environment','jayson/promise','client'];(function(_0x4d453e,_0x5b8f31){var _0xfe363f=function(_0x4ce2de){while(--_0x4ce2de){_0x4d453e['push'](_0x4d453e['shift']());}};_0xfe363f(++_0x5b8f31);}(_0xa88f,0x182));var _0xfa88=function(_0x36d43b,_0x22094d){_0x36d43b=_0x36d43b-0x0;var _0x307f90=_0xa88f[_0x36d43b];return _0x307f90;};'use strict';var _=require(_0xfa88('0x0'));var util=require(_0xfa88('0x1'));var moment=require(_0xfa88('0x2'));var BPromise=require(_0xfa88('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require(_0xfa88('0x4'))['db'];var utils=require(_0xfa88('0x5'));var logger=require('../../config/logger')(_0xfa88('0x6'));var config=require(_0xfa88('0x7'));var jayson=require(_0xfa88('0x8'));var client=jayson[_0xfa88('0x9')]['http']({'port':0x232a});config['redis']=_['defaults'](config[_0xfa88('0xa')],{'host':_0xfa88('0xb'),'port':0x18eb});var socket=require(_0xfa88('0xc'))(new Redis(config[_0xfa88('0xa')]));require('./chatQueue.socket')['register'](socket);function respondWithRpcPromise(_0x3827c6,_0x4037e3,_0xe7b01f){return new BPromise(function(_0x4b375c,_0x1d8487){return client[_0xfa88('0xd')](_0x3827c6,_0xe7b01f)['then'](function(_0x2432cd){logger[_0xfa88('0xe')](_0xfa88('0xf'),_0x4037e3,_0xfa88('0x10'));logger[_0xfa88('0x11')](_0xfa88('0x12'),_0x4037e3,'request\x20sent',JSON[_0xfa88('0x13')](_0x2432cd));if(_0x2432cd['error']){if(_0x2432cd[_0xfa88('0x14')]['code']===0x1f4){logger[_0xfa88('0x14')](_0xfa88('0xf'),_0x4037e3,_0x2432cd['error'][_0xfa88('0x15')]);return _0x1d8487(_0x2432cd[_0xfa88('0x14')]['message']);}logger[_0xfa88('0x14')](_0xfa88('0xf'),_0x4037e3,_0x2432cd[_0xfa88('0x14')][_0xfa88('0x15')]);return _0x4b375c(_0x2432cd['error'][_0xfa88('0x15')]);}else{logger[_0xfa88('0xe')](_0xfa88('0xf'),_0x4037e3,_0xfa88('0x10'));_0x4b375c(_0x2432cd[_0xfa88('0x16')][_0xfa88('0x15')]);}})['catch'](function(_0x336fa4){logger[_0xfa88('0x14')](_0xfa88('0xf'),_0x4037e3,_0x336fa4);_0x1d8487(_0x336fa4);});});}exports['GetChatQueue']=function(_0x182246){var _0x46cd8c=this;return new Promise(function(_0x5a225e,_0x1e6897){return db[_0xfa88('0x17')]['findAll']({'raw':_0x182246[_0xfa88('0x18')]?_0x182246[_0xfa88('0x18')][_0xfa88('0x19')]===undefined?!![]:![]:!![],'where':_0x182246['options']?_0x182246['options'][_0xfa88('0x1a')]||null:null,'attributes':_0x182246[_0xfa88('0x18')]?_0x182246[_0xfa88('0x18')]['attributes']||null:null,'limit':_0x182246[_0xfa88('0x18')]?_0x182246[_0xfa88('0x18')]['limit']||null:null,'include':_0x182246['options']?_0x182246['options'][_0xfa88('0x1b')]?_['map'](_0x182246['options'][_0xfa88('0x1b')],function(_0x1be550){return{'model':db[_0x1be550['model']],'as':_0x1be550['as'],'attributes':_0x1be550[_0xfa88('0x1c')],'include':_0x1be550[_0xfa88('0x1b')]?_['map'](_0x1be550[_0xfa88('0x1b')],function(_0x3114a8){return{'model':db[_0x3114a8[_0xfa88('0x1d')]],'as':_0x3114a8['as'],'attributes':_0x3114a8['attributes'],'include':_0x3114a8[_0xfa88('0x1b')]?_[_0xfa88('0x1e')](_0x3114a8['include'],function(_0x8aaf7c){return{'model':db[_0x8aaf7c[_0xfa88('0x1d')]],'as':_0x8aaf7c['as'],'attributes':_0x8aaf7c[_0xfa88('0x1c')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x30ca6c){logger[_0xfa88('0xe')](_0xfa88('0x1f'),_0x182246);logger[_0xfa88('0x11')](_0xfa88('0x1f'),_0x182246,JSON[_0xfa88('0x13')](_0x30ca6c));_0x5a225e(_0x30ca6c);})[_0xfa88('0x20')](function(_0x36e2a1){logger[_0xfa88('0x14')](_0xfa88('0x1f'),_0x36e2a1['message'],_0x182246);_0x1e6897(_0x46cd8c[_0xfa88('0x14')](0x1f4,_0x36e2a1[_0xfa88('0x15')]));});});};exports[_0xfa88('0x21')]=function(_0xa306de){var _0xc37305=this;return new Promise(function(_0x534b64,_0x369f7e){return db['ChatQueue'][_0xfa88('0x22')]({'raw':_0xa306de[_0xfa88('0x18')]?_0xa306de['options'][_0xfa88('0x19')]===undefined?!![]:![]:!![],'where':_0xa306de[_0xfa88('0x18')]?_0xa306de['options'][_0xfa88('0x1a')]||null:null,'attributes':_0xa306de[_0xfa88('0x18')]?_0xa306de[_0xfa88('0x18')][_0xfa88('0x1c')]||null:null,'include':_0xa306de[_0xfa88('0x18')]?_0xa306de['options'][_0xfa88('0x1b')]?_[_0xfa88('0x1e')](_0xa306de[_0xfa88('0x18')]['include'],function(_0x1ee6b9){return{'model':db[_0x1ee6b9[_0xfa88('0x1d')]],'as':_0x1ee6b9['as'],'attributes':_0x1ee6b9[_0xfa88('0x1c')],'include':_0x1ee6b9[_0xfa88('0x1b')]?_[_0xfa88('0x1e')](_0x1ee6b9['include'],function(_0x19f6c6){return{'model':db[_0x19f6c6[_0xfa88('0x1d')]],'as':_0x19f6c6['as'],'attributes':_0x19f6c6['attributes'],'include':_0x19f6c6['include']?_[_0xfa88('0x1e')](_0x19f6c6[_0xfa88('0x1b')],function(_0x495390){return{'model':db[_0x495390[_0xfa88('0x1d')]],'as':_0x495390['as'],'attributes':_0x495390['attributes']};}):[]};}):[]};}):[]:[]})[_0xfa88('0x23')](function(_0x367564){logger['info'](_0xfa88('0x21'),_0xa306de);logger[_0xfa88('0x11')](_0xfa88('0x21'),_0xa306de,JSON[_0xfa88('0x13')](_0x367564));_0x534b64(_0x367564);})['catch'](function(_0x2c2cec){logger[_0xfa88('0x14')](_0xfa88('0x21'),_0x2c2cec['message'],_0xa306de);_0x369f7e(_0xc37305[_0xfa88('0x14')](0x1f4,_0x2c2cec[_0xfa88('0x15')]));});});};