pub struct User {Show 35 fields
pub id: usize,
pub created: usize,
pub username: String,
pub password: String,
pub salt: String,
pub settings: UserSettings,
pub tokens: Vec<Token>,
pub permissions: FinePermission,
pub is_verified: bool,
pub notification_count: usize,
pub follower_count: usize,
pub following_count: usize,
pub last_seen: usize,
pub totp: String,
pub recovery_codes: Vec<String>,
pub post_count: usize,
pub request_count: usize,
pub connections: UserConnections,
pub stripe_id: String,
pub grants: Vec<AuthGrant>,
pub associated: Vec<usize>,
pub invite_code: usize,
pub secondary_permissions: SecondaryPermission,
pub achievements: Vec<Achievement>,
pub awaiting_purchase: bool,
pub was_purchased: bool,
pub browser_session: String,
pub ban_reason: String,
pub channel_mutes: Vec<usize>,
pub is_deactivated: bool,
pub ban_expire: usize,
pub coins: i32,
pub checkouts: Vec<String>,
pub applied_configurations: Vec<(AppliedConfigType, usize)>,
pub last_policy_consent: usize,
}Fields§
§id: usize§created: usize§username: String§password: String§salt: String§settings: UserSettings§tokens: Vec<Token>§permissions: FinePermission§is_verified: bool§notification_count: usize§follower_count: usize§following_count: usize§last_seen: usize§totp: StringThe TOTP secret for this profile. An empty value means the user has TOTP disabled.
recovery_codes: Vec<String>The TOTP recovery codes for this profile.
post_count: usize§request_count: usize§connections: UserConnectionsExternal service connection details.
stripe_id: StringThe user’s Stripe customer ID.
grants: Vec<AuthGrant>The grants associated with the user’s account.
associated: Vec<usize>A list of the IDs of all accounts the user has signed into through the UI.
invite_code: usizeThe ID of the InviteCode this user provided during registration.
secondary_permissions: SecondaryPermissionSecondary permissions because the regular permissions struct ran out of possible bits.
achievements: Vec<Achievement>Users collect achievements through little actions across the site.
awaiting_purchase: boolIf the account was registered as a “bought” account, the user should not be allowed to actually use the account if they haven’t paid for supporter yet.
was_purchased: boolThis value cannot be changed after account creation. This value is used to lock the user’s account again if the subscription is cancelled and they haven’t used an invite code.
browser_session: StringThis value is updated for every new littleweb browser session.
This means the user can only have one of these sessions open at once (unless this token is stored somewhere with a way to say we already have one, but this does not happen yet).
Without this token, the user can still use the browser, they just cannot
view pages which require authentication (all $ routes).
ban_reason: StringThe reason the user was banned.
channel_mutes: Vec<usize>IDs of channels the user has muted.
is_deactivated: boolIf the user is deactivated. Deactivated users act almost like deleted users, but their data is not wiped.
ban_expire: usizeThe time at which the user’s ban will automatically expire.
coins: i32The number of coins the user has.
checkouts: Vec<String>The IDs of Stripe checkout sessions that this user has successfully completed.
This should be checked BEFORE applying purchases to ensure that the user hasn’t already applied this purchase.
applied_configurations: Vec<(AppliedConfigType, usize)>The IDs of products to be applied to the user’s profile.
last_policy_consent: usizeThe time in which the user last consented to the site’s policies.
Implementations§
Source§impl User
impl User
Sourcepub fn create_token(ip: &str) -> (String, Token)
pub fn create_token(ip: &str) -> (String, Token)
Sourcepub fn check_password(&self, against: String) -> bool
pub fn check_password(&self, against: String) -> bool
Check if the given password is correct for the user.
Sourcepub fn parse_mentions(input: &str) -> Vec<String>
pub fn parse_mentions(input: &str) -> Vec<String>
Parse user mentions in a given input.
Sourcepub fn totp(&self, issuer: Option<String>) -> Option<TOTP>
pub fn totp(&self, issuer: Option<String>) -> Option<TOTP>
Get a TOTP from the profile’s totp secret value.
Sourcepub fn get_grant_by_app_id(&self, id: usize) -> Option<&AuthGrant>
pub fn get_grant_by_app_id(&self, id: usize) -> Option<&AuthGrant>
Get a grant from the user given the grant’s app ID.
Should be used before adding another grant (to ensure the app doesn’t already have a grant for this user).