- 
                  
                  DeclarationSwift let userID: UUID
- 
                  
                  DeclarationSwift let username: String
- 
                  
                  DeclarationSwift let displayName: String?
- 
                  
                  DeclarationSwift let profileUpdateTime: Date
- 
                  
                  DeclarationSwift let userImage: String?
- 
                  
                  DeclarationSwift let blocks: Set<UUID>?
- 
                  
                  DeclarationSwift let mutes: Set<UUID>?
- 
                  
                  DeclarationSwift let mutewords: [String]?
- 
                  
                  DeclarationSwift let token: String?
- 
                  
                  DeclarationSwift let accessLevel: UserAccessLevel
- 
                  
                  DeclarationSwift let userRoles: Set<UserRoleType>
- 
                  
                  DeclarationSwift let tempQuarantineUntil: Date?
- 
                  
                  DeclarationSwift let preferredPronoun: String?
- 
                  
                  DeclarationSwift init(userID: UUID, user: User, blocks: [UUID]?, mutewords: [String]?)
- 
                  
                  DeclarationSwift public var sessionID: String { get }
- 
                  
                  DeclarationSwift func getBlocks() -> Set<UUID>
- 
                  
                  DeclarationSwift func getMutes() -> Set<UUID>
- 
                  
                  DeclarationSwift func makeHeader() -> UserHeader
- 
                  getUser(on:Asynchronous) DeclarationSwift func getUser(on db: Database) async throws -> User
- 
                  
                  Ensures that either the receiver can edit/delete other users’ content (that is, they’re a moderator), or that they authored the content they’re trying to modify/delete themselves, and still have rights to edit their own content (that is, they aren’t banned/quarantined). DeclarationSwift func guardCanCreateContent(customErrorString: String = "user cannot modify this content") throws
- 
                  
                  Ensures that either the receiver can edit/delete other users’ content (that is, they’re a moderator), or that they authored the content they’re trying to modify/delete themselves, and still have rights to edit their own content (that is, they aren’t banned/quarantined). DeclarationSwift func guardCanModifyContent<T: Reportable>( _ content: T, customErrorString: String = "user cannot modify this content" ) throws
- 
                  
                  DeclarationSwift struct BasicAuth : AsyncBasicAuthenticator
- 
                  
                  DeclarationSwift struct TokenAuthenticator : AsyncBearerAuthenticator
- 
                  
                  DeclarationSwift struct SessionAuth : AsyncSessionAuthenticator
 View on GitHub
            View on GitHub
           UserCacheData Structure Reference
      UserCacheData Structure Reference