From c6a4c8d0b9bb147f33e70ec5dfb49ffd89bafc02 Mon Sep 17 00:00:00 2001
From: "daniel.naude" <danieln@bob.co.za>
Date: Wed, 15 May 2024 14:54:19 +0200
Subject: [PATCH] Refactor TradingHours struct and add validation for start and
 end times

---
 date_utils/date_utils.go | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/date_utils/date_utils.go b/date_utils/date_utils.go
index 3003c28..e8cbaf2 100644
--- a/date_utils/date_utils.go
+++ b/date_utils/date_utils.go
@@ -296,6 +296,9 @@ func (t *TradingHours) Validate() bool {
 		}
 
 		startHourMinSlice := strings.Split(day.StartTime, ":")
+		if len(startHourMinSlice) != 2 {
+			return false
+		}
 		startHour, startMin := startHourMinSlice[0], startHourMinSlice[1]
 		startHourInt, err := strconv.Atoi(startHour)
 		if err != nil || startHourInt < 0 || startHourInt > 23 {
@@ -307,6 +310,9 @@ func (t *TradingHours) Validate() bool {
 		}
 
 		endHourMinSlice := strings.Split(day.EndTime, ":")
+		if len(endHourMinSlice) != 2 {
+			return false
+		}
 		endHour, endMin := endHourMinSlice[0], endHourMinSlice[1]
 		endHourInt, err := strconv.Atoi(endHour)
 		if err != nil || endHourInt < 0 || endHourInt > 23 {
-- 
GitLab