Add UI for multi-library management #59 (#63)

* feat: add ui for library source management

* fix: lint
This commit is contained in:
DecDuck
2025-06-01 18:33:42 +10:00
committed by GitHub
parent 40e66def1e
commit 2056871dc9
12 changed files with 625 additions and 15 deletions

View File

@ -30,7 +30,9 @@ export class FilesystemProvider
this.myId = id;
this.config = config;
fs.mkdirSync(this.config.baseDir, { recursive: true });
if (!fs.existsSync(this.config.baseDir))
throw "Base directory does not exist.";
}
id(): string {

View File

@ -20,6 +20,19 @@ class LibraryManager {
this.libraries.set(library.id(), library);
}
removeLibrary(id: string) {
this.libraries.delete(id);
}
async fetchLibraries() {
const libraries = await prisma.library.findMany({});
const libraryWithMetadata = libraries.map((e) => ({
...e,
working: this.libraries.has(e.id),
}));
return libraryWithMetadata;
}
async fetchAllUnimportedGames() {
const unimportedGames: { [key: string]: string[] } = {};