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.
49 lines
1.1 KiB
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)
|
|
}
|