diff --git a/cloudron.js b/cloudron.js index 57007b6..f56abd0 100644 --- a/cloudron.js +++ b/cloudron.js @@ -8,6 +8,7 @@ var assert = require('assert'), dns = require('dns'), querystring = require('querystring'), request = require('superagent-sync'), + semver = require('semver'), sleep = require('sleep').sleep, url = require('url'); @@ -126,10 +127,12 @@ Cloudron.prototype.setCredentials = function (password, accessToken) { }; }; -Cloudron.prototype.installApp = function (location, manifest) { +Cloudron.prototype.installApp = function (location, manifest, cloudronVersion) { + cloudronVersion = cloudronVersion || '0.0.74'; + var res = request.post(this._origin + '/api/v1/apps/install') .query({ access_token: this._credentials.accessToken }) - .send({ manifest: manifest, appStoreId: '', location: location, accessRestriction: null, oauthProxy: false }) + .send({ manifest: manifest, appStoreId: '', location: location, accessRestriction: semver.lte(cloudronVersion, '0.0.73') ? '' : null, oauthProxy: false }) .end(); common.verifyResponse2(res, 'Cannot install app'); debug('App installed at %s'.green, location); diff --git a/test/cloudron-update-test.js b/test/cloudron-update-test.js index 03eafbf..0b1e100 100644 --- a/test/cloudron-update-test.js +++ b/test/cloudron-update-test.js @@ -78,7 +78,7 @@ describe('Cloudron update testing', function () { var location = 'test' + (Math.random() * 10000).toFixed(); it('can install app', function () { var manifest = appStore.getManifest(common.TESTAPP_ID, common.TESTAPP_VERSION); - appId = cloudron.installApp(location, manifest); + appId = cloudron.installApp(location, manifest, fromVersion); }); it('can populate the addons', function () {