SmartScene.fromJson constructor

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

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

Implementation

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

  return SmartScene(
      type: ResourceType.fromString(data[ApiFields.type] ?? ""),
      id: data[ApiFields.id] ?? "",
      idV1: data[ApiFields.idV1] ?? "",
      metadata: SmartSceneMetadata.fromJson(
          Map<String, dynamic>.from(data[ApiFields.metadata] ?? {})),
      group: Relative.fromJson(
          Map<String, dynamic>.from(data[ApiFields.group] ?? {})),
      weekTimeslots: (data[ApiFields.weekTimeslots] as List<dynamic>?)
              ?.map((weekTimeslotMap) => SmartSceneWeek.fromJson(
                  Map<String, dynamic>.from(weekTimeslotMap)))
              .toList() ??
          [],
      activeTimeslot: SmartSceneActiveTimeslot.fromJson(
          Map<String, dynamic>.from(data[ApiFields.activeTimeslot] ?? {})),
      state: data[ApiFields.state] ?? "",
      recallAction: Map<String, dynamic>.from(
          data[ApiFields.recall] ?? {})[ApiFields.action]);
}