BehaviorInstance.fromJson constructor
Creates a BehaviorInstance object from the JSON response to a GET request.
Implementation
factory BehaviorInstance.fromJson(Map<String, dynamic> dataMap) {
// Handle entire response given with no filter.
Map<String, dynamic> data = MiscTools.extractData(dataMap);
List<Map<String, dynamic>> dependeeMaps =
List<Map<String, dynamic>>.from(data[ApiFields.dependees] ?? []);
return BehaviorInstance(
type: ResourceType.fromString(data[ApiFields.type] ?? ""),
id: data[ApiFields.id] ?? "",
idV1: data[ApiFields.idV1] ?? "",
scriptId: data[ApiFields.scriptId] ?? "",
isEnabled: data[ApiFields.isEnabled] ?? false,
state: Map<String, dynamic>.from(data[ApiFields.state] ?? {}),
configuration:
Map<String, dynamic>.from(data[ApiFields.configuration] ?? {}),
dependees: dependeeMaps
.map((dependeeMap) => BehaviorInstanceDependee.fromJson(dependeeMap))
.toList(),
status: data[ApiFields.status] ?? "",
lastError: data[ApiFields.lastError] ?? "",
name: Map<String, dynamic>.from(
data[ApiFields.metadata] ?? {})[ApiFields.name] ??
"",
migratedFrom: data[ApiFields.migratedFrom] ?? "",
trigger: data[ApiFields.trigger] == null
? null
: Map<String, dynamic>.from(data[ApiFields.trigger]),
);
}