diff --git a/set_version.sh b/set_version.sh index 43821b0e57284bfb506fea4f24a1587e75f8e121..d51049584f341a8beec376d1f9e4d6d030aa2d21 100755 --- a/set_version.sh +++ b/set_version.sh @@ -1,3 +1,3 @@ #!/bin/bash -export version=0.4.1-alpha.6 +export version=0.4.1-alpha.7 echo "pub const VERSION: &str = \"${version}\";" > src/version.rs diff --git a/src/routes/channels/edit_channel.rs b/src/routes/channels/edit_channel.rs index ff5c47316ef5454ba07f3e485ee26f5403934e0e..4c680e15d1f97681880a2c58149f9e4736e2bc26 100644 --- a/src/routes/channels/edit_channel.rs +++ b/src/routes/channels/edit_channel.rs @@ -26,10 +26,6 @@ pub async fn req(user: User, target: Ref, data: Json<Data>) -> Result<()> { data.validate() .map_err(|error| Error::FailedValidation { error })?; - if data.name.is_none() && data.description.is_none() && data.icon.is_none() && data.remove.is_none() { - return Ok(()); - } - let target = target.fetch_channel().await?; let perm = permissions::PermissionCalculator::new(&user) .with_channel(&target) diff --git a/src/routes/channels/message_query.rs b/src/routes/channels/message_query.rs index dadf8b54e09d527d4f6f485a503f2dc9fe54fced..bed171c0d4d6fed5f48817823d27c6d5ec4c8179 100644 --- a/src/routes/channels/message_query.rs +++ b/src/routes/channels/message_query.rs @@ -11,6 +11,12 @@ use rocket_contrib::json::JsonValue; use serde::{Deserialize, Serialize}; use validator::Validate; +#[derive(Serialize, Deserialize, FromFormValue)] +pub enum Sort { + Latest, + Oldest +} + #[derive(Validate, Serialize, Deserialize, FromForm)] pub struct Options { #[validate(range(min = 1, max = 100))] @@ -19,6 +25,7 @@ pub struct Options { before: Option<String>, #[validate(length(min = 26, max = 26))] after: Option<String>, + sort: Option<Sort> } #[get("/<target>/messages?<options..>")] @@ -47,13 +54,14 @@ pub async fn req(user: User, target: Ref, options: Form<Options>) -> Result<Json query.insert("_id", doc! { "$gt": after }); } + let sort = if let Sort::Latest = options.sort.as_ref().unwrap_or_else(|| &Sort::Latest) { -1 } else { 1 }; let mut cursor = get_collection("messages") .find( query, FindOptions::builder() .limit(options.limit.unwrap_or(50)) .sort(doc! { - "_id": -1 + "_id": sort }) .build(), )