Add readonly mode

old-stable24
Varun Patil 2022-10-22 10:41:34 -07:00
parent d7feba6803
commit fc2ddcd24e
2 changed files with 14 additions and 6 deletions

View File

@ -603,6 +603,11 @@ class ApiController extends Controller
return new JSONResponse([], Http::STATUS_PRECONDITION_FAILED);
}
// Make sure not running in read-only mode
if ($this->config->getSystemValue('memories_readonly', false)) {
return new JSONResponse(["message" => "Cannot change settings in readonly mode"], Http::STATUS_FORBIDDEN);
}
$userId = $user->getUid();
$this->config->setUserValue($userId, Application::APPNAME, $key, $value);

View File

@ -77,12 +77,15 @@ export default class Settings extends Mixins(UserConfig, GlobalMixin) {
const settings = ['showHidden', 'timelinePath', 'foldersPath'];
// Update all
const p = await Promise.all(settings.map(async (setting) => this.updateSetting(setting)));
if (p.some((r) => !r || r.status !== 200)) {
showError(this.t('memories', 'Error updating settings'));
} else {
window.location.reload();
try {
const p = await Promise.all(settings.map(async (setting) => this.updateSetting(setting)));
if (p.some((r) => !r || r.status !== 200)) {
showError(this.t('memories', 'Error updating settings'));
} else {
window.location.reload();
}
} catch (e) {
showError(e?.response?.data?.message || this.t('memories', 'Error updating settings'));
}
}
}