fix: make PlexMetadata type/key/title nullable for folder items

Plex API returns Directory entries without type field, causing
TypeError crash in fromJson. Made fields nullable and migrated
callers to use mediaType enum and displayTitle getter instead
of raw string access.
This commit is contained in:
edde746
2026-03-14 05:40:14 +01:00
parent 642c49b1ea
commit 4f736c555b
27 changed files with 134 additions and 140 deletions
+1 -1
View File
@@ -86,7 +86,7 @@ String formatContentRating(String? contentRating) {
/// Extension on PlexMetadata for type checking convenience methods
extension PlexMetadataType on PlexMetadata {
String get _lowerType => type.toLowerCase();
String get _lowerType => type?.toLowerCase() ?? '';
bool get isShow => _lowerType == ContentTypes.show;
bool get isMovie => _lowerType == ContentTypes.movie;
+1 -1
View File
@@ -80,7 +80,7 @@ class DeletionNotifier extends BaseNotifier<DeletionEvent> {
ratingKey: metadata.ratingKey,
serverId: metadata.serverId ?? '',
parentChain: _buildParentChain(metadata),
mediaType: metadata.type,
mediaType: metadata.type ?? '',
leafCount: metadata.leafCount ?? 1,
isDownloadOnly: isDownloadOnly,
),
+2 -2
View File
@@ -86,7 +86,7 @@ class WatchStateNotifier extends BaseNotifier<WatchStateEvent> {
serverId: metadata.serverId ?? '',
changeType: isNowWatched ? WatchStateChangeType.watched : WatchStateChangeType.unwatched,
parentChain: _buildParentChain(metadata),
mediaType: metadata.type,
mediaType: metadata.type ?? '',
isNowWatched: isNowWatched,
),
);
@@ -103,7 +103,7 @@ class WatchStateNotifier extends BaseNotifier<WatchStateEvent> {
serverId: metadata.serverId ?? '',
changeType: WatchStateChangeType.progressUpdate,
parentChain: _buildParentChain(metadata),
mediaType: metadata.type,
mediaType: metadata.type ?? '',
viewOffset: viewOffset,
isNowWatched: isNowWatched,
),