summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2019-12-09 00:24:53 -0800
committerDessalines <tyhou13@gmx.com>2019-12-09 00:24:53 -0800
commitf0808a1116d648a4b8d3b1a6f275d95bc3a7e933 (patch)
treeb3aa383dda539205589805510ebc595e81a5ede5 /server
parent4c7da003a26b381a396d8e6e82686dc4e1f414c1 (diff)
Adding custom language setting.
- Fixes #319
Diffstat (limited to 'server')
-rw-r--r--server/migrations/2019-12-09-060754_add_lang/down.sql1
-rw-r--r--server/migrations/2019-12-09-060754_add_lang/up.sql1
-rw-r--r--server/src/api/user.rs6
-rw-r--r--server/src/apub.rs1
-rw-r--r--server/src/db/comment.rs1
-rw-r--r--server/src/db/comment_view.rs1
-rw-r--r--server/src/db/community.rs1
-rw-r--r--server/src/db/moderator.rs2
-rw-r--r--server/src/db/password_reset_request.rs1
-rw-r--r--server/src/db/post.rs1
-rw-r--r--server/src/db/post_view.rs1
-rw-r--r--server/src/db/user.rs6
-rw-r--r--server/src/db/user_mention.rs2
-rw-r--r--server/src/schema.rs1
14 files changed, 26 insertions, 0 deletions
diff --git a/server/migrations/2019-12-09-060754_add_lang/down.sql b/server/migrations/2019-12-09-060754_add_lang/down.sql
new file mode 100644
index 00000000..c1335599
--- /dev/null
+++ b/server/migrations/2019-12-09-060754_add_lang/down.sql
@@ -0,0 +1 @@
+alter table user_ drop column lang;
diff --git a/server/migrations/2019-12-09-060754_add_lang/up.sql b/server/migrations/2019-12-09-060754_add_lang/up.sql
new file mode 100644
index 00000000..98a72ad9
--- /dev/null
+++ b/server/migrations/2019-12-09-060754_add_lang/up.sql
@@ -0,0 +1 @@
+alter table user_ add column lang varchar(20) default 'browser' not null;
diff --git a/server/src/api/user.rs b/server/src/api/user.rs
index 7f7af813..bc51c8e9 100644
--- a/server/src/api/user.rs
+++ b/server/src/api/user.rs
@@ -25,6 +25,7 @@ pub struct SaveUserSettings {
theme: String,
default_sort_type: i16,
default_listing_type: i16,
+ lang: String,
auth: String,
}
@@ -220,6 +221,7 @@ impl Perform<LoginResponse> for Oper<Register> {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
// Create the user
@@ -313,6 +315,7 @@ impl Perform<LoginResponse> for Oper<SaveUserSettings> {
theme: data.theme.to_owned(),
default_sort_type: data.default_sort_type,
default_listing_type: data.default_listing_type,
+ lang: data.lang.to_owned(),
};
let updated_user = match User_::update(&conn, user_id, &user_form) {
@@ -445,6 +448,7 @@ impl Perform<AddAdminResponse> for Oper<AddAdmin> {
theme: read_user.theme,
default_sort_type: read_user.default_sort_type,
default_listing_type: read_user.default_listing_type,
+ lang: read_user.lang,
};
match User_::update(&conn, data.user_id, &user_form) {
@@ -506,6 +510,7 @@ impl Perform<BanUserResponse> for Oper<BanUser> {
theme: read_user.theme,
default_sort_type: read_user.default_sort_type,
default_listing_type: read_user.default_listing_type,
+ lang: read_user.lang,
};
match User_::update(&conn, data.user_id, &user_form) {
@@ -842,6 +847,7 @@ impl Perform<LoginResponse> for Oper<PasswordChange> {
theme: read_user.theme,
default_sort_type: read_user.default_sort_type,
default_listing_type: read_user.default_listing_type,
+ lang: read_user.lang,
};
let updated_user = match User_::update_password(&conn, user_id, &user_form) {
diff --git a/server/src/apub.rs b/server/src/apub.rs
index 3c7202b2..66878d37 100644
--- a/server/src/apub.rs
+++ b/server/src/apub.rs
@@ -76,6 +76,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let person = expected_user.person();
diff --git a/server/src/db/comment.rs b/server/src/db/comment.rs
index 64532b83..b7bd562d 100644
--- a/server/src/db/comment.rs
+++ b/server/src/db/comment.rs
@@ -181,6 +181,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let inserted_user = User_::create(&conn, &new_user).unwrap();
diff --git a/server/src/db/comment_view.rs b/server/src/db/comment_view.rs
index dd53ddca..54c43b93 100644
--- a/server/src/db/comment_view.rs
+++ b/server/src/db/comment_view.rs
@@ -415,6 +415,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let inserted_user = User_::create(&conn, &new_user).unwrap();
diff --git a/server/src/db/community.rs b/server/src/db/community.rs
index bfc6089b..95469075 100644
--- a/server/src/db/community.rs
+++ b/server/src/db/community.rs
@@ -267,6 +267,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let inserted_user = User_::create(&conn, &new_user).unwrap();
diff --git a/server/src/db/moderator.rs b/server/src/db/moderator.rs
index b04c6c62..22547ca4 100644
--- a/server/src/db/moderator.rs
+++ b/server/src/db/moderator.rs
@@ -449,6 +449,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let inserted_mod = User_::create(&conn, &new_mod).unwrap();
@@ -466,6 +467,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let inserted_user = User_::create(&conn, &new_user).unwrap();
diff --git a/server/src/db/password_reset_request.rs b/server/src/db/password_reset_request.rs
index 265945df..8c65b4c0 100644
--- a/server/src/db/password_reset_request.rs
+++ b/server/src/db/password_reset_request.rs
@@ -92,6 +92,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let inserted_user = User_::create(&conn, &new_user).unwrap();
diff --git a/server/src/db/post.rs b/server/src/db/post.rs
index f185bd75..96ae31db 100644
--- a/server/src/db/post.rs
+++ b/server/src/db/post.rs
@@ -194,6 +194,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let inserted_user = User_::create(&conn, &new_user).unwrap();
diff --git a/server/src/db/post_view.rs b/server/src/db/post_view.rs
index 7a589738..4fcd8e47 100644
--- a/server/src/db/post_view.rs
+++ b/server/src/db/post_view.rs
@@ -345,6 +345,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let inserted_user = User_::create(&conn, &new_user).unwrap();
diff --git a/server/src/db/user.rs b/server/src/db/user.rs
index 064bff39..3d3865e8 100644
--- a/server/src/db/user.rs
+++ b/server/src/db/user.rs
@@ -23,6 +23,7 @@ pub struct User_ {
pub theme: String,
pub default_sort_type: i16,
pub default_listing_type: i16,
+ pub lang: String,
}
#[derive(Insertable, AsChangeset, Clone)]
@@ -40,6 +41,7 @@ pub struct UserForm {
pub theme: String,
pub default_sort_type: i16,
pub default_listing_type: i16,
+ pub lang: String,
}
impl Crud<UserForm> for User_ {
@@ -96,6 +98,7 @@ pub struct Claims {
pub theme: String,
pub default_sort_type: i16,
pub default_listing_type: i16,
+ pub lang: String,
}
impl Claims {
@@ -119,6 +122,7 @@ impl User_ {
theme: self.theme.to_owned(),
default_sort_type: self.default_sort_type,
default_listing_type: self.default_listing_type,
+ lang: self.lang.to_owned(),
};
encode(
&Header::default(),
@@ -175,6 +179,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let inserted_user = User_::create(&conn, &new_user).unwrap();
@@ -195,6 +200,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let read_user = User_::read(&conn, inserted_user.id).unwrap();
diff --git a/server/src/db/user_mention.rs b/server/src/db/user_mention.rs
index 668d28fc..7eb4d486 100644
--- a/server/src/db/user_mention.rs
+++ b/server/src/db/user_mention.rs
@@ -75,6 +75,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let inserted_user = User_::create(&conn, &new_user).unwrap();
@@ -92,6 +93,7 @@ mod tests {
theme: "darkly".into(),
default_sort_type: SortType::Hot as i16,
default_listing_type: ListingType::Subscribed as i16,
+ lang: "browser".into(),
};
let inserted_recipient = User_::create(&conn, &recipient_form).unwrap();
diff --git a/server/src/schema.rs b/server/src/schema.rs
index 5fc70953..bd73aabf 100644
--- a/server/src/schema.rs
+++ b/server/src/schema.rs
@@ -266,6 +266,7 @@ table! {
theme -> Varchar,
default_sort_type -> Int2,
default_listing_type -> Int2,
+ lang -> Varchar,
}
}