diff options
Diffstat (limited to 'database/backups.go')
-rw-r--r-- | database/backups.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/database/backups.go b/database/backups.go index ab2155f..a588576 100644 --- a/database/backups.go +++ b/database/backups.go @@ -49,3 +49,47 @@ func ReceivedBackup(dbConn *sql.DB, hostname string) error { return err } + +func BackupedHostnamesInTheLastDay(dbConn *sql.DB) ([]string, error) { + log.Println("listing hostnames that have been backed up in the last day") + + rows, err := dbConn.Query(`SELECT DISTINCT hostname FROM backups WHERE received_on > ?;`, time.Now().Add(-24*time.Hour)) + if err != nil { + return nil, err + } + defer rows.Close() + + hostnames := []string{} + for rows.Next() { + var hostname string + err := rows.Scan(&hostname) + if err != nil { + return nil, err + } + hostnames = append(hostnames, hostname) + } + + return hostnames, nil +} + +func ReceivedHostnames(dbConn *sql.DB) ([]string, error) { + log.Println("listing received hostnames") + + rows, err := dbConn.Query(`SELECT DISTINCT hostname FROM backups;`) + if err != nil { + return nil, err + } + defer rows.Close() + + hostnames := []string{} + for rows.Next() { + var hostname string + err := rows.Scan(&hostname) + if err != nil { + return nil, err + } + hostnames = append(hostnames, hostname) + } + + return hostnames, nil +} |