df21e8747b319429535d675728c7624e6e7fb355
[motion-next.git] / server / api / trunk / trunk.controller.js
1 const a643_0x467b=['intersection','undefined','Unable\x20to\x20retrieve\x20the\x20current\x20user','client','readFileSync','UserProfileSection','../../config/environment','role','includeAll','create','merge','length','writeFileSync','params','updatedAt','rows','where','VIRTUAL','request\x20sent','user','count','message','Trunk,\x20%s,\x20%s,\x20%s','query','path','limit','findAll','sendStatus','type','registry','then','root','map','catch','Trunk','order','userProfileId','json','nolimit','createdAt','Reload','info','fields','UserProfileResource','offset','sort','destroy','rawAttributes','render','../../components/parsers/qs','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','sequelize','utf8','Trunk,\x20%s,\x20%s','error','code','result','attributes','Trunks','autoAssociation','model','update','files/templates/registry.ejs','get','set','omit','/etc/asterisk/sip_xcally_trunks.conf','files/templates/trunk.ejs','Content-Range','filters','clone','chan_sip.so','join','pick','stringify','keys','status','send','/etc/asterisk/sip_xcally_registers.conf','name','options','include','request','stack','ejs','body','api','index','filter','findOne'];(function(_0x375ac1,_0x467b89){const _0x2cd100=function(_0x490a11){while(--_0x490a11){_0x375ac1['push'](_0x375ac1['shift']());}};_0x2cd100(++_0x467b89);}(a643_0x467b,0x1e1));const a643_0x2cd1=function(_0x375ac1,_0x467b89){_0x375ac1=_0x375ac1-0x0;let _0x2cd100=a643_0x467b[_0x375ac1];return _0x2cd100;};const _0x1689c3=a643_0x2cd1;'use strict';const path=require(_0x1689c3('0x53')),ejs=require(_0x1689c3('0x35')),fs=require('fs'),_=require('lodash'),qs=require(_0x1689c3('0x12')),logger=require('../../config/logger')(_0x1689c3('0x37')),config=require(_0x1689c3('0x41')),db=require('../../mysqldb')['db'],{Op}=require(_0x1689c3('0x14')),jayson=require('jayson/promise'),client=jayson[_0x1689c3('0x3e')]['http']({'port':0x232a});function respondWithRpcPromise(_0x490a11,_0x2d485b,_0x572139,_0x4d2a00){return new Promise(function(_0x37564b,_0x5b882d){const _0x4c3336=a643_0x2cd1,_0x2774cc=_0x4d2a00||client;return _0x2774cc[_0x4c3336('0x33')](_0x490a11,_0x572139)[_0x4c3336('0x59')](function(_0x286011){const _0x48cb9b=_0x4c3336;logger['info'](_0x48cb9b('0x16'),_0x2d485b,'request\x20sent'),logger['debug'](_0x48cb9b('0x51'),_0x2d485b,_0x48cb9b('0x4d'),JSON[_0x48cb9b('0x2b')](_0x286011));if(_0x286011[_0x48cb9b('0x17')]){if(_0x286011['error'][_0x48cb9b('0x18')]===0x1f4)return logger[_0x48cb9b('0x17')](_0x48cb9b('0x16'),_0x2d485b,_0x286011[_0x48cb9b('0x17')][_0x48cb9b('0x50')]),_0x5b882d(_0x286011[_0x48cb9b('0x17')][_0x48cb9b('0x50')]);return logger[_0x48cb9b('0x17')]('Trunk,\x20%s,\x20%s',_0x2d485b,_0x286011[_0x48cb9b('0x17')][_0x48cb9b('0x50')]),_0x37564b(_0x286011[_0x48cb9b('0x17')][_0x48cb9b('0x50')]);}else logger[_0x48cb9b('0xa')](_0x48cb9b('0x16'),_0x2d485b,_0x48cb9b('0x4d')),_0x37564b(_0x286011[_0x48cb9b('0x19')][_0x48cb9b('0x50')]);})['catch'](function(_0x1343cf){const _0x1c010a=_0x4c3336;logger[_0x1c010a('0x17')](_0x1c010a('0x16'),_0x2d485b,_0x1343cf),_0x5b882d(_0x1343cf);});});}function respondWithResult(_0x57f54e,_0x7de2f3){return _0x7de2f3=_0x7de2f3||0xc8,function(_0x11fc7e){const _0x2e36cd=a643_0x2cd1;if(_0x11fc7e)return _0x57f54e['status'](_0x7de2f3)[_0x2e36cd('0x6')](_0x11fc7e);};}function respondWithFilteredResult(_0x4b4786,_0x333045){return function(_0x340aa0){const _0x474776=a643_0x2cd1;if(_0x340aa0){const _0x45b6cb=_0x340aa0['count'],_0x447505=_0x333045[_0x474776('0xd')];let _0x5b3afd=_0x333045[_0x474776('0xd')]+_0x333045[_0x474776('0x54')],_0x6475c;return _0x5b3afd>=_0x45b6cb?(_0x5b3afd=_0x45b6cb,_0x6475c=0xc8):_0x6475c=0xce,_0x4b4786[_0x474776('0x2d')](_0x6475c),_0x4b4786[_0x474776('0x21')](_0x474776('0x25'),_0x447505+'-'+_0x5b3afd+'/'+_0x45b6cb)[_0x474776('0x6')](_0x340aa0);}return null;};}function saveUpdates(_0x1021af){return function(_0x193e93){const _0x1061ea=a643_0x2cd1;if(_0x193e93)return _0x193e93[_0x1061ea('0x1e')](_0x1021af)[_0x1061ea('0x59')](function(_0x3e082b){return _0x3e082b;});return null;};}function removeEntity(_0x47684b){return function(_0x3d52f7){if(_0x3d52f7)return _0x3d52f7['destroy']()['then'](function(){const _0x3b6ebe=a643_0x2cd1,_0x148980=_0x3d52f7[_0x3b6ebe('0x20')]({'plain':!![]}),_0x584875=_0x3b6ebe('0x1b');return db[_0x3b6ebe('0xc')]['destroy']({'where':{'type':_0x584875,'resourceId':_0x148980['id']}})[_0x3b6ebe('0x59')](function(){return _0x3d52f7;});})['then'](function(){const _0x2fb931=a643_0x2cd1;_0x47684b[_0x2fb931('0x2d')](0xcc)['end']();});};}function handleEntityNotFound(_0x267740){return function(_0xc15e02){const _0x4ef684=a643_0x2cd1;return!_0xc15e02&&_0x267740[_0x4ef684('0x56')](0x194),_0xc15e02;};}function handleError(_0x49ec03,_0x408f2a){return _0x408f2a=_0x408f2a||0x1f4,function(_0x120200){const _0x3fdfaa=a643_0x2cd1;logger[_0x3fdfaa('0x17')](_0x120200[_0x3fdfaa('0x34')]),_0x120200[_0x3fdfaa('0x30')]&&delete _0x120200[_0x3fdfaa('0x30')],_0x49ec03[_0x3fdfaa('0x2d')](_0x408f2a)[_0x3fdfaa('0x2e')](_0x120200);};}exports[_0x1689c3('0x38')]=function(_0x4e6159,_0x529cdb){const _0x24f752=_0x1689c3;let _0x558408={};const _0x324e18={},_0x23916e={'count':0x0,'rows':[]},_0x57f4c2=_[_0x24f752('0x1')](db[_0x24f752('0x3')][_0x24f752('0x10')],function(_0x25c34f){const _0x6dfd2=_0x24f752;return{'name':_0x25c34f['fieldName'],'type':_0x25c34f[_0x6dfd2('0x57')]['key']};});_0x324e18[_0x24f752('0x1d')]=_[_0x24f752('0x1')](_0x57f4c2,_0x24f752('0x30')),_0x324e18[_0x24f752('0x52')]=_['keys'](_0x4e6159[_0x24f752('0x52')]),_0x324e18[_0x24f752('0x26')]=_[_0x24f752('0x3b')](_0x324e18[_0x24f752('0x1d')],_0x324e18['query']),_0x558408[_0x24f752('0x1a')]=_['intersection'](_0x324e18[_0x24f752('0x1d')],qs[_0x24f752('0xb')](_0x4e6159[_0x24f752('0x52')][_0x24f752('0xb')])),_0x558408[_0x24f752('0x1a')]=_0x558408[_0x24f752('0x1a')]['length']?_0x558408[_0x24f752('0x1a')]:_0x324e18[_0x24f752('0x1d')];typeof _0x4e6159[_0x24f752('0x52')][_0x24f752('0x7')]===_0x24f752('0x3c')&&(_0x558408['limit']=qs[_0x24f752('0x54')](_0x4e6159[_0x24f752('0x52')]['limit']),_0x558408['offset']=qs[_0x24f752('0xd')](_0x4e6159['query'][_0x24f752('0xd')]));_0x558408[_0x24f752('0x4')]=qs[_0x24f752('0xe')](_0x4e6159[_0x24f752('0x52')][_0x24f752('0xe')]),_0x558408[_0x24f752('0x4b')]=qs['filters'](_[_0x24f752('0x2a')](_0x4e6159[_0x24f752('0x52')],_0x324e18[_0x24f752('0x26')]),_0x57f4c2);_0x4e6159['query'][_0x24f752('0x39')]&&(_0x558408['where']=_[_0x24f752('0x45')](_0x558408[_0x24f752('0x4b')],{[Op['or']]:_[_0x24f752('0x1')](_0x57f4c2,function(_0x1821f2){const _0x33ddd3=_0x24f752;if(_0x1821f2[_0x33ddd3('0x57')]!==_0x33ddd3('0x4c')){const _0x2041f6={};return _0x2041f6[_0x1821f2[_0x33ddd3('0x30')]]={[Op['like']]:'%'+_0x4e6159[_0x33ddd3('0x52')][_0x33ddd3('0x39')]+'%'},_0x2041f6;}})}));_0x558408=_['merge']({},_0x558408,_0x4e6159[_0x24f752('0x31')]);const _0x4b432a={'where':_0x558408[_0x24f752('0x4b')]};return db[_0x24f752('0x3')][_0x24f752('0x4f')](_0x4b432a)['then'](function(_0x5302fe){const _0x1da601=_0x24f752;return _0x23916e[_0x1da601('0x4f')]=_0x5302fe,_0x4e6159[_0x1da601('0x52')][_0x1da601('0x43')]&&(_0x558408[_0x1da601('0x32')]=[{'all':!![]}]),db['Trunk'][_0x1da601('0x55')](_0x558408);})[_0x24f752('0x59')](function(_0x3858dd){const _0x424e21=_0x24f752;return _0x23916e[_0x424e21('0x4a')]=_0x3858dd,_0x23916e;})['then'](respondWithFilteredResult(_0x529cdb,_0x558408))['catch'](handleError(_0x529cdb,null));},exports['show']=function(_0x290c5a,_0x512539){const _0x53add0=_0x1689c3;let _0x16e63a={'raw':![],'where':{'id':_0x290c5a[_0x53add0('0x48')]['id']}};const _0x492667={};return _0x492667[_0x53add0('0x1d')]=_['keys'](db[_0x53add0('0x3')]['rawAttributes']),_0x492667[_0x53add0('0x52')]=_[_0x53add0('0x2c')](_0x290c5a[_0x53add0('0x52')]),_0x492667[_0x53add0('0x26')]=_['intersection'](_0x492667[_0x53add0('0x1d')],_0x492667[_0x53add0('0x52')]),_0x16e63a['attributes']=_[_0x53add0('0x3b')](_0x492667[_0x53add0('0x1d')],qs['fields'](_0x290c5a[_0x53add0('0x52')]['fields'])),_0x16e63a['attributes']=_0x16e63a[_0x53add0('0x1a')][_0x53add0('0x46')]?_0x16e63a[_0x53add0('0x1a')]:_0x492667['model'],_0x290c5a[_0x53add0('0x52')][_0x53add0('0x43')]&&(_0x16e63a[_0x53add0('0x32')]=[{'all':!![]}]),_0x16e63a=_[_0x53add0('0x45')]({},_0x16e63a,_0x290c5a['options']),db[_0x53add0('0x3')][_0x53add0('0x3a')](_0x16e63a)[_0x53add0('0x59')](handleEntityNotFound(_0x512539,null))[_0x53add0('0x59')](respondWithResult(_0x512539,null))[_0x53add0('0x2')](handleError(_0x512539,null));},exports[_0x1689c3('0x27')]=function(_0x2dff76,_0x255b5b){const _0x1df960=_0x1689c3;let _0x362fde={'where':{'id':_0x2dff76['params']['id']}};const _0x4708c3={};return _0x4708c3['model']=_[_0x1df960('0x2c')](db['Trunk']['rawAttributes']),_0x362fde[_0x1df960('0x1a')]=_['intersection'](_0x4708c3[_0x1df960('0x1d')],qs[_0x1df960('0xb')](_0x2dff76['query'][_0x1df960('0xb')])),_0x362fde[_0x1df960('0x1a')]=_0x362fde[_0x1df960('0x1a')][_0x1df960('0x46')]?_0x362fde['attributes']:_0x4708c3[_0x1df960('0x1d')],_0x2dff76[_0x1df960('0x52')][_0x1df960('0x43')]&&(_0x362fde['include']=[{'all':!![]}]),_0x362fde=_[_0x1df960('0x45')]({},_0x362fde,_0x2dff76['options']),db[_0x1df960('0x3')]['findOne'](_0x362fde)[_0x1df960('0x59')](handleEntityNotFound(_0x255b5b,null))[_0x1df960('0x59')](function(_0x139eed){const _0x373163=_0x1df960;if(_0x139eed){let _0x42fafd=_0x139eed[_0x373163('0x20')]({'plain':!![]});return _0x42fafd=qs[_0x373163('0x22')](_0x42fafd,['id',_0x373163('0x8'),_0x373163('0x49')]),_0x2dff76[_0x373163('0x36')]=_['omit'](_0x2dff76[_0x373163('0x36')],['id','createdAt',_0x373163('0x49')]),db[_0x373163('0x3')][_0x373163('0x44')](_[_0x373163('0x45')](_0x42fafd,_0x2dff76[_0x373163('0x36')]),{'include':_0x2dff76[_0x373163('0x52')]['includeAll']?[{'all':!![]}]:undefined})[_0x373163('0x59')](function(_0x21f78c){const _0x1c749c=_0x373163,_0x5ec76d=_0x2dff76[_0x1c749c('0x4e')][_0x1c749c('0x20')]({'plain':!![]});if(!_0x5ec76d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5ec76d[_0x1c749c('0x42')]===_0x1c749c('0x4e')){const _0x5e4f24=_0x21f78c['get']({'plain':!![]}),_0x352085=_0x1c749c('0x1b');return db['UserProfileSection']['findOne']({'where':{'name':_0x352085,'userProfileId':_0x5ec76d[_0x1c749c('0x5')]},'raw':!![]})['then'](function(_0x4a1d06){const _0x404587=_0x1c749c;return _0x4a1d06&&_0x4a1d06[_0x404587('0x1c')]===0x0?db[_0x404587('0xc')][_0x404587('0x44')]({'name':_0x5e4f24[_0x404587('0x30')],'resourceId':_0x5e4f24['id'],'type':_0x4a1d06[_0x404587('0x30')],'sectionId':_0x4a1d06['id']},{})['then'](function(){return _0x21f78c;}):_0x21f78c;})['catch'](function(_0xb56c0){const _0x276574=_0x1c749c;logger[_0x276574('0x17')](_0x276574('0x13'),_0xb56c0);throw _0xb56c0;});}return _0x21f78c;});}})[_0x1df960('0x59')](respondWithResult(_0x255b5b,0xc9))[_0x1df960('0x2')](handleError(_0x255b5b,null));},exports[_0x1689c3('0x44')]=function(_0xa7f992,_0x24b579){const _0x5c07e8=_0x1689c3;let _0xc9a35d;return db[_0x5c07e8('0x3')][_0x5c07e8('0x44')](_0xa7f992[_0x5c07e8('0x36')],{'raw':!![]})[_0x5c07e8('0x59')](function(_0x2bf85d){const _0x11eb11=_0x5c07e8;return _0xc9a35d=_0x2bf85d,db[_0x11eb11('0x3')][_0x11eb11('0x55')]({'raw':!![]});})[_0x5c07e8('0x59')](function(_0x4ee9f9){const _0x894d0=_0x5c07e8,_0x3e47ee=fs[_0x894d0('0x3f')](path[_0x894d0('0x29')](config[_0x894d0('0x0')],_0x894d0('0x24')),_0x894d0('0x15')),_0x28850e=fs['readFileSync'](path[_0x894d0('0x29')](config[_0x894d0('0x0')],'files/templates/registry.ejs'),_0x894d0('0x15')),_0x14659a=ejs[_0x894d0('0x11')](_0x3e47ee,{'trunks':_0x4ee9f9||[]});fs[_0x894d0('0x47')](_0x894d0('0x23'),_0x14659a);if(_0xc9a35d[_0x894d0('0x58')]){const _0x54ebad=ejs[_0x894d0('0x11')](_0x28850e,{'trunks':_0x4ee9f9||[]});fs['writeFileSync'](_0x894d0('0x2f'),_0x54ebad);}})['then'](function(){const _0x1cbe17=_0x5c07e8;return respondWithRpcPromise(_0x1cbe17('0x9'),_0x1cbe17('0x44'),{'module':_0x1cbe17('0x28')});})[_0x5c07e8('0x59')](function(){const _0x56e1cb=_0x5c07e8,_0x9a9003=_0xa7f992[_0x56e1cb('0x4e')][_0x56e1cb('0x20')]({'plain':!![]});if(!_0x9a9003)throw new Error(_0x56e1cb('0x3d'));if(_0x9a9003['role']===_0x56e1cb('0x4e')){const _0x4db7be=_0xc9a35d['get']({'plain':!![]});return db[_0x56e1cb('0x40')][_0x56e1cb('0x3a')]({'where':{'name':_0x56e1cb('0x1b'),'userProfileId':_0x9a9003[_0x56e1cb('0x5')]},'raw':!![]})[_0x56e1cb('0x59')](function(_0x3f1033){const _0xc2dc01=_0x56e1cb;return _0x3f1033&&_0x3f1033[_0xc2dc01('0x1c')]===0x0?db[_0xc2dc01('0xc')][_0xc2dc01('0x44')]({'name':_0x4db7be[_0xc2dc01('0x30')],'resourceId':_0x4db7be['id'],'type':_0x3f1033[_0xc2dc01('0x30')],'sectionId':_0x3f1033['id']},{})[_0xc2dc01('0x59')](function(){return _0xc9a35d;}):_0xc9a35d;})[_0x56e1cb('0x2')](function(_0x90d757){const _0x4f0fbe=_0x56e1cb;logger['error'](_0x4f0fbe('0x13'),_0x90d757);throw _0x90d757;});}return _0xc9a35d;})['then'](respondWithResult(_0x24b579,0xc9))['catch'](handleError(_0x24b579,null));},exports['update']=function(_0xa75423,_0x488dd1){const _0x13f481=_0x1689c3;let _0x439ba1;return db[_0x13f481('0x3')][_0x13f481('0x3a')]({'where':{'id':_0xa75423['params']['id']}})[_0x13f481('0x59')](handleEntityNotFound(_0x488dd1,null))[_0x13f481('0x59')](saveUpdates(_0xa75423['body'],null))[_0x13f481('0x59')](function(_0x2e812d){const _0x36ecb9=_0x13f481;if(_0x2e812d)return _0x439ba1=_0x2e812d,db[_0x36ecb9('0x3')]['findAll']({'raw':!![]});})[_0x13f481('0x59')](function(_0x4cf1ae){const _0x384c98=_0x13f481;if(_0x4cf1ae){const _0x323ad3=fs[_0x384c98('0x3f')](path[_0x384c98('0x29')](config[_0x384c98('0x0')],_0x384c98('0x24')),'utf8'),_0x1084b3=fs[_0x384c98('0x3f')](path[_0x384c98('0x29')](config['root'],'files/templates/registry.ejs'),_0x384c98('0x15')),_0xc3356f=ejs[_0x384c98('0x11')](_0x323ad3,{'trunks':_0x4cf1ae||[]});fs[_0x384c98('0x47')](_0x384c98('0x23'),_0xc3356f);const _0x2eec3f=ejs[_0x384c98('0x11')](_0x1084b3,{'trunks':_0x4cf1ae||[]});return fs[_0x384c98('0x47')](_0x384c98('0x2f'),_0x2eec3f),respondWithRpcPromise(_0x384c98('0x9'),_0x384c98('0x1e'),{'module':_0x384c98('0x28')});}return null;})[_0x13f481('0x59')](function(_0x47f02e){if(_0x47f02e)return _0x439ba1;})['then'](respondWithResult(_0x488dd1,null))[_0x13f481('0x2')](handleError(_0x488dd1,null));},exports[_0x1689c3('0xf')]=function(_0x4584c5,_0x12088b){const _0x38e6f7=_0x1689c3;return db[_0x38e6f7('0x3')]['findOne']({'where':{'id':_0x4584c5[_0x38e6f7('0x48')]['id']}})['then'](handleEntityNotFound(_0x12088b,null))['then'](removeEntity(_0x12088b,null))[_0x38e6f7('0x59')](function(){const _0x49b7eb=_0x38e6f7;return db[_0x49b7eb('0x3')][_0x49b7eb('0x55')]({'raw':!![]});})[_0x38e6f7('0x59')](function(_0xef7c4e){const _0x364dfb=_0x38e6f7,_0x39110d=fs[_0x364dfb('0x3f')](path[_0x364dfb('0x29')](config['root'],_0x364dfb('0x24')),'utf8'),_0xf2a314=fs[_0x364dfb('0x3f')](path[_0x364dfb('0x29')](config['root'],_0x364dfb('0x1f')),_0x364dfb('0x15')),_0x43605a=ejs[_0x364dfb('0x11')](_0x39110d,{'trunks':_0xef7c4e}),_0xb709b=ejs[_0x364dfb('0x11')](_0xf2a314,{'trunks':_0xef7c4e});return fs[_0x364dfb('0x47')](_0x364dfb('0x23'),_0x43605a),fs[_0x364dfb('0x47')](_0x364dfb('0x2f'),_0xb709b),respondWithRpcPromise(_0x364dfb('0x9'),_0x364dfb('0xf'),{'module':_0x364dfb('0x28')});})['catch'](handleError(_0x12088b,null));};