diff --git a/src/routes/appstore.js b/src/routes/appstore.js index 84dc97082..9348ad093 100644 --- a/src/routes/appstore.js +++ b/src/routes/appstore.js @@ -5,6 +5,7 @@ exports = module.exports = { getApp: getApp, getAppVersion: getAppVersion, + createUserToken: createUserToken, registerCloudron: registerCloudron, getSubscription: getSubscription }; @@ -44,6 +45,14 @@ function getAppVersion(req, res, next) { }); } +function createUserToken(req, res, next) { + appstore.getUserToken(function (error, result) { + if (error) return next(BoxError.toHttpError(error)); + + next(new HttpSuccess(201, { accessToken: result })); + }); +} + function registerCloudron(req, res, next) { assert.strictEqual(typeof req.body, 'object'); diff --git a/src/server.js b/src/server.js index 4862bfa0c..88b68c2af 100644 --- a/src/server.js +++ b/src/server.js @@ -182,6 +182,7 @@ function initializeExpressSync() { // appstore and subscription routes router.post('/api/v1/appstore/register_cloudron', token, authorizeAdmin, routes.appstore.registerCloudron); + router.post('/api/v1/appstore/user_token', token, authorizeAdmin, routes.appstore.createUserToken); router.get ('/api/v1/appstore/subscription', token, authorizeAdmin, routes.appstore.getSubscription); router.get ('/api/v1/appstore/apps', token, authorizeAdmin, routes.appstore.getApps); router.get ('/api/v1/appstore/apps/:appstoreId', token, authorizeAdmin, routes.appstore.getApp);