Files
go-ha/internal/services/notify.go
Matthias Loibl 02b6c413f1 Return Service errors
Additionally, removed the context that gets passed into the Services but isn't used in one of them. The websockets APIs also don't have any use for context.
2025-01-17 17:50:06 +01:00

28 lines
625 B
Go

package services
import (
ws "saml.dev/gome-assistant/internal/websocket"
"saml.dev/gome-assistant/types"
)
type Notify struct {
conn *ws.WebsocketWriter
}
// Notify sends a notification. Takes a types.NotifyRequest.
func (ha *Notify) Notify(reqData types.NotifyRequest) error {
req := NewBaseServiceRequest("")
req.Domain = "notify"
req.Service = reqData.ServiceName
serviceData := map[string]any{}
serviceData["message"] = reqData.Message
serviceData["title"] = reqData.Title
if reqData.Data != nil {
serviceData["data"] = reqData.Data
}
req.ServiceData = serviceData
return ha.conn.WriteMessage(req)
}