feat: introduce database type (#982)
See https://github.com/ooni/probe/issues/2352 Co-authored-by: decfox <decfox@github.com>
This commit is contained in:
parent
6b01264373
commit
28aabe0947
14 changed files with 144 additions and 94 deletions
|
|
@ -7,7 +7,6 @@ import (
|
|||
"github.com/apex/log"
|
||||
"github.com/ooni/probe-cli/v3/cmd/ooniprobe/internal/cli/root"
|
||||
"github.com/ooni/probe-cli/v3/cmd/ooniprobe/internal/output"
|
||||
"github.com/ooni/probe-cli/v3/internal/database"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
|
@ -20,7 +19,7 @@ func init() {
|
|||
return err
|
||||
}
|
||||
if *resultID > 0 {
|
||||
measurements, err := database.ListMeasurements(probeCLI.DB(), *resultID)
|
||||
measurements, err := probeCLI.DB().ListMeasurements(*resultID)
|
||||
if err != nil {
|
||||
log.WithError(err).Error("failed to list measurements")
|
||||
return err
|
||||
|
|
@ -63,7 +62,7 @@ func init() {
|
|||
}
|
||||
output.MeasurementSummary(msmtSummary)
|
||||
} else {
|
||||
doneResults, incompleteResults, err := database.ListResults(probeCLI.DB())
|
||||
doneResults, incompleteResults, err := probeCLI.DB().ListResults()
|
||||
if err != nil {
|
||||
log.WithError(err).Error("failed to list results")
|
||||
return err
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ func init() {
|
|||
log.WithError(err).Error("failed to close the DB")
|
||||
return err
|
||||
}
|
||||
if *force == true {
|
||||
if *force {
|
||||
os.RemoveAll(ctx.Home())
|
||||
log.Infof("Deleted %s", ctx.Home())
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import (
|
|||
"github.com/upper/db/v4"
|
||||
)
|
||||
|
||||
func deleteAll(sess db.Session, skipInteractive bool) error {
|
||||
func deleteAll(d *database.Database, skipInteractive bool) error {
|
||||
if skipInteractive == false {
|
||||
answer := ""
|
||||
confirm := &survey.Select{
|
||||
|
|
@ -25,21 +25,21 @@ func deleteAll(sess db.Session, skipInteractive bool) error {
|
|||
return errors.New("canceled by user")
|
||||
}
|
||||
}
|
||||
doneResults, incompleteResults, err := database.ListResults(sess)
|
||||
doneResults, incompleteResults, err := d.ListResults()
|
||||
if err != nil {
|
||||
log.WithError(err).Error("failed to list results")
|
||||
return err
|
||||
}
|
||||
cnt := 0
|
||||
for _, result := range incompleteResults {
|
||||
err = database.DeleteResult(sess, result.Result.ID)
|
||||
err = d.DeleteResult(result.Result.ID)
|
||||
if err == db.ErrNoMoreRows {
|
||||
log.WithError(err).Errorf("failed to delete result #%d", result.Result.ID)
|
||||
}
|
||||
cnt++
|
||||
}
|
||||
for _, result := range doneResults {
|
||||
err = database.DeleteResult(sess, result.Result.ID)
|
||||
err = d.DeleteResult(result.Result.ID)
|
||||
if err == db.ErrNoMoreRows {
|
||||
log.WithError(err).Errorf("failed to delete result #%d", result.Result.ID)
|
||||
}
|
||||
|
|
@ -68,7 +68,7 @@ func init() {
|
|||
}
|
||||
|
||||
if *yes == true {
|
||||
err = database.DeleteResult(ctx.DB(), *resultID)
|
||||
err = ctx.DB().DeleteResult(*resultID)
|
||||
if err == db.ErrNoMoreRows {
|
||||
return errors.New("result not found")
|
||||
}
|
||||
|
|
@ -84,7 +84,7 @@ func init() {
|
|||
if answer == "false" {
|
||||
return errors.New("canceled by user")
|
||||
}
|
||||
err = database.DeleteResult(ctx.DB(), *resultID)
|
||||
err = ctx.DB().DeleteResult(*resultID)
|
||||
if err == db.ErrNoMoreRows {
|
||||
return errors.New("result not found")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import (
|
|||
"github.com/apex/log"
|
||||
"github.com/ooni/probe-cli/v3/cmd/ooniprobe/internal/cli/root"
|
||||
"github.com/ooni/probe-cli/v3/cmd/ooniprobe/internal/output"
|
||||
"github.com/ooni/probe-cli/v3/internal/database"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
|
@ -17,7 +16,7 @@ func init() {
|
|||
log.WithError(err).Error("failed to initialize root context")
|
||||
return err
|
||||
}
|
||||
msmt, err := database.GetMeasurementJSON(ctx.DB(), *msmtID)
|
||||
msmt, err := ctx.DB().GetMeasurementJSON(*msmtID)
|
||||
if err != nil {
|
||||
log.Errorf("error: %v", err)
|
||||
return err
|
||||
|
|
|
|||
Loading…
Reference in a new issue