From fadd4061e1d85ff7111546aceb32364f2970635c Mon Sep 17 00:00:00 2001 From: stfrigerio Date: Sun, 6 Apr 2025 17:06:42 +0200 Subject: [PATCH] workin for a remote db --- main.ts | 7 +++++-- src/RemoteDBService.ts | 4 +++- src/webcomponents/HabitCounter/HabitCounter.ts | 5 +++-- src/webcomponents/HabitCounter/registerHabitCounter.ts | 5 +++-- src/webcomponents/services/HabitDataService.ts | 7 +++---- 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/main.ts b/main.ts index 68ced88..93c08f9 100644 --- a/main.ts +++ b/main.ts @@ -7,6 +7,7 @@ import { } from "obsidian"; import { DBService } from "./src/DBService"; +import { RemoteDBService } from "src/RemoteDBService"; import { SQLiteDBSettingTab } from "./src/settingTab"; import { inspectTableStructure, convertEntriesInNotes } from "./src/commands"; import { processSqlBlock, processSqlChartBlock, DateNavigatorRenderer } from "./src/codeblocks"; @@ -22,11 +23,13 @@ import { registerBooleanSwitch } from "src/webcomponents/BooleanSwitch/registerB export default class SQLiteDBPlugin extends Plugin { settings: SQLiteDBSettings; private dbService: DBService; - + private remoteDBService: RemoteDBService; + async onload() { // init await this.loadSettings(); this.dbService = new DBService(this.app); + this.remoteDBService = new RemoteDBService('http://100.92.2.10:3000'); await this.openDatabase(); injectDatePickerStyles(); @@ -34,7 +37,7 @@ export default class SQLiteDBPlugin extends Plugin { //? Components this.registerMarkdownPostProcessor((el, ctx) => { - registerHabitCounter(el, this.dbService); + registerHabitCounter(el, this.remoteDBService); registerBooleanSwitch(el, this.dbService); }); diff --git a/src/RemoteDBService.ts b/src/RemoteDBService.ts index 71cfdb3..3d9ef72 100644 --- a/src/RemoteDBService.ts +++ b/src/RemoteDBService.ts @@ -1,5 +1,7 @@ export class RemoteDBService { - constructor(private apiBaseUrl: string) {} + constructor( + private apiBaseUrl: string, + ) {} async getQuery>(sql: string, params: any[] = []): Promise { const res = await fetch(`${this.apiBaseUrl}/query`, { diff --git a/src/webcomponents/HabitCounter/HabitCounter.ts b/src/webcomponents/HabitCounter/HabitCounter.ts index b18935c..49010c5 100644 --- a/src/webcomponents/HabitCounter/HabitCounter.ts +++ b/src/webcomponents/HabitCounter/HabitCounter.ts @@ -1,4 +1,5 @@ -import { DBService } from "../../DBService"; +// import { DBService } from "../../DBService"; +import { RemoteDBService } from "src/RemoteDBService"; import { HabitDataService } from "../services/HabitDataService"; import { applyHabitCounterStyles } from "./styles/applyHabitCounterStyles"; import { buildHabitCounterDOM } from "./dom/buildHabitCounterDOM"; @@ -59,7 +60,7 @@ export class HabitCounter extends HTMLElement { } // --- Public Methods --- - public setDbService(service: DBService): void { + public setDbService(service: RemoteDBService): void { if (!service) { console.error("[HabitCounter Component] Invalid DBService provided."); this.showErrorState("Setup Error"); //~ Use helper diff --git a/src/webcomponents/HabitCounter/registerHabitCounter.ts b/src/webcomponents/HabitCounter/registerHabitCounter.ts index 5f0e546..c3874dc 100644 --- a/src/webcomponents/HabitCounter/registerHabitCounter.ts +++ b/src/webcomponents/HabitCounter/registerHabitCounter.ts @@ -1,4 +1,5 @@ -import { DBService } from "../../DBService"; +// import { DBService } from "../../DBService"; +import { RemoteDBService } from "src/RemoteDBService"; import { HabitCounter } from "./HabitCounter"; //? Define element if needed here or ensure it's defined elsewhere before this runs @@ -11,7 +12,7 @@ if (!customElements.get("habit-counter")) { * @param el The container element to search within. * @param dbService The DBService instance for dependency injection. */ -export const registerHabitCounter = (el: HTMLElement, dbService: DBService) => { +export const registerHabitCounter = (el: HTMLElement, dbService: RemoteDBService) => { const placeholders = el.querySelectorAll("span.habit-counter-placeholder"); placeholders.forEach((placeholderEl) => { //~ Removed index as it wasn't used diff --git a/src/webcomponents/services/HabitDataService.ts b/src/webcomponents/services/HabitDataService.ts index 13b822e..b004036 100644 --- a/src/webcomponents/services/HabitDataService.ts +++ b/src/webcomponents/services/HabitDataService.ts @@ -1,14 +1,13 @@ +import { RemoteDBService } from "src/RemoteDBService"; import { DBService } from "../../DBService"; import { HabitRecord, HabitDataArgs, UpdateHabitDataArgs } from "../HabitCounter/HabitCounter.types"; import { quoteSqlIdentifier } from "./utils/quoteSqlIdentifier"; import { validateFetchArgs, validateUpdateArgs } from "./utils/validateHabitArgs"; -interface UuidResult { uuid: string; } - export class HabitDataService { - private dbService: DBService; + private dbService: RemoteDBService; - constructor(dbService: DBService) { + constructor(dbService: RemoteDBService) { if (!dbService) throw new Error("HabitDataService requires a valid DBService instance."); this.dbService = dbService; }