remove internal only attributes
This commit is contained in:
parent
c214c8bd73
commit
e3b4d3c56d
|
@ -9,63 +9,6 @@ use crate::types::{
|
||||||
utils::Snowflake, //util::{email::adjust_email, entities::user_setting::UserSettings},
|
utils::Snowflake, //util::{email::adjust_email, entities::user_setting::UserSettings},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
|
||||||
#[cfg_attr(feature = "sqlx", derive(FromRow))]
|
|
||||||
pub struct User {
|
|
||||||
pub id: Snowflake,
|
|
||||||
pub username: String,
|
|
||||||
pub discriminator: String,
|
|
||||||
pub avatar: Option<String>,
|
|
||||||
pub accent_color: Option<u8>,
|
|
||||||
pub banner: Option<String>,
|
|
||||||
pub theme_colors: Option<Vec<u8>>,
|
|
||||||
pub pronouns: Option<String>,
|
|
||||||
pub phone: Option<String>,
|
|
||||||
pub desktop: bool,
|
|
||||||
pub mobile: bool,
|
|
||||||
pub premium: bool,
|
|
||||||
pub premium_type: u8,
|
|
||||||
pub bot: bool,
|
|
||||||
pub bio: String,
|
|
||||||
pub system: bool,
|
|
||||||
pub nsfw_allowed: bool,
|
|
||||||
pub mfa_enabled: bool,
|
|
||||||
pub webauthn_enabled: bool,
|
|
||||||
#[serde(skip)]
|
|
||||||
pub totp_secret: Option<String>,
|
|
||||||
#[serde(skip)]
|
|
||||||
pub totp_last_ticket: Option<String>,
|
|
||||||
pub created_at: DateTime<Utc>,
|
|
||||||
pub premium_since: Option<DateTime<Utc>>,
|
|
||||||
pub verified: bool,
|
|
||||||
pub disabled: bool,
|
|
||||||
pub deleted: bool,
|
|
||||||
pub email: Option<String>,
|
|
||||||
pub flags: String,
|
|
||||||
pub public_flags: u16,
|
|
||||||
pub purchased_flags: u16,
|
|
||||||
pub premium_usage_flags: u16,
|
|
||||||
pub rights: String,
|
|
||||||
#[cfg(feature = "sqlx")]
|
|
||||||
pub relationship_ids: sqlx::types::Json<Vec<String>>,
|
|
||||||
#[cfg(not(feature = "sqlx"))]
|
|
||||||
pub relationship_ids: Vec<String>,
|
|
||||||
#[cfg(feature = "sqlx")]
|
|
||||||
pub connected_account_ids: sqlx::types::Json<Vec<String>>,
|
|
||||||
#[cfg(not(feature = "sqlx"))]
|
|
||||||
pub connected_account_ids: Vec<String>,
|
|
||||||
#[cfg(feature = "sqlx")]
|
|
||||||
pub data: sqlx::types::Json<UserData>,
|
|
||||||
#[cfg(not(feature = "sqlx"))]
|
|
||||||
pub data: UserData,
|
|
||||||
#[cfg(feature = "sqlx")]
|
|
||||||
pub fingerprints: sqlx::types::Json<Vec<String>>,
|
|
||||||
#[cfg(not(feature = "sqlx"))]
|
|
||||||
pub fingerprints: Vec<String>,
|
|
||||||
// pub settings: UserSettings,
|
|
||||||
pub extended_settings: Value,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
|
||||||
#[cfg_attr(feature = "sqlx", derive(Type))]
|
#[cfg_attr(feature = "sqlx", derive(Type))]
|
||||||
pub struct UserData {
|
pub struct UserData {
|
||||||
|
@ -73,96 +16,33 @@ pub struct UserData {
|
||||||
pub hash: Option<String>,
|
pub hash: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for User {
|
|
||||||
fn default() -> Self {
|
|
||||||
Self {
|
|
||||||
id: Snowflake::generate(),
|
|
||||||
username: String::new(),
|
|
||||||
discriminator: String::new(),
|
|
||||||
avatar: None,
|
|
||||||
accent_color: None,
|
|
||||||
banner: None,
|
|
||||||
theme_colors: None,
|
|
||||||
pronouns: None,
|
|
||||||
phone: None,
|
|
||||||
desktop: false,
|
|
||||||
mobile: false,
|
|
||||||
premium: false,
|
|
||||||
premium_type: 0,
|
|
||||||
bot: false,
|
|
||||||
bio: String::new(),
|
|
||||||
system: false,
|
|
||||||
nsfw_allowed: false,
|
|
||||||
mfa_enabled: false,
|
|
||||||
webauthn_enabled: false,
|
|
||||||
totp_secret: None,
|
|
||||||
totp_last_ticket: None,
|
|
||||||
created_at: Utc::now(),
|
|
||||||
premium_since: None,
|
|
||||||
verified: false,
|
|
||||||
disabled: false,
|
|
||||||
deleted: false,
|
|
||||||
email: None,
|
|
||||||
flags: String::from("0"),
|
|
||||||
public_flags: 0,
|
|
||||||
purchased_flags: 0,
|
|
||||||
premium_usage_flags: 0,
|
|
||||||
rights: String::new(),
|
|
||||||
relationship_ids: Default::default(),
|
|
||||||
connected_account_ids: Default::default(),
|
|
||||||
data: Default::default(),
|
|
||||||
fingerprints: Default::default(),
|
|
||||||
//settings: UserSettings::default(),
|
|
||||||
extended_settings: Value::Object(Map::new()),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl User {
|
|
||||||
pub fn validate(&mut self) -> Result<(), Error> {
|
|
||||||
/*if let Some(email) = self.email.as_ref() {
|
|
||||||
self.email = Some(adjust_email(email)?);
|
|
||||||
}
|
|
||||||
|
|
||||||
if self.discriminator.len() < 4 {
|
|
||||||
self.discriminator = format!("{:0>4}", self.discriminator);
|
|
||||||
}
|
|
||||||
Ok(())*/
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub async fn generate_discriminator(_username: &str) -> Result<String, Error> {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl User {
|
impl User {
|
||||||
pub fn to_public_user(self) -> PublicUser {
|
pub fn to_public_user(self) -> PublicUser {
|
||||||
PublicUser::from(self)
|
PublicUser::from(self)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq)]
|
||||||
pub struct PrivateUser {
|
pub struct User {
|
||||||
pub id: String,
|
pub id: Snowflake,
|
||||||
username: String,
|
username: String,
|
||||||
discriminator: String,
|
discriminator: String,
|
||||||
avatar: Option<String>,
|
avatar: Option<String>,
|
||||||
bot: bool,
|
bot: bool,
|
||||||
system: Option<bool>,
|
system: Option<bool>,
|
||||||
mfa_enabled: Option<bool>,
|
mfa_enabled: Option<bool>,
|
||||||
accent_color: Option<String>,
|
accent_color: Option<u8>,
|
||||||
locale: Option<String>,
|
locale: Option<String>,
|
||||||
verified: Option<bool>,
|
verified: Option<bool>,
|
||||||
email: Option<String>,
|
email: Option<String>,
|
||||||
flags: String,
|
flags: String,
|
||||||
premium_since: Option<String>,
|
premium_since: Option<DateTime<Utc>>,
|
||||||
premium_type: i8,
|
premium_type: u8,
|
||||||
pronouns: Option<String>,
|
pronouns: Option<String>,
|
||||||
public_flags: Option<i8>,
|
public_flags: Option<u16>,
|
||||||
banner: Option<String>,
|
banner: Option<String>,
|
||||||
bio: String,
|
bio: String,
|
||||||
theme_colors: Option<Vec<i32>>,
|
theme_colors: Option<Vec<u8>>,
|
||||||
phone: Option<String>,
|
phone: Option<String>,
|
||||||
nsfw_allowed: bool,
|
nsfw_allowed: bool,
|
||||||
premium: bool,
|
premium: bool,
|
||||||
|
@ -185,7 +65,7 @@ pub struct PublicUser {
|
||||||
pub bio: String,
|
pub bio: String,
|
||||||
pub premium_type: u8,
|
pub premium_type: u8,
|
||||||
pub premium_since: Option<DateTime<Utc>>,
|
pub premium_since: Option<DateTime<Utc>>,
|
||||||
pub public_flags: u16,
|
pub public_flags: Option<u16>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<User> for PublicUser {
|
impl From<User> for PublicUser {
|
||||||
|
|
|
@ -24,8 +24,6 @@ pub enum UserTheme {
|
||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
pub struct UserSettings {
|
pub struct UserSettings {
|
||||||
#[serde(skip_serializing)]
|
|
||||||
pub index: String, // Database relevance only
|
|
||||||
pub afk_timeout: u16,
|
pub afk_timeout: u16,
|
||||||
pub allow_accessibility_detection: bool,
|
pub allow_accessibility_detection: bool,
|
||||||
pub animate_emoji: bool,
|
pub animate_emoji: bool,
|
||||||
|
@ -62,7 +60,6 @@ pub struct UserSettings {
|
||||||
impl Default for UserSettings {
|
impl Default for UserSettings {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
index: Snowflake::generate().to_string(),
|
|
||||||
afk_timeout: 3600,
|
afk_timeout: 3600,
|
||||||
allow_accessibility_detection: true,
|
allow_accessibility_detection: true,
|
||||||
animate_emoji: true,
|
animate_emoji: true,
|
||||||
|
|
Loading…
Reference in New Issue