Extract neutral settings storage infrastructure into VG-Core
Dieser Commit ist enthalten in:
@@ -28,6 +28,7 @@
|
||||
"src/background/db/db-retention.js",
|
||||
"src/background/db/db-record-locks.js",
|
||||
"src/background/utils.js",
|
||||
"src/core/settings-storage.js",
|
||||
"src/background/settings.js",
|
||||
"src/core/maintenance-guard.js",
|
||||
"src/background/consent-memory.js",
|
||||
|
||||
@@ -6,25 +6,19 @@ const DEFAULT_VENDORGET_SETTINGS = {
|
||||
const VENDORGET_SETTINGS_STORAGE_KEY = "vendorgetSettings";
|
||||
|
||||
async function getVendorGetSettings() {
|
||||
const storedSettings = await browser.storage.local.get(
|
||||
VENDORGET_SETTINGS_STORAGE_KEY
|
||||
return getSettingsFromStorage(
|
||||
VENDORGET_SETTINGS_STORAGE_KEY,
|
||||
DEFAULT_VENDORGET_SETTINGS
|
||||
);
|
||||
|
||||
return {
|
||||
...DEFAULT_VENDORGET_SETTINGS,
|
||||
...(storedSettings[VENDORGET_SETTINGS_STORAGE_KEY] ?? {})
|
||||
};
|
||||
}
|
||||
|
||||
async function setVendorGetSetting(key, value) {
|
||||
const settings = await getVendorGetSettings();
|
||||
|
||||
await browser.storage.local.set({
|
||||
[VENDORGET_SETTINGS_STORAGE_KEY]: {
|
||||
...settings,
|
||||
[key]: value
|
||||
}
|
||||
});
|
||||
return setSettingInStorage(
|
||||
VENDORGET_SETTINGS_STORAGE_KEY,
|
||||
DEFAULT_VENDORGET_SETTINGS,
|
||||
key,
|
||||
value
|
||||
);
|
||||
}
|
||||
|
||||
async function isConsentCaptureEnabled() {
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
async function getSettingsFromStorage(storageKey, defaultSettings) {
|
||||
const storedSettings = await browser.storage.local.get(storageKey);
|
||||
|
||||
return {
|
||||
...defaultSettings,
|
||||
...(storedSettings[storageKey] ?? {})
|
||||
};
|
||||
}
|
||||
|
||||
async function setSettingInStorage(storageKey, defaultSettings, key, value) {
|
||||
const settings = await getSettingsFromStorage(storageKey, defaultSettings);
|
||||
|
||||
await browser.storage.local.set({
|
||||
[storageKey]: {
|
||||
...settings,
|
||||
[key]: value
|
||||
}
|
||||
});
|
||||
}
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren