Add convenience method

This commit is contained in:
Wojciech Kozlowski 2025-01-04 22:13:43 +01:00
parent 8a42f7c712
commit e9b169fdef
2 changed files with 24 additions and 14 deletions

View File

@ -137,6 +137,25 @@ pub enum AlbumSecondaryType {
FieldRecording,
}
impl AlbumSecondaryType {
pub fn all_variants() -> [AlbumSecondaryType; 12] {
[
AlbumSecondaryType::Compilation,
AlbumSecondaryType::Soundtrack,
AlbumSecondaryType::Spokenword,
AlbumSecondaryType::Interview,
AlbumSecondaryType::Audiobook,
AlbumSecondaryType::AudioDrama,
AlbumSecondaryType::Live,
AlbumSecondaryType::Remix,
AlbumSecondaryType::DjMix,
AlbumSecondaryType::MixtapeStreet,
AlbumSecondaryType::Demo,
AlbumSecondaryType::FieldRecording,
]
}
}
/// The album's ownership status.
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum AlbumOwnership {

View File

@ -85,20 +85,11 @@ fn default_filter() -> CollectionFilter {
]],
except: vec![
vec![AlbumField::Ownership(AlbumOwnership::None)],
vec![
AlbumField::SecondaryType(AlbumSecondaryType::Compilation),
AlbumField::SecondaryType(AlbumSecondaryType::Soundtrack),
AlbumField::SecondaryType(AlbumSecondaryType::Spokenword),
AlbumField::SecondaryType(AlbumSecondaryType::Interview),
AlbumField::SecondaryType(AlbumSecondaryType::Audiobook),
AlbumField::SecondaryType(AlbumSecondaryType::AudioDrama),
AlbumField::SecondaryType(AlbumSecondaryType::Live),
AlbumField::SecondaryType(AlbumSecondaryType::Remix),
AlbumField::SecondaryType(AlbumSecondaryType::DjMix),
AlbumField::SecondaryType(AlbumSecondaryType::MixtapeStreet),
AlbumField::SecondaryType(AlbumSecondaryType::Demo),
AlbumField::SecondaryType(AlbumSecondaryType::FieldRecording),
],
AlbumSecondaryType::all_variants()
.iter()
.cloned()
.map(AlbumField::SecondaryType)
.collect(),
],
}
}