Support metadata updates

This commit is contained in:
Elias Projahn 2025-04-27 15:22:04 +02:00
parent cb90f02073
commit 456af4a1df
31 changed files with 2930 additions and 2161 deletions

View file

@ -19,6 +19,7 @@ pub struct Work {
pub parts: Vec<Work>,
pub persons: Vec<Composer>,
pub instruments: Vec<Instrument>,
pub enable_updates: bool,
}
#[derive(Clone, Debug)]
@ -33,6 +34,7 @@ pub struct Ensemble {
pub ensemble_id: String,
pub name: TranslatedString,
pub persons: Vec<(Person, Instrument)>,
pub enable_updates: bool,
}
#[derive(Boxed, Clone, Debug)]
@ -43,6 +45,7 @@ pub struct Recording {
pub year: Option<i32>,
pub persons: Vec<Performer>,
pub ensembles: Vec<EnsemblePerformer>,
pub enable_updates: bool,
}
#[derive(Clone, Debug)]
@ -152,6 +155,7 @@ impl Work {
parts,
persons,
instruments,
enable_updates: data.enable_updates,
})
}
@ -229,6 +233,7 @@ impl Ensemble {
ensemble_id: data.ensemble_id,
name: data.name,
persons,
enable_updates: data.enable_updates,
})
}
}
@ -279,6 +284,7 @@ impl Recording {
year: data.year,
persons,
ensembles,
enable_updates: data.enable_updates,
})
}

View file

@ -44,6 +44,7 @@ diesel::table! {
edited_at -> Timestamp,
last_used_at -> Timestamp,
last_played_at -> Nullable<Timestamp>,
enable_updates -> Bool,
}
}
@ -55,6 +56,7 @@ diesel::table! {
edited_at -> Timestamp,
last_used_at -> Timestamp,
last_played_at -> Nullable<Timestamp>,
enable_updates -> Bool,
}
}
@ -77,11 +79,12 @@ diesel::table! {
edited_at -> Timestamp,
last_used_at -> Timestamp,
last_played_at -> Nullable<Timestamp>,
enable_updates -> Bool,
}
}
diesel::table! {
recording_ensembles (recording_id, ensemble_id, sequence_number) {
recording_ensembles (recording_id, ensemble_id) {
recording_id -> Text,
ensemble_id -> Text,
role_id -> Nullable<Text>,
@ -90,7 +93,7 @@ diesel::table! {
}
diesel::table! {
recording_persons (recording_id, person_id, sequence_number) {
recording_persons (recording_id, person_id) {
recording_id -> Text,
person_id -> Text,
role_id -> Nullable<Text>,
@ -108,6 +111,7 @@ diesel::table! {
edited_at -> Timestamp,
last_used_at -> Timestamp,
last_played_at -> Nullable<Timestamp>,
enable_updates -> Bool,
}
}
@ -118,6 +122,7 @@ diesel::table! {
created_at -> Timestamp,
edited_at -> Timestamp,
last_used_at -> Timestamp,
enable_updates -> Bool,
}
}
@ -153,7 +158,7 @@ diesel::table! {
}
diesel::table! {
work_persons (work_id, person_id, sequence_number) {
work_persons (work_id, person_id) {
work_id -> Text,
person_id -> Text,
role_id -> Nullable<Text>,
@ -171,6 +176,7 @@ diesel::table! {
edited_at -> Timestamp,
last_used_at -> Timestamp,
last_played_at -> Nullable<Timestamp>,
enable_updates -> Bool,
}
}

View file

@ -28,6 +28,7 @@ pub struct Person {
pub edited_at: NaiveDateTime,
pub last_used_at: NaiveDateTime,
pub last_played_at: Option<NaiveDateTime>,
pub enable_updates: bool,
}
#[derive(Boxed, Insertable, Queryable, Selectable, Clone, Debug)]
@ -39,6 +40,7 @@ pub struct Role {
pub created_at: NaiveDateTime,
pub edited_at: NaiveDateTime,
pub last_used_at: NaiveDateTime,
pub enable_updates: bool,
}
#[derive(Boxed, Insertable, Queryable, Selectable, Clone, Debug)]
@ -51,6 +53,7 @@ pub struct Instrument {
pub edited_at: NaiveDateTime,
pub last_used_at: NaiveDateTime,
pub last_played_at: Option<NaiveDateTime>,
pub enable_updates: bool,
}
#[derive(Insertable, Queryable, Selectable, Clone, Debug)]
@ -64,6 +67,7 @@ pub struct Work {
pub edited_at: NaiveDateTime,
pub last_used_at: NaiveDateTime,
pub last_played_at: Option<NaiveDateTime>,
pub enable_updates: bool,
}
#[derive(Insertable, Queryable, Selectable, Clone, Debug)]
@ -92,6 +96,7 @@ pub struct Ensemble {
pub edited_at: NaiveDateTime,
pub last_used_at: NaiveDateTime,
pub last_played_at: Option<NaiveDateTime>,
pub enable_updates: bool,
}
#[derive(Insertable, Queryable, Selectable, Clone, Debug)]
@ -113,6 +118,7 @@ pub struct Recording {
pub edited_at: NaiveDateTime,
pub last_used_at: NaiveDateTime,
pub last_played_at: Option<NaiveDateTime>,
pub enable_updates: bool,
}
#[derive(Insertable, Queryable, Selectable, Clone, Debug)]