ModelEntity.fromMap constructor
Implementation
ModelEntity.fromMap(Map<String, dynamic> data,
{ModelInfo? model, bool check = true})
: _model = model,
id = IdUid.fromString(data[ModelEntityKey.id] as String?),
lastPropertyId =
IdUid.fromString(data[ModelEntityKey.lastPropertyId] as String?),
uidRequest = data[ModelEntityKey.uidRequest] as bool? ?? false,
_properties = [],
_relations = [],
_backlinks = [] {
name = data[ModelEntityKey.name] as String?;
externalName = data[ModelEntityKey.externalName] as String?;
flags = data[ModelEntityKey.flags] as int? ?? 0;
final properties = data[ModelEntityKey.properties] as List;
for (final p in properties) {
_properties.add(ModelProperty.fromMap(p as Map<String, dynamic>, this));
}
final relations = data[ModelEntityKey.relations] as List?;
if (relations != null) {
for (final p in relations) {
_relations.add(ModelRelation.fromMap(p as Map<String, dynamic>));
}
}
final backlinks = data[ModelEntityKey.backlinks] as List?;
if (backlinks != null) {
for (final p in backlinks) {
_backlinks.add(ModelBacklink.fromMap(p as Map<String, dynamic>));
}
}
if (data[ModelEntityKey.constructorParams] != null) {
constructorParams =
(data[ModelEntityKey.constructorParams] as List<dynamic>)
.map((dynamic e) => e as String)
.toList(growable: false);
}
if (check) validate();
_idProperty = this
.properties
.singleWhere((p) => (p.flags & OBXPropertyFlags.ID) != 0);
}