diff --git a/src/routes/settings.js b/src/routes/settings.js index 1dc1c80c2..c72608313 100644 --- a/src/routes/settings.js +++ b/src/routes/settings.js @@ -234,6 +234,26 @@ function setRegistryConfig(req, res, next) { }); } +function getDirectoryConfig(req, res, next) { + settings.getDirectoryConfig(function (error, directoryConfig) { + if (error) return next(BoxError.toHttpError(error)); + + next(new HttpSuccess(200, directoryConfig)); + }); +} + +function setDirectoryConfig(req, res, next) { + assert.strictEqual(typeof req.body, 'object'); + + if (typeof req.body.lockUserProfiles !== 'boolean') return next(new HttpError(400, 'lockUserProfiles is required')); + + settings.setDirectoryConfig(req.body, function (error) { + if (error) return next(BoxError.toHttpError(error)); + + next(new HttpSuccess(200, {})); + }); +} + function getSysinfoConfig(req, res, next) { settings.getSysinfoConfig(function (error, sysinfoConfig) { if (error) return next(BoxError.toHttpError(error)); @@ -270,6 +290,7 @@ function get(req, res, next) { case settings.BOX_AUTOUPDATE_PATTERN_KEY: return getBoxAutoupdatePattern(req, res, next); case settings.TIME_ZONE_KEY: return getTimeZone(req, res, next); + case settings.DIRECTORY_CONFIG_KEY: return getDirectoryConfig(req, res, next); case settings.SUPPORT_CONFIG_KEY: return getSupportConfig(req, res, next); default: return next(new HttpError(404, 'No such setting')); @@ -291,6 +312,8 @@ function set(req, res, next) { case settings.BOX_AUTOUPDATE_PATTERN_KEY: return setBoxAutoupdatePattern(req, res, next); case settings.TIME_ZONE_KEY: return setTimeZone(req, res, next); + case settings.DIRECTORY_CONFIG_KEY: return setDirectoryConfig(req, res, next); + default: return next(new HttpError(404, 'No such setting')); } }