Send setup state to get the actually correct ip
This commit is contained in:
@@ -5,6 +5,9 @@ exports = module.exports = {
|
|||||||
getApp: getApp,
|
getApp: getApp,
|
||||||
getAppVersion: getAppVersion,
|
getAppVersion: getAppVersion,
|
||||||
|
|
||||||
|
trackBeginSetup: trackBeginSetup,
|
||||||
|
trackFinishedSetup: trackFinishedSetup,
|
||||||
|
|
||||||
registerWithLoginCredentials: registerWithLoginCredentials,
|
registerWithLoginCredentials: registerWithLoginCredentials,
|
||||||
registerWithLicense: registerWithLicense,
|
registerWithLicense: registerWithLicense,
|
||||||
|
|
||||||
@@ -375,6 +378,30 @@ function registerCloudron(data, callback) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This works without a Cloudron token as this Cloudron was not yet registered
|
||||||
|
function trackBeginSetup(provider) {
|
||||||
|
assert.strictEqual(typeof provider, 'string');
|
||||||
|
|
||||||
|
const url = `${settings.apiServerOrigin()}/api/v1/helper/setup_begin`;
|
||||||
|
|
||||||
|
superagent.post(url).send({ provider }).timeout(30 * 1000).end(function (error, result) {
|
||||||
|
if (error && !error.response) return console.error(error.message);
|
||||||
|
if (result.statusCode !== 200) return console.error(error.message);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// This works without a Cloudron token as this Cloudron was not yet registered
|
||||||
|
function trackFinishedSetup(domain) {
|
||||||
|
assert.strictEqual(typeof domain, 'string');
|
||||||
|
|
||||||
|
const url = `${settings.apiServerOrigin()}/api/v1/helper/setup_finished`;
|
||||||
|
|
||||||
|
superagent.post(url).send({ domain }).timeout(30 * 1000).end(function (error, result) {
|
||||||
|
if (error && !error.response) return console.error(error.message);
|
||||||
|
if (result.statusCode !== 200) return console.error(error.message);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function registerWithLicense(license, domain, callback) {
|
function registerWithLicense(license, domain, callback) {
|
||||||
assert.strictEqual(typeof license, 'string');
|
assert.strictEqual(typeof license, 'string');
|
||||||
assert.strictEqual(typeof domain, 'string');
|
assert.strictEqual(typeof domain, 'string');
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ exports = module.exports = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
var assert = require('assert'),
|
var assert = require('assert'),
|
||||||
|
appstore = require('../appstore.js'),
|
||||||
auditSource = require('../auditsource.js'),
|
auditSource = require('../auditsource.js'),
|
||||||
BoxError = require('../boxerror.js'),
|
BoxError = require('../boxerror.js'),
|
||||||
debug = require('debug')('box:routes/setup'),
|
debug = require('debug')('box:routes/setup'),
|
||||||
@@ -62,6 +63,8 @@ function setup(req, res, next) {
|
|||||||
if (error) return next(BoxError.toHttpError(error));
|
if (error) return next(BoxError.toHttpError(error));
|
||||||
|
|
||||||
next(new HttpSuccess(200, {}));
|
next(new HttpSuccess(200, {}));
|
||||||
|
|
||||||
|
appstore.trackFinishedSetup(dnsConfig.domain);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,5 +119,10 @@ function getStatus(req, res, next) {
|
|||||||
if (error) return next(BoxError.toHttpError(error));
|
if (error) return next(BoxError.toHttpError(error));
|
||||||
|
|
||||||
next(new HttpSuccess(200, status));
|
next(new HttpSuccess(200, status));
|
||||||
|
|
||||||
|
// check if Cloudron is not in setup state nor activated and let appstore know of the attempt
|
||||||
|
if (!status.activated && !status.setup.active && !status.restore.active) {
|
||||||
|
appstore.trackBeginSetup(status.provider);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user