Built motion from commit (unavailable).|2.5.10
[motion2.git] / server / api / network / network.controller.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 _0xee0c=['merge','type','options','includeAll','findAll','rows','show','include','catch','create','body','toUpperCase','STUN','readFileSync','join','server/files/templates/stun_multiple.ejs','writeFileSync','/etc/asterisk/stun_xcally.conf','Reload','res_stun_monitor.so','TURN','root','utf8','render','/etc/asterisk/turn_xcally.conf','server/files/templates/network.ejs','format','toLowerCase','chan_sip.so','sequelize','transaction','find','params','server/files/templates/turn_multiple.ejs','/etc/asterisk/sip_xcally_%s.conf','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','http','then','request\x20sent','debug','error','code','Network,\x20%s,\x20%s','message','info','result','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','destroy','stack','name','send','index','map','Network','rawAttributes','key','model','keys','query','filters','intersection','fields','attributes','length','nolimit','order','sort','where','filter'];(function(_0x37252f,_0x33f085){var _0x506b39=function(_0x32bd57){while(--_0x32bd57){_0x37252f['push'](_0x37252f['shift']());}};_0x506b39(++_0x33f085);}(_0xee0c,0xfb));var _0xcee0=function(_0x462545,_0x3c0f1b){_0x462545=_0x462545-0x0;var _0x680d51=_0xee0c[_0x462545];return _0x680d51;};'use strict';var pdf=require(_0xcee0('0x0'));var emlformat=require(_0xcee0('0x1'));var rimraf=require(_0xcee0('0x2'));var zipdir=require(_0xcee0('0x3'));var jsonpatch=require(_0xcee0('0x4'));var rp=require(_0xcee0('0x5'));var moment=require(_0xcee0('0x6'));var BPromise=require(_0xcee0('0x7'));var Mustache=require(_0xcee0('0x8'));var util=require(_0xcee0('0x9'));var path=require(_0xcee0('0xa'));var sox=require(_0xcee0('0xb'));var csv=require(_0xcee0('0xc'));var ejs=require(_0xcee0('0xd'));var fs=require('fs');var _=require(_0xcee0('0xe'));var squel=require(_0xcee0('0xf'));var crypto=require(_0xcee0('0x10'));var jsforce=require(_0xcee0('0x11'));var deskjs=require(_0xcee0('0x12'));var toCsv=require(_0xcee0('0xc'));var querystring=require('querystring');var Papa=require(_0xcee0('0x13'));var Redis=require('ioredis');var authService=require(_0xcee0('0x14'));var qs=require(_0xcee0('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcee0('0x16'));var logger=require(_0xcee0('0x17'))(_0xcee0('0x18'));var utils=require('../../config/utils');var config=require(_0xcee0('0x19'));var licenseUtil=require(_0xcee0('0x1a'));var db=require(_0xcee0('0x1b'))['db'];var jayson=require(_0xcee0('0x1c'));var client=jayson['client'][_0xcee0('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x40cccc,_0xeeffda,_0x17ede2,_0x1d5aeb){return new BPromise(function(_0x6b724d,_0x1a0e87){var _0xe101d8=_0x1d5aeb||client;return _0xe101d8['request'](_0x40cccc,_0x17ede2)[_0xcee0('0x1e')](function(_0x4b0217){logger['info']('Network,\x20%s,\x20%s',_0xeeffda,_0xcee0('0x1f'));logger[_0xcee0('0x20')]('Network,\x20%s,\x20%s,\x20%s',_0xeeffda,_0xcee0('0x1f'),JSON['stringify'](_0x4b0217));if(_0x4b0217[_0xcee0('0x21')]){if(_0x4b0217[_0xcee0('0x21')][_0xcee0('0x22')]===0x1f4){logger[_0xcee0('0x21')](_0xcee0('0x23'),_0xeeffda,_0x4b0217[_0xcee0('0x21')][_0xcee0('0x24')]);return _0x1a0e87(_0x4b0217[_0xcee0('0x21')][_0xcee0('0x24')]);}logger[_0xcee0('0x21')](_0xcee0('0x23'),_0xeeffda,_0x4b0217[_0xcee0('0x21')]['message']);return _0x6b724d(_0x4b0217[_0xcee0('0x21')][_0xcee0('0x24')]);}else{logger[_0xcee0('0x25')]('Network,\x20%s,\x20%s',_0xeeffda,_0xcee0('0x1f'));_0x6b724d(_0x4b0217[_0xcee0('0x26')][_0xcee0('0x24')]);}})['catch'](function(_0x132e96){logger[_0xcee0('0x21')](_0xcee0('0x23'),_0xeeffda,_0x132e96);_0x1a0e87(_0x132e96);});});}function respondWithStatusCode(_0xe8649d,_0x24f79c){_0x24f79c=_0x24f79c||0xcc;return function(_0x50ae59){if(_0x50ae59){return _0xe8649d[_0xcee0('0x27')](_0x24f79c);}return _0xe8649d[_0xcee0('0x28')](_0x24f79c)[_0xcee0('0x29')]();};}function respondWithResult(_0x58be1d,_0x257390){_0x257390=_0x257390||0xc8;return function(_0x1399e9){if(_0x1399e9){return _0x58be1d[_0xcee0('0x28')](_0x257390)[_0xcee0('0x2a')](_0x1399e9);}};}function respondWithFilteredResult(_0x2970a9,_0x42ee13){return function(_0x2207ef){if(_0x2207ef){var _0x5962c7=_0x2207ef[_0xcee0('0x2b')],_0x366e87=_0x42ee13['offset'],_0x3cfa1f=_0x42ee13[_0xcee0('0x2c')]+_0x42ee13[_0xcee0('0x2d')],_0x283466;if(_0x3cfa1f>=_0x5962c7){_0x3cfa1f=_0x5962c7;_0x283466=0xc8;}else{_0x283466=0xce;}_0x2970a9[_0xcee0('0x28')](_0x283466);return _0x2970a9['set'](_0xcee0('0x2e'),_0x366e87+'-'+_0x3cfa1f+'/'+_0x5962c7)[_0xcee0('0x2a')](_0x2207ef);}return null;};}function patchUpdates(_0x5dab05){return function(_0x4068bc){try{jsonpatch[_0xcee0('0x2f')](_0x4068bc,_0x5dab05,!![]);}catch(_0x5352e1){return BPromise[_0xcee0('0x30')](_0x5352e1);}return _0x4068bc[_0xcee0('0x31')]();};}function saveUpdates(_0x125c5e,_0x15994d){return function(_0x243bf){if(_0x243bf){return _0x243bf[_0xcee0('0x32')](_0x125c5e)[_0xcee0('0x1e')](function(_0x4cb740){return _0x4cb740;});}return null;};}function removeEntity(_0x310cca,_0x3c2525){return function(_0x43906c){if(_0x43906c){return _0x43906c[_0xcee0('0x33')]()[_0xcee0('0x1e')](function(){_0x310cca[_0xcee0('0x28')](0xcc)[_0xcee0('0x29')]();});}};}function handleEntityNotFound(_0x45d458,_0x3fcfdf){return function(_0x2dd3ed){if(!_0x2dd3ed){_0x45d458[_0xcee0('0x27')](0x194);}return _0x2dd3ed;};}function handleError(_0x30e322,_0x238f8d){_0x238f8d=_0x238f8d||0x1f4;return function(_0x10b33e){logger[_0xcee0('0x21')](_0x10b33e[_0xcee0('0x34')]);if(_0x10b33e[_0xcee0('0x35')]){delete _0x10b33e['name'];}_0x30e322[_0xcee0('0x28')](_0x238f8d)[_0xcee0('0x36')](_0x10b33e);};}exports[_0xcee0('0x37')]=function(_0xe630da,_0xf2640a){var _0x1891bd={},_0x3d3def={},_0x1ebf7e={'count':0x0,'rows':[]};var _0x32fc6a=_[_0xcee0('0x38')](db[_0xcee0('0x39')][_0xcee0('0x3a')],function(_0x39c84c){return{'name':_0x39c84c['fieldName'],'type':_0x39c84c['type'][_0xcee0('0x3b')]};});_0x3d3def[_0xcee0('0x3c')]=_[_0xcee0('0x38')](_0x32fc6a,_0xcee0('0x35'));_0x3d3def['query']=_[_0xcee0('0x3d')](_0xe630da[_0xcee0('0x3e')]);_0x3d3def[_0xcee0('0x3f')]=_['intersection'](_0x3d3def[_0xcee0('0x3c')],_0x3d3def[_0xcee0('0x3e')]);_0x1891bd['attributes']=_[_0xcee0('0x40')](_0x3d3def[_0xcee0('0x3c')],qs[_0xcee0('0x41')](_0xe630da[_0xcee0('0x3e')][_0xcee0('0x41')]));_0x1891bd[_0xcee0('0x42')]=_0x1891bd[_0xcee0('0x42')][_0xcee0('0x43')]?_0x1891bd['attributes']:_0x3d3def[_0xcee0('0x3c')];if(!_0xe630da['query']['hasOwnProperty'](_0xcee0('0x44'))){_0x1891bd[_0xcee0('0x2d')]=qs[_0xcee0('0x2d')](_0xe630da[_0xcee0('0x3e')][_0xcee0('0x2d')]);_0x1891bd[_0xcee0('0x2c')]=qs[_0xcee0('0x2c')](_0xe630da[_0xcee0('0x3e')][_0xcee0('0x2c')]);}_0x1891bd[_0xcee0('0x45')]=qs[_0xcee0('0x46')](_0xe630da[_0xcee0('0x3e')]['sort']);_0x1891bd[_0xcee0('0x47')]=qs[_0xcee0('0x3f')](_['pick'](_0xe630da['query'],_0x3d3def[_0xcee0('0x3f')]),_0x32fc6a);if(_0xe630da['query'][_0xcee0('0x48')]){_0x1891bd[_0xcee0('0x47')]=_[_0xcee0('0x49')](_0x1891bd[_0xcee0('0x47')],{'$or':_['map'](_0x32fc6a,function(_0x2dbd4d){if(_0x2dbd4d[_0xcee0('0x4a')]!=='VIRTUAL'){var _0x48015d={};_0x48015d[_0x2dbd4d[_0xcee0('0x35')]]={'$like':'%'+_0xe630da[_0xcee0('0x3e')][_0xcee0('0x48')]+'%'};return _0x48015d;}})});}_0x1891bd=_[_0xcee0('0x49')]({},_0x1891bd,_0xe630da[_0xcee0('0x4b')]);var _0x1d05ed={'where':_0x1891bd[_0xcee0('0x47')]};return db[_0xcee0('0x39')][_0xcee0('0x2b')](_0x1d05ed)[_0xcee0('0x1e')](function(_0x51acfb){_0x1ebf7e[_0xcee0('0x2b')]=_0x51acfb;if(_0xe630da[_0xcee0('0x3e')][_0xcee0('0x4c')]){_0x1891bd['include']=[{'all':!![]}];}return db[_0xcee0('0x39')][_0xcee0('0x4d')](_0x1891bd);})[_0xcee0('0x1e')](function(_0x1b2bfa){_0x1ebf7e[_0xcee0('0x4e')]=_0x1b2bfa;return _0x1ebf7e;})[_0xcee0('0x1e')](respondWithFilteredResult(_0xf2640a,_0x1891bd))['catch'](handleError(_0xf2640a,null));};exports[_0xcee0('0x4f')]=function(_0x42730f,_0x3a357f){var _0x653ec0={'raw':!![],'where':{'id':_0x42730f['params']['id']}},_0x54d5a2={};_0x54d5a2[_0xcee0('0x3c')]=_[_0xcee0('0x3d')](db[_0xcee0('0x39')][_0xcee0('0x3a')]);_0x54d5a2[_0xcee0('0x3e')]=_[_0xcee0('0x3d')](_0x42730f['query']);_0x54d5a2['filters']=_['intersection'](_0x54d5a2['model'],_0x54d5a2['query']);_0x653ec0[_0xcee0('0x42')]=_[_0xcee0('0x40')](_0x54d5a2[_0xcee0('0x3c')],qs[_0xcee0('0x41')](_0x42730f['query'][_0xcee0('0x41')]));_0x653ec0[_0xcee0('0x42')]=_0x653ec0['attributes']['length']?_0x653ec0[_0xcee0('0x42')]:_0x54d5a2['model'];if(_0x42730f['query'][_0xcee0('0x4c')]){_0x653ec0[_0xcee0('0x50')]=[{'all':!![]}];}_0x653ec0=_['merge']({},_0x653ec0,_0x42730f[_0xcee0('0x4b')]);return db[_0xcee0('0x39')]['find'](_0x653ec0)[_0xcee0('0x1e')](handleEntityNotFound(_0x3a357f,null))['then'](respondWithResult(_0x3a357f,null))[_0xcee0('0x51')](handleError(_0x3a357f,null));};exports['create']=function(_0x2fc2fd,_0x3e706b,_0x1fb3ed){var _0x369998;return db['sequelize']['transaction'](function(_0x5a50b8){return db[_0xcee0('0x39')][_0xcee0('0x52')](_0x2fc2fd['body'],{'raw':!![]})[_0xcee0('0x1e')](function(_0x5e0412){_0x369998=_0x5e0412;return db[_0xcee0('0x39')][_0xcee0('0x4d')]({'where':{'type':_0x2fc2fd[_0xcee0('0x53')][_0xcee0('0x4a')]},'raw':!![]});})[_0xcee0('0x1e')](function(_0x1e05ec){if(_0x369998[_0xcee0('0x4a')][_0xcee0('0x54')]()==_0xcee0('0x55')){var _0x4ab746=fs[_0xcee0('0x56')](path[_0xcee0('0x57')](config['root'],_0xcee0('0x58')),'utf8');var _0x55312b=ejs['render'](_0x4ab746,{'networks':_0x1e05ec||[]});fs[_0xcee0('0x59')](_0xcee0('0x5a'),_0x55312b);return respondWithRpcPromise(_0xcee0('0x5b'),_0xcee0('0x52'),{'module':_0xcee0('0x5c')});}else if(_0x369998[_0xcee0('0x4a')]['toUpperCase']()==_0xcee0('0x5d')){var _0x2988e9=fs[_0xcee0('0x56')](path[_0xcee0('0x57')](config[_0xcee0('0x5e')],'server/files/templates/turn_multiple.ejs'),_0xcee0('0x5f'));var _0x5b2965=ejs[_0xcee0('0x60')](_0x2988e9,{'networks':_0x1e05ec||[]});fs[_0xcee0('0x59')](_0xcee0('0x61'),_0x5b2965);return respondWithRpcPromise('Reload','create',{'module':_0xcee0('0x5c')});}else{var _0x237ad7=fs[_0xcee0('0x56')](path[_0xcee0('0x57')](config[_0xcee0('0x5e')],_0xcee0('0x62')),_0xcee0('0x5f'));var _0x272bb3=ejs[_0xcee0('0x60')](_0x237ad7,{'networks':_0x1e05ec||[]});fs[_0xcee0('0x59')](util[_0xcee0('0x63')]('/etc/asterisk/sip_xcally_%s.conf',_0x2fc2fd[_0xcee0('0x53')][_0xcee0('0x4a')][_0xcee0('0x64')]()),_0x272bb3);return respondWithRpcPromise('Reload',_0xcee0('0x52'),{'module':_0xcee0('0x65')});}return null;})[_0xcee0('0x1e')](function(){return _0x369998;});})['then'](respondWithResult(_0x3e706b,0xc9))[_0xcee0('0x51')](handleError(_0x3e706b,null));};exports[_0xcee0('0x32')]=function(_0xaf3c51,_0x2fe763,_0x2fd525){var _0x27b544;return db[_0xcee0('0x66')][_0xcee0('0x67')](function(_0x12c0bd){return db[_0xcee0('0x39')][_0xcee0('0x68')]({'where':{'id':_0xaf3c51[_0xcee0('0x69')]['id']}})[_0xcee0('0x1e')](handleEntityNotFound(_0x2fe763,null))[_0xcee0('0x1e')](saveUpdates(_0xaf3c51[_0xcee0('0x53')],null))['then'](function(_0x532d0c){if(_0x532d0c){_0x27b544=_0x532d0c;return db[_0xcee0('0x39')][_0xcee0('0x4d')]({'where':{'type':_0x27b544[_0xcee0('0x4a')]},'raw':!![]});}return null;})[_0xcee0('0x1e')](function(_0x1b502f){if(_0x27b544['type']['toUpperCase']()=='STUN'){var _0x32e8a3=fs['readFileSync'](path[_0xcee0('0x57')](config[_0xcee0('0x5e')],'server/files/templates/stun_multiple.ejs'),'utf8');var _0x5946fc=ejs['render'](_0x32e8a3,{'networks':_0x1b502f||[]});fs['writeFileSync'](_0xcee0('0x5a'),_0x5946fc);return respondWithRpcPromise(_0xcee0('0x5b'),_0xcee0('0x32'),{'module':_0xcee0('0x5c')});}else if(_0x27b544[_0xcee0('0x4a')][_0xcee0('0x54')]()=='TURN'){var _0x42c7cd=fs[_0xcee0('0x56')](path['join'](config[_0xcee0('0x5e')],_0xcee0('0x6a')),_0xcee0('0x5f'));var _0x3df2df=ejs['render'](_0x42c7cd,{'networks':_0x1b502f||[]});fs[_0xcee0('0x59')](_0xcee0('0x61'),_0x3df2df);return respondWithRpcPromise(_0xcee0('0x5b'),_0xcee0('0x32'),{'module':_0xcee0('0x5c')});}else{var _0x5c5993=fs['readFileSync'](path['join'](config[_0xcee0('0x5e')],_0xcee0('0x62')),'utf8');var _0x5939ac=ejs[_0xcee0('0x60')](_0x5c5993,{'networks':_0x1b502f||[]});fs[_0xcee0('0x59')](util[_0xcee0('0x63')](_0xcee0('0x6b'),_0xaf3c51['body'][_0xcee0('0x4a')][_0xcee0('0x64')]()),_0x5939ac);return respondWithRpcPromise(_0xcee0('0x5b'),_0xcee0('0x32'),{'module':'chan_sip.so'});}return null;})[_0xcee0('0x1e')](function(_0x307062){if(_0x307062){return _0x27b544;}return null;});})[_0xcee0('0x1e')](respondWithResult(_0x2fe763,null))[_0xcee0('0x51')](handleError(_0x2fe763,null));};exports[_0xcee0('0x33')]=function(_0x1f6a5b,_0x4b9831,_0x41cfcf){var _0x5dc557;return db[_0xcee0('0x39')][_0xcee0('0x68')]({'where':{'id':_0x1f6a5b[_0xcee0('0x69')]['id']}})[_0xcee0('0x1e')](function(_0x5d6e7a){_0x5dc557=_0x5d6e7a;return _0x5d6e7a;})[_0xcee0('0x1e')](handleEntityNotFound(_0x4b9831,null))[_0xcee0('0x1e')](removeEntity(_0x4b9831,null))[_0xcee0('0x1e')](function(){if(_0x5dc557){return db[_0xcee0('0x39')][_0xcee0('0x4d')]({'where':{'type':_0x5dc557[_0xcee0('0x4a')]},'raw':!![]});}})[_0xcee0('0x1e')](function(_0x80ea4b){if(_0x5dc557[_0xcee0('0x4a')][_0xcee0('0x54')]()==_0xcee0('0x55')){var _0x526e11=fs[_0xcee0('0x56')](path[_0xcee0('0x57')](config[_0xcee0('0x5e')],_0xcee0('0x58')),_0xcee0('0x5f'));var _0x243a3f=ejs[_0xcee0('0x60')](_0x526e11,{'networks':_0x80ea4b||[]});fs[_0xcee0('0x59')](_0xcee0('0x5a'),_0x243a3f);return respondWithRpcPromise(_0xcee0('0x5b'),_0xcee0('0x33'),{'module':_0xcee0('0x5c')});}else if(_0x5dc557['type']['toUpperCase']()=='TURN'){var _0xab4efb=fs[_0xcee0('0x56')](path[_0xcee0('0x57')](config[_0xcee0('0x5e')],_0xcee0('0x6a')),_0xcee0('0x5f'));var _0x4cf4db=ejs[_0xcee0('0x60')](_0xab4efb,{'networks':_0x80ea4b||[]});fs['writeFileSync'](_0xcee0('0x61'),_0x4cf4db);return respondWithRpcPromise('Reload','destroy',{'module':_0xcee0('0x5c')});}else{var _0x2cf701=fs[_0xcee0('0x56')](path[_0xcee0('0x57')](config[_0xcee0('0x5e')],_0xcee0('0x62')),_0xcee0('0x5f'));var _0x401186=ejs[_0xcee0('0x60')](_0x2cf701,{'networks':_0x80ea4b||[]});fs['writeFileSync'](util['format'](_0xcee0('0x6b'),_0x1f6a5b[_0xcee0('0x53')]['type'][_0xcee0('0x64')]()),_0x401186);return respondWithRpcPromise(_0xcee0('0x5b'),_0xcee0('0x33'),{'module':_0xcee0('0x65')});}return null;})[_0xcee0('0x51')](handleError(_0x4b9831,null));};