From e554932393448c6f65f33bae60d6970d1ada3f2c Mon Sep 17 00:00:00 2001 From: Stephen von Takach Date: Tue, 12 Mar 2024 08:15:48 +1100 Subject: [PATCH] fix(delta/api): handle empty response --- drivers/delta/api.cr | 3 +++ drivers/delta/models/list_devices_by_site_name_response.cr | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/delta/api.cr b/drivers/delta/api.cr index dc43e40cdd..0e958bebc1 100644 --- a/drivers/delta/api.cr +++ b/drivers/delta/api.cr @@ -61,6 +61,9 @@ class Delta::API < PlaceOS::Driver raise "unexpected response #{response.status_code}\n#{response.body}" unless response.success? logger.debug { "response body:\n#{response.body}" } + # returns this when there are no more results + # {"Collection":""} + body = Models::ListDevicesBySiteNameResponse.from_json(response.body) body.json_unmapped.keys.each do |key| value = body.json_unmapped[key].as_h diff --git a/drivers/delta/models/list_devices_by_site_name_response.cr b/drivers/delta/models/list_devices_by_site_name_response.cr index ff2a6c3622..3d45f92443 100644 --- a/drivers/delta/models/list_devices_by_site_name_response.cr +++ b/drivers/delta/models/list_devices_by_site_name_response.cr @@ -7,7 +7,11 @@ module Delta include JSON::Serializable::Unmapped @[JSON::Field(key: "$base")] - property base : String + property base : String? = nil + + # returns this when there are no more results + @[JSON::Field(key: "Collection")] + property collection : String? = nil end end end