LightLevel.fromJson constructor

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

Creates a LightLevel object from the JSON response to a GET request.

Implementation

factory LightLevel.fromJson(Map<String, dynamic> dataMap) {
  // Handle entire response given with no filter.
  Map<String, dynamic> data = MiscTools.extractData(dataMap);

  Map<String, dynamic> innerLevelMap =
      Map<String, dynamic>.from(data[ApiFields.light]);

  return LightLevel(
    type: ResourceType.fromString(data[ApiFields.type] ?? ""),
    id: data[ApiFields.id] ?? "",
    idV1: data[ApiFields.idV1] ?? "",
    owner: Relative.fromJson(
        Map<String, dynamic>.from(data[ApiFields.owner] ?? {})),
    isEnabled: data[ApiFields.isEnabled] ?? false,
    level: innerLevelMap[ApiFields.lightLevel] ?? 0,
    isValidLevel: innerLevelMap[ApiFields.lightLevelValid] ?? false,
  );
}