b97ca9ba83567f6c80e82fb3b222b4a93b727ed6
[motion2.git] / server / api / trunk / trunk.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 _0xb821=['model','include','info','GetTrunk','catch','ShowTrunk','find','util','moment','ioredis','../../config/logger','rpc','../../config/environment','jayson/promise','http','request','then','Trunk,\x20%s,\x20%s','request\x20sent','debug','Trunk,\x20%s,\x20%s,\x20%s','stringify','error','message','Trunk','findAll','options','raw','where','attributes','limit','map'];(function(_0x51441f,_0x5c9bbd){var _0x14e5e3=function(_0x5b9d08){while(--_0x5b9d08){_0x51441f['push'](_0x51441f['shift']());}};_0x14e5e3(++_0x5c9bbd);}(_0xb821,0xa7));var _0x1b82=function(_0x4adb25,_0x451899){_0x4adb25=_0x4adb25-0x0;var _0x1b5b42=_0xb821[_0x4adb25];return _0x1b5b42;};'use strict';var _=require('lodash');var util=require(_0x1b82('0x0'));var moment=require(_0x1b82('0x1'));var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x1b82('0x2'));var db=require('../../mysqldb')['db'];var utils=require('../../config/utils');var logger=require(_0x1b82('0x3'))(_0x1b82('0x4'));var config=require(_0x1b82('0x5'));var jayson=require(_0x1b82('0x6'));var client=jayson['client'][_0x1b82('0x7')]({'port':0x232a});function respondWithRpcPromise(_0x192434,_0x202a5f,_0x3632dd){return new BPromise(function(_0x18f45f,_0x7b87e8){return client[_0x1b82('0x8')](_0x192434,_0x3632dd)[_0x1b82('0x9')](function(_0x141673){logger['info'](_0x1b82('0xa'),_0x202a5f,_0x1b82('0xb'));logger[_0x1b82('0xc')](_0x1b82('0xd'),_0x202a5f,_0x1b82('0xb'),JSON[_0x1b82('0xe')](_0x141673));if(_0x141673[_0x1b82('0xf')]){if(_0x141673[_0x1b82('0xf')]['code']===0x1f4){logger[_0x1b82('0xf')](_0x1b82('0xa'),_0x202a5f,_0x141673[_0x1b82('0xf')][_0x1b82('0x10')]);return _0x7b87e8(_0x141673['error'][_0x1b82('0x10')]);}logger['error']('Trunk,\x20%s,\x20%s',_0x202a5f,_0x141673[_0x1b82('0xf')]['message']);return _0x18f45f(_0x141673[_0x1b82('0xf')][_0x1b82('0x10')]);}else{logger['info'](_0x1b82('0xa'),_0x202a5f,'request\x20sent');_0x18f45f(_0x141673['result'][_0x1b82('0x10')]);}})['catch'](function(_0x111247){logger[_0x1b82('0xf')](_0x1b82('0xa'),_0x202a5f,_0x111247);_0x7b87e8(_0x111247);});});}exports['GetTrunk']=function(_0x514082){var _0x415dff=this;return new Promise(function(_0x5d66c3,_0x3def2d){return db[_0x1b82('0x11')][_0x1b82('0x12')]({'raw':_0x514082['options']?_0x514082[_0x1b82('0x13')][_0x1b82('0x14')]===undefined?!![]:![]:!![],'where':_0x514082[_0x1b82('0x13')]?_0x514082[_0x1b82('0x13')][_0x1b82('0x15')]||null:null,'attributes':_0x514082['options']?_0x514082[_0x1b82('0x13')][_0x1b82('0x16')]||null:null,'limit':_0x514082[_0x1b82('0x13')]?_0x514082[_0x1b82('0x13')][_0x1b82('0x17')]||null:null,'include':_0x514082[_0x1b82('0x13')]?_0x514082[_0x1b82('0x13')]['include']?_[_0x1b82('0x18')](_0x514082[_0x1b82('0x13')]['include'],function(_0x561d78){return{'model':db[_0x561d78[_0x1b82('0x19')]],'as':_0x561d78['as'],'attributes':_0x561d78[_0x1b82('0x16')],'include':_0x561d78['include']?_[_0x1b82('0x18')](_0x561d78['include'],function(_0x5cd458){return{'model':db[_0x5cd458['model']],'as':_0x5cd458['as'],'attributes':_0x5cd458[_0x1b82('0x16')],'include':_0x5cd458[_0x1b82('0x1a')]?_[_0x1b82('0x18')](_0x5cd458[_0x1b82('0x1a')],function(_0x548a3b){return{'model':db[_0x548a3b[_0x1b82('0x19')]],'as':_0x548a3b['as'],'attributes':_0x548a3b[_0x1b82('0x16')]};}):[]};}):[]};}):[]:[]})[_0x1b82('0x9')](function(_0x7455e8){logger[_0x1b82('0x1b')](_0x1b82('0x1c'),_0x514082);logger[_0x1b82('0xc')](_0x1b82('0x1c'),_0x514082,JSON[_0x1b82('0xe')](_0x7455e8));_0x5d66c3(_0x7455e8);})[_0x1b82('0x1d')](function(_0x2fe45d){logger[_0x1b82('0xf')](_0x1b82('0x1c'),_0x2fe45d['message'],_0x514082);_0x3def2d(_0x415dff[_0x1b82('0xf')](0x1f4,_0x2fe45d[_0x1b82('0x10')]));});});};exports[_0x1b82('0x1e')]=function(_0x457dbb){var _0x18e4ff=this;return new Promise(function(_0x115ce7,_0xd3c4a){return db[_0x1b82('0x11')][_0x1b82('0x1f')]({'raw':_0x457dbb[_0x1b82('0x13')]?_0x457dbb['options'][_0x1b82('0x14')]===undefined?!![]:![]:!![],'where':_0x457dbb[_0x1b82('0x13')]?_0x457dbb[_0x1b82('0x13')][_0x1b82('0x15')]||null:null,'attributes':_0x457dbb['options']?_0x457dbb[_0x1b82('0x13')][_0x1b82('0x16')]||null:null,'include':_0x457dbb['options']?_0x457dbb[_0x1b82('0x13')][_0x1b82('0x1a')]?_[_0x1b82('0x18')](_0x457dbb['options']['include'],function(_0x8e881b){return{'model':db[_0x8e881b['model']],'as':_0x8e881b['as'],'attributes':_0x8e881b['attributes'],'include':_0x8e881b[_0x1b82('0x1a')]?_[_0x1b82('0x18')](_0x8e881b[_0x1b82('0x1a')],function(_0x592207){return{'model':db[_0x592207[_0x1b82('0x19')]],'as':_0x592207['as'],'attributes':_0x592207[_0x1b82('0x16')],'include':_0x592207[_0x1b82('0x1a')]?_[_0x1b82('0x18')](_0x592207['include'],function(_0x42c1c4){return{'model':db[_0x42c1c4[_0x1b82('0x19')]],'as':_0x42c1c4['as'],'attributes':_0x42c1c4[_0x1b82('0x16')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x48fd54){logger[_0x1b82('0x1b')]('ShowTrunk',_0x457dbb);logger[_0x1b82('0xc')](_0x1b82('0x1e'),_0x457dbb,JSON[_0x1b82('0xe')](_0x48fd54));_0x115ce7(_0x48fd54);})[_0x1b82('0x1d')](function(_0x1255db){logger[_0x1b82('0xf')](_0x1b82('0x1e'),_0x1255db[_0x1b82('0x10')],_0x457dbb);_0xd3c4a(_0x18e4ff['error'](0x1f4,_0x1255db['message']));});});};