Session class

Guest session record used for unauthenticated visitors.

Archery uses this model to track a visitor session token (stored in the archery_guest_session cookie) and last activity timestamp. This guest session is also used as the binding point for CSRF token association. Sessions are looked up in the application container before the database and expire after one hour of inactivity.

Inheritance
Mixed-in types
Available extensions

Constructors

Session({required String token})
Session.fromJson(Map<String, dynamic> json)
Restores the token and activity timestamp from a stored record.

Properties

createdAt DateTime?
Creation timestamp (UTC).
getter/setter pairinherited
csrf String?
getter/setter pair
data Map<String, dynamic>
getter/setter pair
disk DatabaseDisk
getter/setter pairinherited
errors Map<String, dynamic>
getter/setter pair
flashMessages Map<String, dynamic>
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
id int?
Primary key (auto-incremented by backend).
getter/setter pairinherited
lastActivity DateTime
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
token String
getter/setter pair
updatedAt DateTime?
Last update timestamp (UTC).
getter/setter pairinherited
user User?
getter/setter pair
uuid String?
UUID for cross-backend identification.
getter/setter pairinherited

Methods

attach(Model sibling, {required ModelRelationshipType relationship, PivotTable<Model, Model>? table, DatabaseDisk disk = Model.defaultDisk}) Future<bool>

Available on Model, provided by the ModelRelationshipOps extension

Attaches sibling to this model using the given relationship type.
belongsToMany<T extends Model>({required PivotTable<Model, Model> table, DatabaseDisk disk = Model.defaultDisk}) Future<List<T>>

Available on Model, provided by the ModelRelationships extension

Resolves many-to-many related models through a pivot table.
belongsToOne<T extends Model>({DatabaseDisk disk = Model.defaultDisk}) Future<T?>

Available on Model, provided by the ModelRelationships extension

Resolves the parent model for an inverse relationship.
delete({DatabaseDisk? disk}) Future<bool>
Deletes the current instance.
inherited
detach(Model sibling, {required ModelRelationshipType relationship, PivotTable<Model, Model>? table, DatabaseDisk disk = Model.defaultDisk}) Future<bool>

Available on Model, provided by the ModelRelationshipOps extension

Detaches sibling from this model using the given relationship type.
getInstanceTableName() String
inherited
getInstanceTableSingularName() String
inherited
hasMany<T extends Model>({DatabaseDisk disk = Model.defaultDisk}) Future<List<T>>

Available on Model, provided by the ModelRelationships extension

Resolves all one-to-many related models.
hasOne<T extends Model>({DatabaseDisk disk = Model.defaultDisk}) Future<T?>

Available on Model, provided by the ModelRelationships extension

Resolves a one-to-one related model.
load<T extends Model>(ModelRelationshipType relationship, {PivotTable<Model, Model>? table}) Future<Map<String, dynamic>>

Available on Model, provided by the ModelRelationshipOps extension

Loads a relationship and returns this model serialized with the related data embedded.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
save({DatabaseDisk? disk}) Future<bool>
Saves the current instance.
inherited
toJson() Map<String, dynamic>
Serializes the session into its standard JSON representation.
override
toMetaJson() Map<String, dynamic>
Serializes metadata fields (id, uuid, timestamps).
override
toString() String
Human-readable string representation.
inherited
update({required Map<String, dynamic> withJson, DatabaseDisk? disk}) Future<bool>
Updates the current instance with new data.
inherited

Operators

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

Static Properties

columnDefinitions Map<String, String>
Defines the database columns required for persisting sessions.
getter/setter pair

Static Methods

init(HttpRequest request) Future<Session?>
Restores or creates a guest session, refreshing activity on each reuse.