use crate::{ schema::{person, person_alias_1, person_alias_2}, DbUrl, }; use serde::Serialize; #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] #[table_name = "person"] pub struct Person { pub id: i32, pub name: String, pub preferred_username: Option, pub avatar: Option, pub banned: bool, pub published: chrono::NaiveDateTime, pub updated: Option, pub actor_id: DbUrl, pub bio: Option, pub local: bool, pub private_key: Option, pub public_key: Option, pub last_refreshed_at: chrono::NaiveDateTime, pub banner: Option, pub deleted: bool, pub inbox_url: DbUrl, pub shared_inbox_url: Option, } /// A safe representation of person, without the sensitive info #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] #[table_name = "person"] pub struct PersonSafe { pub id: i32, pub name: String, pub preferred_username: Option, pub avatar: Option, pub banned: bool, pub published: chrono::NaiveDateTime, pub updated: Option, pub actor_id: DbUrl, pub bio: Option, pub local: bool, pub banner: Option, pub deleted: bool, pub inbox_url: DbUrl, pub shared_inbox_url: Option, } #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] #[table_name = "person_alias_1"] pub struct PersonAlias1 { pub id: i32, pub name: String, pub preferred_username: Option, pub avatar: Option, pub banned: bool, pub published: chrono::NaiveDateTime, pub updated: Option, pub actor_id: DbUrl, pub bio: Option, pub local: bool, pub private_key: Option, pub public_key: Option, pub last_refreshed_at: chrono::NaiveDateTime, pub banner: Option, pub deleted: bool, pub inbox_url: DbUrl, pub shared_inbox_url: Option, } #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] #[table_name = "person_alias_1"] pub struct PersonSafeAlias1 { pub id: i32, pub name: String, pub preferred_username: Option, pub avatar: Option, pub banned: bool, pub published: chrono::NaiveDateTime, pub updated: Option, pub actor_id: DbUrl, pub bio: Option, pub local: bool, pub banner: Option, pub deleted: bool, pub inbox_url: DbUrl, pub shared_inbox_url: Option, } #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] #[table_name = "person_alias_2"] pub struct PersonAlias2 { pub id: i32, pub name: String, pub preferred_username: Option, pub avatar: Option, pub banned: bool, pub published: chrono::NaiveDateTime, pub updated: Option, pub actor_id: DbUrl, pub bio: Option, pub local: bool, pub private_key: Option, pub public_key: Option, pub last_refreshed_at: chrono::NaiveDateTime, pub banner: Option, pub deleted: bool, pub inbox_url: DbUrl, pub shared_inbox_url: Option, } #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] #[table_name = "person_alias_1"] pub struct PersonSafeAlias2 { pub id: i32, pub name: String, pub preferred_username: Option, pub avatar: Option, pub banned: bool, pub published: chrono::NaiveDateTime, pub updated: Option, pub actor_id: DbUrl, pub bio: Option, pub local: bool, pub banner: Option, pub deleted: bool, pub inbox_url: DbUrl, pub shared_inbox_url: Option, } #[derive(Insertable, AsChangeset, Clone)] #[table_name = "person"] pub struct PersonForm { pub name: String, pub preferred_username: Option>, pub avatar: Option>, pub banned: Option, pub published: Option, pub updated: Option, pub actor_id: Option, pub bio: Option>, pub local: Option, pub private_key: Option>, pub public_key: Option>, pub last_refreshed_at: Option, pub banner: Option>, pub deleted: Option, pub inbox_url: Option, pub shared_inbox_url: Option>, }