fix: Random mrdka
This commit is contained in:
+19
-1
@@ -239,7 +239,7 @@ struct CreateInput {
|
|||||||
text_content: String,
|
text_content: String,
|
||||||
start_date: String,
|
start_date: String,
|
||||||
end_date: String,
|
end_date: String,
|
||||||
#[serde(default)]
|
#[serde(default, deserialize_with = "one_or_many")]
|
||||||
flags: Vec<String>,
|
flags: Vec<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -325,6 +325,24 @@ async fn delete_announcement(
|
|||||||
|
|
||||||
// ── Helpers ───────────────────────────────────────────────────────────────────
|
// ── Helpers ───────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
fn one_or_many<'de, D: serde::Deserializer<'de>>(d: D) -> Result<Vec<String>, D::Error> {
|
||||||
|
use serde::de;
|
||||||
|
struct OneOrMany;
|
||||||
|
impl<'de> de::Visitor<'de> for OneOrMany {
|
||||||
|
type Value = Vec<String>;
|
||||||
|
fn expecting(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
|
||||||
|
f.write_str("a string or list of strings")
|
||||||
|
}
|
||||||
|
fn visit_str<E: de::Error>(self, v: &str) -> Result<Vec<String>, E> {
|
||||||
|
Ok(vec![v.to_owned()])
|
||||||
|
}
|
||||||
|
fn visit_seq<A: de::SeqAccess<'de>>(self, seq: A) -> Result<Vec<String>, A::Error> {
|
||||||
|
de::Deserialize::deserialize(de::value::SeqAccessDeserializer::new(seq))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
d.deserialize_any(OneOrMany)
|
||||||
|
}
|
||||||
|
|
||||||
fn escape_html(s: &str) -> String {
|
fn escape_html(s: &str) -> String {
|
||||||
s.replace('&', "&")
|
s.replace('&', "&")
|
||||||
.replace('<', "<")
|
.replace('<', "<")
|
||||||
|
|||||||
Reference in New Issue
Block a user