Remove settings locked field

this was a too generic and will be replaced with feature flags
This commit is contained in:
Girish Ramakrishnan
2019-05-06 20:01:35 -07:00
parent 0e8fe8cd07
commit 222d2840cf
5 changed files with 19 additions and 22 deletions
+1 -17
View File
@@ -4,9 +4,7 @@ exports = module.exports = {
set: set,
get: get,
getCloudronAvatar: getCloudronAvatar,
verifySettingsLock: verifySettingsLock
getCloudronAvatar: getCloudronAvatar
};
var assert = require('assert'),
@@ -19,20 +17,6 @@ var assert = require('assert'),
settings = require('../settings.js'),
SettingsError = settings.SettingsError;
function verifySettingsLock(req, res, next) {
assert.strictEqual(typeof req.params.setting, 'string');
settings.get(req.params.setting, function (error, result) {
// not locked. let actual route return not found. this is useful for entries stored outside the database like cloudron_avatar
if (error && error.reason === SettingsError.NOT_FOUND) return next();
if (error) return next(new HttpError(500, error));
if (result.locked) return next(new HttpError(423, 'This setting is locked'));
next();
});
}
function getAppAutoupdatePattern(req, res, next) {
settings.getAppAutoupdatePattern(function (error, pattern) {
if (error) return next(new HttpError(500, error));
+2 -3
View File
@@ -104,7 +104,6 @@ function initializeExpressSync() {
var domainsManageScope = routes.accesscontrol.scope(accesscontrol.SCOPE_DOMAINS_MANAGE);
const verifyDomainLock = routes.domains.verifyDomainLock;
const verifySettingsLock = routes.settings.verifySettingsLock;
// csrf protection
var csrf = routes.oauth2.csrf();
@@ -244,8 +243,8 @@ function initializeExpressSync() {
router.post('/api/v1/apps/:id/owner', appsManageScope, routes.apps.setOwner);
// settings routes (these are for the settings tab - avatar & name have public routes for normal users. see above)
router.get ('/api/v1/settings/:setting', settingsScope, verifySettingsLock, routes.settings.get);
router.post('/api/v1/settings/:setting', settingsScope, verifySettingsLock, (req, res, next) => {
router.get ('/api/v1/settings/:setting', settingsScope, routes.settings.get);
router.post('/api/v1/settings/:setting', settingsScope, (req, res, next) => {
return req.params.setting === 'cloudron_avatar' ? multipart(req, res, next) : next();
}, routes.settings.set);
+1 -1
View File
@@ -13,7 +13,7 @@ var assert = require('assert'),
database = require('./database.js'),
DatabaseError = require('./databaseerror');
const SETTINGS_FIELDS = [ 'name', 'value', 'locked' ].join(',');
const SETTINGS_FIELDS = [ 'name', 'value' ].join(',');
function get(key, callback) {
assert.strictEqual(typeof key, 'string');