diff --git a/lib/models/plex_metadata.dart b/lib/models/plex_metadata.dart index 5ea3f2cc..a4a6cb4d 100644 --- a/lib/models/plex_metadata.dart +++ b/lib/models/plex_metadata.dart @@ -9,6 +9,9 @@ import '../utils/global_key_utils.dart'; part 'plex_metadata.g.dart'; +Object? _readRatingKey(Map json, String key) => + json['ratingKey'] ?? json['key'] ?? ''; + int? _flexibleInt(Object? v) => switch (v) { num n => n.toInt(), String s => int.tryParse(s), @@ -57,6 +60,7 @@ enum PlexMediaType { @JsonSerializable() class PlexMetadata with MultiServerFields { + @JsonKey(readValue: _readRatingKey) final String ratingKey; final String key; final String? guid; diff --git a/lib/models/plex_metadata.g.dart b/lib/models/plex_metadata.g.dart index 36464546..ecf8e4fd 100644 --- a/lib/models/plex_metadata.g.dart +++ b/lib/models/plex_metadata.g.dart @@ -7,7 +7,7 @@ part of 'plex_metadata.dart'; // ************************************************************************** PlexMetadata _$PlexMetadataFromJson(Map json) => PlexMetadata( - ratingKey: json['ratingKey'] as String, + ratingKey: _readRatingKey(json, 'ratingKey') as String, key: json['key'] as String, guid: json['guid'] as String?, studio: json['studio'] as String?,