BehaviorInstance.fromJson constructor

BehaviorInstance.fromJson(
  1. Map<String, dynamic> dataMap
)

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]),
  );
}