From 5d23f12766ccf9df23f21748c4e9ccd6fb1df8ed Mon Sep 17 00:00:00 2001 From: Sebastian Leidig Date: Fri, 27 Dec 2024 18:09:33 +0100 Subject: [PATCH 1/2] docs: update architecture diagram --- .../concepts/overall-architecture.md | 10 +++++----- doc/images/architecture_concrete-project.png | Bin 68517 -> 0 bytes doc/images/architecture_core.png | Bin 70254 -> 0 bytes doc/images/architecture_modules.png | Bin 0 -> 123584 bytes 4 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 doc/images/architecture_concrete-project.png delete mode 100644 doc/images/architecture_core.png create mode 100644 doc/images/architecture_modules.png diff --git a/doc/compodoc_sources/concepts/overall-architecture.md b/doc/compodoc_sources/concepts/overall-architecture.md index b226b38b3e..faced12fe4 100644 --- a/doc/compodoc_sources/concepts/overall-architecture.md +++ b/doc/compodoc_sources/concepts/overall-architecture.md @@ -1,10 +1,10 @@ # Overall Structure -This is a rough sketch of the architecture of the core system under discussion. The modules and classes shown here are included in the ndb-core repository. -![](../../images/architecture_core.png) - -An actual, specific software system to be used will be based on the core and extend it: -![](../../images/architecture_concrete-project.png) +This is a rough sketch of the architecture of the core system under discussion. +The modules and classes shown here are included in the ndb-core repository. +Note that some components and services are explicitly designed to be used and extended when developing feature modules, +while others will usually not need to be touched or understood when extending the system: +![](../../images/architecture_modules.png) ## Folder Structure diff --git a/doc/images/architecture_concrete-project.png b/doc/images/architecture_concrete-project.png deleted file mode 100644 index ac2258b3d016813cbf36ba24788d441a37b3512f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68517 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 F{TqJwlga=9 literal 0 HcmV?d00001 From 25868e2505f61f8a098daa24372465fc1573d570 Mon Sep 17 00:00:00 2001 From: Sebastian Leidig Date: Tue, 7 Jan 2025 21:46:14 +0100 Subject: [PATCH 2/2] use DatabaseResolver instead of direct Database DI --- src/app/app.module.ts | 2 - .../admin-overview.component.ts | 7 +- src/app/core/admin/backup/backup.service.ts | 8 +- .../core/database/database-factory.service.ts | 30 ++++++++ .../database-resolver.service.spec.ts | 16 ++++ .../database/database-resolver.service.ts | 38 ++++++++++ src/app/core/database/database.module.ts | 15 ---- src/app/core/database/database.ts | 4 + src/app/core/database/pouch-database.ts | 8 +- .../demo-data-initializer.service.ts | 18 ++--- src/app/core/demo-data/demo-data.service.ts | 6 +- .../database-indexing.service.ts | 17 +++-- .../entity-mapper/entity-mapper.service.ts | 74 +++++++++++++------ src/app/core/entity/model/entity.ts | 6 ++ .../permission-enforcer.service.ts | 7 +- .../session-manager.service.ts | 50 ++----------- .../compare-rev/compare-rev.component.ts | 9 ++- .../conflict-resolution-list.component.ts | 13 ++-- 18 files changed, 205 insertions(+), 123 deletions(-) create mode 100644 src/app/core/database/database-factory.service.ts create mode 100644 src/app/core/database/database-resolver.service.spec.ts create mode 100644 src/app/core/database/database-resolver.service.ts delete mode 100644 src/app/core/database/database.module.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index de0b294f78..22b820e989 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -39,7 +39,6 @@ import { ConfigurableEnumModule } from "./core/basic-datatypes/configurable-enum import { FaIconLibrary } from "@fortawesome/angular-fontawesome"; import { fas } from "@fortawesome/free-solid-svg-icons"; import { far } from "@fortawesome/free-regular-svg-icons"; -import { DatabaseModule } from "./core/database/database.module"; import { Angulartics2Matomo, Angulartics2Module } from "angulartics2"; import { DEFAULT_LANGUAGE, @@ -111,7 +110,6 @@ import { SkillModule } from "./features/skill/skill.module"; // Core modules CoreModule, ConfigurableEnumModule, - DatabaseModule, LanguageModule, LatestChangesModule, PermissionsModule, diff --git a/src/app/core/admin/admin-overview/admin-overview.component.ts b/src/app/core/admin/admin-overview/admin-overview.component.ts index c01a5eba24..26f766797d 100644 --- a/src/app/core/admin/admin-overview/admin-overview.component.ts +++ b/src/app/core/admin/admin-overview/admin-overview.component.ts @@ -6,7 +6,6 @@ import { MatSnackBar } from "@angular/material/snack-bar"; import { ConfigService } from "../../config/config.service"; import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy"; import { readFile } from "../../../utils/utils"; -import { Database } from "../../database/database"; import { ExtendedAlertConfig } from "../../alerts/alert-config"; import { MatButtonModule } from "@angular/material/button"; import { RouterLink } from "@angular/router"; @@ -15,6 +14,7 @@ import { DownloadService } from "../../export/download-service/download.service" import { MatListModule } from "@angular/material/list"; import { RouteTarget } from "../../../route-target"; import { AdminOverviewService } from "./admin-overview.service"; +import { DatabaseResolverService } from "../../database/database-resolver.service"; /** * Admin GUI giving administrative users different options/actions. @@ -36,7 +36,7 @@ export class AdminOverviewComponent implements OnInit { private alertService: AlertService, private backupService: BackupService, private downloadService: DownloadService, - private db: Database, + private dbResolver: DatabaseResolverService, private confirmationDialog: ConfirmationDialogService, private snackBar: MatSnackBar, private configService: ConfigService, @@ -51,7 +51,8 @@ export class AdminOverviewComponent implements OnInit { * Send a reference of the PouchDB to the browser's developer console for real-time debugging. */ debugDatabase() { - console.log(this.db); + console.log(this.dbResolver); + console.log(this.dbResolver.getDatabase()); } /** diff --git a/src/app/core/admin/backup/backup.service.ts b/src/app/core/admin/backup/backup.service.ts index d5847a5217..f9c74641cb 100644 --- a/src/app/core/admin/backup/backup.service.ts +++ b/src/app/core/admin/backup/backup.service.ts @@ -1,6 +1,7 @@ import { Injectable } from "@angular/core"; import { Database } from "../../database/database"; import { Config } from "../../config/config"; +import { DatabaseResolverService } from "../../database/database-resolver.service"; /** * Create and load backups of the database. @@ -9,7 +10,12 @@ import { Config } from "../../config/config"; providedIn: "root", }) export class BackupService { - constructor(private db: Database) {} + private db: Database; + + constructor(private dbResolver: DatabaseResolverService) { + this.db = this.dbResolver.getDatabase(); + // TODO: backup other databases? + } /** * Creates an array holding all elements of the database. diff --git a/src/app/core/database/database-factory.service.ts b/src/app/core/database/database-factory.service.ts new file mode 100644 index 0000000000..f801926a10 --- /dev/null +++ b/src/app/core/database/database-factory.service.ts @@ -0,0 +1,30 @@ +import { inject, Injectable } from "@angular/core"; +import { Database } from "./database"; +import { PouchDatabase } from "./pouch-database"; +import { KeycloakAuthService } from "../session/auth/keycloak/keycloak-auth.service"; +import { environment } from "../../../environments/environment"; +import { SessionType } from "../session/session-type"; + +/** + * Provides a method to generate Database instances. + * + * (can be re-implemented to cater to different Database implementations). + */ +@Injectable({ + providedIn: "root", +}) +export class DatabaseFactoryService { + private authService = inject(KeycloakAuthService); + + createDatabase(dbName: string): Database { + const db = new PouchDatabase(this.authService); + + if (environment.session_type === SessionType.mock) { + db.initInMemoryDB(dbName); + } else { + db.initIndexedDB(dbName); + } + + return db; + } +} diff --git a/src/app/core/database/database-resolver.service.spec.ts b/src/app/core/database/database-resolver.service.spec.ts new file mode 100644 index 0000000000..a5fc992350 --- /dev/null +++ b/src/app/core/database/database-resolver.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { DatabaseResolverService } from './database-resolver.service'; + +describe('DatabaseResolverService', () => { + let service: DatabaseResolverService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(DatabaseResolverService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/core/database/database-resolver.service.ts b/src/app/core/database/database-resolver.service.ts new file mode 100644 index 0000000000..c4f86cb5c7 --- /dev/null +++ b/src/app/core/database/database-resolver.service.ts @@ -0,0 +1,38 @@ +import { inject, Injectable } from "@angular/core"; +import { Database } from "./database"; +import { SessionInfo } from "../session/auth/session-info"; +import { environment } from "../../../environments/environment"; +import { DatabaseFactoryService } from "./database-factory.service"; + +/** + * Manages access to individual databases, + * as data may be stored across multiple different instances. + */ +@Injectable({ + providedIn: "root", +}) +export class DatabaseResolverService { + static readonly DEFAULT_DB = "app"; + + private databases: Map = new Map(); + private databaseFactory = inject(DatabaseFactoryService); + + getDatabase(dbName: string = DatabaseResolverService.DEFAULT_DB): Database { + return this.databases.get(dbName); + } + + resetDatabases() {} + + async initDatabasesForSession(session: SessionInfo) { + this.initializeAppDatabaseForCurrentUser(session); + // TODO: init other DBs + } + + private initializeAppDatabaseForCurrentUser(user: SessionInfo) { + const userDBName = `${user.name}-${environment.DB_NAME}`; + const userDb = this.databaseFactory.createDatabase(userDBName); + this.databases.set(environment.DB_NAME, userDb); + + // TODO: have removed fallback to old "app" IndexedDB database here; check sentry if this may cause larger impact + } +} diff --git a/src/app/core/database/database.module.ts b/src/app/core/database/database.module.ts deleted file mode 100644 index 03f8886ad1..0000000000 --- a/src/app/core/database/database.module.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { NgModule } from "@angular/core"; -import { PouchDatabase } from "./pouch-database"; -import { Database } from "./database"; - -/** - * This module provides the `Database` injectable. - * Inject `Database` in you class if you need to directly access this service. - * - * Currently, this is always a `PouchDatabase` but this might change in the future. - * Therefore, the `PouchDatabase` should only be injected with special care (and when it's really, really necessary). - */ -@NgModule({ - providers: [PouchDatabase, { provide: Database, useExisting: PouchDatabase }], -}) -export class DatabaseModule {} diff --git a/src/app/core/database/database.ts b/src/app/core/database/database.ts index 9b8be04900..df9e5d5271 100644 --- a/src/app/core/database/database.ts +++ b/src/app/core/database/database.ts @@ -20,6 +20,10 @@ import { Observable } from "rxjs"; /** * An implementation of this abstract class provides functions for direct database access. * This interface is an extension of the [PouchDB API](https://pouchdb.com/api.html). + * + * PLEASE NOTE: + * Direct access to the Database layer is rarely necessary, and you should probably use EntityMapperService instead. + * Database is not an Angular Service and has to be accessed through the DatabaseResolverService. */ export abstract class Database { /** diff --git a/src/app/core/database/pouch-database.ts b/src/app/core/database/pouch-database.ts index 485101d0be..fe3344909d 100644 --- a/src/app/core/database/pouch-database.ts +++ b/src/app/core/database/pouch-database.ts @@ -20,7 +20,6 @@ import { Logging } from "../logging/logging.service"; import PouchDB from "pouchdb-browser"; import memory from "pouchdb-adapter-memory"; import { PerformanceAnalysisLogging } from "../../utils/performance-analysis-logging"; -import { Injectable, Optional } from "@angular/core"; import { firstValueFrom, Observable, Subject } from "rxjs"; import { filter } from "rxjs/operators"; import { HttpStatusCode } from "@angular/common/http"; @@ -34,7 +33,6 @@ import { KeycloakAuthService } from "../session/auth/keycloak/keycloak-auth.serv * Additional convenience functions on top of the PouchDB API * should be implemented in the abstract {@link Database}. */ -@Injectable() export class PouchDatabase extends Database { /** * Small helper function which creates a database with in-memory PouchDB initialized @@ -66,9 +64,13 @@ export class PouchDatabase extends Database { /** * Create a PouchDB database manager. + * @param authService (Optional) the authentication service that may require additional auth headers for remote DB access */ - constructor(@Optional() private authService?: KeycloakAuthService) { + constructor(private authService?: KeycloakAuthService) { super(); + + // TODO: refactor to run the init method directly from constructor and remove databaseInitialized + // now that DatabaseResolver handles creation and provider we don't have to separate creation and initialization anymore } /** diff --git a/src/app/core/demo-data/demo-data-initializer.service.ts b/src/app/core/demo-data/demo-data-initializer.service.ts index 0ff2c51bdb..8fc1071d8f 100644 --- a/src/app/core/demo-data/demo-data-initializer.service.ts +++ b/src/app/core/demo-data/demo-data-initializer.service.ts @@ -6,14 +6,13 @@ import { DemoDataGeneratingProgressDialogComponent } from "./demo-data-generatin import { SessionManagerService } from "../session/session-service/session-manager.service"; import { LocalAuthService } from "../session/auth/local/local-auth.service"; import { SessionInfo, SessionSubject } from "../session/auth/session-info"; -import { Logging } from "../logging/logging.service"; -import { Database } from "../database/database"; import { PouchDatabase } from "../database/pouch-database"; import { environment } from "../../../environments/environment"; import { LoginState } from "../session/session-states/login-state.enum"; import { LoginStateSubject, SessionType } from "../session/session-type"; import memory from "pouchdb-adapter-memory"; import PouchDB from "pouchdb-browser"; +import { DatabaseResolverService } from "../database/database-resolver.service"; /** * This service handles everything related to the demo-mode @@ -25,7 +24,6 @@ import PouchDB from "pouchdb-browser"; @Injectable() export class DemoDataInitializerService { private liveSyncHandle: PouchDB.Replication.Sync; - private pouchDatabase: PouchDatabase; private readonly normalUser: SessionInfo = { name: DemoUserGeneratorService.DEFAULT_USERNAME, id: DemoUserGeneratorService.DEFAULT_USERNAME, @@ -38,12 +36,13 @@ export class DemoDataInitializerService { roles: ["user_app", "admin_app"], entityId: `User:${DemoUserGeneratorService.ADMIN_USERNAME}`, }; + constructor( private demoDataService: DemoDataService, private localAuthService: LocalAuthService, private sessionManager: SessionManagerService, private dialog: MatDialog, - private database: Database, + private dbResolver: DatabaseResolverService, private loginState: LoginStateSubject, private sessionInfo: SessionSubject, ) {} @@ -52,13 +51,6 @@ export class DemoDataInitializerService { const dialogRef = this.dialog.open( DemoDataGeneratingProgressDialogComponent, ); - if (this.database instanceof PouchDatabase) { - this.pouchDatabase = this.database; - } else { - Logging.warn( - "Cannot create demo data with session: " + environment.session_type, - ); - } this.localAuthService.saveUser(this.normalUser); this.localAuthService.saveUser(this.adminUser); @@ -95,7 +87,9 @@ export class DemoDataInitializerService { } else { demoUserDB = new PouchDB(dbName); } - const currentUserDB = this.pouchDatabase.getPouchDB(); + const currentUserDB = ( + this.dbResolver.getDatabase() as PouchDatabase + ).getPouchDB(); await currentUserDB.sync(demoUserDB, { batch_size: 500 }); this.liveSyncHandle = currentUserDB.sync(demoUserDB, { live: true, diff --git a/src/app/core/demo-data/demo-data.service.ts b/src/app/core/demo-data/demo-data.service.ts index 0c0461ad62..e3b5800cba 100644 --- a/src/app/core/demo-data/demo-data.service.ts +++ b/src/app/core/demo-data/demo-data.service.ts @@ -24,7 +24,7 @@ import { } from "@angular/core"; import { DemoDataGenerator } from "./demo-data-generator"; import { EntityMapperService } from "../entity/entity-mapper/entity-mapper.service"; -import { Database } from "../database/database"; +import { DatabaseResolverService } from "../database/database-resolver.service"; /** * General config object to pass all initially register DemoDataGenerators @@ -58,7 +58,7 @@ export class DemoDataService { private entityMapper: EntityMapperService, private injector: Injector, private config: DemoDataServiceConfig, - private database: Database, + private dbResolver: DatabaseResolverService, ) {} private registerAllProvidedDemoDataGenerators() { @@ -75,7 +75,7 @@ export class DemoDataService { * and add all the generated entities to the Database. */ async publishDemoData() { - if (!(await this.database.isEmpty())) { + if (!(await this.dbResolver.getDatabase().isEmpty())) { return; } this.registerAllProvidedDemoDataGenerators(); diff --git a/src/app/core/entity/database-indexing/database-indexing.service.ts b/src/app/core/entity/database-indexing/database-indexing.service.ts index 72abf0197a..69c8362d76 100644 --- a/src/app/core/entity/database-indexing/database-indexing.service.ts +++ b/src/app/core/entity/database-indexing/database-indexing.service.ts @@ -16,12 +16,13 @@ */ import { Injectable } from "@angular/core"; -import { Database, QueryOptions } from "../../database/database"; +import { QueryOptions } from "../../database/database"; import { BehaviorSubject, firstValueFrom, Observable } from "rxjs"; import { BackgroundProcessState } from "../../ui/sync-status/background-process-state.interface"; import { Entity, EntityConstructor } from "../model/entity"; import { EntitySchemaService } from "../schema/entity-schema.service"; import { first } from "rxjs/operators"; +import { DatabaseResolverService } from "../../database/database-resolver.service"; /** * Manage database query index creation and use, working as a facade in front of the Database service. @@ -41,7 +42,7 @@ export class DatabaseIndexingService { } constructor( - private db: Database, + private dbResolver: DatabaseResolverService, private entitySchemaService: EntitySchemaService, ) {} @@ -52,7 +53,10 @@ export class DatabaseIndexingService { * * @param designDoc The design document (see @link{Database}) describing the query/index. */ - async createIndex(designDoc: any): Promise { + async createIndex( + designDoc: any, + db: string = DatabaseResolverService.DEFAULT_DB, + ): Promise { const indexDetails = designDoc._id.replace(/_design\//, ""); const indexState: BackgroundProcessState = { title: $localize`Preparing data (Indexing)`, @@ -60,7 +64,9 @@ export class DatabaseIndexingService { pending: true, }; - const indexCreationPromise = this.db.saveDatabaseIndex(designDoc); + const indexCreationPromise = this.dbResolver + .getDatabase(db) + .saveDatabaseIndex(designDoc); this._indicesRegistered.next([ ...this._indicesRegistered.value.filter( (state) => state.details !== indexDetails, @@ -213,12 +219,13 @@ export class DatabaseIndexingService { indexName: string, options: QueryOptions, doNotWaitForIndexCreation?: boolean, + db: string = DatabaseResolverService.DEFAULT_DB, ): Promise { if (!doNotWaitForIndexCreation) { await this.waitForIndexAvailable(indexName); } - return this.db.query(indexName, options); + return this.dbResolver.getDatabase(db).query(indexName, options); } /** diff --git a/src/app/core/entity/entity-mapper/entity-mapper.service.ts b/src/app/core/entity/entity-mapper/entity-mapper.service.ts index d386744c6f..6de07da865 100644 --- a/src/app/core/entity/entity-mapper/entity-mapper.service.ts +++ b/src/app/core/entity/entity-mapper/entity-mapper.service.ts @@ -16,7 +16,6 @@ */ import { Injectable } from "@angular/core"; -import { Database } from "../../database/database"; import { Entity, EntityConstructor } from "../model/entity"; import { EntitySchemaService } from "../schema/entity-schema.service"; import { Observable } from "rxjs"; @@ -25,6 +24,7 @@ import { EntityRegistry } from "../database-entity.decorator"; import { map } from "rxjs/operators"; import { UpdateMetadata } from "../model/update-metadata"; import { CurrentUserSubject } from "../../session/current-user-subject"; +import { DatabaseResolverService } from "../../database/database-resolver.service"; /** * Handles loading and saving of data for any higher-level feature module. @@ -39,7 +39,7 @@ import { CurrentUserSubject } from "../../session/current-user-subject"; @Injectable({ providedIn: "root" }) export class EntityMapperService { constructor( - private _db: Database, + private dbResolver: DatabaseResolverService, private entitySchemaService: EntitySchemaService, private currentUser: CurrentUserSubject, private registry: EntityRegistry, @@ -58,7 +58,9 @@ export class EntityMapperService { ): Promise { const ctor = this.resolveConstructor(entityType); const entityId = Entity.createPrefixedId(ctor.ENTITY_TYPE, id); - const result = await this._db.get(entityId); + const result = await this.dbResolver + .getDatabase(ctor.DATABASE) + .get(entityId); return this.transformToEntityFormat(result, ctor); } @@ -75,7 +77,9 @@ export class EntityMapperService { entityType: EntityConstructor | string, ): Promise { const ctor = this.resolveConstructor(entityType); - const records = await this._db.getAll(ctor.ENTITY_TYPE + ":"); + const records = await this.dbResolver + .getDatabase(ctor.DATABASE) + .getAll(ctor.ENTITY_TYPE + ":"); return records.map((rec) => this.transformToEntityFormat(rec, ctor)); } @@ -113,20 +117,23 @@ export class EntityMapperService { ): Observable> { const ctor = this.resolveConstructor(entityType); const type = new ctor().getType(); - return this._db.changes(type + ":").pipe( - map((doc) => { - const entity = new ctor(); - this.entitySchemaService.loadDataIntoEntity(entity, doc); - if (doc._deleted) { - return { type: "remove", entity: entity }; - } else if (doc._rev.startsWith("1-")) { - // This does not cover all the cases as docs with higher rev-number might be synchronized for the first time - return { type: "new", entity: entity }; - } else { - return { type: "update", entity: entity }; - } - }), - ); + return this.dbResolver + .getDatabase(ctor.DATABASE) + .changes(type + ":") + .pipe( + map((doc) => { + const entity = new ctor(); + this.entitySchemaService.loadDataIntoEntity(entity, doc); + if (doc._deleted) { + return { type: "remove", entity: entity }; + } else if (doc._rev.startsWith("1-")) { + // This does not cover all the cases as docs with higher rev-number might be synchronized for the first time + return { type: "new", entity: entity }; + } else { + return { type: "update", entity: entity }; + } + }), + ); } /** @@ -142,7 +149,9 @@ export class EntityMapperService { this.setEntityMetadata(entity); const rawData = this.entitySchemaService.transformEntityToDatabaseFormat(entity); - const result = await this._db.put(rawData, forceUpdate); + const result = await this.dbResolver + .getDatabase(entity.getConstructor().DATABASE) + .put(rawData, forceUpdate); if (result?.ok) { entity._rev = result.rev; } @@ -163,10 +172,27 @@ export class EntityMapperService { forceUpdate: boolean = false, ): Promise { entities.forEach((e) => this.setEntityMetadata(e)); - const rawData = entities.map((e) => - this.entitySchemaService.transformEntityToDatabaseFormat(e), + + // group entities by their DATABASE + const groupedEntities = new Map(); + entities.forEach((e) => { + const db = e.getConstructor().DATABASE; + if (!groupedEntities.has(db)) { + groupedEntities.set(db, []); + } + groupedEntities.get(db).push(e); + }); + + const savePromises = Array.from(groupedEntities.entries()).map( + ([db, entities]) => { + const rawData = entities.map((e) => + this.entitySchemaService.transformEntityToDatabaseFormat(e), + ); + return this.dbResolver.getDatabase(db).putAll(rawData, forceUpdate); + }, ); - const results = await this._db.putAll(rawData, forceUpdate); + + const results = (await Promise.all(savePromises)).flat(); results.forEach((res, idx) => { if (res.ok) { const entity = entities[idx]; @@ -181,7 +207,9 @@ export class EntityMapperService { * @param entity The entity to be deleted */ public remove(entity: T): Promise { - return this._db.remove(entity); + return this.dbResolver + .getDatabase(entity.getConstructor().DATABASE) + .remove(entity); } protected resolveConstructor( diff --git a/src/app/core/entity/model/entity.ts b/src/app/core/entity/model/entity.ts index b3de68235b..84d4331b9c 100644 --- a/src/app/core/entity/model/entity.ts +++ b/src/app/core/entity/model/entity.ts @@ -26,6 +26,7 @@ import { IconName } from "@fortawesome/fontawesome-svg-core"; import { UpdateMetadata } from "./update-metadata"; import { EntityBlockConfig } from "../../basic-datatypes/entity/entity-block/entity-block-config"; import { Logging } from "../../logging/logging.service"; +import { DatabaseResolverService } from "../../database/database-resolver.service"; /** * This represents a static class of type . @@ -57,6 +58,11 @@ export class Entity { */ static ENTITY_TYPE = "Entity"; + /** + * The database where these entities are stored. + */ + static DATABASE = DatabaseResolverService.DEFAULT_DB; + /** * EntitySchema defining property transformations from/to the database. * This is auto-generated from the property annotations `@DatabaseField()`. diff --git a/src/app/core/permissions/permission-enforcer/permission-enforcer.service.ts b/src/app/core/permissions/permission-enforcer/permission-enforcer.service.ts index e77da25e55..acae163a44 100644 --- a/src/app/core/permissions/permission-enforcer/permission-enforcer.service.ts +++ b/src/app/core/permissions/permission-enforcer/permission-enforcer.service.ts @@ -2,7 +2,6 @@ import { Inject, Injectable } from "@angular/core"; import { DatabaseRule } from "../permission-types"; import { EntityConstructor } from "../../entity/model/entity"; import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service"; -import { Database } from "../../database/database"; import { LOCATION_TOKEN } from "../../../utils/di-tokens"; import { AnalyticsService } from "../../analytics/analytics.service"; import { EntityAbility } from "../ability/entity-ability"; @@ -10,6 +9,7 @@ import { EntityRegistry } from "../../entity/database-entity.decorator"; import { ConfigService } from "../../config/config.service"; import { firstValueFrom } from "rxjs"; import { SessionSubject } from "../../session/auth/session-info"; +import { DatabaseResolverService } from "../../database/database-resolver.service"; /** * This service checks whether the relevant rules for the current user changed. @@ -28,7 +28,7 @@ export class PermissionEnforcerService { private sessionInfo: SessionSubject, private ability: EntityAbility, private entityMapper: EntityMapperService, - private database: Database, + private dbResolver: DatabaseResolverService, private analyticsService: AnalyticsService, private entities: EntityRegistry, @Inject(LOCATION_TOKEN) private location: Location, @@ -48,7 +48,8 @@ export class PermissionEnforcerService { "destroying local db due to lost permissions", { category: "Migration" }, ); - await this.database.destroy(); + // TODO: is it enough to destroy the default DB or could other DBs also be affected? + await this.dbResolver.getDatabase().destroy(); this.location.reload(); } window.localStorage.setItem(this.getUserStorageKey(), userRulesString); diff --git a/src/app/core/session/session-service/session-manager.service.ts b/src/app/core/session/session-service/session-manager.service.ts index 7ddcd18f35..bc6b7065a3 100644 --- a/src/app/core/session/session-service/session-manager.service.ts +++ b/src/app/core/session/session-service/session-manager.service.ts @@ -24,9 +24,7 @@ import { LoginState } from "../session-states/login-state.enum"; import { Router } from "@angular/router"; import { KeycloakAuthService } from "../auth/keycloak/keycloak-auth.service"; import { LocalAuthService } from "../auth/local/local-auth.service"; -import { PouchDatabase } from "../../database/pouch-database"; import { environment } from "../../../../environments/environment"; -import { Database } from "../../database/database"; import { NAVIGATOR_TOKEN } from "../../../utils/di-tokens"; import { CurrentUserSubject } from "../current-user-subject"; import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service"; @@ -34,6 +32,7 @@ import { filter, take } from "rxjs/operators"; import { Subscription } from "rxjs"; import { Entity } from "../../entity/model/entity"; import { ConfigService } from "../../config/config.service"; +import { DatabaseResolverService } from "../../database/database-resolver.service"; /** * This service handles the user session. @@ -42,9 +41,7 @@ import { ConfigService } from "../../config/config.service"; */ @Injectable() export class SessionManagerService { - readonly DEPRECATED_DB_KEY = "RESERVED_FOR"; readonly RESET_REMOTE_SESSION_KEY = "RESET_REMOTE"; - private pouchDatabase: PouchDatabase; private remoteLoggedIn = false; private updateSubscription: Subscription; @@ -59,12 +56,8 @@ export class SessionManagerService { private router: Router, @Inject(NAVIGATOR_TOKEN) private navigator: Navigator, private configService: ConfigService, - database: Database, - ) { - if (database instanceof PouchDatabase) { - this.pouchDatabase = database; - } - } + private databaseResolver: DatabaseResolverService, + ) {} /** * Login for a remote session and start the sync. @@ -98,7 +91,7 @@ export class SessionManagerService { } private async initializeUser(session: SessionInfo) { - await this.initializeDatabaseForCurrentUser(session); + await this.databaseResolver.initDatabasesForSession(session); this.sessionInfo.next(session); this.loginStateSubject.next(LoginState.LOGGED_IN); this.configService.configUpdates.pipe(take(1)).subscribe(() => @@ -155,7 +148,7 @@ export class SessionManagerService { this.currentUser.next(undefined); this.loginStateSubject.next(LoginState.LOGGED_OUT); this.remoteLoggedIn = false; - this.pouchDatabase.reset(); + this.databaseResolver.resetDatabases(); return this.router.navigate(["/login"], { queryParams: { redirect_uri: this.router.routerState.snapshot.url }, }); @@ -174,37 +167,4 @@ export class SessionManagerService { this.syncService.startSync(); this.localAuthService.saveUser(user); } - - private async initializeDatabaseForCurrentUser(user: SessionInfo) { - const userDBName = `${user.name}-${environment.DB_NAME}`; - // Work on a temporary database before initializing the real one - const tmpDB = new PouchDatabase(); - this.initDatabase(userDBName, tmpDB); - if (!(await tmpDB.isEmpty())) { - // Current user has own database, we are done here - this.initDatabase(userDBName); - return; - } - - this.initDatabase(environment.DB_NAME, tmpDB); - const dbFallback = window.localStorage.getItem(this.DEPRECATED_DB_KEY); - const dbAvailable = !dbFallback || dbFallback === user.name; - if (dbAvailable && !(await tmpDB.isEmpty())) { - // Old database is available and can be used by the current user - window.localStorage.setItem(this.DEPRECATED_DB_KEY, user.name); - this.initDatabase(environment.DB_NAME); - return; - } - - // Create a new database for the current user - this.initDatabase(userDBName); - } - - private initDatabase(dbName: string, db = this.pouchDatabase) { - if (environment.session_type === SessionType.mock) { - db.initInMemoryDB(dbName); - } else { - db.initIndexedDB(dbName); - } - } } diff --git a/src/app/features/conflict-resolution/compare-rev/compare-rev.component.ts b/src/app/features/conflict-resolution/compare-rev/compare-rev.component.ts index 9fc19ecd09..e4b3fe49c9 100644 --- a/src/app/features/conflict-resolution/compare-rev/compare-rev.component.ts +++ b/src/app/features/conflict-resolution/compare-rev/compare-rev.component.ts @@ -11,6 +11,7 @@ import { MatTooltipModule } from "@angular/material/tooltip"; import { MatInputModule } from "@angular/material/input"; import { MatButtonModule } from "@angular/material/button"; import { FormsModule } from "@angular/forms"; +import { DatabaseResolverService } from "../../../core/database/database-resolver.service"; /** * Visualize one specific conflicting document revision and offer resolution options. @@ -58,12 +59,16 @@ export class CompareRevComponent { /** whether/how this conflict has been resolved */ resolution: string = null; + private readonly db: Database; + constructor( - private db: Database, + dbResolver: DatabaseResolverService, private confirmationDialog: ConfirmationDialogService, private snackBar: MatSnackBar, private conflictResolver: AutoResolutionService, - ) {} + ) { + this.db = dbResolver.getDatabase(); + } /** * Load the document version (revision) to be displayed and generate the diffs to be visualized. diff --git a/src/app/features/conflict-resolution/conflict-resolution-list/conflict-resolution-list.component.ts b/src/app/features/conflict-resolution/conflict-resolution-list/conflict-resolution-list.component.ts index c01ea560b0..9cc0ad8e10 100644 --- a/src/app/features/conflict-resolution/conflict-resolution-list/conflict-resolution-list.component.ts +++ b/src/app/features/conflict-resolution/conflict-resolution-list/conflict-resolution-list.component.ts @@ -1,15 +1,15 @@ -import { AfterViewInit, Component, Optional, ViewChild } from "@angular/core"; +import { AfterViewInit, Component, ViewChild } from "@angular/core"; import { MatPaginator, MatPaginatorModule } from "@angular/material/paginator"; import { QueryDataSource } from "../../../core/database/query-data-source"; import { Entity } from "../../../core/entity/model/entity"; import { Database } from "../../../core/database/database"; -import { EntitySchemaService } from "../../../core/entity/schema/entity-schema.service"; import { AsyncPipe, NgForOf, NgIf } from "@angular/common"; import { MatProgressBarModule } from "@angular/material/progress-bar"; import { MatTableModule } from "@angular/material/table"; import { MatSortModule } from "@angular/material/sort"; import { CompareRevComponent } from "../compare-rev/compare-rev.component"; import { RouteTarget } from "../../../route-target"; +import { DatabaseResolverService } from "../../../core/database/database-resolver.service"; /** * List all document conflicts and allow the user to expand for details and manual resolution. @@ -40,10 +40,11 @@ export class ConflictResolutionListComponent implements AfterViewInit { /** reference to mat-table paginator from template, required to set up pagination */ @ViewChild(MatPaginator) paginator: MatPaginator; - constructor( - private db: Database, - @Optional() private entitySchemaService: EntitySchemaService, - ) {} + private readonly db: Database; + + constructor(dbResolver: DatabaseResolverService) { + this.db = dbResolver.getDatabase(); + } async ngAfterViewInit() { await this.createDatabaseIndexForConflicts();