mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2024-11-16 03:10:31 +01:00
25 lines
672 B
JavaScript
25 lines
672 B
JavaScript
|
const { SystemSettings } = require("../../models/systemSettings");
|
||
|
|
||
|
// Explicitly check that a specific feature flag is enabled.
|
||
|
// This should match the key in the SystemSetting label.
|
||
|
function featureFlagEnabled(featureFlagKey = null) {
|
||
|
return async (_, response, next) => {
|
||
|
if (!featureFlagKey) return response.sendStatus(401).end();
|
||
|
|
||
|
const flagValue = (
|
||
|
await SystemSettings.get({ label: String(featureFlagKey) })
|
||
|
)?.value;
|
||
|
if (!flagValue) return response.sendStatus(401).end();
|
||
|
|
||
|
if (flagValue === "enabled") {
|
||
|
next();
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
return response.sendStatus(401).end();
|
||
|
};
|
||
|
}
|
||
|
module.exports = {
|
||
|
featureFlagEnabled,
|
||
|
};
|