make settings keys unique
This commit is contained in:
@ -122,6 +122,6 @@ CREATE TABLE IF NOT EXISTS feedback (
|
|||||||
|
|
||||||
-- settings
|
-- settings
|
||||||
CREATE TABLE IF NOT EXISTS settings (
|
CREATE TABLE IF NOT EXISTS settings (
|
||||||
name VARCHAR(255) NOT NULL,
|
name VARCHAR(255) UNIQUE NOT NULL,
|
||||||
value TEXT 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) {
|
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> {
|
export async function getSetting(db: Database, values: GetSettingReq): Promise<string | null> {
|
||||||
|
Reference in New Issue
Block a user