mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-12 23:45:18 +00:00
43 lines
1.2 KiB
Dart
43 lines
1.2 KiB
Dart
part of 'metadata.dart';
|
|
|
|
enum SpotubeAlbumType {
|
|
album,
|
|
single,
|
|
compilation,
|
|
}
|
|
|
|
@freezed
|
|
class SpotubeFullAlbumObject with _$SpotubeFullAlbumObject {
|
|
factory SpotubeFullAlbumObject({
|
|
required String id,
|
|
required String name,
|
|
required List<SpotubeSimpleArtistObject> artists,
|
|
@Default([]) List<SpotubeImageObject> images,
|
|
required String releaseDate,
|
|
required String externalUri,
|
|
required int totalTracks,
|
|
required SpotubeAlbumType albumType,
|
|
String? recordLabel,
|
|
List<String>? genres,
|
|
}) = _SpotubeFullAlbumObject;
|
|
|
|
factory SpotubeFullAlbumObject.fromJson(Map<String, dynamic> json) =>
|
|
_$SpotubeFullAlbumObjectFromJson(json);
|
|
}
|
|
|
|
@freezed
|
|
class SpotubeSimpleAlbumObject with _$SpotubeSimpleAlbumObject {
|
|
factory SpotubeSimpleAlbumObject({
|
|
required String id,
|
|
required String name,
|
|
required String externalUri,
|
|
required List<SpotubeSimpleArtistObject> artists,
|
|
@Default([]) List<SpotubeImageObject> images,
|
|
required String releaseDate,
|
|
required SpotubeAlbumType albumType,
|
|
}) = _SpotubeSimpleAlbumObject;
|
|
|
|
factory SpotubeSimpleAlbumObject.fromJson(Map<String, dynamic> json) =>
|
|
_$SpotubeSimpleAlbumObjectFromJson(json);
|
|
}
|