UserInfo class

Information about a user. The UserInfo should only be shared with the user itself as it may contain sensative information, such as the users email. If you need to share a user's info with other users, use the UserInfoPublic instead. You can retrieve a UserInfoPublic through the toPublic() method.

Available extensions

Constructors

UserInfo({int? id, required String userIdentifier, required String userName, String? fullName, String? email, required DateTime created, String? imageUrl, required List<String> scopeNames, required bool blocked})
UserInfo.fromJson(Map<String, dynamic> jsonSerialization, SerializationManager serializationManager)
factory

Properties

blocked bool
True if the user is blocked from signing in.
getter/setter pair
created DateTime
The time when this user was created.
getter/setter pair
email String?
The email of the user.
getter/setter pair
fullName String?
The full name of the user.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
id int?
The id column of the row. Can be null if this row is not yet stored in the database.
getter/setter pairinherited
imageUrl String?
A URL to the user's avatar.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scopeNames List<String>
List of scopes that this user can access.
getter/setter pair
scopes Set<Scope>

Available on UserInfo, provided by the UserInfoMethods extension

Returns a set containing the scopes this user has access to.
no setter
tableName String
The name of the table that contains this row.
no setter
userIdentifier String
Unique identifier of the user, may contain different information depending on how the user was created.
getter/setter pair
userName String
The first name of the user or the user's nickname.
getter/setter pair

Methods

allToJson() Map<String, dynamic>
Returns a serialized JSON structure of the entity which also includes fields used by the database.
changeUserName(Session session, String newUserName) Future<bool>

Available on UserInfo, provided by the UserInfoMethods extension

Updates the name of this user, returns true if successful.
invalidateCache(Session session) Future<void>

Available on UserInfo, provided by the UserInfoMethods extension

Invalidates the local cache for the user, and forces next lookup to get a fresh copy from the database.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
setColumn(String columnName, dynamic value) → void
Sets the value of a column by its name. Used in communication with the database.
toJson() Map<String, dynamic>
Returns a serialized JSON structure of the entity, ready to be sent through the API. This does not include fields that are marked as database only.
toJsonForDatabase() Map<String, dynamic>
Will create a serialization of with the fields that are stored in the database only.
toPublic({bool includeUserId = true, bool includeFullName = true}) UserInfoPublic

Available on UserInfo, provided by the UserInfoExtension extension

Returns an object with only the information that can safely be shared publicly for the user.
toString() String
A string representation of this object.
inherited
updateScopes(Session session, Set<Scope> newScopes) Future<bool>

Available on UserInfo, provided by the UserInfoMethods extension

Updates the scopes for a user, returns true if successful.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

t UserInfoTable
final

Static Methods

count(Session session, {UserInfoExpressionBuilder? where, int? limit, bool useCache = true, Transaction? transaction}) Future<int>
delete(Session session, {required UserInfoExpressionBuilder where, Transaction? transaction}) Future<int>
deleteRow(Session session, UserInfo row, {Transaction? transaction}) Future<bool>
find(Session session, {UserInfoExpressionBuilder? where, int? limit, int? offset, Column? orderBy, List<Order>? orderByList, bool orderDescending = false, bool useCache = true, Transaction? transaction}) Future<List<UserInfo>>
findById(Session session, int id) Future<UserInfo?>
findSingleRow(Session session, {UserInfoExpressionBuilder? where, int? offset, Column? orderBy, bool orderDescending = false, bool useCache = true, Transaction? transaction}) Future<UserInfo?>
insert(Session session, UserInfo row, {Transaction? transaction}) Future<void>
update(Session session, UserInfo row, {Transaction? transaction}) Future<bool>