feat: add the ability to resync props

This commit is contained in:
Evan Carroll 2026-01-15 19:02:34 -06:00
parent 8447fdef5d
commit e57323ff3f
5 changed files with 180 additions and 36 deletions

View file

@ -88,6 +88,20 @@ pub enum AccountStatus {
Deleted,
}
/// User account tag for feature gating and access control.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[cfg_attr(feature = "ssr", derive(sqlx::Type))]
#[cfg_attr(feature = "ssr", sqlx(type_name = "user_tag", rename_all = "snake_case"))]
#[serde(rename_all = "snake_case")]
pub enum UserTag {
Guest,
Unvalidated,
ValidatedEmail,
ValidatedSocial,
ValidatedOauth2,
Premium,
}
/// Authentication provider.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
#[cfg_attr(feature = "ssr", derive(sqlx::Type))]
@ -399,6 +413,7 @@ pub struct User {
pub reputation_tier: ReputationTier,
pub status: AccountStatus,
pub email_verified: bool,
pub tags: Vec<UserTag>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}
@ -1467,7 +1482,7 @@ impl GuestLoginRequest {
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GuestLoginResponse {
pub guest_name: String,
pub guest_id: Uuid,
pub user_id: Uuid,
pub redirect_url: String,
pub realm: RealmSummary,
}