use crate::{newtypes::DbUrl, schema::site}; use serde::{Deserialize, Serialize}; #[derive(Queryable, Identifiable, PartialEq, Debug, Clone, Serialize, Deserialize)] #[table_name = "site"] pub struct Site { pub id: i32, pub name: String, pub sidebar: Option, pub published: chrono::NaiveDateTime, pub updated: Option, pub enable_downvotes: bool, pub open_registration: bool, pub enable_nsfw: bool, pub icon: Option, pub banner: Option, pub description: Option, pub community_creation_admin_only: bool, pub require_email_verification: bool, pub require_application: bool, pub application_question: Option, pub private_instance: bool, } #[derive(Insertable, AsChangeset, Default)] #[table_name = "site"] pub struct SiteForm { pub name: String, pub sidebar: Option>, pub updated: Option, pub enable_downvotes: Option, pub open_registration: Option, pub enable_nsfw: Option, // when you want to null out a column, you have to send Some(None)), since sending None means you just don't want to update that column. pub icon: Option>, pub banner: Option>, pub description: Option>, pub community_creation_admin_only: Option, pub require_email_verification: Option, pub require_application: Option, pub application_question: Option>, pub private_instance: Option, }