use crate::newtypes::{DbUrl, SiteId}; use serde::{Deserialize, Serialize}; #[cfg(feature = "full")] use crate::schema::site; #[derive(PartialEq, Eq, Debug, Clone, Serialize, Deserialize)] #[cfg_attr(feature = "full", derive(Queryable, Identifiable))] #[cfg_attr(feature = "full", diesel(table_name = site))] pub struct Site { pub id: SiteId, 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, pub actor_id: DbUrl, pub last_refreshed_at: chrono::NaiveDateTime, pub inbox_url: DbUrl, pub private_key: Option, pub public_key: String, pub default_theme: String, pub default_post_listing_type: String, pub legal_information: Option, pub application_email_admins: bool, pub hide_modlog_mod_names: bool, } #[derive(Default)] #[cfg_attr(feature = "full", derive(Insertable, AsChangeset))] #[cfg_attr(feature = "full", diesel(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, pub actor_id: Option, pub last_refreshed_at: Option, pub inbox_url: Option, pub private_key: Option>, pub public_key: Option, pub default_theme: Option, pub default_post_listing_type: Option, pub legal_information: Option>, pub application_email_admins: Option, pub hide_modlog_mod_names: Option, }