feat(tagging): write release identity tags

This commit is contained in:
zarzet
2026-08-18 19:04:26 +07:00
parent 48883d51d4
commit 290923e88f
21 changed files with 400 additions and 11 deletions
+7
View File
@@ -35,6 +35,7 @@ class Track {
final String? audioQuality;
final String? audioModes;
final bool? explicit;
final String? upc;
const Track({
required this.id,
@@ -66,6 +67,7 @@ class Track {
this.audioQuality,
this.audioModes,
this.explicit,
this.upc,
});
bool get isSingle {
@@ -145,6 +147,9 @@ class Track {
audioModes: data['audio_modes']?.toString(),
previewUrl: data['preview_url']?.toString(),
explicit: parseExplicitFlag(data['explicit']),
upc: normalizeOptionalString(
(data['upc'] ?? data['barcode'])?.toString(),
),
);
}
@@ -178,6 +183,7 @@ class Track {
String? audioQuality,
String? audioModes,
bool? explicit,
String? upc,
}) {
return Track(
id: id ?? this.id,
@@ -209,6 +215,7 @@ class Track {
audioQuality: audioQuality ?? this.audioQuality,
audioModes: audioModes ?? this.audioModes,
explicit: explicit ?? this.explicit,
upc: upc ?? this.upc,
);
}
+2
View File
@@ -40,6 +40,7 @@ Track _$TrackFromJson(Map<String, dynamic> json) => Track(
audioQuality: json['audioQuality'] as String?,
audioModes: json['audioModes'] as String?,
explicit: json['explicit'] as bool?,
upc: json['upc'] as String?,
);
Map<String, dynamic> _$TrackToJson(Track instance) => <String, dynamic>{
@@ -72,6 +73,7 @@ Map<String, dynamic> _$TrackToJson(Track instance) => <String, dynamic>{
'audioQuality': instance.audioQuality,
'audioModes': instance.audioModes,
'explicit': instance.explicit,
'upc': instance.upc,
};
ServiceAvailability _$ServiceAvailabilityFromJson(Map<String, dynamic> json) =>