docs(openapi): add FeedOptionsQuery IntoParams and update feed annotations
This commit is contained in:
@@ -22,12 +22,18 @@ use domain::{
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[derive(serde::Deserialize, Default)]
|
#[derive(serde::Deserialize, Default, utoipa::IntoParams)]
|
||||||
|
#[into_params(parameter_in = Query)]
|
||||||
pub struct FeedOptionsQuery {
|
pub struct FeedOptionsQuery {
|
||||||
|
/// Sort order: `newest` (default), `oldest`, `most_liked`, `most_boosted`, `most_discussed`
|
||||||
pub sort: Option<String>,
|
pub sort: Option<String>,
|
||||||
|
/// Show only original posts (mutually exclusive with `replies_only`)
|
||||||
pub originals_only: Option<bool>,
|
pub originals_only: Option<bool>,
|
||||||
|
/// Show only replies (mutually exclusive with `originals_only`)
|
||||||
pub replies_only: Option<bool>,
|
pub replies_only: Option<bool>,
|
||||||
|
/// Show only posts from this instance
|
||||||
pub local_only: Option<bool>,
|
pub local_only: Option<bool>,
|
||||||
|
/// Hide posts marked as sensitive
|
||||||
pub hide_sensitive: Option<bool>,
|
pub hide_sensitive: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,7 +102,7 @@ pub fn to_thought_response(e: &domain::models::feed::FeedEntry) -> ThoughtRespon
|
|||||||
|
|
||||||
#[utoipa::path(
|
#[utoipa::path(
|
||||||
get, path = "/feed",
|
get, path = "/feed",
|
||||||
params(PaginationQuery),
|
params(PaginationQuery, FeedOptionsQuery),
|
||||||
responses((status = 200, description = "Home feed")),
|
responses((status = 200, description = "Home feed")),
|
||||||
security(("bearer_auth" = []))
|
security(("bearer_auth" = []))
|
||||||
)]
|
)]
|
||||||
@@ -122,7 +128,7 @@ pub async fn home_feed(
|
|||||||
|
|
||||||
#[utoipa::path(
|
#[utoipa::path(
|
||||||
get, path = "/feed/public",
|
get, path = "/feed/public",
|
||||||
params(PaginationQuery),
|
params(PaginationQuery, FeedOptionsQuery),
|
||||||
responses((status = 200, description = "Public feed"))
|
responses((status = 200, description = "Public feed"))
|
||||||
)]
|
)]
|
||||||
pub async fn public_feed(
|
pub async fn public_feed(
|
||||||
@@ -266,6 +272,7 @@ pub async fn get_followers_handler(
|
|||||||
params(
|
params(
|
||||||
("username" = String, Path, description = "Username"),
|
("username" = String, Path, description = "Username"),
|
||||||
PaginationQuery,
|
PaginationQuery,
|
||||||
|
FeedOptionsQuery,
|
||||||
),
|
),
|
||||||
responses((status = 200, description = "User's public thoughts"))
|
responses((status = 200, description = "User's public thoughts"))
|
||||||
)]
|
)]
|
||||||
@@ -322,6 +329,7 @@ pub async fn get_popular_tags(
|
|||||||
params(
|
params(
|
||||||
("name" = String, Path, description = "Tag name"),
|
("name" = String, Path, description = "Tag name"),
|
||||||
PaginationQuery,
|
PaginationQuery,
|
||||||
|
FeedOptionsQuery,
|
||||||
),
|
),
|
||||||
responses((status = 200, description = "Thoughts with this tag"))
|
responses((status = 200, description = "Thoughts with this tag"))
|
||||||
)]
|
)]
|
||||||
|
|||||||
Reference in New Issue
Block a user