diff --git a/crates/api/src/local_user.rs b/crates/api/src/local_user.rs index 656ddf971..c28d8c725 100644 --- a/crates/api/src/local_user.rs +++ b/crates/api/src/local_user.rs @@ -267,6 +267,7 @@ impl Perform for SaveUserSettings { email, password_encrypted, show_nsfw: data.show_nsfw, + show_scores: data.show_scores, theme: data.theme.to_owned(), default_sort_type, default_listing_type, diff --git a/crates/api_common/src/person.rs b/crates/api_common/src/person.rs index 7767da460..c4f8adbf9 100644 --- a/crates/api_common/src/person.rs +++ b/crates/api_common/src/person.rs @@ -47,6 +47,8 @@ pub struct CaptchaResponse { #[derive(Deserialize)] pub struct SaveUserSettings { pub show_nsfw: Option, + pub show_scores: Option, + pub show_avatars: Option, pub theme: Option, pub default_sort_type: Option, pub default_listing_type: Option, @@ -60,7 +62,6 @@ pub struct SaveUserSettings { pub new_password: Option, pub new_password_verify: Option, pub old_password: Option, - pub show_avatars: Option, pub send_notifications_to_email: Option, pub auth: String, } diff --git a/crates/api_crud/src/user/create.rs b/crates/api_crud/src/user/create.rs index 63a6474d6..c61c1e79a 100644 --- a/crates/api_crud/src/user/create.rs +++ b/crates/api_crud/src/user/create.rs @@ -133,6 +133,7 @@ impl PerformCrud for Register { default_listing_type: Some(ListingType::Subscribed as i16), lang: Some("browser".into()), show_avatars: Some(true), + show_scores: Some(true), send_notifications_to_email: Some(false), }; diff --git a/crates/db_queries/src/source/local_user.rs b/crates/db_queries/src/source/local_user.rs index 18720ceba..d1fad2e85 100644 --- a/crates/db_queries/src/source/local_user.rs +++ b/crates/db_queries/src/source/local_user.rs @@ -24,6 +24,7 @@ mod safe_settings_type { show_avatars, send_notifications_to_email, validator_time, + show_scores, ); impl ToSafeSettings for LocalUser { @@ -43,6 +44,7 @@ mod safe_settings_type { show_avatars, send_notifications_to_email, validator_time, + show_scores, ) } } diff --git a/crates/db_schema/src/schema.rs b/crates/db_schema/src/schema.rs index 5bc55f529..a99908ad3 100644 --- a/crates/db_schema/src/schema.rs +++ b/crates/db_schema/src/schema.rs @@ -154,6 +154,7 @@ table! { show_avatars -> Bool, send_notifications_to_email -> Bool, validator_time -> Timestamp, + show_scores -> Bool, } } diff --git a/crates/db_schema/src/source/local_user.rs b/crates/db_schema/src/source/local_user.rs index 6f28a8fbc..0a7181fdb 100644 --- a/crates/db_schema/src/source/local_user.rs +++ b/crates/db_schema/src/source/local_user.rs @@ -16,6 +16,7 @@ pub struct LocalUser { pub show_avatars: bool, pub send_notifications_to_email: bool, pub validator_time: chrono::NaiveDateTime, + pub show_scores: bool, } // TODO redo these, check table defaults @@ -32,6 +33,7 @@ pub struct LocalUserForm { pub lang: Option, pub show_avatars: Option, pub send_notifications_to_email: Option, + pub show_scores: Option, } /// A local user view that removes password encrypted @@ -49,4 +51,5 @@ pub struct LocalUserSettings { pub show_avatars: bool, pub send_notifications_to_email: bool, pub validator_time: chrono::NaiveDateTime, + pub show_scores: bool, } diff --git a/migrations/2021-03-31-103917_add_show_score_setting/down.sql b/migrations/2021-03-31-103917_add_show_score_setting/down.sql new file mode 100644 index 000000000..9d35b5638 --- /dev/null +++ b/migrations/2021-03-31-103917_add_show_score_setting/down.sql @@ -0,0 +1 @@ +alter table local_user drop column show_scores; diff --git a/migrations/2021-03-31-103917_add_show_score_setting/up.sql b/migrations/2021-03-31-103917_add_show_score_setting/up.sql new file mode 100644 index 000000000..7960886a3 --- /dev/null +++ b/migrations/2021-03-31-103917_add_show_score_setting/up.sql @@ -0,0 +1 @@ +alter table local_user add column show_scores boolean default true not null;