27 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
const passport = require('../../../ivis-core/server/lib/passport');
 | 
						|
const shares = require('../../../ivis-core/server/models/shares');
 | 
						|
const users = require('../../../ivis-core/server/models/users');
 | 
						|
const {castToInteger} = require('../../../ivis-core/server/lib/helpers');
 | 
						|
const knex = require('../../../ivis-core/server/lib/knex');
 | 
						|
const urls = require('../../../ivis-core/server/lib/urls');
 | 
						|
const contextHelpers = require('../../../ivis-core/server/lib/context-helpers');
 | 
						|
 | 
						|
const router = require('../../../ivis-core/server/lib/router-async').create();
 | 
						|
 | 
						|
router.getAsync('/mt-embedded-panel/:mtUserId/:panelId', passport.loggedIn, async (req, res) => {
 | 
						|
    const panelId = castToInteger(req.params.panelId);
 | 
						|
    const mtUserId = castToInteger(req.params.mtUserId);
 | 
						|
    const userName = `mt-user-${mtUserId}`;
 | 
						|
    const user = await users.getByUsername(req.context, userName);
 | 
						|
 | 
						|
    const restrictedAccessToken = await users.getRestrictedAccessToken(req.context, 'panel', {panelId, renewableBySandbox: true}, user.id);
 | 
						|
 | 
						|
    return res.json({
 | 
						|
        token: restrictedAccessToken,
 | 
						|
        ivisSandboxUrlBase: urls.getSandboxUrlBase()
 | 
						|
    });
 | 
						|
});
 | 
						|
 | 
						|
module.exports = router;
 |