You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
weather/pkg/services/services.go

49 lines
1.1 KiB

package services
import (
"log"
"github.com/dustinpianalto/weather"
"github.com/dustinpianalto/weather/internal/mqtt"
"github.com/dustinpianalto/weather/internal/postgres"
)
var EventService weather.AmbientService
func InitServices() {
EventService = eventService{
postgesService: postgres.EventService,
mqttService: mqtt.AmbientService,
}
log.Println("Services Initialized")
}
type eventService struct {
postgesService weather.AmbientService
mqttService weather.AmbientService
}
func (e eventService) Event(i uint64) (*weather.AmbientEntry, error) {
return e.postgesService.Event(i)
}
func (e eventService) AddEvent(event *weather.AmbientEntry) (*weather.AmbientEntry, error) {
event, err := e.postgesService.AddEvent(event)
if err != nil {
log.Println(err)
}
event, err = e.mqttService.AddEvent(event)
if err != nil {
log.Println(err)
}
return event, nil
}
func (e eventService) UpdateEvent(event *weather.AmbientEntry) error {
return e.postgesService.UpdateEvent(event)
}
func (e eventService) DeleteEvent(event *weather.AmbientEntry) error {
return e.postgesService.UpdateEvent(event)
}