mirror of
https://github.com/Mintplex-Labs/vector-admin.git
synced 2026-07-21 00:15:23 -04:00
69 lines
2.0 KiB
JavaScript
69 lines
2.0 KiB
JavaScript
const prisma = require("../utils/prisma");
|
|
|
|
const SystemSettings = {
|
|
supportedFields: [
|
|
"allow_account_creation",
|
|
"account_creation_domain_scope",
|
|
"open_ai_api_key",
|
|
"debug_username",
|
|
"debug_pwd",
|
|
"telemetry_id",
|
|
],
|
|
privateField: ["open_ai_api_key"],
|
|
get: async function (clause = {}) {
|
|
try {
|
|
const setting = await prisma.system_settings.findFirst({ where: clause });
|
|
return setting || null;
|
|
} catch (e) {
|
|
console.error(e.message);
|
|
return null;
|
|
}
|
|
},
|
|
|
|
where: async function (clause = {}, limit = null) {
|
|
try {
|
|
const settings = await prisma.system_settings.findMany({
|
|
where: clause,
|
|
...(limit !== null ? { take: limit } : {}),
|
|
});
|
|
return settings;
|
|
} catch (e) {
|
|
console.error(e.message);
|
|
return [];
|
|
}
|
|
},
|
|
|
|
updateSettings: async function (updates = {}) {
|
|
const validConfigKeys = Object.keys(updates).filter((key) =>
|
|
this.supportedFields.includes(key)
|
|
);
|
|
|
|
for (const key of validConfigKeys) {
|
|
const existingRecord = await this.get({ label: key });
|
|
if (!existingRecord) {
|
|
const value = updates[key] === null ? "" : String(updates[key]);
|
|
const success = await prisma.system_settings.create({
|
|
data: { label: key, value },
|
|
});
|
|
if (!success) {
|
|
console.error("FAILED TO ADD SYSTEM CONFIG OPTION", message);
|
|
return { success: false, error: message };
|
|
}
|
|
} else {
|
|
const value = updates[key] === null ? "" : String(updates[key]);
|
|
const success = await prisma.system_settings.update({
|
|
where: { id: Number(existingRecord.id) },
|
|
data: { label: key, value },
|
|
});
|
|
if (!success) {
|
|
console.error("FAILED TO UPDATE SYSTEM CONFIG OPTION", message);
|
|
return { success: false, error: message };
|
|
}
|
|
}
|
|
}
|
|
return { success: true, error: null };
|
|
},
|
|
};
|
|
|
|
module.exports.SystemSettings = SystemSettings;
|