add read sensor
This commit is contained in:
@@ -37,6 +37,9 @@ func NewHandlers(service *Service, iot *iot.IoTDevice) *Handlers {
|
||||
slog.Info("started simulator for sensor", "sensor_id", sensor.SensorID)
|
||||
}
|
||||
|
||||
sensors, _ := service.repo.ReadAllSensors()
|
||||
slog.Info("sensors", "sens", sensors)
|
||||
|
||||
return &Handlers{
|
||||
service: service,
|
||||
IoTDevice: iot,
|
||||
@@ -128,6 +131,8 @@ func (h *Handlers) registerData() {
|
||||
func (h *Handlers) update() {
|
||||
h.NATS.Subscribe(subjectSensorsUpdate, func(msg *nats.Msg) {
|
||||
handleRequest(msg, func(req Sensor) (Sensor, error) {
|
||||
slog.Debug("calling sensor.update", "payload", req)
|
||||
|
||||
if err := req.Validate(); err != nil {
|
||||
return Sensor{}, err
|
||||
}
|
||||
@@ -144,6 +149,12 @@ func (h *Handlers) update() {
|
||||
func (h *Handlers) get() {
|
||||
h.NATS.Subscribe(subjectSensorsGet, func(msg *nats.Msg) {
|
||||
handleRequest(msg, func(req SensorRequest) (Sensor, error) {
|
||||
slog.Debug("calling sensor.get", "payload", req)
|
||||
|
||||
if err := req.Validate(); err != nil {
|
||||
return Sensor{}, err
|
||||
}
|
||||
|
||||
return h.service.GetSensor(req.SensorID)
|
||||
})
|
||||
})
|
||||
@@ -151,19 +162,19 @@ func (h *Handlers) get() {
|
||||
|
||||
func (h *Handlers) getValues() {
|
||||
h.NATS.Subscribe(subjectSensorsValuesGet, func(msg *nats.Msg) {
|
||||
handleRequest(msg, func(req SensorDataRequest) (Sensor, error) {
|
||||
handleRequest(msg, func(req SensorDataRequest) ([]SensorData, error) {
|
||||
if err := req.Validate(); err != nil {
|
||||
return Sensor{}, err
|
||||
return []SensorData{}, err
|
||||
}
|
||||
|
||||
from, err := time.Parse(time.RFC3339, *req.From)
|
||||
if err != nil {
|
||||
return Sensor{}, err
|
||||
return []SensorData{}, err
|
||||
}
|
||||
|
||||
to, err := time.Parse(time.RFC3339, *req.To)
|
||||
if err != nil {
|
||||
return Sensor{}, err
|
||||
return []SensorData{}, err
|
||||
}
|
||||
|
||||
return h.service.GetValues(req.SensorID, from, to)
|
||||
|
||||
Reference in New Issue
Block a user