diff --git a/src/services/auth.ts b/src/services/auth.ts index 38eb19823..d1d951fc0 100644 --- a/src/services/auth.ts +++ b/src/services/auth.ts @@ -40,9 +40,11 @@ function checkAuth(req: Request, res: Response, next: NextFunction) { return; } else if (!req.session.loggedIn && !noAuthentication) { - const redirectToShare = hasRedirectBareDomain(); + // cannot use options.getOptionBool currently => it will throw an error on new installations + // TriliumNextTODO: look into potentially creating an getOptionBoolOrNull instead + const hasRedirectBareDomain = options.getOptionOrNull("redirectBareDomain") === "true"; - if (redirectToShare) { + if (hasRedirectBareDomain) { // Check if any note has the #shareRoot label const shareRootNotes = attributes.getNotesWithLabel("shareRoot"); if (shareRootNotes.length === 0) { @@ -50,23 +52,13 @@ function checkAuth(req: Request, res: Response, next: NextFunction) { return; } } - res.redirect(redirectToShare ? "share" : "login"); + res.redirect(hasRedirectBareDomain ? "share" : "login"); } else { next(); } } -// avoid receiving an error, on a new installation, when the DB is not initialized yet -// => getOptionBool uses getOption, which throws an error if the option name is not found -// TriliumNextTODO: potentially refactor getOptionBool instead -function hasRedirectBareDomain() { - try { - return options.getOptionBool("redirectBareDomain"); - } catch(e) { - return false; - } -} // for electron things which need network stuff // currently, we're doing that for file upload because handling form data seems to be difficult