Built motion from commit (unavailable).|2.3.94
[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 _0x6972=['../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','http','request','then','info','Network,\x20%s,\x20%s','request\x20sent','debug','Network,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','end','offset','limit','Content-Range','apply','reject','save','destroy','sendStatus','name','status','index','Network','rawAttributes','model','keys','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','filter','where','merge','type','key','field','options','count','includeAll','include','findAll','rows','show','params','find','create','transaction','body','join','root','utf8','format','/etc/asterisk/sip_xcally_%s.conf','Reload','chan_sip.so','sequelize','readFileSync','server/files/templates/network.ejs','render','toLowerCase','html-pdf','eml-format','rimraf','zip-dir','request-promise','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../config/license/hardware','ioredis','../../components/parsers/qs'];(function(_0x234f17,_0x4f2456){var _0x504f71=function(_0x141cd4){while(--_0x141cd4){_0x234f17['push'](_0x234f17['shift']());}};_0x504f71(++_0x4f2456);}(_0x6972,0xac));var _0x2697=function(_0x2a601b,_0x1a7b07){_0x2a601b=_0x2a601b-0x0;var _0x478806=_0x6972[_0x2a601b];return _0x478806;};'use strict';var pdf=require(_0x2697('0x0'));var emlformat=require(_0x2697('0x1'));var rimraf=require(_0x2697('0x2'));var zipdir=require(_0x2697('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2697('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x2697('0x5'));var util=require(_0x2697('0x6'));var path=require(_0x2697('0x7'));var sox=require(_0x2697('0x8'));var csv=require('to-csv');var ejs=require(_0x2697('0x9'));var fs=require('fs');var _=require(_0x2697('0xa'));var squel=require(_0x2697('0xb'));var crypto=require(_0x2697('0xc'));var jsforce=require(_0x2697('0xd'));var deskjs=require(_0x2697('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x2697('0xf'));var authService=require(_0x2697('0x10'));var hardwareService=require(_0x2697('0x11'));var Redis=require(_0x2697('0x12'));var qs=require(_0x2697('0x13'));var logger=require(_0x2697('0x14'))(_0x2697('0x15'));var utils=require(_0x2697('0x16'));var config=require(_0x2697('0x17'));var db=require(_0x2697('0x18'))['db'];var jayson=require(_0x2697('0x19'));var client=jayson['client'][_0x2697('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x5602aa,_0x29e623,_0x2a2f14,_0x11f289){return new BPromise(function(_0x598146,_0x7c264c){var _0x367d60=_0x11f289||client;return _0x367d60[_0x2697('0x1b')](_0x5602aa,_0x2a2f14)[_0x2697('0x1c')](function(_0x36788b){logger[_0x2697('0x1d')](_0x2697('0x1e'),_0x29e623,_0x2697('0x1f'));logger[_0x2697('0x20')](_0x2697('0x21'),_0x29e623,'request\x20sent',JSON[_0x2697('0x22')](_0x36788b));if(_0x36788b[_0x2697('0x23')]){if(_0x36788b[_0x2697('0x23')][_0x2697('0x24')]===0x1f4){logger[_0x2697('0x23')]('Network,\x20%s,\x20%s',_0x29e623,_0x36788b[_0x2697('0x23')][_0x2697('0x25')]);return _0x7c264c(_0x36788b[_0x2697('0x23')][_0x2697('0x25')]);}logger[_0x2697('0x23')](_0x2697('0x1e'),_0x29e623,_0x36788b[_0x2697('0x23')][_0x2697('0x25')]);return _0x598146(_0x36788b[_0x2697('0x23')][_0x2697('0x25')]);}else{logger[_0x2697('0x1d')](_0x2697('0x1e'),_0x29e623,_0x2697('0x1f'));_0x598146(_0x36788b[_0x2697('0x26')][_0x2697('0x25')]);}})[_0x2697('0x27')](function(_0x229d0f){logger[_0x2697('0x23')](_0x2697('0x1e'),_0x29e623,_0x229d0f);_0x7c264c(_0x229d0f);});});}function respondWithStatusCode(_0x543156,_0x36f3cd){_0x36f3cd=_0x36f3cd||0xcc;return function(_0x4b7a82){if(_0x4b7a82){return _0x543156['sendStatus'](_0x36f3cd);}return _0x543156['status'](_0x36f3cd)[_0x2697('0x28')]();};}function respondWithResult(_0x4c29f7,_0x2bb1ca){_0x2bb1ca=_0x2bb1ca||0xc8;return function(_0x149b7a){if(_0x149b7a){return _0x4c29f7['status'](_0x2bb1ca)['json'](_0x149b7a);}};}function respondWithFilteredResult(_0x3153e7,_0x4fdd17){return function(_0x11d2a0){if(_0x11d2a0){var _0x5af73c=_0x11d2a0['count'],_0x301c85=_0x4fdd17[_0x2697('0x29')],_0x46b8c9=_0x4fdd17[_0x2697('0x29')]+_0x4fdd17[_0x2697('0x2a')],_0x2749ba;if(_0x46b8c9>=_0x5af73c){_0x46b8c9=_0x5af73c;_0x2749ba=0xc8;}else{_0x2749ba=0xce;}_0x3153e7['status'](_0x2749ba);return _0x3153e7['set'](_0x2697('0x2b'),_0x301c85+'-'+_0x46b8c9+'/'+_0x5af73c)['json'](_0x11d2a0);}return null;};}function patchUpdates(_0x1bafe2){return function(_0x1e5662){try{jsonpatch[_0x2697('0x2c')](_0x1e5662,_0x1bafe2,!![]);}catch(_0x56c1b2){return BPromise[_0x2697('0x2d')](_0x56c1b2);}return _0x1e5662[_0x2697('0x2e')]();};}function saveUpdates(_0xa6f6f1,_0x4fb3bf){return function(_0x2afdc5){if(_0x2afdc5){return _0x2afdc5['update'](_0xa6f6f1)[_0x2697('0x1c')](function(_0x54d932){return _0x54d932;});}return null;};}function removeEntity(_0x13d44b,_0x11702a){return function(_0x282077){if(_0x282077){return _0x282077[_0x2697('0x2f')]()[_0x2697('0x1c')](function(){_0x13d44b['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x581e8f,_0x19689f){return function(_0x3957f3){if(!_0x3957f3){_0x581e8f[_0x2697('0x30')](0x194);}return _0x3957f3;};}function handleError(_0x5c495f,_0x521cea){_0x521cea=_0x521cea||0x1f4;return function(_0x30904a){logger[_0x2697('0x23')](_0x30904a['stack']);if(_0x30904a[_0x2697('0x31')]){delete _0x30904a[_0x2697('0x31')];}_0x5c495f[_0x2697('0x32')](_0x521cea)['send'](_0x30904a);};}exports[_0x2697('0x33')]=function(_0x2dbd4f,_0x2966c6){var _0x49041e={},_0x4bed72={},_0x37f7c9={'count':0x0,'rows':[]};var _0x16c368=db[_0x2697('0x34')][_0x2697('0x35')];_0x4bed72[_0x2697('0x36')]=_[_0x2697('0x37')](_0x16c368);_0x4bed72['query']=_[_0x2697('0x37')](_0x2dbd4f['query']);_0x4bed72['filters']=_[_0x2697('0x38')](_0x4bed72[_0x2697('0x36')],_0x4bed72[_0x2697('0x39')]);_0x49041e[_0x2697('0x3a')]=_[_0x2697('0x38')](_0x4bed72['model'],qs['fields'](_0x2dbd4f['query'][_0x2697('0x3b')]));_0x49041e[_0x2697('0x3a')]=_0x49041e['attributes'][_0x2697('0x3c')]?_0x49041e[_0x2697('0x3a')]:_0x4bed72[_0x2697('0x36')];if(!_0x2dbd4f[_0x2697('0x39')][_0x2697('0x3d')](_0x2697('0x3e'))){_0x49041e[_0x2697('0x2a')]=qs[_0x2697('0x2a')](_0x2dbd4f[_0x2697('0x39')][_0x2697('0x2a')]);_0x49041e[_0x2697('0x29')]=qs[_0x2697('0x29')](_0x2dbd4f[_0x2697('0x39')][_0x2697('0x29')]);}_0x49041e[_0x2697('0x3f')]=qs[_0x2697('0x40')](_0x2dbd4f['query'][_0x2697('0x40')]);_0x49041e['where']=qs['filters'](_['pick'](_0x2dbd4f['query'],_0x4bed72[_0x2697('0x41')]));if(_0x2dbd4f['query'][_0x2697('0x42')]){_0x49041e[_0x2697('0x43')]=_[_0x2697('0x44')](_0x49041e[_0x2697('0x43')],{'$or':_['map'](_0x16c368,function(_0x524828){if(_0x524828[_0x2697('0x45')][_0x2697('0x46')]!=='VIRTUAL'){var _0x1fc649={};_0x1fc649[_0x524828[_0x2697('0x47')]]={'$like':'%'+_0x2dbd4f['query'][_0x2697('0x42')]+'%'};return _0x1fc649;}})});}_0x49041e=_['merge']({},_0x49041e,_0x2dbd4f[_0x2697('0x48')]);var _0x5c42f5={'where':_0x49041e[_0x2697('0x43')]};return db[_0x2697('0x34')][_0x2697('0x49')](_0x5c42f5)['then'](function(_0x44f7a3){_0x37f7c9['count']=_0x44f7a3;if(_0x2dbd4f[_0x2697('0x39')][_0x2697('0x4a')]){_0x49041e[_0x2697('0x4b')]=[{'all':!![]}];}return db[_0x2697('0x34')][_0x2697('0x4c')](_0x49041e);})[_0x2697('0x1c')](function(_0x1e6590){_0x37f7c9[_0x2697('0x4d')]=_0x1e6590;return _0x37f7c9;})[_0x2697('0x1c')](respondWithFilteredResult(_0x2966c6,_0x49041e))[_0x2697('0x27')](handleError(_0x2966c6,null));};exports[_0x2697('0x4e')]=function(_0x486217,_0x1abb10){var _0x299254={'raw':!![],'where':{'id':_0x486217[_0x2697('0x4f')]['id']}},_0x3f0ac7={};_0x3f0ac7[_0x2697('0x36')]=_[_0x2697('0x37')](db[_0x2697('0x34')][_0x2697('0x35')]);_0x3f0ac7[_0x2697('0x39')]=_['keys'](_0x486217[_0x2697('0x39')]);_0x3f0ac7[_0x2697('0x41')]=_['intersection'](_0x3f0ac7[_0x2697('0x36')],_0x3f0ac7[_0x2697('0x39')]);_0x299254[_0x2697('0x3a')]=_['intersection'](_0x3f0ac7[_0x2697('0x36')],qs[_0x2697('0x3b')](_0x486217['query']['fields']));_0x299254[_0x2697('0x3a')]=_0x299254[_0x2697('0x3a')][_0x2697('0x3c')]?_0x299254[_0x2697('0x3a')]:_0x3f0ac7[_0x2697('0x36')];if(_0x486217[_0x2697('0x39')]['includeAll']){_0x299254[_0x2697('0x4b')]=[{'all':!![]}];}_0x299254=_[_0x2697('0x44')]({},_0x299254,_0x486217[_0x2697('0x48')]);return db[_0x2697('0x34')][_0x2697('0x50')](_0x299254)[_0x2697('0x1c')](handleEntityNotFound(_0x1abb10,null))[_0x2697('0x1c')](respondWithResult(_0x1abb10,null))[_0x2697('0x27')](handleError(_0x1abb10,null));};exports[_0x2697('0x51')]=function(_0x35546a,_0x36b869,_0x10b8c3){var _0x3f8866;return db['sequelize'][_0x2697('0x52')](function(_0x332334){return db['Network'][_0x2697('0x51')](_0x35546a['body'],{'raw':!![]})[_0x2697('0x1c')](function(_0x1265d7){_0x3f8866=_0x1265d7;return db[_0x2697('0x34')][_0x2697('0x4c')]({'where':{'type':_0x35546a[_0x2697('0x53')]['type']},'raw':!![]});})[_0x2697('0x1c')](function(_0x4c69a5){var _0x11f935=fs['readFileSync'](path[_0x2697('0x54')](config[_0x2697('0x55')],'server/files/templates/network.ejs'),_0x2697('0x56'));var _0x23dd55=ejs['render'](_0x11f935,{'networks':_0x4c69a5||[]});fs['writeFileSync'](util[_0x2697('0x57')](_0x2697('0x58'),_0x35546a['body'][_0x2697('0x45')]['toLowerCase']()),_0x23dd55);})[_0x2697('0x1c')](function(){return respondWithRpcPromise(_0x2697('0x59'),'create',{'module':_0x2697('0x5a')});})[_0x2697('0x1c')](function(){return _0x3f8866;});})[_0x2697('0x1c')](respondWithResult(_0x36b869,0xc9))[_0x2697('0x27')](handleError(_0x36b869,null));};exports['update']=function(_0x2c07e9,_0x4027a9,_0x23435b){var _0x347a52;return db[_0x2697('0x5b')][_0x2697('0x52')](function(_0x1bfb89){return db[_0x2697('0x34')]['find']({'where':{'id':_0x2c07e9[_0x2697('0x4f')]['id']}})[_0x2697('0x1c')](handleEntityNotFound(_0x4027a9,null))['then'](saveUpdates(_0x2c07e9[_0x2697('0x53')],null))['then'](function(_0x2e1f76){if(_0x2e1f76){_0x347a52=_0x2e1f76;return db[_0x2697('0x34')][_0x2697('0x4c')]({'where':{'type':_0x347a52[_0x2697('0x45')]},'raw':!![]});}return null;})[_0x2697('0x1c')](function(_0x19a377){if(_0x19a377){var _0x58a827=fs[_0x2697('0x5c')](path['join'](config['root'],_0x2697('0x5d')),_0x2697('0x56'));var _0x225d4c=ejs[_0x2697('0x5e')](_0x58a827,{'networks':_0x19a377||[]});fs['writeFileSync'](util[_0x2697('0x57')](_0x2697('0x58'),_0x347a52['type']['toLowerCase']()),_0x225d4c);return respondWithRpcPromise(_0x2697('0x59'),'update',{'module':_0x2697('0x5a')});}return null;})[_0x2697('0x1c')](function(_0x3250dd){if(_0x3250dd){return _0x347a52;}return null;});})[_0x2697('0x1c')](respondWithResult(_0x4027a9,null))[_0x2697('0x27')](handleError(_0x4027a9,null));};exports[_0x2697('0x2f')]=function(_0x46acb9,_0x5b8fac,_0x4dd08f){var _0x4d7ac5;return db[_0x2697('0x34')][_0x2697('0x50')]({'where':{'id':_0x46acb9[_0x2697('0x4f')]['id']}})['then'](function(_0xf51b9e){_0x4d7ac5=_0xf51b9e;return _0xf51b9e;})[_0x2697('0x1c')](handleEntityNotFound(_0x5b8fac,null))[_0x2697('0x1c')](removeEntity(_0x5b8fac,null))['then'](function(){if(_0x4d7ac5){return db['Network'][_0x2697('0x4c')]({'where':{'type':_0x4d7ac5[_0x2697('0x45')]},'raw':!![]});}})[_0x2697('0x1c')](function(_0x31ae36){if(_0x31ae36){var _0x5a2512=fs[_0x2697('0x5c')](path[_0x2697('0x54')](config[_0x2697('0x55')],_0x2697('0x5d')),_0x2697('0x56'));var _0x5684da=ejs['render'](_0x5a2512,{'networks':_0x31ae36||[]});fs['writeFileSync'](util[_0x2697('0x57')](_0x2697('0x58'),_0x4d7ac5[_0x2697('0x45')][_0x2697('0x5f')]()),_0x5684da);return respondWithRpcPromise(_0x2697('0x59'),_0x2697('0x2f'),{'module':'chan_sip.so'});}})['catch'](handleError(_0x5b8fac,null));};