Add function to retrieve appstore user access token

This commit is contained in:
Johannes Zellner
2020-02-20 17:05:07 +01:00
parent 4b4586c1e5
commit 857504c409

View File

@@ -16,6 +16,7 @@ exports = module.exports = {
purchaseApp: purchaseApp,
unpurchaseApp: unpurchaseApp,
getUserToken: getUserToken,
getSubscription: getSubscription,
isFreePlan: isFreePlan,
@@ -37,7 +38,6 @@ var apps = require('./apps.js'),
eventlog = require('./eventlog.js'),
groups = require('./groups.js'),
mail = require('./mail.js'),
moment = require('moment'),
os = require('os'),
paths = require('./paths.js'),
safe = require('safetydance'),
@@ -130,6 +130,23 @@ function registerUser(email, password, callback) {
});
}
function getUserToken(callback) {
assert.strictEqual(typeof callback, 'function');
getCloudronToken(function (error, token) {
if (error) return callback(error);
const url = `${settings.apiServerOrigin()}/api/v1/user_token`;
superagent.post(url).send({}).query({ accessToken: token }).timeout(30 * 1000).end(function (error, result) {
if (error && !error.response) return callback(new BoxError(BoxError.NETWORK_ERROR, error.message));
if (result.statusCode !== 201) return callback(new BoxError(BoxError.EXTERNAL_ERROR, `getUserToken status code: ${result.status}`));
callback(null, result.body.accessToken);
});
});
}
function getSubscription(callback) {
assert.strictEqual(typeof callback, 'function');