good progress yay:

- impl http client
- create http client in App()
- generic builder for Service.*
- set Service on app to pass to callbacks later
- impl State
- set State on app to pass to callbacks later
- change panic to log.Fatalln
This commit is contained in:
Sam Lewis
2022-10-11 01:22:23 -04:00
parent 689a6ce4d3
commit 7bcca889f9
13 changed files with 296 additions and 93 deletions
+8 -10
View File
@@ -3,21 +3,19 @@ package gomeassistant
import (
"context"
"github.com/saml-dev/gome-assistant/internal/http"
"github.com/saml-dev/gome-assistant/internal/services"
"nhooyr.io/websocket"
)
type Service struct {
HomeAssistant homeAssistant
Light services.Light
HomeAssistant *services.HomeAssistant
Light *services.Light
}
type homeAssistant struct {
conn websocket.Conn
ctx context.Context
func NewService(conn *websocket.Conn, ctx context.Context, httpClient *http.HttpClient) *Service {
return &Service{
Light: services.BuildService[services.Light](conn, ctx),
HomeAssistant: services.BuildService[services.HomeAssistant](conn, ctx),
}
}
// type light struct {
// conn websocket.Conn
// ctx context.Context
// }