Fix submitting pastes not working when autodelete is not enabled

This commit is contained in:
Konrad Borowski 2019-03-03 12:53:46 +01:00
parent ba8510b359
commit fb43e6d312
2 changed files with 4 additions and 18 deletions

View File

@ -19,6 +19,7 @@ use futures::future::{self, Either};
use futures::prelude::*;
use rand::prelude::*;
use schema::{languages, paste_contents, paste_revisions, pastes};
use serde::de::IgnoredAny;
use serde::Deserialize;
use std::{env, io};
@ -63,14 +64,7 @@ fn fetch_languages(
struct PasteForm {
language: i32,
code: String,
autodelete: Checkbox,
}
#[derive(Deserialize)]
#[serde(rename_all = "lowercase")]
enum Checkbox {
On,
Off,
autodelete: Option<IgnoredAny>,
}
#[derive(Insertable)]
@ -101,10 +95,7 @@ fn insert_paste(db: State<Database<PgConnection>>, Form(form): Form<PasteForm>)
let identifier: String = (0..24)
.map(|_| char::from(*CHARACTERS.choose(&mut rng).expect("a random character")))
.collect();
let delete_at = match form.autodelete {
Checkbox::On => Some(Utc::now() + Duration::hours(24)),
Checkbox::Off => None,
};
let delete_at = form.autodelete.map(|_| Utc::now() + Duration::hours(24));
let cloned_identifier = identifier.clone();
db.transaction(move |c| {
let paste_id = diesel::insert_into(pastes::table)

View File

@ -37,9 +37,4 @@ joinable!(paste_contents -> languages (language_id));
joinable!(paste_contents -> paste_revisions (paste_revision_id));
joinable!(paste_revisions -> pastes (paste_id));
allow_tables_to_appear_in_same_query!(
languages,
paste_contents,
paste_revisions,
pastes,
);
allow_tables_to_appear_in_same_query!(languages, paste_contents, paste_revisions, pastes,);