diff --git a/lib/api/api.js b/lib/api/api.js index be7ccc5..265e0a5 100644 --- a/lib/api/api.js +++ b/lib/api/api.js @@ -76,13 +76,13 @@ fastify.register(async (app) => { app.register(dashboardPlugin, { prefix: '/api/dashboard' }); app.register(userSettingsPlugin, { prefix: '/api/user/settings' }); app.register(trackingPlugin, { prefix: '/api/tracking' }); + app.register(generalSettingsPlugin, { prefix: '/api/admin/generalSettings' }); }); // Admin-only routes fastify.register(async (app) => { app.addHook('preHandler', authHook); app.addHook('preHandler', adminHook); - app.register(generalSettingsPlugin, { prefix: '/api/admin/generalSettings' }); app.register(backupPlugin, { prefix: '/api/admin/backup' }); app.register(userPlugin, { prefix: '/api/admin/users' }); }); diff --git a/lib/api/routes/generalSettingsRoute.js b/lib/api/routes/generalSettingsRoute.js index 310b1c4..2c6d532 100644 --- a/lib/api/routes/generalSettingsRoute.js +++ b/lib/api/routes/generalSettingsRoute.js @@ -27,8 +27,11 @@ export default async function generalSettingsPlugin(fastify) { } const localSettings = await getSettings(); - if (localSettings.demoMode && !isAdmin(request)) { - return reply.code(403).send({ error: 'In demo mode, it is not allowed to change these settings.' }); + if (!isAdmin(request)) { + const reason = localSettings.demoMode + ? 'In demo mode, it is not allowed to change these settings.' + : 'Only admins can change these settings.'; + return reply.code(403).send({ error: reason }); } try { diff --git a/package.json b/package.json index 01314af..dce50c1 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fredy", - "version": "22.0.4", + "version": "22.0.5", "description": "[F]ind [R]eal [E]states [d]amn eas[y].", "scripts": { "prepare": "husky", @@ -75,7 +75,7 @@ "@turf/boolean-point-in-polygon": "^7.3.5", "@vitejs/plugin-react": "6.0.1", "adm-zip": "^0.5.17", - "better-sqlite3": "^12.9.0", + "better-sqlite3": "^12.10.0", "chart.js": "^4.5.1", "cheerio": "^1.2.0", "cloakbrowser": "^0.3.28", diff --git a/yarn.lock b/yarn.lock index 5d9bb01..4e2fa49 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2675,10 +2675,10 @@ basic-ftp@^5.0.2: resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.3.1.tgz#3148ee9af43c0522514a4f973fecb1d3cbb6d71e" integrity sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw== -better-sqlite3@^12.9.0: - version "12.9.0" - resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-12.9.0.tgz#32498c99ba3fb36f604fbb5c70667c5f68c00414" - integrity sha512-wqUv4Gm3toFpHDQmaKD4QhZm3g1DjUBI0yzS4UBl6lElUmXFYdTQmmEDpAFa5o8FiFiymURypEnfVHzILKaxqQ== +better-sqlite3@^12.10.0: + version "12.10.0" + resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-12.10.0.tgz#bde622d14a18008583a53bc53501ae98f1a12221" + integrity sha512-CyzaZRQKyHkB2ZInfTTl2nvT33EbDpjkLEbE8/Zck3Ll6O0qqvuGdrJ45HgtH+HykRg88ITY3AdreBGN70aBSQ== dependencies: bindings "^1.5.0" prebuild-install "^7.1.1"