Add route to get available languages
This commit is contained in:
@@ -123,6 +123,7 @@ var addons = require('./addons.js'),
|
||||
assert = require('assert'),
|
||||
backups = require('./backups.js'),
|
||||
BoxError = require('./boxerror.js'),
|
||||
cloudron = require('./cloudron.js'),
|
||||
constants = require('./constants.js'),
|
||||
cron = require('./cron.js'),
|
||||
CronJob = require('cron').CronJob,
|
||||
@@ -202,9 +203,6 @@ let gDefaults = (function () {
|
||||
|
||||
let gCache = {};
|
||||
|
||||
// Keep in sync with dashboard
|
||||
const gSupportedLanguages = ['en', 'de', 'fr', 'it'];
|
||||
|
||||
function notifyChange(key, value) {
|
||||
assert.strictEqual(typeof key, 'string');
|
||||
// value is a variant
|
||||
@@ -672,14 +670,18 @@ function setLanguage(language, callback) {
|
||||
assert.strictEqual(typeof language, 'string');
|
||||
assert.strictEqual(typeof callback, 'function');
|
||||
|
||||
if (gSupportedLanguages.indexOf(language) === -1) return callback(new BoxError(BoxError.NOT_FOUND));
|
||||
|
||||
settingsdb.set(exports.LANGUAGE_KEY, language, function (error) {
|
||||
cloudron.getLanguages(function (error, languages) {
|
||||
if (error) return callback(error);
|
||||
|
||||
notifyChange(exports.LANGUAGE_KEY, language);
|
||||
if (languages.indexOf(language) === -1) return callback(new BoxError(BoxError.NOT_FOUND));
|
||||
|
||||
callback(null);
|
||||
settingsdb.set(exports.LANGUAGE_KEY, language, function (error) {
|
||||
if (error) return callback(error);
|
||||
|
||||
notifyChange(exports.LANGUAGE_KEY, language);
|
||||
|
||||
callback(null);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user