X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fdb_schema%2Fsrc%2Fsource%2Finstance.rs;h=a6c50cff5c29d05ef176b386aae1f90fa105833b;hb=3735c6fabfd85d6c98c2fc126b70e593db532eb8;hp=d581300555eca07ad8ee5bf7facc22bbb1c84ee2;hpb=47f4aa3550e7e79736f87673e007f930a9442f1f;p=lemmy.git diff --git a/crates/db_schema/src/source/instance.rs b/crates/db_schema/src/source/instance.rs index d5813005..a6c50cff 100644 --- a/crates/db_schema/src/source/instance.rs +++ b/crates/db_schema/src/source/instance.rs @@ -1,21 +1,30 @@ use crate::newtypes::InstanceId; #[cfg(feature = "full")] use crate::schema::instance; +use serde::{Deserialize, Serialize}; use std::fmt::Debug; +use typed_builder::TypedBuilder; -#[derive(PartialEq, Eq, Debug)] +#[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)] #[cfg_attr(feature = "full", derive(Queryable, Identifiable))] #[cfg_attr(feature = "full", diesel(table_name = instance))] pub struct Instance { pub id: InstanceId, pub domain: String, + pub software: Option, + pub version: Option, pub published: chrono::NaiveDateTime, pub updated: Option, } +#[derive(Clone, TypedBuilder)] +#[builder(field_defaults(default))] #[cfg_attr(feature = "full", derive(Insertable, AsChangeset))] #[cfg_attr(feature = "full", diesel(table_name = instance))] pub struct InstanceForm { + #[builder(!default)] pub domain: String, + pub software: Option, + pub version: Option, pub updated: Option, }