new settings

This commit is contained in:
stfrigerio 2025-04-18 19:24:04 +02:00
parent add626d956
commit 9ab65793df
4 changed files with 57 additions and 11 deletions

2
.gitignore vendored
View file

@ -20,3 +20,5 @@ data.json
# Exclude macOS Finder (System Explorer) View States
.DS_Store
.env

View file

@ -90,7 +90,15 @@ export class DBService {
if (this.mode === "remote") {
const res = await fetch(`${this.apiBaseUrl}/query`, {
method: "POST",
headers: { "Content-Type": "application/json" },
headers: {
"Content-Type": "application/json",
...(this.settings?.cfAccessClientId && {
"CF-Access-Client-Id": this.settings.cfAccessClientId,
}),
...(this.settings?.cfAccessClientSecret && {
"CF-Access-Client-Secret": this.settings.cfAccessClientSecret,
}),
},
body: JSON.stringify({ sql, params }),
});
if (!res.ok) throw new Error(await res.text());
@ -125,7 +133,15 @@ export class DBService {
if (this.mode === "remote") {
const res = await fetch(`${this.apiBaseUrl}/execute`, {
method: "POST",
headers: { "Content-Type": "application/json" },
headers: {
"Content-Type": "application/json",
...(this.settings?.cfAccessClientId && {
"CF-Access-Client-Id": this.settings.cfAccessClientId,
}),
...(this.settings?.cfAccessClientSecret && {
"CF-Access-Client-Secret": this.settings.cfAccessClientSecret,
}),
},
body: JSON.stringify({ sql, params }),
});
if (!res.ok) throw new Error(await res.text());

View file

@ -69,5 +69,29 @@ export class SQLiteDBSettingTab extends PluginSettingTab {
this.plugin.settings.journalTableName = value;
await this.plugin.saveSettings();
}));
new Setting(containerEl)
.setName("CF Access Client ID")
.setDesc("Cloudflare Access client ID for remote API authentication")
.addText(text =>
text
.setPlaceholder("your-client-id")
.setValue(this.plugin.settings.cfAccessClientId || "")
.onChange(async (value) => {
this.plugin.settings.cfAccessClientId = value;
await this.plugin.saveSettings();
}));
new Setting(containerEl)
.setName("CF Access Client Secret")
.setDesc("Cloudflare Access client secret for remote API authentication")
.addText(text =>
text
.setPlaceholder("your-client-secret")
.setValue(this.plugin.settings.cfAccessClientSecret || "")
.onChange(async (value) => {
this.plugin.settings.cfAccessClientSecret = value;
await this.plugin.saveSettings();
}));
}
}

View file

@ -4,6 +4,8 @@ export interface SQLiteDBSettings {
apiBaseUrl: string;
journalFolderPath: string;
journalTableName: string;
cfAccessClientId: string;
cfAccessClientSecret: string;
}
export const DEFAULT_SETTINGS: SQLiteDBSettings = {
@ -12,4 +14,6 @@ export const DEFAULT_SETTINGS: SQLiteDBSettings = {
apiBaseUrl: "",
journalFolderPath: "",
journalTableName: "",
cfAccessClientId: "",
cfAccessClientSecret: "",
};