refac: use embed instead of go-bindata, secure closing of transactions

This commit is contained in:
2021-03-21 18:47:14 +01:00
parent 59db7cfc85
commit 7a88aaac0c
98 changed files with 3147 additions and 2525 deletions

View File

@ -1,12 +1,6 @@
package imp
import (
"fmt"
"net/url"
"git.cryptic.systems/volker.raschek/flucky/pkg/config"
"git.cryptic.systems/volker.raschek/flucky/pkg/repository"
"git.cryptic.systems/volker.raschek/go-logger"
"github.com/spf13/cobra"
)
@ -35,47 +29,47 @@ func InitCmd(cmd *cobra.Command) error {
}
func importSources(cmd *cobra.Command, args []string) error {
configFile, err := cmd.Flags().GetString("config")
if err != nil {
return fmt.Errorf("No config file defined")
}
// configFile, err := cmd.Flags().GetString("config")
// if err != nil {
// return fmt.Errorf("No config file defined")
// }
cnf, err := config.Read(configFile)
if err != nil {
return err
}
// cnf, err := config.Read(configFile)
// if err != nil {
// return err
// }
destURL, err := url.Parse(cnf.DSN)
if err != nil {
return err
}
// destURL, err := url.Parse(cnf.DSN)
// if err != nil {
// return err
// }
logLevelString, err := cmd.Flags().GetString("loglevel")
if err != nil {
return err
}
// logLevelString, err := cmd.Flags().GetString("loglevel")
// if err != nil {
// return err
// }
logLevel, err := logger.ParseLogLevel(logLevelString)
if err != nil {
return err
}
// logLevel, err := logger.ParseLogLevel(logLevelString)
// if err != nil {
// return err
// }
flogger := logger.NewLogger(logLevel)
// flogger := logger.NewLogger(logLevel)
sourceURL, err := url.Parse(args[0])
if err != nil {
return fmt.Errorf("Failed to parse source url: %w", err)
}
// sourceURL, err := url.Parse(args[0])
// if err != nil {
// return fmt.Errorf("Failed to parse source url: %w", err)
// }
err = repository.Import(sourceURL, destURL, flogger, repository.OptImport{
Sensors: importSensors,
Humidities: importHumidities,
Pressures: importPressures,
Temperatures: importTemperatures,
})
if err != nil {
return fmt.Errorf("Failed to import: %w", err)
}
// err = repository.Import(sourceURL, destURL, flogger, repository.OptImport{
// Sensors: importSensors,
// Humidities: importHumidities,
// Pressures: importPressures,
// Temperatures: importTemperatures,
// })
// if err != nil {
// return fmt.Errorf("Failed to import: %w", err)
// }
return nil
}

View File

@ -1,6 +1,7 @@
package sensor
import (
"context"
"fmt"
"net/url"
"os"
@ -184,7 +185,7 @@ func addSensor(cmd *cobra.Command, args []string) error {
}
// add sensor entry to list
err = repo.AddSensors(sensor)
err = repo.AddSensors(context.Background())
if err != nil {
return err
}
@ -227,7 +228,21 @@ func disableSensor(cmd *cobra.Command, args []string) error {
return err
}
return repo.DisableSensorsByNames(args...)
s, err := repo.GetSensorsByNames(context.Background(), args...)
if err != nil {
return err
}
for i := range s {
s[i].Enabled = false
}
err = repo.UpdateSensors(context.Background(), s...)
if err != nil {
return err
}
return nil
}
func enableSensor(cmd *cobra.Command, args []string) error {
@ -259,7 +274,21 @@ func enableSensor(cmd *cobra.Command, args []string) error {
return err
}
return repo.EnableSensorsByNames(args...)
s, err := repo.GetSensorsByNames(context.Background(), args...)
if err != nil {
return err
}
for i := range s {
s[i].Enabled = true
}
err = repo.UpdateSensors(context.Background(), s...)
if err != nil {
return err
}
return nil
}
func listSensors(cmd *cobra.Command, args []string) error {
@ -292,7 +321,7 @@ func listSensors(cmd *cobra.Command, args []string) error {
}
// add sensor entry to list
sensors, err := repo.GetSensorsByDeviceID(cnf.DeviceID)
sensors, err := repo.GetSensorsByDeviceIDs(context.Background(), cnf.DeviceID)
if err != nil {
return err
}
@ -334,7 +363,7 @@ func removeSensor(cmd *cobra.Command, args []string) error {
return err
}
return repo.RemoveSensorsByNames(args...)
return repo.RemoveSensorsByNames(context.Background(), args...)
}
func renameSensor(cmd *cobra.Command, args []string) error {
@ -366,5 +395,20 @@ func renameSensor(cmd *cobra.Command, args []string) error {
return err
}
return repo.RenameSensors(args[0], args[1])
s, err := repo.GetSensorsByNames(context.Background(), args[0])
if err != nil {
return err
}
for i := range s {
s[i].Name = args[1]
}
err = repo.UpdateSensors(context.Background(), s...)
if err != nil {
return err
}
return nil
}

View File

@ -72,7 +72,9 @@ func readTemperature(cmd *cobra.Command, args []string) error {
return err
}
sensorTypes, err := repo.GetSensors()
ctx := context.Background()
sensorTypes, err := repo.GetSensors(ctx)
if err != nil {
return err
}
@ -123,7 +125,7 @@ LOOP:
}
if persist {
err = repo.AddMeasuredValues(measuredValues...)
err = repo.AddMeasuredValues(ctx, measuredValues...)
if err != nil {
return err
}