summaryrefslogtreecommitdiffstats
path: root/server/src/api
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2019-10-20 21:21:54 -0700
committerDessalines <tyhou13@gmx.com>2019-10-20 21:21:54 -0700
commit90ce1f1a3fca5c8d8a13e91f991b23ecb77f1faf (patch)
treecd851bbdb333f3b16cfd0f5aaeed97e6f46af143 /server/src/api
parenta7dedaf273b6fd2ebd9c9b8b9d6a7d227f376797 (diff)
Adding default sort / filter into user settings.
- Fixes #295
Diffstat (limited to 'server/src/api')
-rw-r--r--server/src/api/post.rs2
-rw-r--r--server/src/api/site.rs6
-rw-r--r--server/src/api/user.rs16
3 files changed, 17 insertions, 7 deletions
diff --git a/server/src/api/post.rs b/server/src/api/post.rs
index d53d2064..5df42990 100644
--- a/server/src/api/post.rs
+++ b/server/src/api/post.rs
@@ -235,7 +235,7 @@ impl Perform<GetPostsResponse> for Oper<GetPosts> {
None => false,
};
- let type_ = PostListingType::from_str(&data.type_)?;
+ let type_ = ListingType::from_str(&data.type_)?;
let sort = SortType::from_str(&data.sort)?;
let posts = match PostView::list(
diff --git a/server/src/api/site.rs b/server/src/api/site.rs
index 40b1592d..618295fc 100644
--- a/server/src/api/site.rs
+++ b/server/src/api/site.rs
@@ -321,7 +321,7 @@ impl Perform<SearchResponse> for Oper<Search> {
SearchType::Posts => {
posts = PostView::list(
&conn,
- PostListingType::All,
+ ListingType::All,
&sort,
data.community_id,
None,
@@ -365,7 +365,7 @@ impl Perform<SearchResponse> for Oper<Search> {
SearchType::All => {
posts = PostView::list(
&conn,
- PostListingType::All,
+ ListingType::All,
&sort,
data.community_id,
None,
@@ -403,7 +403,7 @@ impl Perform<SearchResponse> for Oper<Search> {
SearchType::Url => {
posts = PostView::list(
&conn,
- PostListingType::All,
+ ListingType::All,
&sort,
data.community_id,
None,
diff --git a/server/src/api/user.rs b/server/src/api/user.rs
index 563ae0a2..5ac2b432 100644
--- a/server/src/api/user.rs
+++ b/server/src/api/user.rs
@@ -22,6 +22,8 @@ pub struct Register {
pub struct SaveUserSettings {
show_nsfw: bool,
theme: String,
+ default_sort_type: i16,
+ default_listing_type: i16,
auth: String,
}
@@ -198,6 +200,8 @@ impl Perform<LoginResponse> for Oper<Register> {
banned: false,
show_nsfw: data.show_nsfw,
theme: "darkly".into(),
+ default_sort_type: SortType::Hot as i16,
+ default_listing_type: ListingType::Subscribed as i16,
};
// Create the user
@@ -289,6 +293,8 @@ impl Perform<LoginResponse> for Oper<SaveUserSettings> {
banned: read_user.banned,
show_nsfw: data.show_nsfw,
theme: data.theme.to_owned(),
+ default_sort_type: data.default_sort_type,
+ default_listing_type: data.default_listing_type,
};
let updated_user = match User_::update(&conn, user_id, &user_form) {
@@ -346,7 +352,7 @@ impl Perform<GetUserDetailsResponse> for Oper<GetUserDetails> {
let posts = if data.saved_only {
PostView::list(
&conn,
- PostListingType::All,
+ ListingType::All,
&sort,
data.community_id,
None,
@@ -362,7 +368,7 @@ impl Perform<GetUserDetailsResponse> for Oper<GetUserDetails> {
} else {
PostView::list(
&conn,
- PostListingType::All,
+ ListingType::All,
&sort,
data.community_id,
Some(user_details_id),
@@ -453,6 +459,8 @@ impl Perform<AddAdminResponse> for Oper<AddAdmin> {
banned: read_user.banned,
show_nsfw: read_user.show_nsfw,
theme: read_user.theme,
+ default_sort_type: read_user.default_sort_type,
+ default_listing_type: read_user.default_listing_type,
};
match User_::update(&conn, data.user_id, &user_form) {
@@ -512,6 +520,8 @@ impl Perform<BanUserResponse> for Oper<BanUser> {
banned: data.ban,
show_nsfw: read_user.show_nsfw,
theme: read_user.theme,
+ default_sort_type: read_user.default_sort_type,
+ default_listing_type: read_user.default_listing_type,
};
match User_::update(&conn, data.user_id, &user_form) {
@@ -751,7 +761,7 @@ impl Perform<LoginResponse> for Oper<DeleteAccount> {
// Posts
let posts = PostView::list(
&conn,
- PostListingType::All,
+ ListingType::All,
&SortType::New,
None,
Some(user_id),