2025-04-20 16:15:27 +02:00
|
|
|
import { Request, Response } from "express";
|
|
|
|
import SettingHelper from "../../../helpers/settingsHelper";
|
2025-04-29 13:19:12 +02:00
|
|
|
import { SettingString, SettingValueMapping } from "../../../type/settingTypes";
|
2025-04-20 16:15:27 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @description get All settings
|
|
|
|
* @param req {Request} Express req object
|
|
|
|
* @param res {Response} Express res object
|
|
|
|
* @returns {Promise<*>}
|
|
|
|
*/
|
|
|
|
export async function getSettings(req: Request, res: Response): Promise<any> {
|
2025-04-25 08:18:49 +02:00
|
|
|
res.json({ ...SettingHelper.getAllSettings(), ["mail.password"]: undefined });
|
2025-04-20 16:15:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @description get setting
|
|
|
|
* @param req {Request} Express req object
|
|
|
|
* @param res {Response} Express res object
|
|
|
|
* @returns {Promise<*>}
|
|
|
|
*/
|
|
|
|
export async function getSetting(req: Request, res: Response): Promise<any> {
|
|
|
|
let setting = req.params.setting as SettingString;
|
|
|
|
|
|
|
|
let value = SettingHelper.getSetting(setting);
|
|
|
|
|
|
|
|
if (setting == "mail.password") {
|
|
|
|
value = undefined;
|
|
|
|
}
|
|
|
|
|
|
|
|
res.send(value);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @description set setting
|
|
|
|
* @param req {Request} Express req object
|
|
|
|
* @param res {Response} Express res object
|
|
|
|
* @returns {Promise<*>}
|
|
|
|
*/
|
|
|
|
export async function setSetting(req: Request, res: Response): Promise<any> {
|
|
|
|
let setting = req.body.setting as SettingString;
|
|
|
|
let value = req.body.value as string;
|
|
|
|
|
|
|
|
SettingHelper.setSetting(setting, value);
|
|
|
|
|
|
|
|
res.sendStatus(204);
|
|
|
|
}
|
|
|
|
|
2025-04-29 13:19:12 +02:00
|
|
|
/**
|
|
|
|
* @description set settings
|
|
|
|
* @param req {Request} Express req object
|
|
|
|
* @param res {Response} Express res object
|
|
|
|
* @returns {Promise<*>}
|
|
|
|
*/
|
|
|
|
export async function setSettings<K extends SettingString>(req: Request, res: Response): Promise<any> {
|
|
|
|
let setting = req.body as Array<{ key: K; value: SettingValueMapping[K] }>;
|
|
|
|
|
|
|
|
for (let entry of setting) {
|
|
|
|
SettingHelper.setSetting(entry.key, entry.value);
|
|
|
|
}
|
|
|
|
|
|
|
|
res.sendStatus(204);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @description set setting
|
|
|
|
* @param req {Request} Express req object
|
|
|
|
* @param res {Response} Express res object
|
|
|
|
* @returns {Promise<*>}
|
|
|
|
*/
|
|
|
|
export async function setImages(req: Request, res: Response): Promise<any> {
|
|
|
|
if (req.files && !Array.isArray(req.files) && req.files.icon) {
|
|
|
|
await SettingHelper.setSetting("club.icon", "configured");
|
2025-04-30 10:43:31 +02:00
|
|
|
} else if (req.body["club.icon"] != "keep") {
|
2025-04-29 13:19:12 +02:00
|
|
|
await SettingHelper.resetSetting("club.icon");
|
|
|
|
}
|
|
|
|
|
|
|
|
if (req.files && !Array.isArray(req.files) && req.files.logo) {
|
|
|
|
await SettingHelper.setSetting("club.logo", "configured");
|
2025-04-30 10:43:31 +02:00
|
|
|
} else if (req.body["club.logo"] != "keep") {
|
2025-04-29 13:19:12 +02:00
|
|
|
await SettingHelper.resetSetting("club.logo");
|
|
|
|
}
|
|
|
|
|
|
|
|
res.sendStatus(204);
|
|
|
|
}
|
|
|
|
|
2025-04-20 16:15:27 +02:00
|
|
|
/**
|
|
|
|
* @description reset setting
|
|
|
|
* @param req {Request} Express req object
|
|
|
|
* @param res {Response} Express res object
|
|
|
|
* @returns {Promise<*>}
|
|
|
|
*/
|
|
|
|
export async function resetSetting(req: Request, res: Response): Promise<any> {
|
|
|
|
let setting = req.params.setting as SettingString;
|
|
|
|
|
|
|
|
SettingHelper.resetSetting(setting);
|
|
|
|
|
|
|
|
res.sendStatus(204);
|
|
|
|
}
|