From 755611689ef91625220e35ffbd140e6fd0ef3b86 Mon Sep 17 00:00:00 2001 From: grimsi <9295182+grimsi@users.noreply.github.com> Date: Fri, 21 Oct 2022 21:15:51 +0200 Subject: [PATCH 1/2] [GH-61] Fix manual mapping leading to duplicates in DB --- .../main/java/de/grimsi/gameyfin/service/GameService.java | 6 ++++++ frontend/package-lock.json | 4 ++-- frontend/package.json | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/de/grimsi/gameyfin/service/GameService.java b/backend/src/main/java/de/grimsi/gameyfin/service/GameService.java index 0c36729..4dc8d2f 100644 --- a/backend/src/main/java/de/grimsi/gameyfin/service/GameService.java +++ b/backend/src/main/java/de/grimsi/gameyfin/service/GameService.java @@ -105,6 +105,8 @@ public class GameService { .orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, "Game with slug '%s' does not exist on IGDB.".formatted(slug))); DetectedGame game = gameMapper.toDetectedGame(igdbGame, Path.of(unmappableFile.getPath())); + game.setConfirmedMatch(true); + game = detectedGameRepository.save(game); unmappableFileRepository.delete(unmappableFile); @@ -117,8 +119,12 @@ public class GameService { .orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, "Game with slug '%s' does not exist on IGDB.".formatted(slug))); DetectedGame game = gameMapper.toDetectedGame(igdbGame, Path.of(existingGame.getPath())); + game.setConfirmedMatch(true); + game = detectedGameRepository.save(game); + detectedGameRepository.delete(existingGame); + return game; } } diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 0c909b5..5a5e7dc 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "frontend", - "version": "1.2.4-SNAPSHOT", + "version": "1.2.5-SNAPSHOT", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "frontend", - "version": "1.2.4-SNAPSHOT", + "version": "1.2.5-SNAPSHOT", "dependencies": { "@angular/animations": "^14.0.0", "@angular/cdk": "^14.1.0", diff --git a/frontend/package.json b/frontend/package.json index 6734fcf..a828c86 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "frontend", - "version": "1.2.4-SNAPSHOT", + "version": "1.2.5-SNAPSHOT", "scripts": { "ng": "ng", "start": "ng serve", From 9485ec0e2565545073f907747bdaaa7717a2ec95 Mon Sep 17 00:00:00 2001 From: Simon <9295182+grimsi@users.noreply.github.com> Date: Fri, 21 Oct 2022 22:04:10 +0200 Subject: [PATCH 2/2] Update README.md --- README.md | 34 ++++++++-------------------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index b0c451c..2555f0c 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,6 @@

A simple game library manager.

- - # Overview Name and functionality inspired by [Jellyfin](https://jellyfin.org/). @@ -16,15 +14,17 @@ Click [this link](https://youtu.be/BSaccEm0tpo) to watch how to install and set ## Features -* Automatically scans your game library folder -* Load additional information about the games from IGDB -* Display your library in a modern web frontend +* Automatically scans your game library folder and downloads additional metadata from IGDB +* Access your library via your Web-Browser * Download games directly from your browser -* Search and filter your game library -* Offline-friendly (once the library has been scanned everything is cached locally) -* Easy to host yourself thanks to native Docker support (alternatively it's only one .jar file to run on bare metal) +* LAN-friendly (everything is cached locally) +* Native Docker support (alternatively it's only one .jar file to run on bare metal) * Light and dark theme +## Preview + +https://user-images.githubusercontent.com/9295182/197277953-d69464a4-d280-407b-9274-ae62e6917981.mp4 + ## Installation ### General @@ -44,21 +44,3 @@ Since Gameyfin loads information from IGDB, you need to register yourself there. 3. Edit the config options in the `gameyfin.properties` file 4. Use the following command to start Gameyfin: `java -jar gameyfin.jar` 5. Open the address of your Gameyfin host in your browser, Gameyfin runs under port 8080 by default - -## Screenshots - -### Game library screen in light mode (top) and dark mode (bottom) -![Game library](assets/library_overview.png) - -### Game detail view -![Game detail screen](assets/game_detail_view.png) - -### Automatic library scanning -![Library scan hint](assets/scan_library.png) - -### Admin interface -![Admin interface](assets/game_mappings.png) - -### Manually fix incorrect mappings (with autocomplete suggestions) -![Fix mapping dialog](assets/fix_game_mapping.png) -