Switched to purer libraries
This commit is contained in:
parent
8fa8bb4c3a
commit
9496947f01
21 changed files with 390 additions and 316 deletions
46
trigger.go
46
trigger.go
|
|
@ -2,15 +2,16 @@ package main
|
|||
|
||||
import (
|
||||
// External
|
||||
werr "git.gibonuddevalla.se/go/wrappederror"
|
||||
werr "git.ahall.se/go/wrappederror"
|
||||
"github.com/expr-lang/expr"
|
||||
"github.com/expr-lang/expr/ast"
|
||||
"github.com/expr-lang/expr/parser"
|
||||
"github.com/lib/pq"
|
||||
"github.com/jackc/pgx/v5/pgconn"
|
||||
|
||||
// Standard
|
||||
"database/sql"
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
|
@ -45,7 +46,9 @@ func TriggerCreate(sectionID int, name string) (t Trigger, err error) { // {{{
|
|||
func TriggersRetrieve() (areas []Area, err error) { // {{{
|
||||
areas = []Area{}
|
||||
|
||||
row := service.Db.Conn.QueryRow(`
|
||||
row := db.QueryRow(
|
||||
context.Background(),
|
||||
`
|
||||
WITH section_triggers AS (
|
||||
SELECT
|
||||
s.id AS id,
|
||||
|
|
@ -99,7 +102,9 @@ func TriggersRetrieve() (areas []Area, err error) { // {{{
|
|||
} // }}}
|
||||
func TriggersRetrieveByDatapoint(datapointName string) (triggers []Trigger, err error) { // {{{
|
||||
triggers = []Trigger{}
|
||||
row := service.Db.Conn.QueryRow(`
|
||||
row := db.QueryRow(
|
||||
context.Background(),
|
||||
`
|
||||
SELECT jsonb_agg(t.*)
|
||||
FROM public."trigger" t
|
||||
WHERE
|
||||
|
|
@ -129,7 +134,7 @@ func TriggersRetrieveByDatapoint(datapointName string) (triggers []Trigger, err
|
|||
return
|
||||
} // }}}
|
||||
func TriggerRetrieve(id int) (trigger Trigger, err error) { // {{{
|
||||
row := service.Db.Conn.QueryRow(`SELECT to_jsonb(t.*) FROM "trigger" t WHERE id=$1`, id)
|
||||
row := db.QueryRow(context.Background(), `SELECT to_jsonb(t.*) FROM "trigger" t WHERE id=$1`, id)
|
||||
var jsonData []byte
|
||||
err = row.Scan(&jsonData)
|
||||
if err != nil {
|
||||
|
|
@ -141,7 +146,7 @@ func TriggerRetrieve(id int) (trigger Trigger, err error) { // {{{
|
|||
return
|
||||
} // }}}
|
||||
func TriggerDelete(id int) (err error) { // {{{
|
||||
_, err = service.Db.Conn.Exec(`DELETE FROM public.trigger WHERE id=$1`, id)
|
||||
_, err = db.Exec(context.Background(), `DELETE FROM public.trigger WHERE id=$1`, id)
|
||||
if err != nil {
|
||||
return werr.Wrap(err).WithData(id)
|
||||
}
|
||||
|
|
@ -172,8 +177,9 @@ func (t *Trigger) Update() (err error) { // {{{
|
|||
}
|
||||
jsonDatapoints, _ := json.Marshal(t.Datapoints)
|
||||
if t.ID == 0 {
|
||||
var row *sql.Row
|
||||
row = service.Db.Conn.QueryRow(`
|
||||
row := db.QueryRow(
|
||||
context.Background(),
|
||||
`
|
||||
INSERT INTO "trigger"(name, section_id, expression, datapoints)
|
||||
VALUES($1, $2, $3, $4)
|
||||
RETURNING id
|
||||
|
|
@ -201,7 +207,9 @@ func (t *Trigger) Update() (err error) { // {{{
|
|||
return
|
||||
}
|
||||
} else {
|
||||
_, err = service.Db.Conn.Exec(`
|
||||
_, err = db.Exec(
|
||||
context.Background(),
|
||||
`
|
||||
UPDATE "trigger"
|
||||
SET
|
||||
name=$2,
|
||||
|
|
@ -217,20 +225,26 @@ func (t *Trigger) Update() (err error) { // {{{
|
|||
)
|
||||
}
|
||||
|
||||
if pqErr, ok := err.(*pq.Error); ok {
|
||||
var pgErr *pgconn.PgError
|
||||
if errors.As(err, &pgErr) {
|
||||
err = werr.Wrap(err).WithData(
|
||||
struct {
|
||||
Trigger *Trigger
|
||||
PostgresCode pq.ErrorCode
|
||||
PostgresCode string
|
||||
PostgresMsg string
|
||||
}{
|
||||
t,
|
||||
pqErr.Code,
|
||||
pqErr.Code.Name(),
|
||||
pgErr.Code,
|
||||
pgErr.Message,
|
||||
})
|
||||
} else if err != nil {
|
||||
err = werr.Wrap(err).WithData(t)
|
||||
return
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
err = werr.Wrap(err).WithData(t)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
} // }}}
|
||||
func (t *Trigger) Run() (output any, err error) { // {{{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue