From ef67d068cc8d46b3ecfe19aec0128da0a6b53280 Mon Sep 17 00:00:00 2001 From: Alec O'Connor Date: Mon, 3 May 2021 13:15:51 -0400 Subject: [PATCH 1/3] fast_charger_brand can be NULL, causes fatal error Fatal error detected: `sql: Scan error on column index 18, name "fast_charger_brand": converting NULL to string is unsupported` Causes ChargeDetail API endpoint to fail. Solution was to add default string value for `fast_charger_brand` --- src/v1_TeslaMateAPICarsChargesDetails.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/v1_TeslaMateAPICarsChargesDetails.go b/src/v1_TeslaMateAPICarsChargesDetails.go index a05dab1..d2844b3 100644 --- a/src/v1_TeslaMateAPICarsChargesDetails.go +++ b/src/v1_TeslaMateAPICarsChargesDetails.go @@ -223,7 +223,7 @@ func TeslaMateAPICarsChargesDetailsV1(c *gin.Context) { battery_heater_no_power, conn_charge_cable, fast_charger_present, - fast_charger_brand, + COALESCE(fast_charger_brand, '') as fast_charger_brand fast_charger_type, outside_temp FROM charges From 08840506c90c8db313e38b75409628d1ca050536 Mon Sep 17 00:00:00 2001 From: Alec O'Connor Date: Mon, 3 May 2021 13:27:56 -0400 Subject: [PATCH 2/3] Update v1_TeslaMateAPICarsChargesDetails.go Missing comma. Please build and test the SQL, I'm unsure how. --- src/v1_TeslaMateAPICarsChargesDetails.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/v1_TeslaMateAPICarsChargesDetails.go b/src/v1_TeslaMateAPICarsChargesDetails.go index d2844b3..992cfe1 100644 --- a/src/v1_TeslaMateAPICarsChargesDetails.go +++ b/src/v1_TeslaMateAPICarsChargesDetails.go @@ -223,7 +223,7 @@ func TeslaMateAPICarsChargesDetailsV1(c *gin.Context) { battery_heater_no_power, conn_charge_cable, fast_charger_present, - COALESCE(fast_charger_brand, '') as fast_charger_brand + COALESCE(fast_charger_brand, '') AS fast_charger_brand, fast_charger_type, outside_temp FROM charges From 8f97ff281c3111ac125aa16a1779ad54f73226d2 Mon Sep 17 00:00:00 2001 From: Tobias Lindberg Date: Mon, 3 May 2021 22:13:23 +0200 Subject: [PATCH 3/3] Update v1_TeslaMateAPICarsChargesDetails.go using NullString instead of coalesce function --- src/v1_TeslaMateAPICarsChargesDetails.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/v1_TeslaMateAPICarsChargesDetails.go b/src/v1_TeslaMateAPICarsChargesDetails.go index 992cfe1..b6e39d0 100644 --- a/src/v1_TeslaMateAPICarsChargesDetails.go +++ b/src/v1_TeslaMateAPICarsChargesDetails.go @@ -42,9 +42,9 @@ func TeslaMateAPICarsChargesDetailsV1(c *gin.Context) { } // FastChargerInfo struct - child of ChargeDetails type FastChargerInfo struct { - FastChargerPresent bool `json:"fast_charger_present"` // bool - FastChargerBrand string `json:"fast_charger_brand"` // string - FastChargerType string `json:"fast_charger_type"` // string + FastChargerPresent bool `json:"fast_charger_present"` // bool + FastChargerBrand NullString `json:"fast_charger_brand"` // string + FastChargerType string `json:"fast_charger_type"` // string } // BatteryInfo struct - child of ChargeDetails @@ -223,7 +223,7 @@ func TeslaMateAPICarsChargesDetailsV1(c *gin.Context) { battery_heater_no_power, conn_charge_cable, fast_charger_present, - COALESCE(fast_charger_brand, '') AS fast_charger_brand, + fast_charger_brand, fast_charger_type, outside_temp FROM charges