Store stores results in the database.
(results []types.Result)
| 155 | |
| 156 | // Store stores results in the database. |
| 157 | func (sql Storage) Store(results []types.Result) error { |
| 158 | db, err := sql.dbConnect() |
| 159 | if err != nil { |
| 160 | return err |
| 161 | } |
| 162 | defer db.Close() |
| 163 | |
| 164 | name := *fs.GenerateFilename() |
| 165 | contents, err := json.Marshal(results) |
| 166 | if err != nil { |
| 167 | return err |
| 168 | } |
| 169 | |
| 170 | // Insert data |
| 171 | const insertResults = `INSERT INTO "checks" (name, timestamp, results) VALUES (?, ?, ?)` |
| 172 | _, err = db.Exec(insertResults, name, time.Now().UnixNano(), contents) |
| 173 | return err |
| 174 | } |
| 175 | |
| 176 | // Maintain deletes check files that are older than sql.CheckExpiry. |
| 177 | func (sql Storage) Maintain() error { |