use crate::schema::local_user; use serde::Serialize; #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] #[table_name = "local_user"] pub struct LocalUser { pub id: i32, pub person_id: i32, pub password_encrypted: String, pub email: Option, pub admin: bool, pub show_nsfw: bool, pub theme: String, pub default_sort_type: i16, pub default_listing_type: i16, pub lang: String, pub show_avatars: bool, pub send_notifications_to_email: bool, pub matrix_user_id: Option, } // TODO redo these, check table defaults #[derive(Insertable, AsChangeset, Clone)] #[table_name = "local_user"] pub struct LocalUserForm { pub person_id: i32, pub password_encrypted: String, pub email: Option>, pub admin: Option, pub show_nsfw: Option, pub theme: Option, pub default_sort_type: Option, pub default_listing_type: Option, pub lang: Option, pub show_avatars: Option, pub send_notifications_to_email: Option, pub matrix_user_id: Option>, } /// A local user view that removes password encrypted #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] #[table_name = "local_user"] pub struct LocalUserSettings{ pub id: i32, pub person_id: i32, pub email: Option, pub admin: bool, pub show_nsfw: bool, pub theme: String, pub default_sort_type: i16, pub default_listing_type: i16, pub lang: String, pub show_avatars: bool, pub send_notifications_to_email: bool, pub matrix_user_id: Option, }