add a ToS switch

This commit is contained in:
blek 2023-11-03 00:08:45 +10:00
parent a9955f5e99
commit c01b4ea73f
Signed by: blek
GPG Key ID: 14546221E3595D0C
2 changed files with 18 additions and 2 deletions

View File

@ -24,6 +24,22 @@ pub async fn upload(form: FormData, ip: Option<IpAddr>, state: SharedState) -> R
.await
.map_err(|x| HttpReject::WarpError(x))?;
if let Some(consent) = params.get("tos_consent") {
if consent.data != "on".bytes().collect::<Vec<u8>>() {
return Ok(
Box::new(
format!("You need to agree to the ToS to upload a file.\nSee {}/curlapi/help for details\n\nTo agree to the ToS, add a -F'tos_consent=on'\n", state.env.instanceurl)
)
)
}
} else {
return Ok(
Box::new(
format!("You need to agree to the ToS to upload a file.\nSee {}/curlapi/help for details\n\nTo agree to the ToS, add a -F'tos_consent=on'\n", state.env.instanceurl)
)
)
}
let formdata = UploadFormData::from_formdata(params, true);
if let Some(formdata) = formdata {

View File

@ -18,8 +18,8 @@ use super::{state::SharedState, pages::{UploadSuccessPage, ErrorPage}, rejection
#[derive(Debug, Serialize, Clone)]
pub struct FormElement {
data: Vec<u8>,
mime: String
pub data: Vec<u8>,
pub mime: String
}
impl FormElement {