moved all validation and parsing from handler to service layer

This commit is contained in:
2025-10-10 02:42:29 +02:00
parent 8774b55d3d
commit 40ffee4d56
4 changed files with 67 additions and 53 deletions
+6
View File
@@ -22,6 +22,9 @@ func Start(nats *broker.NATS) *Simulator {
}
}
// SimulateSensor simula lo que es un sensor, se llama a ese método como una
// go-rutina separada. Hace uso del SamplingInterval como temporizador para
// el canal ticker.
func (s *Simulator) SimulateSensor(sensor Sensor) {
s.mu.Lock()
stopChan := make(chan bool)
@@ -60,6 +63,8 @@ func (s *Simulator) SimulateSensor(sensor Sensor) {
}
}
// UpdateSensor para la gorutina que haya activa de dicho sensor, y comienza una
// nueva con el intervalo actualizado.
func (s *Simulator) UpdateSensor(sensor Sensor) {
s.mu.Lock()
stopChan, exists := s.stopChannels[sensor.SensorID]
@@ -77,6 +82,7 @@ func (s *Simulator) UpdateSensor(sensor Sensor) {
slog.Info("simulator updated for sensor", "sensor_id", sensor.SensorID, "new_interval", sensor.SamplingInterval)
}
// generateData genera datos aleatorios por cada tipo de sensor.
func (s *Simulator) generateData(sensor Sensor) SensorData {
now := time.Now()
data := SensorData{