Files
plezy/lib/models/plex/plex_subtitle_search_result.dart
T
2026-05-01 01:20:36 +02:00

58 lines
1.6 KiB
Dart

import 'package:json_annotation/json_annotation.dart';
import '../../utils/json_utils.dart';
part 'plex_subtitle_search_result.g.dart';
int _flexibleIntOrZero(Object? v) => flexibleInt(v) ?? 0;
@JsonSerializable()
class PlexSubtitleSearchResult {
@JsonKey(fromJson: _flexibleIntOrZero)
final int id;
@JsonKey(readValue: readStringField, defaultValue: '')
final String key;
@JsonKey(readValue: readStringField)
final String? codec;
@JsonKey(readValue: readStringField)
final String? language;
@JsonKey(readValue: readStringField)
final String? languageCode;
@JsonKey(fromJson: flexibleDouble)
final double? score;
@JsonKey(readValue: readStringField)
final String? providerTitle;
@JsonKey(readValue: readStringField)
final String? title;
@JsonKey(readValue: readStringField)
final String? displayTitle;
@JsonKey(fromJson: flexibleBool)
final bool hearingImpaired;
@JsonKey(fromJson: flexibleBool)
final bool perfectMatch;
@JsonKey(fromJson: flexibleBool)
final bool downloaded;
@JsonKey(fromJson: flexibleBool)
final bool forced;
PlexSubtitleSearchResult({
required this.id,
required this.key,
this.codec,
this.language,
this.languageCode,
this.score,
this.providerTitle,
this.title,
this.displayTitle,
this.hearingImpaired = false,
this.perfectMatch = false,
this.downloaded = false,
this.forced = false,
});
factory PlexSubtitleSearchResult.fromJson(Map<String, dynamic> json) => _$PlexSubtitleSearchResultFromJson(json);
Map<String, dynamic> toJson() => _$PlexSubtitleSearchResultToJson(this);
}