From 85607d2ab3804877137cf8aaceda18ef81ddd51d Mon Sep 17 00:00:00 2001 From: "Wei S." <5291640+wayneshn@users.noreply.github.com> Date: Mon, 1 Sep 2025 13:29:45 +0300 Subject: [PATCH] Disable system settings for demo mode (#78) Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com> --- packages/backend/src/api/controllers/settings.controller.ts | 4 ++++ .../src/services/ingestion-connectors/ImapConnector.ts | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/api/controllers/settings.controller.ts b/packages/backend/src/api/controllers/settings.controller.ts index 100f2da..318d638 100644 --- a/packages/backend/src/api/controllers/settings.controller.ts +++ b/packages/backend/src/api/controllers/settings.controller.ts @@ -1,5 +1,6 @@ import type { Request, Response } from 'express'; import { SettingsService } from '../../services/SettingsService'; +import { config } from '../../config'; const settingsService = new SettingsService(); @@ -16,6 +17,9 @@ export const getSettings = async (req: Request, res: Response) => { export const updateSettings = async (req: Request, res: Response) => { try { // Basic validation can be performed here if necessary + if (config.app.isDemo) { + return res.status(403).json({ message: req.t('errors.demoMode') }); + } const updatedSettings = await settingsService.updateSettings(req.body); res.status(200).json(updatedSettings); } catch (error) { diff --git a/packages/backend/src/services/ingestion-connectors/ImapConnector.ts b/packages/backend/src/services/ingestion-connectors/ImapConnector.ts index 37b55e1..9f32469 100644 --- a/packages/backend/src/services/ingestion-connectors/ImapConnector.ts +++ b/packages/backend/src/services/ingestion-connectors/ImapConnector.ts @@ -157,7 +157,11 @@ export class ImapConnector implements IEmailConnector { // filter out trash and all mail emails if (mailbox.specialUse) { const specialUse = mailbox.specialUse.toLowerCase(); - if (specialUse === '\\junk' || specialUse === '\\trash' || specialUse === '\\all') { + if ( + specialUse === '\\junk' || + specialUse === '\\trash' || + specialUse === '\\all' + ) { return false; } }