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); + } + +}