Added "alert" field to weather route and fixed some bugs

This commit is contained in:
2025-08-29 23:19:19 +02:00
parent a4ddc43579
commit 9fec72251d
5 changed files with 154 additions and 22 deletions

View File

@@ -62,3 +62,32 @@ func (t ZephyrTime) MarshalJSON() ([]byte, error) {
return []byte("\"" + fmtTime + "\""), nil
}
type ZephyrAlertDate struct {
Date time.Time
}
func (t *ZephyrAlertDate) UnmarshalJSON(b []byte) error {
s := strings.Trim(string(b), "\"")
if s == "" {
return nil
}
var err error
t.Date, err = time.Parse("Monday, 2006/01/02 15:04", s)
if err != nil {
return err
}
return nil
}
func (t ZephyrAlertDate) MarshalJSON() ([]byte, error) {
if t.Date.IsZero() {
return []byte("\"\""), nil
}
fmtTime := t.Date.Format("Monday, 2006/01/02 3:04 PM")
return []byte("\"" + fmtTime + "\""), nil
}