summaryrefslogtreecommitdiff
path: root/src/lib/config.ts
diff options
context:
space:
mode:
authorRaphael Kabo <raphaelkabo@hey.com>2024-02-26 12:09:46 +0000
committerRaphael Kabo <raphaelkabo@hey.com>2024-02-26 12:09:46 +0000
commitc93fd6e2d455ea4208f9e5ca6bfbd1c0e9fd1ad9 (patch)
tree8baed2c232b629a98b21006adf440f6f83d5da57 /src/lib/config.ts
parent363cfbae076f4494ddd5fddcf03de622f6247051 (diff)
refactor: allow Cypress to override config
Diffstat (limited to 'src/lib/config.ts')
-rw-r--r--src/lib/config.ts20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/lib/config.ts b/src/lib/config.ts
index b4385ca..4bc43bd 100644
--- a/src/lib/config.ts
+++ b/src/lib/config.ts
@@ -1,6 +1,7 @@
import fs from "fs";
import toml from "toml";
import { exitWithError } from "./process.js";
+import { Response } from "express";
interface StaticPage {
title: string;
@@ -8,7 +9,7 @@ interface StaticPage {
filename: string;
}
-interface GathioConfig {
+export interface GathioConfig {
general: {
domain: string;
port: string;
@@ -68,8 +69,21 @@ const defaultConfig: GathioConfig = {
},
};
-export const frontendConfig = (): FrontendConfig => {
- const config = getConfig();
+export const frontendConfig = (res: Response): FrontendConfig => {
+ const config = res.locals.config;
+ if (!config) {
+ return {
+ domain: defaultConfig.general.domain,
+ siteName: defaultConfig.general.site_name,
+ isFederated: defaultConfig.general.is_federated,
+ emailLogoUrl: defaultConfig.general.email_logo_url,
+ showPublicEventList: defaultConfig.general.show_public_event_list,
+ showKofi: defaultConfig.general.show_kofi,
+ showInstanceInformation: false,
+ staticPages: [],
+ version: process.env.npm_package_version || "unknown",
+ };
+ }
return {
domain: config.general.domain,
siteName: config.general.site_name,