fixing toasts not showing on certain pages / adding statement about ai 🤖

This commit is contained in:
orangecoding
2026-04-27 15:58:41 +02:00
parent f30ec4645c
commit 8a7b14c079
10 changed files with 168 additions and 19 deletions

View File

@@ -9,6 +9,7 @@ import fs from 'fs';
import { ensureDemoUserExists } from '../../services/storage/userStorage.js';
import logger from '../../services/logger.js';
import { getSettings, upsertSettings } from '../../services/storage/settingsStorage.js';
import { isAdmin } from '../security.js';
const service = restana();
const generalSettingsRouter = service.newRouter();
@@ -23,7 +24,7 @@ generalSettingsRouter.post('/', async (req, res) => {
}
const localSettings = await getSettings();
if (localSettings.demoMode) {
if (localSettings.demoMode && !isAdmin(req)) {
res.send(new Error('In demo mode, it is not allowed to change these settings.'));
return;
}

View File

@@ -183,7 +183,7 @@ jobRouter.post('/', async (req, res) => {
return;
}
if (settings.demoMode && jobFromDb && jobFromDb.name === DEMO_JOB_NAME) {
if (settings.demoMode && !isAdmin(req) && jobFromDb && jobFromDb.name === DEMO_JOB_NAME) {
res.send(new Error('Sorry, but you cannot change the Status of our Demo Job ;)'));
return;
}
@@ -212,7 +212,7 @@ jobRouter.delete('', async (req, res) => {
const settings = await getSettings();
try {
const job = jobStorage.getJob(jobId);
if (settings.demoMode && job.name === DEMO_JOB_NAME) {
if (settings.demoMode && !isAdmin(req) && job.name === DEMO_JOB_NAME) {
res.send(new Error('Sorry, but you cannot remove the Demo Job ;)'));
return;
}
@@ -235,7 +235,7 @@ jobRouter.put('/:jobId/status', async (req, res) => {
try {
const job = jobStorage.getJob(jobId);
if (settings.demoMode && job.name === DEMO_JOB_NAME) {
if (settings.demoMode && !isAdmin(req) && job.name === DEMO_JOB_NAME) {
res.send(new Error('Sorry, but you cannot change the Status of our Demo Job ;)'));
return;
}

View File

@@ -110,7 +110,7 @@ listingsRouter.delete('/job', async (req, res) => {
const { jobId, hardDelete = false } = req.body;
const settings = await getSettings();
try {
if (settings.demoMode) {
if (settings.demoMode && !isAdminFn(req)) {
res.send(new Error('Sorry, but you cannot remove listings in demo mode ;)'));
return;
}

View File

@@ -7,6 +7,7 @@ import restana from 'restana';
import * as userStorage from '../../services/storage/userStorage.js';
import * as jobStorage from '../../services/storage/jobStorage.js';
import { getSettings } from '../../services/storage/settingsStorage.js';
import { isAdmin as isAdminUser } from '../security.js';
const service = restana();
const userRouter = service.newRouter();
function checkIfAnyAdminAfterRemovingUser(userIdToBeRemoved, allUser) {
@@ -29,7 +30,7 @@ userRouter.get('/:userId', async (req, res) => {
});
userRouter.delete('/', async (req, res) => {
const settings = await getSettings();
if (settings.demoMode) {
if (settings.demoMode && !isAdminUser(req)) {
res.send(new Error('In demo mode, it is not allowed to remove user.'));
return;
}
@@ -51,7 +52,7 @@ userRouter.delete('/', async (req, res) => {
});
userRouter.post('/', async (req, res) => {
const settings = await getSettings();
if (settings.demoMode) {
if (settings.demoMode && !isAdminUser(req)) {
res.send(new Error('In demo mode, it is not allowed to change or add user.'));
return;
}

View File

@@ -6,6 +6,7 @@
import restana from 'restana';
import SqliteConnection from '../../services/storage/SqliteConnection.js';
import { getSettings, upsertSettings } from '../../services/storage/settingsStorage.js';
import { isAdmin } from '../security.js';
import { resetGeocoordinatesAndDistanceForUser } from '../../services/storage/listingsStorage.js';
import { geocodeAddress } from '../../services/geocoding/geoCodingService.js';
import { autocompleteAddress } from '../../services/geocoding/autocompleteService.js';
@@ -46,7 +47,7 @@ userSettingsRouter.post('/home-address', async (req, res) => {
const { home_address } = req.body;
const settings = await getSettings();
if (settings.demoMode) {
if (settings.demoMode && !isAdmin(req)) {
res.send(new Error('In demo mode, it is not allowed to change the home address.'));
return;
}
@@ -81,7 +82,7 @@ userSettingsRouter.post('/news-hash', async (req, res) => {
const { news_hash } = req.body;
const globalSettings = await getSettings();
if (globalSettings.demoMode) {
if (globalSettings.demoMode && !isAdmin(req)) {
res.statusCode = 403;
res.send({ error: 'In demo mode, it is not allowed to change settings.' });
return;
@@ -102,7 +103,7 @@ userSettingsRouter.post('/provider-details', async (req, res) => {
const { provider_details } = req.body;
const globalSettings = await getSettings();
if (globalSettings.demoMode) {
if (globalSettings.demoMode && !isAdmin(req)) {
res.statusCode = 403;
res.send({ error: 'In demo mode, it is not allowed to change settings.' });
return;