use crate::{schema::local_user, LocalUserId, PersonId}; use serde::Serialize; #[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] #[table_name = "local_user"] pub struct LocalUser { pub id: LocalUserId, pub person_id: PersonId, pub password_encrypted: String, pub email: Option, 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 validator_time: chrono::NaiveDateTime, pub show_scores: bool, } // TODO redo these, check table defaults #[derive(Insertable, AsChangeset, Clone, Default)] #[table_name = "local_user"] pub struct LocalUserForm { pub person_id: PersonId, pub password_encrypted: String, pub email: 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 show_scores: 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: LocalUserId, pub person_id: PersonId, pub email: Option, 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 validator_time: chrono::NaiveDateTime, pub show_scores: bool, }