1package storage
2
3import (
4 "database/sql"
5 "fmt"
6 "time"
7)
8
9func InitDB(db *sql.DB) error {
10 _, err := db.Exec(`
11 CREATE TABLE IF NOT EXISTS check_results (
12 id INTEGER PRIMARY KEY,
13 name TEXT,
14 status TEXT,
15 message TEXT,
16 timestamp DATETIME,
17 duration_ms INTEGER
18 );
19 `)
20 return err
21}
22
23func CleanupOld(db *sql.DB, hours int) error {
24 _, err := db.Exec(`DELETE FROM check_results WHERE timestamp < datetime('now', ?)`, fmt.Sprintf("-%dh", hours))
25 return err
26}
27
28func StoreResult(db *sql.DB, name, status, message string, duration time.Duration) error {
29 _, err := db.Exec(`
30 INSERT INTO check_results (name, status, message, timestamp, duration_ms)
31 VALUES (?, ?, ?, ?, ?)
32 `, name, status, message, time.Now(), duration.Milliseconds())
33 return err
34}