use crate::{schema::site, DbUrl, PersonId}; use serde::Serialize; #[derive(Queryable, Identifiable, PartialEq, Debug, Clone, Serialize)] #[table_name = "site"] pub struct Site { pub id: i32, pub name: String, pub sidebar: Option, pub creator_id: PersonId, 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, } #[derive(Insertable, AsChangeset)] #[table_name = "site"] pub struct SiteForm { pub name: String, pub creator_id: PersonId, 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, }