From 9d96d1a9422b30dd6caa42cca2a561970735f160 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sun, 21 Apr 2024 21:14:58 -0700 Subject: notify when we don't receive a thing in the last 24 hours --- database/backups.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'database/backups.go') 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 +} -- cgit v1.2.3-70-g09d2