This commit is contained in:
tavo-wasd 2024-09-03 18:06:24 -06:00
parent 087cc9aafc
commit 1ab3de1acd
2 changed files with 1 additions and 77 deletions

View file

@ -72,49 +72,6 @@ SELECT * FROM payments;
| id | capture | site | amount | currency | status | date |
|----+---------+------+--------+----------+--------+------|
** Changes table
#+BEGIN_SRC sql :results silent
DROP TABLE IF EXISTS changes;
CREATE TABLE changes (
id SERIAL PRIMARY KEY,
by VARCHAR(20) NOT NULL,
site INTEGER REFERENCES sites(id),
payment INTEGER REFERENCES payments(id),
col VARCHAR(6) NOT NULL,
descrip VARCHAR(120) NOT NULL,
date DATE NOT NULL
);
#+END_SRC
#+BEGIN_SRC sql
SELECT * FROM changes;
#+END_SRC
#+RESULTS:
| id | by | site | payment | col | descrip | date |
|----+----+------+---------+-----+---------+------|
** Types of changes
*** Payments
- status: complete/refunded/modified
- amount: prev/next
*** Sites
- folder: prev/next
- status: up/down
- due: date/date
- name: prev/next
- sur: prev/next
- email: prev/next
- phone: prev/next
- code: prev/next
- raw: prev/next
* Error codes
** http.Error

View file

@ -13,9 +13,6 @@ const (
errDBRegisterSite = "db.go (sites): Register site"
errDBUpdateDue = "db.go (sites): Update due date"
errDBRegisterPayment = "db.go (payments): Register payment"
errDBTXBeginUpdateSite = "db.go: Begin transaction"
errDBTXCommitUpdateSite = "db.go: Commit transaction"
errDBGetPrevRaw = "db.go (sites): Query old raw json"
errDBUpdateRaw = "db.go (sites): Update raw json"
errDBChangesRaw = "db.go (changes): Register raw json change"
errDBUpdateSiteAuth = "db.go (sites): Auth"
@ -94,42 +91,12 @@ func RegisterSitePayment(
}
func UpdateSite(pkey int, editorData json.RawMessage) error {
tx, err := db.Begin()
if err != nil {
return fmt.Errorf("%s: %v", errDBTXBeginUpdateSite, err)
}
defer func() {
if err != nil {
tx.Rollback()
}
}()
var prev json.RawMessage
if err := tx.QueryRow(`
SELECT raw FROM sites WHERE id = $1
`, pkey).Scan(&prev); err != nil {
return fmt.Errorf("%s: %v", errDBGetPrevRaw, err)
}
if _, err = tx.Exec(`
if _, err := db.Exec(`
UPDATE sites SET raw = $1 WHERE id = $2
`, editorData, pkey); err != nil {
return fmt.Errorf("%s: %v", errDBUpdateRaw, err)
}
if _, err = tx.Exec(`
INSERT INTO changes
(by, site, payment, col, descrip, date)
VALUES ($1, $2, NULL, 'raw', $3, CURRENT_DATE);
`, "server", pkey, "Cambio automatizado de sitio"); err != nil {
return fmt.Errorf("%s: %v", errDBChangesRaw, err)
}
if err := tx.Commit(); err != nil {
return fmt.Errorf("%s: %v", errDBTXCommitUpdateSite, err)
}
return nil
}