make settings keys unique
This commit is contained in:
@ -122,6 +122,6 @@ CREATE TABLE IF NOT EXISTS feedback (
|
||||
|
||||
-- settings
|
||||
CREATE TABLE IF NOT EXISTS settings (
|
||||
name VARCHAR(255) NOT NULL,
|
||||
name VARCHAR(255) UNIQUE NOT NULL,
|
||||
value TEXT NOT NULL
|
||||
);
|
||||
|
@ -32,7 +32,17 @@ export async function getSettings(db: Database, values: GetSettingsReq) {
|
||||
}
|
||||
|
||||
export async function setSettings(db: Database, values: SetSettingsReq) {
|
||||
await db.insert(settings).values(values.settings);
|
||||
return db.transaction(async (tx) => {
|
||||
for (const setting of values.settings) {
|
||||
tx.insert(settings)
|
||||
.values(setting)
|
||||
.onDuplicateKeyUpdate({
|
||||
set: {
|
||||
value: setting.value
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export async function getSetting(db: Database, values: GetSettingReq): Promise<string | null> {
|
||||
|
Reference in New Issue
Block a user