DatumEntityMixin mixin
A mixin that provides core Datum entity functionality for synchronization and versioning.
Any class that needs to be tracked, versioned, and synced by the Datum framework should use this mixin.
It enforces the presence of standard sync metadata fields like id, userId, modifiedAt, version, and isDeleted.
- Implemented types
- Mixin applications
Properties
- createdAt → DateTime
-
The timestamp of when this entity was first created.
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String
-
A unique identifier for the entity.
no setteroverride
- isDeleted → bool
-
A flag indicating if this entity has been locally marked for deletion.
no setteroverride
- modifiedAt → DateTime
-
The timestamp of the last time this entity was modified.
This is a crucial field for determining sync conflicts and order.
no setteroverride
-
props
→ List<
Object?> -
Provides the list of properties to be used by the
Equatablemixin for value equality checks.no setteroverride - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- stringify → bool?
-
If set to
true, thetoStringmethod will be overridden to output this instance'sprops.no setterinherited - userId → String
-
The ID of the user who owns or created this entity.
no setteroverride
- version → int
-
A sequential integer used for optimistic concurrency and tracking
changes. It increments with every modification.
no setteroverride
Methods
-
copyWith(
{DateTime? modifiedAt, int? version, bool? isDeleted}) → DatumEntityMixin -
Creates a new instance of the entity with updated values.
override
-
diff(
covariant DatumEntityBase oldVersion) → Map< String, dynamic> ? -
Computes the difference between the current entity state and an
oldVersionof the entity.override -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDatumMap(
{MapTarget target = MapTarget.local}) → Map< String, dynamic> -
Converts the entity to a
Map<String, dynamic>for persistence.override -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited