Zone.fromJson constructor

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

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

Implementation

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

  return Zone(
    type: ResourceType.fromString(data[ApiFields.type] ?? ""),
    id: data[ApiFields.id] ?? "",
    idV1: data[ApiFields.idV1] ?? "",
    children: (data[ApiFields.children] as List<dynamic>?)
            ?.map((child) => Relative.fromJson(child))
            .toList() ??
        [],
    services: (data[ApiFields.services] as List<dynamic>?)
            ?.map((service) => Relative.fromJson(service))
            .toList() ??
        [],
    metadata: RoomMetadata.fromJson(
      Map<String, dynamic>.from(
        data[ApiFields.metadata] ?? {},
      ),
    ),
  );
}