import fs from "node:fs";
|
import path from "node:path";
|
import type {
|
AppConfig,
|
DataSrcConfig,
|
LdapConfig,
|
PagesConfig,
|
SystemScenariosConfig,
|
SqlServerConfig,
|
UserScenariosConfig,
|
} from "./types.js";
|
|
const CONFIG_DIR = process.env.BOARD_CONFIG_DIR
|
? path.resolve(process.env.BOARD_CONFIG_DIR)
|
: path.join(process.cwd(), "config");
|
|
function readJson<T>(file: string): T {
|
const full = path.join(CONFIG_DIR, file);
|
const raw = fs.readFileSync(full, "utf8");
|
return JSON.parse(raw) as T;
|
}
|
|
export function loadAppConfig(): AppConfig {
|
return readJson<AppConfig>("app.config.json");
|
}
|
|
export function loadLdapConfig(): LdapConfig {
|
return readJson<LdapConfig>("ldap.config.json");
|
}
|
|
export function loadPagesConfig(): PagesConfig {
|
return readJson<PagesConfig>("pages.config.json");
|
}
|
|
export function loadSystemScenariosConfig(): SystemScenariosConfig {
|
return readJson<SystemScenariosConfig>("scenarios.system.json");
|
}
|
|
export function loadUserScenariosConfig(): UserScenariosConfig {
|
return readJson<UserScenariosConfig>("scenarios.users.json");
|
}
|
|
export function writeUserScenariosConfig(data: UserScenariosConfig): void {
|
const full = path.join(CONFIG_DIR, "scenarios.users.json");
|
const text = JSON.stringify(data, null, 2) + "\n";
|
fs.writeFileSync(full, text, "utf8");
|
}
|
|
export function loadSqlServerConfig(): SqlServerConfig {
|
return readJson<SqlServerConfig>("sqlserver.config.json");
|
}
|
|
export function loadDataSrcConfig(): DataSrcConfig {
|
return readJson<DataSrcConfig>("datasrc.json");
|
}
|
|
export function getConfigDir(): string {
|
return CONFIG_DIR;
|
}
|