From 1290130d8e3b4ff656c5ff09d2d715f708295cc5 Mon Sep 17 00:00:00 2001 From: Gabriel De Los Rios Date: Thu, 1 Jan 2026 14:00:30 -0300 Subject: [PATCH] feat(wa-sqlite): db initiallization --- src/app/app.config.ts | 7 ++++++- src/app/services/sqlite.spec.ts | 16 ++++++++++++++++ src/app/services/sqlite.ts | 14 ++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 src/app/services/sqlite.spec.ts create mode 100644 src/app/services/sqlite.ts diff --git a/src/app/app.config.ts b/src/app/app.config.ts index 3ce8ae9..271358b 100644 --- a/src/app/app.config.ts +++ b/src/app/app.config.ts @@ -1,11 +1,16 @@ -import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; +import { ApplicationConfig, inject, provideAppInitializer, provideBrowserGlobalErrorListeners } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; import { WebSqlite } from 'angular-web-sqlite'; +import { Sqlite } from './services/sqlite'; export const appConfig: ApplicationConfig = { providers: [ + provideAppInitializer(() => { + const sqlite = inject(Sqlite); + return sqlite.initializeDatabase('gptdb'); + }), {provide: WebSqlite, useClass: WebSqlite}, provideBrowserGlobalErrorListeners(), provideRouter(routes) diff --git a/src/app/services/sqlite.spec.ts b/src/app/services/sqlite.spec.ts new file mode 100644 index 0000000..d7a6c2f --- /dev/null +++ b/src/app/services/sqlite.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { Sqlite } from './sqlite'; + +describe('Sqlite', () => { + let service: Sqlite; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(Sqlite); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/sqlite.ts b/src/app/services/sqlite.ts new file mode 100644 index 0000000..647f126 --- /dev/null +++ b/src/app/services/sqlite.ts @@ -0,0 +1,14 @@ +import { inject, Injectable } from '@angular/core'; +import { WebSqlite } from 'angular-web-sqlite'; + +@Injectable({ + providedIn: 'root', +}) +export class Sqlite { + private readonly webSqlite = inject(WebSqlite) + + initializeDatabase(dbName: string) { + return this.webSqlite.init(dbName); + } + +}