Switched to purer libraries

This commit is contained in:
Magnus Åhall 2026-08-19 17:53:52 +02:00
parent 8fa8bb4c3a
commit 9496947f01
21 changed files with 390 additions and 316 deletions

View file

@ -2,9 +2,10 @@ package main
import (
// External
werr "git.gibonuddevalla.se/go/wrappederror"
werr "git.ahall.se/go/wrappederror"
// Standard
"context"
"database/sql"
"encoding/json"
"fmt"
@ -28,7 +29,9 @@ type Problem struct { // {{{
func ProblemsRetrieve(showCurrent bool, from, to time.Time) (problems []Problem, err error) { // {{{
problems = []Problem{}
row := service.Db.Conn.QueryRow(`
row := db.QueryRow(
context.Background(),
`
SELECT
jsonb_agg(problems.*)
FROM (
@ -104,7 +107,9 @@ func ProblemsRetrieve(showCurrent bool, from, to time.Time) (problems []Problem,
return
} // }}}
func ProblemStart(trigger Trigger) (problemID int, err error) { // {{{
row := service.Db.Conn.QueryRow(`
row := db.QueryRow(
context.Background(),
`
SELECT COUNT(id)
FROM problem
WHERE
@ -124,7 +129,8 @@ func ProblemStart(trigger Trigger) (problemID int, err error) { // {{{
// Open up a new problem if no open exists.
if openProblems == 0 {
datapointValuesJson, _ := json.Marshal(trigger.DatapointValues)
row = service.Db.Conn.QueryRow(
row = db.QueryRow(
context.Background(),
`INSERT INTO problem(trigger_id, trigger_name, datapoints, trigger_expression) VALUES($1, $2, $3, $4) RETURNING id`,
trigger.ID,
trigger.Name,
@ -139,9 +145,13 @@ func ProblemStart(trigger Trigger) (problemID int, err error) { // {{{
return
} // }}}
func ProblemClose(trigger Trigger) (problemID int, err error) { // {{{
row := service.Db.Conn.QueryRow(`UPDATE problem SET "end"=NOW() WHERE trigger_id=$1 AND "end" IS NULL RETURNING id`, trigger.ID)
err = row.Scan(&problemID)
row := db.QueryRow(
context.Background(),
`UPDATE problem SET "end"=NOW() WHERE trigger_id=$1 AND "end" IS NULL RETURNING id`,
trigger.ID,
)
err = row.Scan(&problemID)
if err == sql.ErrNoRows {
err = nil
return
@ -154,7 +164,7 @@ func ProblemClose(trigger Trigger) (problemID int, err error) { // {{{
return
} // }}}
func ProblemAcknowledge(id int, state bool) (err error) { // {{{
_, err = service.Db.Conn.Exec(`UPDATE problem SET "acknowledged"=$2 WHERE id=$1`, id, state)
_, err = db.Exec(context.Background(), `UPDATE problem SET "acknowledged"=$2 WHERE id=$1`, id, state)
if err != nil {
err = werr.Wrap(err).WithData(id)
return