Preparations for plugin prioritisation and metadata merging

This commit is contained in:
grimsi
2025-01-04 18:26:11 +01:00
parent 046b550cc9
commit 8fdb6ac24d
11 changed files with 140 additions and 141 deletions
@@ -1,28 +1,29 @@
package de.grimsi.gameyfin.pluginapi.gamemetadata
import java.net.URL
import java.net.URI
import java.time.Instant
class GameMetadata(
val title: String,
val description: String,
val coverUrl: URL,
val release: Instant,
val userRating: Int?,
val criticRating: Int?,
val developedBy: Set<String>,
val publishedBy: Set<String>,
val genres: Set<Genre>,
val themes: Set<Theme>,
val keywords: Set<String>,
val screenshotUrls: Set<URL>,
val videoUrls: Set<URL>,
val features: Set<GameFeature>,
val perspectives: Set<PlayerPerspective>
val description: String? = null,
val coverUrl: URI? = null,
val release: Instant? = null,
val userRating: Int? = null,
val criticRating: Int? = null,
val developedBy: Set<String>? = null,
val publishedBy: Set<String>? = null,
val genres: Set<Genre>? = null,
val themes: Set<Theme>? = null,
val keywords: Set<String>? = null,
val screenshotUrls: Set<URI>? = null,
val videoUrls: Set<URI>? = null,
val features: Set<GameFeature>? = null,
val perspectives: Set<PlayerPerspective>? = null
)
enum class Genre {
UNKNOWN,
ACTION,
PINBALL,
ADVENTURE,
INDIE,
@@ -30,6 +31,7 @@ enum class Genre {
VISUAL_NOVEL,
CARD_AND_BOARD_GAME,
MOBA,
MMO,
POINT_AND_CLICK,
FIGHTING,
SHOOTER,